Unity Cursor只返回一个位置



我试图让光标返回其屏幕位置的矢量3(使用新的输入系统(,但它只返回屏幕上的一个位置,而不是光标所在的任何位置这是我的代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
public class FollowCursor : MonoBehaviour
{
Vector3 worldPosition;
public GameObject cursorObject;
public GameObject cursor;
public Transform FirePoint;
[SerializeField] Camera maincamera;
// Start is called before the first frame update
void Start()
{

}
// Update is called once per frame
void FixedUpdate()
{
Vector3 mousePos = maincamera.ScreenToWorldPoint(Mouse.current.position.ReadValue());
mousePos.z = 10;
Debug.Log(mousePos);
cursorObject.transform.localPosition = mousePos;
cursor.transform.position = cursorObject.transform.position;
Physics.Linecast(FirePoint.position, cursorObject.transform.position);
}
private void OnDrawGizmos()
{
Gizmos.color = Color.green;
Gizmos.DrawLine(FirePoint.position, cursorObject.transform.position);
}
}

首先,您可能应该在Update函数而不是FixedUpdate中执行此操作。

我以前没有使用过Mouse.courrent.position.ReadValue((。您是否尝试过使用Input.mousePosition?这通常对我有效。

最新更新