我想从屏幕中间投射光线现在我使用鼠标并将鼠标放在中间,但它可能会导致错误。我用:
ray = Camera.main.ScreenPointToRay(Input.mousePosition);
我应该使用什么?
答案 0 :(得分:2)
根据我的经验,我发现在使用光线时,调试光线(在编辑器的场景视图中显示的光线)是一个很好的帮助。
Vector3 rayOrigin = new Vector3(0.5f, 0.5f, 0f); // center of the screen
float rayLength = 500f;
// actual Ray
Ray ray = Camera.main.ViewportPointToRay(rayOrigin);
// debug Ray
Debug.DrawRay(ray.origin, ray.direction * rayLength, Color.red);
RaycastHit hit;
if (Physics.Raycast(ray, out hit, rayLength))
{
// our Ray intersected a collider
}
调试射线仅在游戏运行时才能在场景视图中使用。如果你想在游戏中画一条线,请查看LineRenderer。