オブジェクトをドラッグしたいです。
スマホでのマルチタップに対応するため、EventTriggerを使わずにRaycastで機能を実現したいと考えています。
以下のスクリプトを複数のオブジェクトにアタッチすると、アタッチした全てのオブジェクトがマウスポインタにくっついてしまいます。
マウスポインタが当たったオブジェクトのみドラッグするにはどうすればよいでしょうか。
using UnityEngine; public class TouchSmp : MonoBehaviour { private Vector3 touchPos; Ray ray; RaycastHit hit; Vector3 pos; bool flgDrag = false; void Update() { Vector3 screenPoint = Camera.main.WorldToScreenPoint(transform.position); float posX = Input.mousePosition.x; float posY = Input.mousePosition.y; float posZ = screenPoint.z; pos = new Vector3(posX, posY, posZ); ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit, 100.0f)) { transform.position = Camera.main.ScreenToWorldPoint(pos); } } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/17 09:52