回転するアイテムは配置できたけど、接触しても跳ね返されてしまう。
そうですね、当たり判定をするプログラムを実装して解決しましょう。
実際に画面操作をしながら理解を深めていただきたく、以下の続きとして解説していきます。
エッセンスだけを知りたい方は、このステップをスキップして本文へお進みください。
【解説画面に沿ってやりたい方】
以下の1記事の内容をベースに解説しますので、事前に実施をお願いします。(必須)
[所要時間:約10分]
▼キーボードからオブジェクトを操作▼
解説画面と全く同じ環境にしたい場合は、追加で以下の3記事を実施お願いします。(任意)
[所要時間:約30分]
▼オブジェクトに色を付ける▼
▼オブジェクトが落ちないように壁を作る▼
▼エディタでパラメータ調整▼
▼回転するアイテム配置▼
ここまでで、事前準備は完了したと思いますので、早速解説していきましょう。
まず、アイテムをGETするというのは、どのような状態なのか整理していきましょう。
オブジェクト同士の当たり判定
オブジェクト同士の当たり判定(接触検出)は、Colliderコンポーネントの役割です。
ゲームには欠かせないコンポーネントです。
当たり判定される領域
まずは、オブジェクトの当たり判定される形状を[Mesh Renderer]で確認しましょう。
Inspectorウインドウの[Mesh Renderer]の左側のチェックを外してOFFにします。
Sceneビューは、[Mesh Renderer]のON/OFFでこのように変化します。
[Mesh Renderer]がOFFの時に表示される「緑の球線」が、当たり判定がされる領域という訳です。
オブジェクトの形状毎に当たり判定領域は異なりますので、他のオブジェクトも確認してみてください。
当たり判定を入れる
まずは、球[Player]がアイテム[Item]を通り抜けるようにしていきます。
ここで、Colliderコンポーネントの出番です。
当たり判定は、接触するオブジェクトの片方に入っていれば動作します。
そのため、今回は、[Item]の方に設定します。
編集モードに移行します。
[Is Trigger]をONにすると、プレハブ化されている[Item(1)]と[Item(2)]にも、ここでの設定内容が反映されます。
これで、[Player]が[Item]、[Item(1)]、[Item(2)]を通り抜けるようになります。
当たり判定の確認
[▶︎]ゲームプレイで、実際に通り抜けるかを確認してみてください。
[Player]が[Item]を通り抜けています。
これで、通り抜けは完了です。
オブジェクトの一方を非表示
当たり判定により、アイテム[Item]を非表示にします。
「球[Player]に当たった相手(アイテム等)を非表示にする」というプログラムをScriptに書いていきます。そのため、球[Player]に関連付けられているScriptを開きます。
当たり判定をトリガーにするメソッド追加
「OnTiggerEnterメソッド」の出番です。
他のオブジェクトのトリガーに、自分のColliderが入った(接触した)瞬間だけ実行されるメソッド。
追記が完了したら、保存します。
当たり判定をトリガーに非表示化するかの確認
[▶︎]ゲームプレイで、当たり判定により非表示化するかを確認しましょう。
当たり判定(接触検出)で、アイテムを非表示化することができました。
お疲れ様でした。