UE4绘制简单三角形(四)
运行时使用ProceduralMeshComponent
组件绘制Mesh。
Code
#include "ProceduralMeshComponent.h"
TArray<FVector> Verties;
TArray<int32> Triangles;
class UProceduralMeshComponent* pmc;
pmc = CreateDefaultSubobject<UProceduralMeshComponent>("pmc");
pmc->SetupAttachment(RootComponent);
Verties.Add(FVector(0, 0, 0));
Verties.Add(FVector(200, 0, 0));
Verties.Add(FVector(0, 0, 100));
Triangles.Add(2);
Triangles.Add(1);
Triangles.Add(0);
pmc->CreateMeshSection_LinearColor(0, Verties, Triangles, TArray<FVector>(),
TArray<FVector2D>(), TArray<FVector2D>(), TArray<FVector2D>(), TArray<FVector2D>(),
TArray<FLinearColor>(), TArray<FProcMeshTangent>(), true);
Result
Conclusion
目前运行时绘制Mesh有多种方法。,
- 使用自定义
FSceneProxy
绘制动态Mesh,既可以绘制动态Mesh也可以绘制静态Mesh,灵活度高。 - 直接绘制静态Mesh,简单,只能绘制静态Mesh。
- 使用
ProceduralMeshComponent
组件,提供更简单灵的API,但是活性上大大降低。