スポンサーリンク

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 にする。

image image

image image image

(2)ゲーム開始と同時に、トンカチを非表示にして、金庫の青白赤をクリックすると、トンカチが表示されるようにする

GameManager.cs

image image

実行して確認。

image image

これでは、ゲームスタート時にトンカチは消えるが、buttonsをクリックしても、トンカチが表示されてくれない。理由は不明。

(3)再度、こちらのサイトを確認して訂正。

GameManager.cs

image image

実行して確認。

buttonsをクリックすると、ちゃんと、トンカチが表示された。
(なぜ、最初のスクリプトだとダメなのかわからなかった。。。)

(4)トンカチをゲットしたあと、ブタの貯金箱をクリックすると、鍵をゲットするスクリプトをかく。

Start時点では、トンカチと鍵を持っていない
鍵の3DオブジェクトもStartとともに非表示にしておく。

GameManager.cs

image image

Inspectorビューで、ゲームオブジェクトを割り当てる。(ここがUnity固有でややこしい)

Hierarchyビューで、GameManagerを選択した状態で、Inspectorビューで、図のようにドラッグ&ドロップしていく。

image image

ブタの貯金箱をクリックしたときの挙動をスクリプトに記載する。

GameManager.cs

image image

image

Hierarchyビューで、butaを選択した状態で、InspectorビューのLayerを、clickableに変更
Add Component > Physics > Mesh Collider

image image

実行しても、ブタがクリックされていないようなので、
butaを選択した状態で、Add Component > Physics > Box Collider で、Sizeを適当に拡大して、なんとなくブタをクリックしやすく設定。(緑色の枠線で囲まれた部分がCollider、つまり、判定部分になるそう。)

image

実行して確認。おお!

image image

image image

image image

次は、ゲームクリアシーンへの移動と、シーンの作成をやりたい

スポンサーリンク

Unity

Posted by twosquirrel