Programming Serendipity

プログラミングを中心に種々雑多に書き留めます

Unity5 メモ21

  • Staticにできるオブジェクト
    コライダーがついていてRigidbodyがついていないオブジェクトは動かないオブジェクトと考えられるので、Staticにすることでパフォーマンス向上が見込まれる。

  • オブジェクトプール
    Instantiate()はUnityで最も遅い関数のひとつであるため、シューティングゲームで弾を撃つなど、非常に頻繁にオブジェクトを生成する場合、
    Instantiate()/Destroy()を繰り返すとパフォーマンス上ハンデを負うことになる。
    画面のロード中などのタイミングでListなどに一定数Instantiate()しておき、
    SetActive()で有効・無効を切り替えることでこの処理時間を大幅に削減することができる。
    値の初期化などはOnEnable()で行うとよい。
    公式資料: http://unity3d.com/jp/learn/tutorials/modules/beginner/live-training-archive/object-pooling

  • CancelInvoke()
    Invoke()InvokeRepeating()で予定されている関数の呼び出しをキャンセルす

  • 操作などのイベントに従って処理を行いたい場合
    event triggerコンポーネントを使用する。

  • ProfilerのCPUのOthersの内訳
    Animation, AI, Audio, Particles, Networking, Loading, PlayerLoop が該当する