This is going to be a long post since I’m replying to multiple people at the same time. (Sorry about being a slow response, combination of end of classes and then the holidays)
I do not have any videos, and if I’m honest the docs are pretty lacking at this point, but that will hopefully change shortly! The slicer isn’t going to be in that release zip due to licensing restrictions from Epic. I hope to have a better solution to this eventually, but for now the best way to get it is via the marketplace. The next best way is to pull the RMC+Slicer from here and overwrite the RuntimeMeshComponent folder within the Plugins folder with what’s in that zip. I’m around the UE4 Discord pretty much all of my available time if you need help. Once you have either that version or the marketplace the ‘Slice Runtime Mesh’ function will appear in blueprint. You can also access it from c++. Also you’ll need to have a GitHub account linked to your UnrealEngine account and be logged in to view the link above.
I’m aware of a few potential problems with how the RMC operates compared to the SMC that could be the cause of some of this. This is part of the reason I’m currently doing a ground up rewrite of the core of the RMC. Unfortunately though this will likely be a little while coming, but I’ll keep you posted on that.
Well that’s not good! Will look into that!
@Mtimofeev
There are some issues I’m aware of like I mentioned above where the RMC is slower than the SMC even for movable objects. I’m working on that with the new version. VR is indeed an interesting, and hard, thing to optimize for and even more so when you can’t take advantage of things like baked lighting. Unfortunately there’s not really a way to get that with runtime generated meshes.
I know I already mentioned there being some known issues, but I’ll elaborate a little bit here… I would also be interested in talking to you on the UE4 Discord if you’re willing to learn more about your setup and see if there’s other things I’m not yet aware of.
Now, One of the main areas I’ve found out where the RMC can be substantially slower is shadows. The SMC pre-computes an optimized index buffer for shadows which reduces the number of vertices transformed on the GPU. This is something I plan to do more investigation on and if it really turns out to be of use I’ll likely add support for it in the upcoming version. Next it uses a single vertex buffer for all of it’s sections whereas the RMC doesn’t and instead has a vertex+index buffer for each section which can lead to more state changing. Also the SMC doesn’t use have color information in the vertex buffer if it’s not needed. The RMC is on its way to supporting that (actually the template vertex will let you disable it, but the engine won’t like it since the RMC doesn’t handle it correctly). There’s possibly some other things I’m not yet aware of but I’m still doing a broad and very detailed comparison of the SMC and RMC and how they operate. Some things the SMC does can’t really be done in real-time but some can, and will be.
Now to make you aware of some other potential pitfalls with your current setup… 40-120 sections isn’t by itself a bad thing but there are some major things to watch for. If you create/update any section marked with Infrequent Updates, it will resync ALL vertex/index data to the GPU. Same goes with changing shadowing on those sections. If they’re all Average/Frequent it won’t resync all but I believe changing materials will force a total resync as well. If these are spread out over a large area you’ll likely want to break them up due to culling not being able to remove some of them based on them all having the same bounding box. Furthermore each section constitutes a draw call (actually more if you count shadows or other things like planar reflections or scene captures) so especially in VR you want to minimize that as much as possible while also being mindful of not making too few meshes that are so large as to bottleneck you the other way. While it’s a little more complicated than this, if you’re CPU bound you probably have too many sections.
You can have multiple components as a part of an actor, you can only have one RootComponent. You can add children of the RootComponent though. You can add them and then query them, or you can add them and store the pointers to them as well (make sure they’re decorated with UPROPERTY if this is in C++) This honestly sounds like part of it is from some of the known issues but unfortunately the version to fix much of this is likely a couple months out.
To add materials, you have to use the ‘+’ button to override them and add them. They only show up automatically if the sections exist in the editor (created in construction script)
For Mac OS, I haven’t directly tried to build it due to not having a Mac but to my knowledge you should be able to add it as a plugin within the project and build as normal. The marketplace also appears to have it built for Mac so it should build correctly. The marketplace also has the current version, including the slicer so that might be easier to install than trying to manually build it.