我想用鼠标指针跟踪2D乒乓球物体的运动,并且我的物体在Y轴上发疯。我想使用WorldToViewportPoint,但是此代码字更适合3D游戏(我认为?)。你们有谁知道为什么我可以使用WorldToViewportPoint跟踪我的运动吗?
(对不起,我的英语不好。我来自德国:)。并为我的编码技能而感到抱歉。
感谢帮助!
using UnityEngine;
public class MausMovement : MonoBehaviour
{
public Rigidbody2D rb;
void FixedUpdate()
{
var PosY = Camera.main.WorldToViewportPoint(Input.mousePosition).y; // Get the position of the mouse Pointer
var VectorPos = new Vector2(0, PosY); // transfrom the position in a vector
rb.MovePosition(VectorPos); // Put in the Rigidbody
}
}
答案 0 :(得分:0)
鼠标位于屏幕坐标中,而对象位于世界坐标中,因此应改用Camera.main.ScreenToWorldPoint
。
请注意,转换会将输入的Z值视为距相机的距离。 Input.mousePosition
的Z值将为0,因此您可能需要微调Z,以使桨叶出现在正确的平面中。