【UE4 Blueprint】ProceduralMeshComponent绘制自定义模型并转为StaticMesh

顶点、面数据绘制模型

为了能够在UE4中使用三角形的顶点、面数据,绘制出一个3D模型,便进行了相关的内容查找。

最初发现Custom Mesh Component能够达到该要求,但后来发现Procedural Mesh Component能够完成更复杂的功能,例如模型的UV、Normal、碰撞等参数,最重要的是还能够将绘制的模型转换成Static Mesh

【UE4 Blueprint】ProceduralMeshComponent绘制自定义模型并转为StaticMesh_第1张图片 蓝图节点
【UE4 Blueprint】ProceduralMeshComponent绘制自定义模型并转为StaticMesh_第2张图片 绘制结果

CreateMeshSection绘制原则:Section Index、 Vertices、Triangles、Create Collision是必填项,其他均为选填。

  • SectionIndex:默认为0,可划分模型为多个部分
  • Vertices:所有顶点的坐标,排列顺序会影响Triangle数组中的索引
  • Triangles:组成三角面的顶点顺序,一般情况下为顺时针
  • Normals:每个顶点的法线,与第二个参数顺序一致,数组大小一致(可不填)

顶点法线如何计算:已知每一个三角形(primitive)中的三个顶点v0,v1,v2(依次按进入的先后顺序排列)位置, 那么

Normal = normalize(cross((v1-v0), (v2-v0)));

  • UV0:每个顶点的UV坐标,与第二个参数顺序一致,数组大小一致(可不填)
  • VertexColors:未深入了解(可不填)
  • Tangents:未深入了解(可不填)
  • CreateCollision:是否创建碰撞

若需要绘制更复杂的3D模型,可结合数据表格获取数据进行绘制。

程序化网格体转化为静态网格体

当该蓝图被实例化在关卡中时(蓝图拖入关卡),可创建该绘制模型对应的静态网格体存储在内容浏览器中。

注意:蓝图中创建静态网格体是灰色的,无效的。

【UE4 Blueprint】ProceduralMeshComponent绘制自定义模型并转为StaticMesh_第3张图片 蓝图中
【UE4 Blueprint】ProceduralMeshComponent绘制自定义模型并转为StaticMesh_第4张图片 关卡实例中

如何批量的程序化绘制静态网格体请参考本人毕设的总结

【UE4 C++】由点面数据,批量绘制ProceduralMesh并转化为StaticMesh资产

你可能感兴趣的:(UE4,Procedural,Mesh,Custom,Mesh,UE4绘制模型,绘制三角形模型,模型转化)