这个官方插件有点老,这边我们采用了一个别人改过的版本,并在此基础上做了修改,可以在UE4.24上正确运行。
修改版插件地址:
https://github.com/dnleeks/ImpostorBaker
插件使用说明
-
准备好需要制作Imposter的StaticMesh,改造其涉及的所有材质球。
比如这边例子我们使用了Arkm里面现有的一个房子模型,我们把涉及到的资源都放到了TestContent/TestHouse目录下。
这里我们制作了一个简单的父材质球给做参考,需要修改的部分包括两点:
- 加入ImpostorCaptureSwitch节点
- 材质需要勾选Use Material Attributes
完成上述改造后材质的输出节点表现如下:
你可以为你自己的工程新建一个包含这部分的父节点,专门用于生成Impostor。
- 加入ImpostorCaptureSwitch节点
-
在Maps子文件夹下打开场景 Generate_Impostor_Map
-
拖入准备好的StaticMesh对象,Transform矩阵归0
-
在World Outliner里面选中 BP_Generate_ImposterSprites对象,设定处理的StaticMesh对象就是上面拖进来的TestHouse对象;然后在Details面板里面依次点击Clear RTs->RenderFrames按钮,即可看到Impostor舞台上的预览效果。
-
接上一步再点击 Create Static Asserts 按钮则会将预览效果生成材质资源。
-
点击BP_Generate_ImposterSprites对象里面的ProceduralMesh对象,点击对应的Details面板上的Create StaticMesh按钮,即可将预览对象生成出可用StaticMesh对象资源
-
然后UE4的资源对象即可导出.FBX对象
-
将Impostor的模型导入到原始模型的LOD层级,即可实现LOD层级使用Imposter的效果。
-
使用Impostor作为LOD的StaticMesh效果可以在Maps子目录下的 Use_Impostor_Map 场景里面看到。