Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.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
Unity3d 在两个移动点之间获取所有命中对象?_Unity3d_Raycasting - Fatal编程技术网

Unity3d 在两个移动点之间获取所有命中对象?

Unity3d 在两个移动点之间获取所有命中对象?,unity3d,raycasting,Unity3d,Raycasting,我想设置透明的所有树之间的球员和相机,我的游戏是自上而下,和相机之间的向量和球员的变化。那么,如何在两点之间进行光线投射,并获得所有被光线击中的对象呢?我知道两个点之间有光线投射的线投射,但它只返回第一个对象,而光线投射只能在特定方向投射。。。你知道如何在玩家和摄像机之间投射光线并获得所有命中物体吗 快速搜索,查看并在你的树上使用它,当它们对相机可见时,然后对对象做任何你想做的事情 注意:任何渲染这些对象的摄影机都可能触发此事件,因此请注意用于渲染树的摄影机是正确的尽管看起来并不能立即满足您的需

我想设置透明的所有树之间的球员和相机,我的游戏是自上而下,和相机之间的向量和球员的变化。那么,如何在两点之间进行光线投射,并获得所有被光线击中的对象呢?我知道两个点之间有光线投射的线投射,但它只返回第一个对象,而光线投射只能在特定方向投射。。。你知道如何在玩家和摄像机之间投射光线并获得所有命中物体吗

快速搜索,查看并在你的树上使用它,当它们对相机可见时,然后对对象做任何你想做的事情

注意:任何渲染这些对象的摄影机都可能触发此事件,因此请注意用于渲染树的摄影机是正确的

尽管看起来并不能立即满足您的需要,但您可以轻松地调整它以满足您的需要

如果从播放机沿摄影机方向执行光线投射,并将其限制为仅播放机与摄影机之间的距离,则实际上只能在两个位置之间投射光线,并且只能在两个位置之间获得对象

以下是我建议您的做法:

float distToCamera=Vector3.距离(camera.transform.position,player.transform.position);
Vector3 dirToCamera=camera.transform.position-player.transform.position;
RaycastHit[]点击次数;
hits=物理.RaycastAll(player.transform.position,dirToCamera,distToCamera);

希望这有帮助!如果您有任何问题,请告诉我。

据我所知,这将使摄影机上所有可见的树都不可见,即使是不在播放器和摄影机之间的树,但这是不可取的。它仍然不能解决哪些树挡道的问题。尝试过了,效果很好!我不知道我可以“创造”我自己的方向。非常感谢。