Unityお勉強2日目
2日目です。 現在以下の参考書をやり直しています。
以前、一通り読んでいたため今回は6章と7章を学習し直しました。 以下勉強したワードを(雑に)アウトプットしていきます。
シーン
シーンとはUnityにおけるゲーム場面のくくりのことです。プロジェクト内に .unity
という拡張子で保存されており中身は YAML
で記述されています。
%YAML 1.1 %TAG !u! tag:unity3d.com,2011: --- !u!29 &1 OcclusionCullingSettings: m_ObjectHideFlags: 0 serializedVersion: 2 m_OcclusionBakeSettings: smallestOccluder: 5 smallestHole: 0.25 // ... //
完成したシーンから他のシーンへの遷移には SceneManager.LoadScene("...Scene")
というメソッドを使用します。
また、LoadScene
メソッドからシーンを読み込むには BulidSetting でシーンを登録する必要があります。
Physics
Physics
はUnityに標準で付属している物理エンジンです。これを使用することでゲームオブジェクトに対して物理挙動を比較的容易に実装することができます。
Rigidbodyコンポーネント
Rigidbody(剛体)コンポーネントは力の計算を担当します。
Rigidbodyではオブジェクトのtransferを変更するのではなく、Rigidbodyに力を加えることによって位置を移動させます。また、Rigidbodyだけでは別のオブジェクトと衝突したときに反応することができません。そのため、衝突判定のために Collider
という専用のコンポーネントが存在します。
Colliderコンポーネント
Collider
コンポーネントは衝突を行うためのコンポーネントです。Box Collider
や Circle Collider
などの様々なコンポーネントを組み合わせて衝突判定を与えたいオブジェクトにfitする形の判定を作ることが可能になります。
AddForceメソッド
Rigidbody
コンポーネントを動かしたいときには、直接transferをいじらず AddForce
などのメソッドを使ってオブジェクトに対して力を加えます。
// 例 GameObject rigid = GetComponent<Rigidbody>(); rigid.AddForce(transform.up * 10.0f);
当たり判定の検出
Physics
を使った当たり判定には、Collision
とTrigger
という2つのモードがあります。Collision
は衝突検知だけではなく跳ね返りなども計算します。一方で Trigger
は当たったことのみを検知し知らせます。
Prefab
プレハブは同じオブジェクトを複製するために使用される仕組みです。ヒエラルキータブからプロジェクトウィンドウにプレハブにしたいオブジェクトを移動することで作ることができます。
Prefabのジェネレート
プレハブのスクリプトはヒエラルキーに作った空のオブジェクトにアタッチすることで適用されます。 以下、プレハブのインスタンスを作るまでのスクリプト例
public GameObject gamePrefab; GameObject prefab = Instantiate(Prefab) as GameObject; // cast // その他処理