kidoOooOoooOOom

IT系で開発やってます

Unity Tutorial Beginner Space Shooter chapter 5,6 で学んだ事

主にバックグラウンドの設定とPlayerの動きのScriptについて。

クワッド プリミティブは平面と似ていますが、1 辺は 1 単位の長さであり、表面はローカル座標空間の XY 平面に向いています。さらに、クワッドはただ二つの三角形に分けられますが、平面はローカル座標空間に 200 の三角形を用いています。クワッドはシーンのオブジェクトを画像や動画の再生を行うディスプレイ画面として使用する場合に便利です。単純な GUI および 情報表示をクワッドで実装することが可能であり、同様にパーティクル、スプライト、さらに遠くからみたオブジェクトをチートする場合に活用できます。

  • Shader
    • Unlint -> Texture: ライティングの反映無し、透過無し、テクスチャのみのシェーダ。今回のプロジェクトでは背景に対して適用した。
  • C# script
    • void FixedUpdates()
      • フレームとは別に一定時間間隔で実行される関数(Update()の実行間隔は一定ではないらしい)。デフォルトは0.01秒間隔。物理演算用に作られたものとのこと。
    • Quaternion.Euler()

オブジェクトの向きや回転における角度は Unity ツール(Inspertor)上ではオイラー角が使われています。オイラー角は 3D 空間上の X 軸、Y 軸、Z 軸それぞれの角度を指定することで方向を表します。スクリプトでは Vector3 型で表現でき、私たち人間にとって直感的で扱いやすいデータです。しかし、オイラー角にはジンバルロックと呼ばれる難しい問題が付きまといます。そこで、多くの 3D グラフィックス API と同じように、Unity では四元数を用いて角度を表現します。スクリプトからオブジェクトの角度を指定するには UnityEngine.Quaternion 構造体を利用する方法が一般的です。
Unity では Quaternion 構造体がオイラー角との変換処理を行う機能を提供しています。オイラー角を表す 3 次元ベクトルから四元数を生成するには Euler() メソッドを使います。

    • [System.Serializable]
      • publicなフィールドに設定したpublicなカスタムクラスをUnityのInspector上で編集できるようにするために必要な定義.Javaでいうところのアノテーションに相当する宣言方法。
  • MonoDevelop
    • cmd + ' : 組み込みクラスのドキュメントを開くショートカットコマンド