Runtime Mesh Component

When can we expect v4.21 support?
Also any new on the extended plugin version?

I have the same isuue while I resolve it .The erro is I have not createDefaultSubobject ,To make the component in the constructor function . Hope it may help sombody! chinese guy !

Does this still have a marked improvement over Epic’s ProceduralMeshComponent for basic, not updating a mesh every frame operations?

I assume as long as Epic didn’t do any improvements. It was mentioned that Epic was working on an more performant solution, though I have no clue what happend to that.

Can somebody explain how to use Tessellation with RMC?

works out of the box for UE 4.19.
Is you material working on static meshes? (Tessellation is enabled via the applied material)

It works with static meshes. The Engine crashes with PN Tessellation. Flat Tessellation has no Effect. Maybe because i use 4.22?

Maybe, but can’t help ya there.

So i tried to get it work in 4.19. but it does not work at all. Can you give a simple setup?
Edit: Seems like you can’t see the Tessellation in Wireframe Mode:rolleyes:

nope, you can’t ^^ not sure why though. Maybe the wireframe shader takes another render path or is not run on the GPU.

Since UE4.20 they’ve added the ability to apply a render target to the landscape as displacement… without the runtime functionality. How feasible would it be with the RMC?

Take a texture (RenderTarget is a texture), create a plane with subdivisions, read the pixel and displace the vertex Z position depending on the color value, update the vertices to the RMC. Its a bit of coding but not that problematic if you only want a texture that maps to a fixed size plane. Needs C++ tough.

Hello,
is it possible to add Collision to a MeshSection which use a different VertexBuffer?
I have 2 VertexBuffers the first is for visuals and the 2nd for Collision only, so it does not need to be drawn or need Normals and Stuff.
At the Moment i create a 2nd MeshSection with that 2nd Buffer and set it to invisible. But maybe that is slower…

SetMeshCollisionSection or something like that.

Thanks, i will check it out

So I’m trying to get the section where a trace hit and having problems. I noticed there is ā€œGetSectionIdFromCollisionFaceIndexā€ in the mesh component, the issue I’m having is the hit returned from World->LineTraceSingleByChannel always has FaceIndex -1.

Oh spoke too soon. Guess I didn’t know what FaceIndex was well enough. ā€œThe FaceIndex is only set when using a triangle mesh for the query.ā€.

So is there a way to get which section was hit with a line trace?

Does it make a different in performance how many ā€œsectionsā€ you have as long as you use the same material for all of it? Doing one mesh for discrete items and just easier splitting them into sections.

Also how does the UV maps work when you define them for each section? Does the plugin piece them altogether into one?

Each section is a different material. Each material is a Draw-Call. With 4.23 Unreal changed the rendering by batching together same things. Dunno exactly what that means and how that applies to the RMC.

As each section has its own material UV is not connected. Each section can be 0…1 without problems. You can also exceed 0…1 range for UV in Unreal.

I’m still wondering what the sections with DualBuffer are. Anybody any idea?


    template<typename VertexType0, typename VertexType1, typename IndexType>
    FORCEINLINE void CreateMeshSectionDualBuffer(int32 SectionIndex, TArray<VertexType0>& InVertices0, TArray<VertexType1>& InVertices1, TArray<IndexType>& InTriangles, bool bCreateCollision = false,
        EUpdateFrequency UpdateFrequency = EUpdateFrequency::Average, ESectionUpdateFlags UpdateFlags = ESectionUpdateFlags::None)