UE4中ProceduralMesh组件应用(动态裁切Mesh 水果忍者)一

前言

如何在虚幻4中动态构建Mesh(不借助三维软件生成模型)?如何在虚幻4中动态裁切Mesh?

那么这个时候我们需要使用一个新的组件ProceduralMesh。此组件的主要功能是根据给定的顶点信息,构建渲染模型。并且还可以通过裁切位置和法线,将模型进行动态裁切(效果类似水果忍者)

我们先说说如何动态构建Mesh!

准备

首先我们需要知道,计算机在渲染图形时的基本规则。

当三维图形进行渲染时,顶点处理是渲染的第一步,模型的顶点信息是以Mesh的形式进行组织记录,Mesh的基本单元既是三角形。

所以我们如果想要单纯的渲染出一个平面(矩形),就需要两个三角形,四个顶点信息。如下图给定所示。

图一

从图中,我们观察到4个顶点,A,B,C,D

两个三角形,分别是ABC顶点构成的三角形和CBD构成的三角形(顺序不能错)

注意:在顶点构建三角形时,我们应该注意顶点坐标位置的拼装顺序,如果希望组建的面朝向屏幕外,请按照正时针方向构建(左手法则)。如果希望Mesh面朝里,请使用逆时针顺序构建

弄清楚这些问题,我们就可以开始动手制作了!

构建Mesh步骤

1.构建蓝图Actor(C++一样)

在组件列表添加新的组件,选择ProceduralMesh组件

2.调用生成节点

图二(右键可以查看原图)

在Construction Script中编写图二的蓝图逻辑。其中顶点,三角形,UV是需要填写的信息。

  • Vertices即为顶点信息(顶点坐标为本地坐标,原点即为Actor根组件)。构建矩形需要4个顶点即可
  • Triangles三角形信息。使用顶点进行三角形拼接,顺序不要乱,使用数组下标。第一个三角形为012,第二个三角形为213
  • UV信息,即每个顶点在UV展开图上的位置,一共4个顶点。
  • 勾选Create Collision则生成的Section会自动生成碰撞器

最后设置一下材质,编译Actor,如果在视图中看到图三效果,则说明应用成功。

图三
注意:以上节点也可以在运行时态调用,效果等同。

虚幻4版本 4.19.2

添加评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注