[英]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.