Announcement

Collapse
No announcement yet.

Runtime Mesh Component

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

  • replied
    Originally posted by BulleTime View Post
    Is there any documentation on how to use the RMC with threads?
    I have got RMC threaded, well the vertex generation part at least. I basically created a class extending FRunnable that handled the vertex generation of a subdivided plane and then when the thread finished I pass the indices and vertices over to the actual runtime mesh pointer and call CreateMeshSection and UpdateMeshSection with it. It scales very well, but for best performance you would want to pass all the vertices and indices in one batch and not section them. The only problem I'm facing right now with this implementation is figuring out what the indices should be for the vertices now that I'm passing it in as one batch. I put up a question on answerhub addressing this if you want to check it out:

    https://answers.unrealengine.com/que...eneration.html

    You should check out Rama's tutorial on multithreading, the implementation he outlined works very well for this use case.

    https://wiki.unrealengine.com/Multi-...Threads_in_UE4

    Leave a comment:


  • replied
    Originally posted by Zapheroc View Post
    I just updated to 4.18 and got the latest github version of the RMC. It failed to compile, because there seems to be just a small error, probably just a typo or sudden API change I would guess.

    In RuntimeMeshComponentDetails.cpp, on line 28,
    Code:
    SelectedObjectsList = DetailBuilder.GetDetailsView().GetSelectedObjects();
    Should be changed to:
    Code:
    SelectedObjectsList = DetailBuilder.GetDetailsView()->GetSelectedObjects();
    In order to compile properly. For some reason the pointer returned by GetDetailsView() wasn't being dereferenced.
    You inspired me to update from 4.16 to 4.18. Got it working fine.

    For anyone else wondering, just put the RMC in your project’s plugins folder. Then run a compile to let it compile the plugin. Finally, move the plugin to the engine plugins folder. This will then prevent the plugin being recompiled every time you rebuild.

    Leave a comment:


  • replied
    I just updated to 4.18 and got the latest github version of the RMC. It failed to compile, because there seems to be just a small error, probably just a typo or sudden API change I would guess.

    In RuntimeMeshComponentDetails.cpp, on line 28,
    Code:
    SelectedObjectsList = DetailBuilder.GetDetailsView().GetSelectedObjects();
    Should be changed to:
    Code:
    SelectedObjectsList = DetailBuilder.GetDetailsView()->GetSelectedObjects();
    In order to compile properly. For some reason the pointer returned by GetDetailsView() wasn't being dereferenced.

    Leave a comment:


  • replied
    Originally posted by wilberolive View Post
    Does it work with 4.18 from github and how do you stop it compiling with your project. Last time I tried it from github it caused my project compile times to double cause it wanted to compile the RMC plugin every time.
    I don't know why you would need to recompile a plugin, that has already been compiled. And I haven't tested it yet, but so far, whenever Koderz updated the plugin for an UE release, it worked for me. I would assume this to be the same. There might not even be a need to update the code base, so you should just try it.

    Leave a comment:


  • replied
    Is there any documentation on how to use the RMC with threads?

    Leave a comment:


  • replied
    Does it work with 4.18 from github and how do you stop it compiling with your project. Last time I tried it from github it caused my project compile times to double cause it wanted to compile the RMC plugin every time.

    Leave a comment:


  • replied
    it is up to date. just download it from github, guys

    Leave a comment:


  • replied
    Koderz said there was an update pushed for 4.17 about a month ago, but I guess that didn't happen. He said he had 4.18 ready to go so it could be updated the day it is released, so guess that didn't happen either. *sigh*

    Hey Koderz, maybe you should appoint another person to help with maintaining and updating the project as well, just so it could be at least kept updated on the marketplace.

    Leave a comment:


  • replied
    Originally posted by SRombauts View Post

    Koderz
    Samaritan
    Last Activity: 10-23-2017, 06:31 PM
    Joined: 08-29-2015
    Location: Holly Springs, NC

    He seems to be
    haha nice!
    I forgot you can check user profiles for last activity



    edit: UE 4.18 is released. But Runtime Mesh Component for UE 4.17 is not even available on the marketplace.

    Koderz what are you going to do now? Are you still going to release Runtime Mesh Component for 4.17 on the marketplace? Or are you going to skip 4.17 and work on 4.18?
    Last edited by OmniMachina; 10-24-2017, 01:47 PM.

    Leave a comment:


  • replied
    Originally posted by OmniMachina View Post
    Is Koderz still alive?
    Koderz
    Samaritan
    Last Activity: 10-23-2017, 06:31 PM
    Joined: 08-29-2015
    Location: Holly Springs, NC

    He seems to be

    Leave a comment:


  • replied
    Is Koderz still alive?

    Leave a comment:


  • replied
    10,000 meshes is a lot. I'd definitely take a look at the implementation and maybe even look into finding a technique to use them in instanced mesh components.

    Leave a comment:


  • replied
    Originally posted by Darlandra View Post
    By spawning 10,000 meshes that's only 90,000 vertices and 80,000 triangles...so why does this hammer my gpu so badly (running a 1080). Any ideas on how to get this running smooth would be great.
    A bit late here, but what BlackRang666 is saying is that your current approach is far to naive: the polycount is not the problem here, the number of meshes is! Just for a starter, do a quick search on what are draw calls and why does they matter more than the number of vertices or triangles.

    So to answer your question, a very good start would by to stop spawning 10000 separate objects, but instead manage to group them (for instance by 16*16) and then when the user edit one, either update the whole group or create a new separate object for the one edited (there is plenty of more seriously explained algorithms about this out there). This is also why Minecraft is not as simple to do well as it seems at the first look.

    Leave a comment:


  • replied
    Originally posted by Darlandra View Post
    Why does this hammer my gpu so badly (running a 1080).
    Probably because you spawned in 10,000 separate meshes, each one requiring dynamic lighting.

    Leave a comment:


  • replied
    Hi! I heard this plugin would make for more efficient mesh creation. I am trying to make a terrain editor where the terrain cells are about 2m x 2m, and each mesh consists of a simple square with 9 verts (1 in center and 1 in middle of each side), and 8 triangles total. My goal is to create large landscapes of over 100x100 sections of this same mesh where each can be modified to create a rough terrain. The issue though is that even 100x100 creates a huge graphical load and my fps in editor drops like crazy. By spawning 10,000 meshes that's only 90,000 vertices and 80,000 triangles...so why does this hammer my gpu so badly (running a 1080). Any ideas on how to get this running smooth would be great.

    Leave a comment:

Working...
X