UE4里面怎么根据顶点数组绘制三角形面片
时间: 2023-11-16 22:04:11 浏览: 149
在UE4中,可以使用以下代码来根据顶点数组绘制三角形面片:
```cpp
// 定义顶点数组
FVector Vertices[3] = { FVector(0,0,0), FVector(100,0,0), FVector(0,100,0) };
// 定义三角形面片数组
int32 Triangles[3] = { 0, 1, 2 };
// 创建静态网格体
UStaticMesh* StaticMesh = NewObject<UStaticMesh>();
StaticMesh->InitResources();
// 定义顶点缓冲区
FStaticMeshVertexBuffers& VertexBuffers = StaticMesh->GetVertexBuffer();
const int32 NumVertices = 3;
VertexBuffers.InitFromSingleBuffer(&Vertices[0], NumVertices);
// 定义三角形面片缓冲区
FIndexArrayView IndexBuffer = StaticMesh->GetIndexBuffer();
const int32 NumTriangles = 1;
IndexBuffer.SetIndices(Triangles, NumTriangles * 3, true);
// 构建网格体
StaticMesh->BuildFromMeshDescription(FMeshDescription(), true);
// 创建静态网格体组件并添加到场景中
UStaticMeshComponent* StaticMeshComponent = NewObject<UStaticMeshComponent>(GetWorld());
StaticMeshComponent->SetStaticMesh(StaticMesh);
StaticMeshComponent->RegisterComponent();
```
在这个示例中,首先定义了一个包含3个顶点的顶点数组和一个包含1个三角形面片的面片数组。然后使用这些数据创建一个静态网格体,设置顶点缓冲区和三角形面片缓冲区,并使用`BuildFromMeshDescription`构建网格体。最后,将静态网格体组件添加到场景中以显示该三角形面片。
阅读全文