オブジェクトにマウスカーソルが重なると実行できる仕組みを作ってみましょう。
Cubeにカーソルが乗ると、前方に向けて飛んでいきます。
カーソル位置に飛ばしているRayが当たれば、オブジェクトに力を加えます。
関連記事:
Raycastの照射に当たれば色が変わる
マウスカーソルを追いかけるオブジェクト
マウスカーソルについてくるオブジェクトを落下
マウスカーソルをかざせば発射
Cubeを3個作成して、それぞれリジッドボディを追加。
Use Gravity のチェックを外します。
Cubeの距離を離して配置します。
空のオブジェクトを作成します。
RayHover.csを作成し、GameObject(空のオブジェクト)に追加します。
RayHover.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class RayHover : MonoBehaviour { void Update () { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit = new RaycastHit(); if (Physics.Raycast(ray, out hit)) { GameObject cube = hit.collider.gameObject; cube.GetComponent<Rigidbody>().AddForce(transform.forward * 1000); } } } |
ゲームプレイして、Cubeにマウスカーソルを重ね合わせてみましょう。
カーソルが乗れば、前に向かって飛んでいきます。
関連記事:
Raycastの照射に当たれば色が変わる
マウスカーソルを追いかけるオブジェクト
マウスカーソルについてくるオブジェクトを落下