Announcement

Collapse
No announcement yet.

Runtime Mesh Component

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

  • replied
    Version: 4.20
    I followed the instructions here: https://github.com/Koderz/RuntimeMes...MC-from-GitHub
    Added the four dependencies as shown here: https://github.com/Koderz/RuntimeMes...project-in-CPP
    And still, "Cannot open include file: 'RuntimeMeshCore.generated.h' No such file or directory"?
    I put my plugin files to the plugin folder in ue4, along with other plugins

    Leave a comment:


  • replied
    Originally posted by Rumbleball View Post

    they work. There are some checkboxes in the component that need to be adjusted correctly I gues.
    Oh, okay, thanks then, appreciated.

    Leave a comment:


  • replied
    Originally posted by Sabudum View Post
    I'm having a problem getting overlap events to work with the runtime mesh component, they work with any static mesh, but not with the runtime mesh, is there a way to make it work in blueprints, or is this just not implemented?
    they work. There are some checkboxes in the component that need to be adjusted correctly I gues.

    Leave a comment:


  • replied
    I'm having a problem getting overlap events to work with the runtime mesh component, they work with any static mesh, but not with the runtime mesh, is there a way to make it work in blueprints, or is this just not implemented?

    Leave a comment:


  • replied
    Originally posted by bishop86 View Post

    Wow it worked!! Thanks so much
    Glad I could help. Enjoy!

    Leave a comment:


  • replied
    Originally posted by Rumbleball View Post

    You can try exporting and reimporting the static mesh. Maybe that solves it. I think there is a checkbox on import for adjacency info.
    Wow it worked!! Thanks so much

    Leave a comment:


  • replied
    Originally posted by bishop86 View Post

    OK thanks for looking

    Could it be because I'm trying to copy a static mesh that was converted from a skeletal mesh with 'make static mesh' in the editor? Not sure if this could have something to do with it.
    You can try exporting and reimporting the static mesh. Maybe that solves it. I think there is a checkbox on import for adjacency info.

    Leave a comment:


  • replied
    Originally posted by Rumbleball View Post
    bishop86 I had a look but I do not have enough understanding of how all this stuff works.

    Code:
    ...
    // Lets copy the adjacency information too for tessellation
    // At this point all vertices should be copied so it should work to just copy/convert the indices.
    if (LOD.bHasAdjacencyInfo && LOD.AdjacencyIndexBuffer.GetNumIndices() > 0)
    {
    FIndexArrayView AdjacencyIndices = LOD.AdjacencyIndexBuffer.GetArrayView();
    
    // We multiply these by 4 as the adjacency data is 12 indices per triangle instead of the normal 3
    uint32 StartIndex = Section.FirstIndex * 4;
    uint32 NumIndices = Section.NumTriangles * 3 * 4;
    
    for (uint32 Index = 0; Index < NumIndices; Index++)
    {
    AdjacencyIndexCreator(MeshToSectionVertMap[AdjacencyIndices[Index]]);
    }
    }
    ...
    The crash happens when trying to access MeshToSectionVertMap with a value that is not present within the map. If you don't need Tessellation, your best bet is to somehow prevent the mesh to have adjacency information. What ever that means.
    OK thanks for looking

    Could it be because I'm trying to copy a static mesh that was converted from a skeletal mesh with 'make static mesh' in the editor? Not sure if this could have something to do with it.

    It works fine with procedural mesh comp. I'll have a look at the RMC code.
    Last edited by anti_zer0; 09-29-2018, 12:51 PM.

    Leave a comment:


  • replied
    bishop86 I had a look but I do not have enough understanding of how all this stuff works.

    Code:
      
    ...
                 // Lets copy the adjacency information too for tessellation 
                    // At this point all vertices should be copied so it should work to just copy/convert the indices.
                    if (LOD.bHasAdjacencyInfo && LOD.AdjacencyIndexBuffer.GetNumIndices() > 0)
                    {
                        FIndexArrayView AdjacencyIndices = LOD.AdjacencyIndexBuffer.GetArrayView();
    
                        // We multiply these by 4 as the adjacency data is 12 indices per triangle instead of the normal 3
                        uint32 StartIndex = Section.FirstIndex * 4;
                        uint32 NumIndices = Section.NumTriangles * 3 * 4;
    
                        for (uint32 Index = 0; Index < NumIndices; Index++)
                        {
                            AdjacencyIndexCreator(MeshToSectionVertMap[AdjacencyIndices[Index]]);
                        }
                    }
    ...
    The crash happens when trying to access MeshToSectionVertMap with a value that is not present within the map. If you don't need Tessellation, your best bet is to somehow prevent the mesh to have adjacency information. What ever that means.

    Leave a comment:


  • replied
    Originally posted by Rumbleball View Post

    what does the log say? Callstack of the crash?
     
    Spoiler

    Leave a comment:


  • replied
    Originally posted by bishop86 View Post

    I checked this and it's already enabled... hmmm
    what does the log say? Callstack of the crash?

    Leave a comment:


  • replied
    Originally posted by Rumbleball View Post

    Make sure all meshes you want to retrieve the mesh data from are CPU accessible. Open the static mesh in question and use the search bar to search for "CPU".
    I checked this and it's already enabled... hmmm

    Leave a comment:


  • replied
    Ah, thanks for the explanation. It's a shame as I'm having to greatly reduce the poly count in my model (from 26k to 600) to make performance reasonable and it doesn't look nearly as good anymore. Tessellation doesn't help either as the result is all lumpy and horrible.

    Leave a comment:


  • replied
    Originally posted by Bob3DGames View Post
    Never mind, I realised I could copy the mesh data initially from a Procedural Mesh component into an array variable in the construction script, do my calculations on that and then update the mesh.

    Unfortunately, despite the claims, updating the RMC is noticeably slower than updating the built-in Procedural Mesh.
    that is an issue we are currently facing as well. He wanted to save on memory, thus he combines normald and tangents into a single struct for internal use. But that needs shitload of calculation time. Especially if you have lots of vertices.

    Leave a comment:


  • replied
    Never mind, I realised I could copy the mesh data initially from a Procedural Mesh component into an array variable in the construction script, do my calculations on that and then update the mesh.

    Unfortunately, despite the claims, updating the RMC is noticeably slower than updating the built-in Procedural Mesh.

    Leave a comment:

Working...
X