2015年6月12日金曜日

学んだことをメモするだけ

・オブジェクトを親子関係にする

子オブジェクトに、
transform.parent = GameObject.FindGameObject("親オブジェクトにしたいもの").transform;
をつけるだけ。


・ピクミンみたいに、発掘した(?)仲間をプレイヤーキャラの後をぞろぞろ連れたい時、ナビメッシュで指定してやればいいみたい!

  1. Navmeshのルートに使いたいオブジェクトはinpector内のstaticにチェックを入れる
  2. Window>Navigation  bakeをクリック。これでキャラの移動範囲を設定できる。
  3. Navmesh Agentの適応。Component > Navgation > Nav Mesh Agent
  4. ゴールを設定するスクリプトを実行


・他のオブジェクトに付いているスクリプトから他のスクリプトを呼び出す場合
A.csに
        関数名();

B.csに
        A a;

        A a = GetComponent<A>();
        b.関数名();
で出来る。だけどこれだけじゃ

こんなエラーが出る(はず)。だからB.csを、
     A a;

         A a = GetComponent<A>();
        if(a != null){
         a.関数名();
        }
        else{
        Debug.LogWarning("Set Script !");
        }



(追記)なんか上の方法を使わなくてもnullエラーから脱出できるみたい。
こっちの方がいいっぽい
    GetComponentで取得したコンポーネントを変数に入れ忘れている。
      a = collider.gameObject.GetComponent<A>();
 にしないと a は常に空っぽの状態だから。

  …正直理解できていない。要勉強。


・最後にprint (collider.gameObject.name); でトリガーとかにかかったオブジェクトの名前を取得可能



任意のオブジェクトのDestroy



void OnTriggerEnter(Collider collider)
    {
        if(collider.tag == "")
        {
            Destroy(collider.gameObject);
        }
        
    }



パーティクルの形状を変える


こんな感じにパーティクルの形状を変える方法。
Renderer内のRendererMode を StrechedBillboardに。
 Length Scaleを2とかにして縦長に

0 件のコメント:

コメントを投稿