繁体   English   中英

对象遵循鼠标指针的统一和C#

[英]Object to follow mouse pointer unity and C#

我正在忙于使用RTS风格相机的摄影,我希望物体跟随鼠标光标,但始终保持相同的Y轴。 相机位置设定为0、15,-15

我已经玩了一段时间了,这是我能想到的最好的方法:

Ray ray = Camera.mainCamera.ScreenPointToRay(Input.mousePosition);
Vector3 point = ray.GetPoint(5);
transform.position = point;
print (point);

任何帮助将不胜感激。

您处在正确的轨道上,但您需要使用该光线将其光线投射到某些物体上才能获得世界位置。

由于它是rts,因此我认为地形有些水平,在这种情况下,很容易将飞机放置在所需的高度。 如果不是这种情况,我建议遵循@The Ryan建议并存储先前的y值。

无论哪种情况,您都需要将射线投射的物体与其他物体放在单独的层中,以免将物体移到其他单元的顶部

Ray ray = Camera.mainCamera.ScreenPointToRay(Input.mousePosition);

RaycastHit hit;
if(Physics.Raycast(ray, out hit, maxDistance, layerMask))
{
    float oldY = transform.position.y;
    transform.position.Set(hit.point.x, oldY, hit.point.z);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM