Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Unity3D从屏幕中间投射光线 我想把光线从屏幕中间投射出来,现在我用鼠标把它放在中间,把鼠标放在中间,但是它会引起虫子。我使用: ray = Camera.main.ScreenPointToRay(Input.mousePosition);_C#_Unity3d_Screen_Raycasting - Fatal编程技术网

C# Unity3D从屏幕中间投射光线 我想把光线从屏幕中间投射出来,现在我用鼠标把它放在中间,把鼠标放在中间,但是它会引起虫子。我使用: ray = Camera.main.ScreenPointToRay(Input.mousePosition);

C# Unity3D从屏幕中间投射光线 我想把光线从屏幕中间投射出来,现在我用鼠标把它放在中间,把鼠标放在中间,但是它会引起虫子。我使用: ray = Camera.main.ScreenPointToRay(Input.mousePosition);,c#,unity3d,screen,raycasting,C#,Unity3d,Screen,Raycasting,我应该使用什么来代替呢?根据我的经验,我发现调试光线(在编辑器的场景视图中显示的光线)在使用光线时非常有帮助 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(ra

我应该使用什么来代替呢?

根据我的经验,我发现调试光线(在编辑器的场景视图中显示的光线)在使用光线时非常有帮助

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
}

调试光线仅在游戏运行时在场景视图中可用。如果你想在游戏中画一条线,请查看。

“但它会导致错误”要解释什么错误吗?我曾经关闭光标的可见性,但它会无缘无故地再次出现。这可能是我的错。“这可能是我的错。”这对任何程序员来说都是非常宝贵的一课。bug很少是使用库/api的错误,但通常是你面前键盘的操作员。它应该从我的屏幕中间投射红色光线,是吗?好的,我想它会在游戏视图中可见,但不是。顺便说一下,非常感谢:)调试光线仅在游戏运行时在场景视图中可用。如果您想在游戏中画一条线,请查看LineRenderer