オブジェクトをクリックしたら、アクションを起こす方法
Unityで、Cubeをクリックしたら前に進むサンプルを作成します。
目次
実行結果
設定
MainカメラにPhysicsRaycasterを追加します。

コンポーネントの追加
>イベント
>PhysicsRaycasterを選択

イベントシステムを追加
ヒエラルキーにイベントシステムを追加します。

ヒエラルキー
>UI
>イベントシステム
スクリプトを作成
using UnityEngine;
using UnityEngine.EventSystems;
[RequireComponent(typeof(Rigidbody))]
public class CubeControlEvent : MonoBehaviour, IPointerClickHandler
{
Rigidbody rigidBody;
public Vector3 force = new Vector3(0, 0, 10);
public ForceMode forceMode = ForceMode.VelocityChange;
// Use this for initialization
void Start()
{
rigidBody = gameObject.GetComponent<Rigidbody>();
}
// ここに、クリックした時に実行したいコードを記述します。
public void OnPointerClick(PointerEventData eventData)
{
Debug.Log("test");
rigidBody.AddForce(force, forceMode);
}
}

完成!
他のアクション(マウスが物体の上に乗った時、マウスが物体から離れた時)
public class CubeControlEvent : MonoBehaviour, IPointerClickHandler, IPointerExitHandler, IPointerEnterHandler
{
// マウスがCubeから離れた場合
// IPointerExitHandlerインターフェースを実装(classに:をつけて追記)します。
public void OnPointerExit(PointerEventData eventData)
{
Debug.Log("Exit");
}
// マウスがCubeに乗った場合
// IPointerEnterHandlerインターフェースを実装(classに:をつけて追記)します。
public void OnPointerEnter(PointerEventData eventData)
{
Debug.Log("Enter");
}
}
ディスカッション
コメント一覧
まだ、コメントがありません