🧊

Mouse Click をUnityで取得

2022/10/13に公開

オブジェクトをマウスでドラッグする

スクリーン座標をワールド座標に変換して、その位置にオブジェクトを動かす方法を紹介します。
オブジェクトに以下のコードをつけると動きます。

public class ClickBox : MonoBehaviour
{
    private void OnMouseDown()
    {
        var renderer = this.GetComponent<MeshRenderer>();
        renderer.material.color = Color.blue;
        
    }
    private void OnMouseUp()
    {
        var renderer = this.GetComponent<MeshRenderer>();
        renderer.material.color = Color.white;
        
        
    }
    private void OnMouseDrag()
    {
        var renderer = this.GetComponent<MeshRenderer>();
        renderer.material.color = Color.yellow;
        var mousePos = Input.mousePosition;
        mousePos.z = -Camera.main.transform.position.z;
        this.transform.position = Camera.main.ScreenToWorldPoint(mousePos);

    }
}

Discussion