Unity3d 可以模拟屏幕光线投射吗?
我正在尝试使用网格创建地形。地形只是网格的组合(如64个网格)。有一个渲染纹理用作heightmap,我对heightmap纹理进行采样以确定顶点y 如何知道鼠标指针与网格相交的三维位置 进一步解释:Unity3d 可以模拟屏幕光线投射吗?,unity3d,Unity3d,我正在尝试使用网格创建地形。地形只是网格的组合(如64个网格)。有一个渲染纹理用作heightmap,我对heightmap纹理进行采样以确定顶点y 如何知道鼠标指针与网格相交的三维位置 进一步解释: heightmap纹理在GPU上进行维护和操作,它可能会在每一帧中发生更改,因此解决方案应在每一帧中运行 网格没有碰撞器 可以假设网格位于独占层中 可以假设网格是场景中唯一的对象(只有当它能够带来巨大的性能优势时才可以接受) 如果我们认为这是一个渲染问题,那么我们是否可以减少着色器的渲染队列号,
如果没有网格碰撞器,这将很难做到……问题是heightmap每帧都会更新,因为它受到侵蚀算法的影响。这种更新速度使得使用侵蚀算法不可能使用碰撞器,你知道地形的每个点吗?@cjf93是的,地形中每个点的高度都存在于纹理中。我不知道这是否可行,但你可以在地形的基础上创建一个边碰撞器,并知道光线投射碰撞的位置。通过该点和相机位置,您可以知道光线投射的每个点,并使用您的算法计算该光线投射的每个点,查看地形上的最高点。最高的是你的碰撞。我说得对吗?这可能吗?如果没有网格碰撞器,这将很难做到……问题是高度贴图会在每一帧更新,因为它会受到侵蚀算法的影响。这种更新速度使得使用侵蚀算法不可能使用碰撞器,你知道地形的每个点吗?@cjf93是的,地形中每个点的高度都存在于纹理中。我不知道这是否可行,但你可以在地形的基础上创建一个边碰撞器,并知道光线投射碰撞的位置。通过该点和相机位置,您可以知道光线投射的每个点,并使用您的算法计算该光线投射的每个点,查看地形上的最高点。最高的是你的碰撞。我说得对吗?这可能吗?