咨询电话:400-810-1418服务与监督电话:400-006-6572

如何在UE4中实现植物风场效果?

发布时间:2019-11-08 09:12:40

如何让游戏里的植物产生类似风吹过的效果?腾讯游戏学院专家Freddy将在本文中,尝试使用UE4引擎的PivotPainter2.0插件制作此效果,一起来看这篇如何在UE4中实现植物风场效果!

静态的游戏场景氛围是十分生硬的,缺少与自然互动的生机。其中关于植物的表现包含草丛与角色的互动,地面/水面与角色的互动,植物的生长,植物与天气的互动等等。UE4引擎中提供了PivotPainter2.0插件可以快速帮助游戏美术师在DCC软件中预生成顶点和贴图的数据,这些数据导入到UE4引擎中可以使静态植物模型产生类似于风力的吹过的效果或者植物生长的效果。

本教程从最初流程出发,系统的讲解PivotPainter2.0的应用方法。希望对大家有所帮助,也是我自己的一个学习过程。这个数据用好了还是可以制作出很多花样效果的。

UE4引擎提供了植物的动画流程来模拟风场等效果,可以通过读取Tex2d的方式在材质编辑器中进行模型顶点的各种动画制作。

0.webp.jpg

使用官方提供的PivotPainter2.0插件可以在3dsmax中自动识别层次结构,快速对模型的Pivot position进行自动适配,并把顶点信息渲染为Texture2d。

具体流程如下:

1. 首先在3dsmax中打开模型。

1.webp.jpg

2. 拖入PivotPainter2.ms文件(在UE4安装目录的3dsmax子文件夹)到3dsmax中,常用的话可以添加到3dsmax中RunScript默认目录。

2.webp.jpg

3. MAX右侧工具栏中Utilities找到Level of Detail选项卡,并使用这个工具把想要编辑的模型从LOD中拆分出来。

3.webp.jpg

4. 全选模型,把植物模型的根部移动到世界坐标原点,并把pivot也移动到这里。

4.webp.jpg

5. 选择要拆分的LOD模型,勾选PivotPainter2.0工具中的Preserve Custom Normals(否则光滑组会丢失),点击Detatch All Elements模块中的Detach Selected Model’s Elements按钮对模型进行自动拆分。

5.webp.jpg

5-2.webp.jpg

6. 删除无用/本次不编辑的模型。

6.webp.jpg

7. 选中所有模型,点击Generate New Pivot Pionts模块中的Manage按钮,会弹出新的选择窗口。我们需要把里面的分组删掉,点击里面的分组再点击X号按钮即可。然后选择所有模型,点击上面的{ }按钮创建新的分组,然后关闭这个窗口。再点击Update按钮刷新一下,然后左面的下拉菜单中选中会自动为我们选择的模型分一个组,然后我们选择这个组即可。

7.webp.jpg

8.点击Pick Leaf Pivot Obj选项中的Mesh toggle,再点击PickMesh,并选择植物根节点(树干),然后点击Create New Pivots按钮。

8.webp.jpg

9.等待一段时间,直到Pivots移动完成。

9.jpg

10. 开始手动根据层级结构关联父子链接。根节点要归零,并且要保证X轴朝上。

10.webp.jpg

11. 链接好父子链接后,选择根节点模型,点击Render Options选项卡中的Process The Selected ObjectHierarchy按钮。里面的UV设置和输出参数可以根据特殊需求自己选择,本教程没有更改默认设置。

11.webp.jpg

12. 选择导出目录导出贴图。

13. 我们要为树枝/树干/树叶和其它使用不同贴图的模型都分别赋予不同的材质。

13.webp.jpg

14. 整体导出模型为FBX文件。(以上步骤是针对于单独LOD0的拆分,其它LOD可以重复循环以上步骤,在最后一步导出时merge这些LOD文件,通过Level of Detail把各个LOD合回去)

15. 在UE4中导入模型和贴图。其中模型导入时需要勾选Combine Meshes选项。如默认勾选了SkeletalMesh则需要关闭这个选项。

15.webp.jpg

16. 然后我们需要设置贴图,其中命名包含pivotpos的贴图需要设置为HDR(RGB, no sRGB)格式并关闭sRGB模式,并且在Texture设置中打开卷展栏,把Filter设置为Nearest。

16.webp.jpg

17. 其中命名包含XVect的贴图需要设置为VectorDisplacementmap(RGBA8)格式并关闭sRGB模式,并且在Texture设置中打开卷展栏,把Filter设置为Nearest。

17.webp.jpg

18. 然后我们可以使用Material编辑器中的PivotPainter2的各种节点对贴图的各个通道进行读取。其中PivotPainter2FoliageShader是封装好的植物模块,可以接收风场直接使用。

18-1.webp.jpg

18-2.webp.jpg

注1. 子物体比较多的模型应拆分多个部分生成pivot,否则模型会卡死。树干/枝桠和树叶要分别给不同的材质,否则动画运动时会出现问题。

注2. 根节点一定不要忘了归零。

注3. 由于是资源商店中的内容,植物子物体分组分的不好,有的资源mesh是多根树混合到一起的效果(类似于榕树,SM_birch_a_fall),这种选择根节点,链接父子关系相当麻烦。需要大量时间手动设置,目前没有解决办法。场景美术设计师自己重新制作的树先分好组可以解决这个问题。

原创: freddy 

来源:腾讯GWB游戏无界