Unityで3D脱出ゲーム(7)3Dオブジェクトをクリックしたらアイテムゲット
前回は、メモ帳(3Dオブジェクト)をクリックしたら、画面にテキストが表示されるようにした。
http://twosquirrel.mints.ne.jp/?p=13891
引き続き、以下の本とサイトを参考にしながら、進めていく。
閃光絵巻ラボ 「 Unityで脱出ゲームの作り方 」
http://senkouemaki.com/lab/?cat=2
<Unityの流れ>
(1)プロジェクトの作成
(2)オブジェクトの配置
(3)スクリプトの作成
(4)スクリプトのアタッチ
(環境)
Windows8.1
Unity5.5.0f3
VisualCode
SourceTree 1.9.10.0
Pageant
金庫をクリックしたら、トンカチをゲットするスクリプトを作成する。
(1)金庫の鍵のところに、GameObject > 3D Object > Cubeで作成。
Inspectorビューで、Add Component > Physics > Mesh Collider
LayerをClickable にする。
(2)ゲーム開始と同時に、トンカチを非表示にして、金庫の青白赤をクリックすると、トンカチが表示されるようにする
GameManager.cs
実行して確認。
これでは、ゲームスタート時にトンカチは消えるが、buttonsをクリックしても、トンカチが表示されてくれない。理由は不明。
(3)再度、こちらのサイトを確認して訂正。
GameManager.cs
実行して確認。
buttonsをクリックすると、ちゃんと、トンカチが表示された。
(なぜ、最初のスクリプトだとダメなのかわからなかった。。。)
(4)トンカチをゲットしたあと、ブタの貯金箱をクリックすると、鍵をゲットするスクリプトをかく。
Start時点では、トンカチと鍵を持っていない
鍵の3DオブジェクトもStartとともに非表示にしておく。
GameManager.cs
Inspectorビューで、ゲームオブジェクトを割り当てる。(ここがUnity固有でややこしい)
Hierarchyビューで、GameManagerを選択した状態で、Inspectorビューで、図のようにドラッグ&ドロップしていく。
ブタの貯金箱をクリックしたときの挙動をスクリプトに記載する。
GameManager.cs
Hierarchyビューで、butaを選択した状態で、InspectorビューのLayerを、clickableに変更
Add Component > Physics > Mesh Collider
実行しても、ブタがクリックされていないようなので、
butaを選択した状態で、Add Component > Physics > Box Collider で、Sizeを適当に拡大して、なんとなくブタをクリックしやすく設定。(緑色の枠線で囲まれた部分がCollider、つまり、判定部分になるそう。)
実行して確認。おお!
次は、ゲームクリアシーンへの移動と、シーンの作成をやりたい
ディスカッション
コメント一覧
まだ、コメントがありません