相关文档
https://docs.unrealengine.com/zh-CN/Engine/Content/Tools/RenderToTextureTools/Setup/index.html
https://docs.unrealengine.com/zh-CN/Engine/Content/Tools/RenderToTextureTools/3/index.html
由于文档比较老旧且有错误,而且不够细致,下面总结详细的使用步骤。
Render 3D Imposter Sprites
- 在 内容浏览器 的 视图选项 中,启用 显示引擎内容。
- 在 内容浏览器 中依次浏览到 Engine -> ArtTools -> RenderToTexture -> Imposter3D。
- 打开专门用于制作3D Imposter的场景 TestImposter3D
-
修改蓝图 RenderToTexture_Imposter3D 的设置
这里主要要注意的由两部分的标签。
-
Capture Settings标签下,默认已经设置好捕捉BaseColor,Normal,Specular以及大小,一般来说已经够用,也可以按需修改。
【注意官方说明里面的DecakMask已经被弃用,因此这里用Specular来获取Mask。】
- Render3DImposterSprites标签下,这个是需要修改的。Imposter Static Mesh:填入你想做成Imposter的对象;其他的选项按需修改。
-
-
修改 Imposter Static Mesh 关联的材质
我们这里给出了参考材质实现 M_Imposter3D。你可以直接修改这个父材质满足你的需求,或者继承自这个材质做修改,或者按如下要求改动你自己的材质。
所有Imposter Static Mesh关联材质必须满足下列要求:
-
禁用 Tangent Space Normal
-
在法线贴图/计算和材质节点上的 “Normal” 输入针之间,将 Transform 节点添加到材质图表中。在 “Transform” 节点上,将 “Source” 属性设置为 “Tangent”。 1.在 “Transform” 节点上,将 “Destination” 属性设置为 “Local”。
-
- 单击 World Settings 按钮。此时将打开 World Settings 面板,Details 面板停靠在其中(默认设置)。
-
在 World Settings 中,将 RenderToTexture_GameMode 蓝图(位于 RenderToTexture/Blueprints/)分配为 GameMode。
-
必须在编辑器中启用导出缓冲可视化目标的功能。为此,请在”视角”视口中单击左上角的下箭头按钮,选择 High Resolution ScreenShot,然后启用 Include Buffer Visualization Targets。
【请保持”High Resolution ScreenShot”对话框在后续过程中一直开启。】
-
依次导航到 Editor -> Preferences -> Play,然后在其中将 New Window Size 调整为 2 的幂次方。建议调整为 512×512 大小,该大小不会影响输出图像的质量。
- 点击在新窗口中运行游戏。
-
按“~“键开启游戏内命令行。输入 ke * rendertextures 后按回车键。您将收到一条弹出消息,表示图像已保存,该消息其实是指向文件夹位置的可单击链接。如果您不能及时单击该链接,则可以在以下路径中找到保存的纹理:\YourProject\Saved\Screenshots\Windows\
Use 3D Imposter Sprites
- 将上面输出的贴图放置到unreal里面,这边距离的时候用的则放在了Generate文件夹下。
- 双击 法线贴图即可打开它,禁用 “sRGB” 属性。
-
创建材质,材质设置需要改两个地方。
Blend Mode 设置为Masked,Tangent Scape Normal 禁用。
-
按如下拖节点,实现billboard功能,即可在预览框看到使用效果。