Runtime Mesh Component

Is @ still alive? :smiley:

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

He seems to be :slight_smile:

haha nice!
I forgot you can check user profiles for last activity :smiley:

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

@ 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?

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 @, 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.

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

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.

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

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

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,


SelectedObjectsList = DetailBuilder.GetDetailsView().GetSelectedObjects();

Should be changed to:


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.

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 's tutorial on multithreading, the implementation he outlined works very well for this use case.

https://wiki.unrealengine.com/Multi-Threading:_How_to_Create_Threads_in_UE4

Iā€™m making a (free) plugin to generate shapes using RMC. My first shape, a circle, refuses to show up at all! Could you possibly tell me what Iā€™m doing wrong:

edit: Iā€™m a moron.

Are you sure your code executes? Use breakpoints or Logs/PrintMessages.
Is your material != nullptr? Is your material double sided? If not try viewing your actor from a different. angle.
Are your circle outer vertice distances correct (radius)? If they are to close to the center you will see nothing. Use Debugfunctions to display the vertex positions to be sure (UKismetSystemLibrary:: DrawDebugSphere).

Test with URuntimeMeshLibrary::CreateBoxMesh (feed the resulting data into CreateMeshSection).

Would you like to share some snipped how it is implemented? Iā€™d like to do the same and learn threading in UE along way. =)

Iā€™m looking into your code as Iā€™m about to do the same for my projectā€¦ ty for sharing.

Unless iā€™m mistaken, 4.18.1 broke this plugin in a major way :. Iā€™m fixing it now.

edit: Iā€™m mistaken, my project has gone bonkers.

Well the plugin does what I need it to do right now, except you canā€™t edit parameters in any of the created actors. UE4 drives me up the wall sometimes. Everything is a component with an actor wrapper (that has the problems I mentioned) but if youā€™re doing things programmatically this doesnā€™t matter. You can create the following 2D shapes, will fill and stroke:
Circle
NGon
Rectangle
Square

Thereā€™s also a generic polygon in the works but I havenā€™t tested it thoroughly. Iā€™m using this in an active project so it will get updated often. Iā€™ll give it itā€™s own post when this parameter business is fixed.

Hey guysā€¦ just a questionā€¦ iā€™m trying to use this plugin with tesselation (on the dynamicaly generated mesh) and it doesnā€™t work
https://forums.unrealengine.com/development-discussion/content-creation/1389588-uruntimemeshcomponent-and-uproceduralmeshcomponent-bug-when-using-tesselation-what-i-m-doing-wrong

(unless iā€™m doing something stupid, which iā€™m sure i am)

It does work for when cooking this meshā€¦ so iā€™m guessing itā€™s a limitation of the runtime generated mesh (and the procedural too)

Any ideas?

We are using it with tesselation in Editor and Standalone without issue. You sure your material is properly setup? Does your material work on StaticMeshes? You sure its the right material, maybe there is a similar one without tesselation? Ramp up your tesselation to higher values just to test it?

Yesā€¦ the material works well in static meshesā€¦ it even works well when i Cook the RuntimeMesh to a Static Mesh (which is really weird)
So i donā€™t think itā€™s an issue of how iā€™m creating my runtime mesh, because the cooked mesh would fail too (unless iā€™m mistaken)
In the post i attached, you can see that itā€™s an issue of depth fighting