Epic的老师们好,
我们的植被资产使用ImpostorBaker插件生成了ImpostorMesh,但在正交视图下,ImpostorMesh与摄像机的对齐逻辑产生了问题。
[Image Removed]
由于我们的游戏小地图使用的是正交相机,在Top正交视图下,植物的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]
感谢!