🧊
Mouse Click をUnityで取得
オブジェクトをマウスでドラッグする
スクリーン座標をワールド座標に変換して、その位置にオブジェクトを動かす方法を紹介します。
オブジェクトに以下のコードをつけると動きます。
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