正交视角模式下,ImpostorMesh与摄像机的对齐逻辑

Epic的老师们好,

我们的植被资产使用ImpostorBaker插件生成了ImpostorMesh,但在正交视图下,ImpostorMesh与摄像机的对齐逻辑产生了问题。

[Image Removed]

由于我们的游戏小地图使用的是正交相机,在Top正交视图下,植物的ImpostorMesh,特别是靠近视图边缘时,显示效果不正确:显示的不是植物在顶视视角渲染的纹理。

针对这个问题,想寻求一下帮助。

Impostor的材质实现一个是确保三角面始终朝向摄像机,这个朝向是摄像机和顶点连线方向;第二是贴图根据这个方向绘制合适角度的纹理并做一定的融合处理。正视相机可以理解成一个无限远的相机,因此无论相机如何移动,顶点和连线的方向总是固定的(如果topdown就总是垂直的);但Impostor材质的逻辑并不知道,因此当对象移动到边缘时还是同样逻辑来绘制材质,调用边缘处应该看到的纹理的绘制,产生一种透视感。

因此需要为正视相机Impostor的材质调用不同的逻辑。这可以通过在材质里利用IsOrthgraphic节点做判断为两种相机做区分。根据上面提到的透视是通过相机位置和顶点位置连线来判断方向的,如果把相机位置始终定位在每个Instance的正上方,无论相机如何移动看到就只能是TopDown的效果。

具体参考如下图:为材质函数做如下修改:/Script/Engine.MaterialFunction’/ImpostorBaker/MaterialFunctions/Internal/Impostor_UVs_and_WPO.Impostor_UVs_and_WPO’

[Image Removed]

感谢!