Programming Serendipity

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

Unity5 メモ9

  • スクリプトを新規追加したときの初期状態を変更
    Unityをインストールしたフォルダ内の
    C:\Program Files\Unity\Editor\Data\Resources\ScriptTemplates
    の中を変更する

  • プレハブをネストさせる
    現バージョン(Unity5.1.1)ではプレハブの中にプレハブを入れることはできない。
    また、実行中に生成したプレハブAとBがあったとして、BをAの子オブジェクトにすることや、その逆もできない。
    これについてフィードバックが多く寄せられているが、まだ開発中とのこと。
    Nested Prefab や Prefab Evolution などこれを解決するアセットがいくつか有料で出ているらしい。

  • Sprite RendererのOrder in Layerの範囲
    -32768 to 32767

  • transform.position.x += 1;C#でも行う
    javascriptでは↑のようにかけるが、C#ではそのままだとposition.xは読み取り専用で、Vector3全体を書き換える必要がある。
    それに対してpositionX += 12;のようにする方法が以下の記事で紹介されている。
    Positionの操作を楽にする(C#)

  • Start()Awake()の違い
    Awake()スクリプトをアタッチしたGameObjectが有効になったら呼ばれる。
    Start()スクリプト自身が有効になったら呼ばれる。

  • Update() FixedUpdate() LateUpdate()の違い
    Update()は毎フレーム呼ばれる。
    FixedUpdate()はフレームの遅延に関係なく一定時間ごとに呼ばれる。
    LateUpdate()Update()が呼ばれた後に呼ばれる。カメラの追従などはこの関数で行う。

  • Unityでシェーダーを利用する
    参考 : Cg Programming/Unity
    Projectビューで右クリック > Create > Shaderでシェーダーが生成される。
    編集するには、C#のソース同様ダブルクリックで開いて行う。
    使用するには、作られたシェーダーファイルをマテリアルにアタッチして、そのマテリアルを対象のオブジェクトにアタッチすることで効果を発揮する
    マテリアルにシェーダーファイルをドラッグアンドドロップするか、マテリアル側からShaderのCustomフォルダ内にあるシェーダーを選択する。