Learn Unity 4 for iOS Game Development 7

レッツ・ボウル! 物理学応用編

作ったもの
・ドラム缶を倒す、ボウリング・ゲーム。
・マウスカーソルを移動させると、ボールがその方向へ転がります。

クリックすると、別ウィンドウが開きます。(音が出ます。)
Screen-Shot-2013-08-14-at-13.26_600
http://shakeweb.sakura.ne.jp/demo/LU4_chap7/

————————————————————————————————
床を拡張する

・Transform コンポーネントの Local Scale でサイズを変更するのは望ましくない。サイズを変えたい場合は、Import Settings ですること。どうしても Transform で変える場合は、x、y、z、それぞれ均等に値を変更する。

————————————————————————————————
ゲーム・コントローラー

・ピンの prefab を作成し、スクリプトで配置する。1列目に1本、2列目に2本、3列目に3本、4列目に4本の計10本。

・rotation は、Euler angle(x,y,z)ではなく、Unity の内部処理で使われている Quaternion(四元数、w,x,y,z)を使用。
 Transform.rotation、Transform.rocalRotation : Quaternion
 Transform.eulerAngles、Transform.localEulerAngles : Euler angles
・Instantiate は、Object クラスの静的関数。Instantiate = this.Instantiate。しかし、Object.Instantiate と呼ぶことはできない(Mono でも Object クラスが定義付けられているため。JavaScript のみ)。代わりに UnityEngine.Object.Instantiate を使用する。
 System.Object : Mono(こちらが先に参照される)
 UnityEngine.Object.Instantiate : Unity
・Awake は、スクリプトが有効になっているかどうかに拘らず、Start より先に、1度だけ呼ばれる。(初期化に適している。)
・空の GameObject をシーンに配置し、そこにコントローラー・スクリプトを適用する。
・ピンが倒れるように Rigidbody コンポーネントと、PhysicMaterial を適用する。

————————————————————————————————
ボールが床から落下した時の処理

・リセット用のスクリプトを、ボール、メインカメラ、ピンの prefab に適用する。

————————————————————————————————
ゲーム・コントローラー(続き)

・戻り値を必要としない場合は、SendMessage で関数を実行できる。
・BroadcastMessage は、子の GameObject にも送信できる。
・#pragma strict だけだと警告がでるので、#pragma downcast を追加する。Array が Object で定義されているにも拘らず、要素が GameObject として扱われているため。Object のサブクラス GameObject に downcast してやる。
・インポートした Barrel アセットの子 GameObject に、Capsule Collider と Box Collider コンポーネントを適用し Barrel の形に沿った Collider を用意する。
・GameObject | Apply Changes To Prefab で変更を prefab に反映させる。

————————————————————————————————
ボールが転がる音の制御

・ボールが転がる効果音の AudioSource を Ball に適用し、スクリプトで再生タイミングを制御する。メインカメラに AudioListener。

————————————————————————————————
ピンがぶつかる時の音の制御する

・ピンとそれにぶつかるもの(ボール、他のピン)は動いているので、velocity の代わりに relativeVelocity を使用する。

————————————————————————————————
使用アセット

Barrel (Universal Image)
Free SFX Package (Bleep Blop Audio)

————————————————————————————————
関連リンク

3Dモデル・マーケットプレイス
http://Turbosquid.com

フリー・オーディオ素材
http://freesound.org

ページトップへ