Announcement

Collapse
No announcement yet.

Runtime Mesh Component

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • replied
    Has anyone successfully built the plugin for 4.23.1 ? I tried it with the sources from https://github.com/stefanseibert/RuntimeMeshComponent but get an error when i use it as an engine plugin.

    Leave a comment:


  • replied
    Originally posted by Mctittles View Post
    Is there a way to get the vertex positions in world coordinates? Say I have a runtime mesh that has been moved and rotated and I would like to get the vertex positions so I can combine it with another mesh but keep it's location.
    Ok I figured it out. Send the actor you want to merge with the transform of the actor you want to merge from. Loop through vertices and use TransformPosition on each one:

    Code:
    for (int32 vertCounter = 0; vertCounter < verticesSent.Num(); vertCounter++) {
                    const FVector WorldSpaceVertexLocation = transformSent.TransformPosition(verticesSent[vertCounter].Position);
                    vertices.Add(transformSent.TransformPosition(verticesSent[vertCounter].Position)-GetActorLocation());
                }
    You might also need to subtract your current actors location (or the difference between the two actors). In my case "-GetActorLocation()".

    Leave a comment:


  • replied
    Is there a way to get the vertex positions in world coordinates? Say I have a runtime mesh that has been moved and rotated and I would like to get the vertex positions so I can combine it with another mesh but keep it's location.

    Leave a comment:


  • replied
    I'm still wondering what the sections with DualBuffer are. Anybody any idea?

    Code:
        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)

    Leave a comment:


  • replied
    Originally posted by Mctittles View Post
    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.
    Last edited by Rumbleball; 10-21-2019, 06:35 PM.

    Leave a comment:


  • replied
    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?

    Leave a comment:


  • replied
    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?

    Leave a comment:


  • replied
    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.

    Leave a comment:


  • replied
    Originally posted by Rumbleball View Post

    SetMeshCollisionSection or something like that.
    Thanks, i will check it out

    Leave a comment:


  • replied
    Originally posted by HOUmmel View Post
    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.

    Leave a comment:


  • replied
    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...

    Leave a comment:


  • replied
    Originally posted by THEAETIK View Post
    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.

    Leave a comment:


  • replied
    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?

    Leave a comment:


  • replied
    Originally posted by HOUmmel View Post
    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
    nope, you can't ^^ not sure why though. Maybe the wireframe shader takes another render path or is not run on the GPU.

    Leave a comment:


  • replied
    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
    Last edited by HOUmmel; 07-25-2019, 05:06 AM.

    Leave a comment:

Working...
X