Announcement

Collapse
No announcement yet.

Runtime Mesh Component

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

  • replied
    Originally posted by Paul_LTC View Post
    Update:
    I tried reinstalling, deleting binaries and intermediate files, etc., updating the target.cs of the editor files in RuntimeMeshComponent, still doesn't work, as the error below persists:

    Severity Code Description Project File Line Suppression State
    Error LNK1181 cannot open input file 'C:\Program Files\Epic Games\UE_4.20\Engine\Plugins\RuntimeMeshComponent-master\RuntimeMeshComponent-master\Intermediate\Build\Win64\UE4Editor\Development\RuntimeMeshComponent\UE4Editor-RuntimeMeshComponent.lib' DungeonOfTimePaul C:\Users\paull\Desktop\Unreal *****\DungeonOfTimePaul\Intermediate\ProjectFiles\LINK 1
    This is probably due to the changes to Plugin include paths in 4.20/4.21.

    In your [Project Directory]\Plugins\RuntimeMeshComponent\Source\RuntimeMeshComponent\RuntimeMeshComponent.Build.cs file, comment out the PublicIncludePaths and PrivateIncludePaths lines and replace them with the new ModuleDirectory-relative paths like so:


    // PublicIncludePaths.AddRange(
    // new string[] {
    // "RuntimeMeshComponent/Public"
    // // ... add public include paths required here ...
    //}
    // );
    PublicIncludePaths.Add(Path.Combine(ModuleDirectory, "Public"));

    // PrivateIncludePaths.AddRange(
    // new string[] {
    // "RuntimeMeshComponent/Private",
    // // ... add other private include paths required here ...
    //}
    // );
    PrivateIncludePaths.Add(Path.Combine(ModuleDirectory, "Private"));


    Do the same in RuntimeMeshComponentEditor\RuntimeMeshComponentEditor.Build.cs

    This *should* probably cover it for 4.20. For 4.21 you will need to take the "#if ENGINE_MAJOR_VERSION == 4 && ENGINE_MINOR_VERSION < 21" line in RuntimeMeshComponent.cpp and move it from above GetPhysicsTriMeshData() to above CreateNewBodySetup()

    I have no idea whether this has any impact on physics in an actual shipping build, but it will get your project compiled and running a Development Editor build for the time being.

    Edit: quick update - tried packaging a shipping Win64 build of the default map to which I added a runtime MeshSlicer BP. Works great; slices respond to player and projectile physics as expected.
    Last edited by Ryvar; 12-03-2018, 08:21 PM.

    Leave a comment:


  • replied
    Originally posted by Paul_LTC View Post
    Update:
    I tried reinstalling, deleting binaries and intermediate files, etc., updating the target.cs of the editor files in RuntimeMeshComponent, still doesn't work, as the error below persists:

    Severity Code Description Project File Line Suppression State
    Error LNK1181 cannot open input file 'C:\Program Files\Epic Games\UE_4.20\Engine\Plugins\RuntimeMeshComponent-master\RuntimeMeshComponent-master\Intermediate\Build\Win64\UE4Editor\Development\RuntimeMeshComponent\UE4Editor-RuntimeMeshComponent.lib' DungeonOfTimePaul C:\Users\paull\Desktop\Unreal *****\DungeonOfTimePaul\Intermediate\ProjectFiles\LINK 1
    do you manually include the generated.h file in the files where you use the plugin?

    Leave a comment:


  • replied
    Update:
    I tried reinstalling, deleting binaries and intermediate files, etc., updating the target.cs of the editor files in RuntimeMeshComponent, still doesn't work, as the error below persists:

    Severity Code Description Project File Line Suppression State
    Error LNK1181 cannot open input file 'C:\Program Files\Epic Games\UE_4.20\Engine\Plugins\RuntimeMeshComponent-master\RuntimeMeshComponent-master\Intermediate\Build\Win64\UE4Editor\Development\RuntimeMeshComponent\UE4Editor-RuntimeMeshComponent.lib' DungeonOfTimePaul C:\Users\paull\Desktop\Unreal *****\DungeonOfTimePaul\Intermediate\ProjectFiles\LINK 1

    Leave a comment:


  • 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 Cosmik-Debris; 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:

Working...
X