Reputation: 3931
I am creating a Dynamic Mesh (UDynamicMeshComponent) in Unreal Engine 5.5, by filling a FDynamicMesh3.
FDynamicMesh3 MyFDynamicMesh3;
MyFDynamicMesh3.AddVertex(xxx);
MyFDynamicMesh3.AddVertex(yyy);
MyFDynamicMesh3.AddVertex(zzz);
MyFDynamicMesh3.AddTriangle(ttt);
...
MyUDynamicMeshComponent->SetMesh(MoveTemp(MyFDynamicMesh3));
--> The mesh is well appearing on the screen.
However later I want to retrieve and modify few of the vertices, however I can't extract and reinject the FDynamicMesh3:
What I do:
FDynamicMesh3* MyNewFDynamicMesh3;
MyNewFDynamicMesh3=MyUDynamicMeshComponent->GetMesh();
// For debugging purposes I'm not modifying any vertex, but the MyNewFDynamicMesh3 contains the proper vertices.
MyUDynamicMeshComponent->SetMesh(MoveTemp(*MyNewFDynamicMesh3));
--> The mesh disappears.
Am I doing it the right way with MoveTemp, and anything else I'm missing to extract and reinject the mesh ?
Upvotes: 0
Views: 82
Reputation: 3931
Solved it that way:
FDynamicMesh3 myFDynamicMesh3 = MyUDynamicMeshComponent->GetDynamicMesh()->GetMeshRef();
// Do the vertices change work
MyUDynamicMeshComponent->SetMesh(MoveTemp(myFDynamicMesh3));
Upvotes: 0