[Unity 3D] オブジェクトのクリック判定!OnMouseメソッドの使い方。

(2025/02/18)
[Unity 3D] オブジェクトのクリック判定!OnMouseメソッドの使い方。

開発環境
  • Unityのバージョン : 6000.0.36f1
  • クリックを検出する方法

    ゲームオブジェクトがクリックされたかを検出するにはOnMouseメソッドを使用します。
    ※オブジェクトにはColliderがアタッチされている必要があります。

    OnMouseDown()を使った例
    [Unity 3D] オブジェクトのクリック判定!OnMouseメソッドの使い方。

    以下のコードをクリックを検出したいオブジェクトにアタッチします。

    using UnityEngine;
    
    public class SampleScript : MonoBehaviour
    {
        public Material newMaterial; // Inspectorで割り当てる新しいマテリアル
    
        private Renderer objectRenderer;
    
        void Start()
        {
            // オブジェクトのRendererコンポーネントを取得
            objectRenderer = GetComponent<Renderer>();
        }
    
        // マウスボタンが押された瞬間に呼び出される
        void OnMouseDown()
        {
            if (newMaterial != null)
            {
                objectRenderer.material = newMaterial; // マテリアルを変更
            }
        }
    } 
    

    Inspectorで新しいマテリアルをNew Materialに設定します。
    シーンを実行して、オブジェクトをクリックするとマテリアルが変わります。

    以下にOnMouseメソッドの種類を紹介します。

    OnMouseDown()

    オブジェクトのCollider上でマウスボタンが押された瞬間に呼び出されます。

    OnMouseUp()

    オブジェクトのCollider上でマウスボタンが離された瞬間に呼び出されます。

    OnMouseDrag()

    オブジェクトのCollider上でマウスボタンが押されている間、継続的に呼び出されます。

    OnMouseEnter()

    マウスカーソルがオブジェクトのColliderに入った瞬間に呼び出されます。

    OnMouseOver()

    マウスカーソルがオブジェクトのCollider上に乗っている間、継続的に呼び出されます。

    OnMouseExit()

    マウスカーソルがオブジェクトのColliderから出た瞬間に呼び出されます。

    OnMouseUpAsButton()

    OnMouseDownが発生した同じオブジェクトのCollider上でマウスボタンが離された時に呼び出されます。