All Unreal Engine 4

Unreal Imposter 实现

相关文档

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功能,即可在预览框看到使用效果。