在世界空间中获得鼠标位置

时间:2017-11-12 19:33:36

标签: c# unity3d mouse-position

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

    Vector3 p = Input.mousePosition;
    Vector3 pos = Camera.main.ScreenToWorldPoint( p);
    testGameObject.transform.position = pos;

它就像编辑器中的魅力,但在exe / apk中,GameObject不会跟随鼠标:

Example 1

Example 2

应该跟随鼠标的GameObject是圆圈内的“1”

1 个答案:

答案 0 :(得分:2)

如果它在编辑器中像魅力一样起作用,那么它应该构建为。

我看到它已经在构建中工作,也许你想要的是准确放置yor对象以匹配屏幕点击点,但你的对象太靠近相机,所以你不能看到它。 / p>

可能存在相机位置深度的问题。 尝试添加像

这样的东西
Vector3 p = Input.mousePosition;
p.z = 20;
Vector3 pos = Camera.main.ScreenToWorldPoint(p);
testGameObject.transform.position = pos;

为鼠标位置添加深度。如果它仍然无法正常工作,请尝试将20更改为-20