ここまで辿り着くのに時間かかったので備忘録として。
「クリックしたら」でもなく
「ドラッグしたら」でもなく
常にマウスの位置にオブジェクトが移動するのを作ってみました。
輪っかのオブジェクトにこのスクリプトをつけています。
コード
using System.Collections; using System.Collections.Generic; using UnityEngine; public class RingMover : MonoBehaviour { private Camera cam; void Start() { cam = Camera.main; } void Update() { Ray ray = cam.ScreenPointToRay(Input.mousePosition); RaycastHit raycastHit; Physics.Raycast(ray, out raycastHit); gameObject.transform.position = raycastHit.point; } }
やってることはRay飛ばして当たった位置の情報を
動かしたいオブジェクトに入れてやってます。
Raycastについては
下記の参考にあるUnity公式チュートリアルの動画が
とてもわかりやすかったです。
Unityのレイキャストとは何ぞや?(自分用) - Qiita
リンク
他に参考にさせていただいたブログなど
Raycastによるマウス座標との当たり判定 - ロバメモ - 素人のUnity覚書と奮闘記