获取鼠标在世界空间中的位置

0 c# unity-game-engine mouse-position

我正在使用 Unity 制作游戏,但有一个小问题,我需要知道世界空间中的鼠标位置,为此我尝试使用以下代码在鼠标位置设置 GameObject:

    Vector3 p = Input.mousePosition;
    Vector3 pos = Camera.main.ScreenToWorldPoint( p);
    testGameObject.transform.position = pos;
Run Code Online (Sandbox Code Playgroud)

它在编辑器中的作用就像一个魅力,但在 exe / apk 中,游戏对象不跟随鼠标:

实施例1

实施例2

应该跟随鼠标的游戏对象是圆圈内的“1”

小智 5

如果它在编辑器中工作得像一个魅力,那么它应该在构建中。

我看到它已经在构建中工作,也许您想要的是精确放置您的对象以匹配屏幕点击点,但是您的对象距离相机太近,以至于您看不到它。

可能是相机位置深度有问题。尝试添加类似的东西

Vector3 p = Input.mousePosition;
p.z = 20;
Vector3 pos = Camera.main.ScreenToWorldPoint(p);
testGameObject.transform.position = pos;
Run Code Online (Sandbox Code Playgroud)

添加鼠标位置的深度。如果还是不行的话尝试把20改成-20