オブジェクトをクリックすれば、消えるしくみを作ってみましょう。
Ray(光線)を飛ばして、ぶつかったオブジェクトを壊せるようにします。
実際に消えるのはCubeですが、Rayを飛ばすスクリプトの方に、Cube削除のしくみを入れています。
関連記事:
3つのオブジェクトを削除すればテキストを表示
マインクラフトのようにクリックで壊す
壊せるものと壊せないものを分ける
クリックした位置にオブジェクトを生成(Ray)
Rayが当たった位置までの距離
Rayに当たったオブジェクトを削除
クリックでオブジェクトを消す
Cubeオブジェクトを3つ作成して、横並びに配置しました。
空のオブジェクトを作成します。
CubeDelete.csを作成して、GameObject(空のオブジェクト)に追加します。
CubeDelete.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeDelete : MonoBehaviour { void Update () { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Input.GetMouseButtonDown(0)) { if (Physics.Raycast(ray, out hit)) { Destroy(hit.collider.gameObject); } } } } |
ゲームプレイして確認しましょう。
関連記事:
3つのオブジェクトを削除すればテキストを表示
マインクラフトのようにクリックで壊す
壊せるものと壊せないものを分ける
クリックした位置にオブジェクトを生成(Ray)
Rayが当たった位置までの距離
Rayに当たったオブジェクトを削除