Hello 
I have some issues to finish the following code. With this I'd like to be able to create meshes from blueprint.
and
I turn arround for hours. I am not verry experimented in c++ and i cannot work with pointers.
This project keeps throwing errors at me. Please help me to fix those. the custom mesh class is the one found in https://github.com/SRombauts/UE4ProceduralMesh and the class here is inspired by the triangle class.
Hope you can fix it
Wicpar

I have some issues to finish the following code. With this I'd like to be able to create meshes from blueprint.
Code:
#pragma once #include "GameFramework/Actor.h" #include "ProceduralMeshComponent.h" #include "CustomMeshBridge.generated.h" /** * */ UCLASS() class SSS2_API ACustomMeshBridge : public AActor { GENERATED_UCLASS_BODY() public: UFUNCTION(BlueprintCallable, meta = (FriendlyName = "New Vertex", Keywords = "New Vertex"), Category = ProceduralMesh) static FProceduralMeshVertex CreateVertex(FVector position, FColor col, float u, float v); UFUNCTION(BlueprintCallable, meta = (FriendlyName = "New Triangle", Keywords = "New Triangle"), Category = ProceduralMesh) static FProceduralMeshTriangle CreateTriangle(FProceduralMeshVertex vertex0, FProceduralMeshVertex vertex1, FProceduralMeshVertex vertex2); UFUNCTION(BlueprintCallable, meta = (FriendlyName = "Create Mesh Class Instance", Keywords = "Create Mesh Class Instance"), Category = ProceduralMesh) static ACustomMeshBridge* CreateMesh(TArray<FProceduralMeshTriangle>& OutTriangles, UMaterial* Material); UFUNCTION(BlueprintCallable, meta = (FriendlyName = "Create Triangle Array", Keywords = "Create Triangle Array"), Category = ProceduralMesh) static TArray<FProceduralMeshTriangle> CreateTriangleArray(); UFUNCTION(BlueprintCallable, meta = (FriendlyName = "Add Triangle To Triangle Array", Keywords = "Add Triangle To Triangle Array"), Category = ProceduralMesh) static TArray<FProceduralMeshTriangle> AddTriangleToTriangleArray(FProceduralMeshTriangle triangle,TArray<FProceduralMeshTriangle>& OutTriangles); private: TArray<FProceduralMeshTriangle> triangles; ACustomMeshBridge(TArray<FProceduralMeshTriangle>&, UMaterial*); };
Code:
#include "SSS2.h" #include "CustomMeshBridge.h" #include "ConstructorHelpers.h" ACustomMeshBridge::ACustomMeshBridge(const class FPostConstructInitializeProperties& PCIP, TArray<FProceduralMeshTriangle>& OutTriangles, UMaterial* Material) : Super(PCIP) { TSubobjectPtr<UProceduralMeshComponent> mesh; mesh = PCIP.CreateDefaultSubobject<UProceduralMeshComponent>(this, TEXT("BPGeneratedMesh")); // TODO Apply a real material with textures, using UVs //static ConstructorHelpers::FObjectFinder<UMaterialInterface> Material(TEXT("Material'/Game/Materials/M_Concrete_Poured.M_Concrete_Poured'")); mesh->SetMaterial(0, &static_cast<UMaterialInterface>(*Material)); // Generate a single triangle mesh->SetProceduralMeshTriangles(triangles); this->RootComponent = mesh; } FProceduralMeshVertex ACustomMeshBridge::CreateVertex(FVector position, FColor col, float u, float v) { FProceduralMeshVertex vert; vert.Position = position; vert.Color = col; vert.U = u; vert.V = v; return vert; } FProceduralMeshTriangle ACustomMeshBridge::CreateTriangle(FProceduralMeshVertex vertex0, FProceduralMeshVertex vertex1, FProceduralMeshVertex vertex2) { FProceduralMeshTriangle tri; tri.Vertex0 = vertex0; tri.Vertex1 = vertex1; tri.Vertex2 = vertex2; return tri; } TArray<FProceduralMeshTriangle> ACustomMeshBridge::CreateTriangleArray() { TArray<FProceduralMeshTriangle> a; return a; } TArray<FProceduralMeshTriangle> ACustomMeshBridge::AddTriangleToTriangleArray(FProceduralMeshTriangle triangle, TArray<FProceduralMeshTriangle>& OutTriangles) { OutTriangles.Add(triangle); return OutTriangles; } ACustomMeshBridge* ACustomMeshBridge::CreateMesh(TArray<FProceduralMeshTriangle>& OutTriangles, UMaterial* Material) { ACustomMeshBridge b = ACustomMeshBridge(OutTriangles, Material); return &b; }
This project keeps throwing errors at me. Please help me to fix those. the custom mesh class is the one found in https://github.com/SRombauts/UE4ProceduralMesh and the class here is inspired by the triangle class.
Hope you can fix it

Wicpar
Comment