前言

上一节,已经学会使用UProceduralMeshComponent组件如何创建网格体,这一节就是让网格体换上皮肤,通常是根据网格体上的顶点颜色来构建网格体的材质



创建顶点颜色

在UProceduralMeshComponent中函数CreateMeshSection_LinearColor中有个关于const TArray& VertexColors的变量,该数组集合就是存放每个顶点对应的颜色。根据上一节的代码只需要对构成三角形的三个点分别赋予不同的颜色。

vertexColors.Add(FLinearColor::Blue); //第一个顶点赋予蓝色
vertexColors.Add(FLinearColor::Green);//第二顶点赋予绿色
vertexColors.Add(FLinearColor::Red);//第三顶点赋予红色

MeshComponent->CreateMeshSection_LinearColor(0, vertices, triangles, normals, uvs, vertexColors, tangents, true);


UE显示

在ue中对更新的代码进行重新编译生成,然后给UProceduralMeshComponent组件赋予有关顶点颜色的材质,就可以看到三角形根据三个顶点颜色生成的材质并显示在场景中。
在这里插入图片描述

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐