提示画像ですが画像の画面上で適当場所にマウスを置いても空間上の座標が取得できず困っています。参考サイトにある通り Camera.main.ScreenToWorldPoint関数は画面の上の座標から空間上の座標を得る関数ですがなぜかカメラを動かしたときだけ座標が変わり取得できます。これはなぜでしょうか?
参考サイト: https://gomafrontier.com/unity/3307
参考サイト: https://docs.unity3d.com/ja/current/ScriptReference/Camera.ScreenToWorldPoint.html
cs
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class PlayerController : MonoBehaviour 6{ 7 8 Rigidbody rb; 9 Camera cam; 10 Vector3 moveVec; 11 12 // Start is called before the first frame update 13 void Start() 14 { 15 rb = GetComponent<Rigidbody>(); 16 moveVec = new Vector3(0,0,0); 17 cam = Camera.main; 18 19 20 } 21 22 // Update is called once per frame 23 void Update() 24 { 25 //マウスのワールド座標を取得 26 Vector3 mouseVec = Camera.main.ScreenToWorldPoint(Input.mousePosition); 27 // mouseVec = mouseVec.normalized; 28 29 30 Debug.Log(mouseVec); 31 //Debug.Log(Input.mousePosition); 32 33 } 34 35 36 void FixedUpdate() 37 { 38 //rb.AddForce( (transform.forward + moveVec) * 4.0f ); 39 rb.velocity = moveVec * 4.0f; 40 } 41 42 43 44 45} 46
world座標について教えてください。
あなたの回答
tips
プレビュー