hiyorinのブログ

主にUnityに関してのメモを残していきます

Haste

僕が愛用しているAssetの紹介です。

HasteとはAlfredなどのランチャーアプリのようなものです。

 

Cmd+KでHasteの検索窓が表示されます。

ファイル、オブジェクト検索からメニュー操作までできます。

f:id:ponkotsu-hiyorin:20160830031020p:plain

 

ファイル、オブジェクト検索はProject,Hierarchyが対象です。

文字が抜けていても検索できるのでうろ覚えのファイルを見つけたい時にとても便利です!

メニュー操作は「Assets/Reimport All」や「Window/Project」などメニューのパスを打てば実行できます。

 

フリー版でも十分に使えますので是非使ってみてください。

Asset Store

Shader Forge

ShaderForgeとはノードベースでShaderを作れるものになります。

期間限定で40%OFFだったので購入しました。

Shaderの勉強中だったので調度良かったです!

Asset Store

 

ShaderForgeはUnrialEngineのマテリアルエディタを参考に作られているそうなのでこちらもついでに購入。

Amazon CAPTCHA

 

これからShaderForgeに関しての記事を書いていこうと思います。

Unity5.3からのシーン遷移

Application.LoadLevel→SceneManager.LoadScene("hoge", LoadSceneMode.Single);

Application.LoadLevelAsyncSceneManager.LoadSceneAsync("hoge", LoadSceneNode.Single);

ApplicationLoadLevelAdditiveSceneManager.LoadScene("hoge", LoadSceneMode.Additive);

ApplicationLoadLevelAdditiveAsyncSceneManager.LoadSceneAsync("hoge", LoadSceneMode.Additive);

StateMachineBehaviourについて

StateMacineBehaviourとはUnity5から追加されたAnimatorのステート状態に合わせてコールバックを返してくれるものになります。

AnimatorControllerに貼り付けて使うものになります。

f:id:ponkotsu-hiyorin:20151207021151p:plain

 

 

OnStateEnterがステートに入った時、OnStateExitがステートから出る時。

StateMachineBehaviourの取得はAnimator.GetBehaviour<T>()を使う。

Unityちゃん、揺れもの、Reflectionについて

Unityで揺れものを実現させたい場合Unityちゃんの

SpringManager,SpringBone,SpringColliderを使うと簡単に実装できます。

 ですが、パフォーマンス確認中に若干ボトルネックになっているところがあった。

 

Unityのプロファイラーで確認してみるとSpringManagerが毎フレーム重い処理をしています。

Unityちゃんの揺れものはPhysXに頼らずに自前で演算しているので毎フレーム物理演算のスクリプトが実行されているのはわかるのですがそれにしても遅い気がする。

なのでSpringManagerのスクリプトを確認したところ毎フレームReflectionを使ってSpringBoneの変数に値を入れていました。

 

Reflectionとは通常より1000倍くらい重い処理になります。

詳しくは下記URLに詳しく乗っています。

実行時型情報 - C# によるプログラミング入門 | ++C++; // 未確認飛行 C

 

Reflection使わずにアクセスするように変えたら10~20msほど速くなりました。

頻繁に実行されるところにReflectionを使うのはあまり良くないかもしれません。