Originally posted by edstoica
View Post
Announcement
Collapse
No announcement yet.
Runtime Mesh Component
Collapse
X
-
Runtime Mesh Component - The best way to render procedural/runtime created meshes! - Version 4.1 out now!
Come talk about anything RMC or Procedural Mesh Related in our Discord!
-
Originally posted by Koderz View PostOk, which version are you on? The marketplace (v1.2) or a newer github version? I want to say this is already fixed in the github version... but I'm not positive on that so I'll test it myself here in a little while.Thanks
Comment
-
V2.0 Released!
So, this is long overdue...
V2.0 is now complete! Additional information can be found at the first post in this thread!
With this release there's numerous improvements like...
- Slicer Support!! You can now use the procedural mesh slicer.
- Collision cooking speed improvements.** (new)
- High precision normals support (new)
- Tessellation support (new)
- Navigation mesh support (new)
- Fully configurable vertex structure (new) (sort of limited for now due to engine requirement but will be resolved soon)
- Ability to save individual sections or the entire RMC to disk (new)
- RMC <-> StaticMeshComponent conversions. SMC -> RMC at runtime or in editor. RMC -> SMC in editor. (new)
- Normal/Tangent calculation. (new) (will be getting speed improvements soon)
Much of this has been available in GitHub for a while now, but this is the release of v2 which means it's updating the marketplace! There's a hidden repo with the slicer (link in the first post) as it contains engine code so it can only be accessed by valid licensees. Also I will be slowly working on new examples, and updating the docs over the next couple of weeks, but as always feel free to contact me if you need help!
For those of you waiting on the marketplace version, it has been submitted. I expect it will take Epic a couple days to push this through if there are no issues.
Thanks everyone for your patience, as this took way longer than expected! I have big plans for v3, but for now I'm going to keep quiet and not promise anything yet to keep from having to delay it multiple times!Runtime Mesh Component - The best way to render procedural/runtime created meshes! - Version 4.1 out now!
Come talk about anything RMC or Procedural Mesh Related in our Discord!
Comment
-
Congrats on the release! I will be playing around with this over ThanksgivingLead Engineer at Wargaming | Ex-CCP (EVE Valkyrie / Sparc) | @SiggiGG
Check out my procedural mesh examples
Comment
-
Originally posted by wilberolive View PostIncredible work man. Looking forward to the marketplace update later in the week!
Cheers ![Gamedev programmer at Darewise (Paris) - We are hiring]
UE4 Git LFS 2.x Source Control Plugin 2.14-beta for UE4.23 - (v1 integrated by default since UE4.7)
UE4 Plastic SCM Source Control Plugin 1.4.6 for UE4.23 - (integrated by default in Beta status since UE4.24)
Comment
-
Just as a heads up to those of you waiting for the marketplace update. It was submitted last night, but it might take Epic a little extra time as I'm sure people are off over the holiday. With that it might be early next week before they can look at it.
Also, if anyone as ideas on features they'd like to see added, feel free to send them to me! While much of the development is directed by what I personally want/need, I'm more than willing to look into other things if they make sense!
[MENTION=28104]wilberolive[/MENTION], [MENTION=1690]SiggiG[/MENTION], [MENTION=1105]SRombauts[/MENTION] Thank you all!Runtime Mesh Component - The best way to render procedural/runtime created meshes! - Version 4.1 out now!
Come talk about anything RMC or Procedural Mesh Related in our Discord!
Comment
-
No problem, many of us are using the source code anyway, I am sure. This to be able to dive on the source code, to understand, and to tweak it if needed.
Cheers![Gamedev programmer at Darewise (Paris) - We are hiring]
UE4 Git LFS 2.x Source Control Plugin 2.14-beta for UE4.23 - (v1 integrated by default since UE4.7)
UE4 Plastic SCM Source Control Plugin 1.4.6 for UE4.23 - (integrated by default in Beta status since UE4.24)
Comment
-
Examples to generate meshes with provided vertices and triangle indices?
[MENTION=141752]Koderz[/MENTION] I sent you a PM, but thought it'd be useful to have the knowledge shared with anyone. Been playing around with the tool which is amazing, but wanted to know if you had any insights on generating procedural meshes given a known set of vertices and triangle indices. Apologies in advance if this is a newbie question, but I've been able to execute the generation of box meshes using the example found in "UE4RuntimeMeshComponentExamples/Source/RMC_Examples/Actors/BasicRMCActor.cpp", but would you have a quick example for where there already exists a set of vertices and triangle indices? Especially for v2.0 of your plugin. Here's what I was wondering for the example you had:
Code:void ABasicRMCActor::OnConstruction(const FTransform& Transform, TArray<FVector> Vertices, TArray<int32> Triangles;) { // Vertices and Triangle indices are now provided TArray<FVector> Normals; TArray<FRuntimeMeshTangent> Tangents; TArray<FVector2D> TextureCoordinates; // What would replace this function to allow for Vertices & Triangles to be passed? URuntimeMeshLibrary::CreateBoxMesh(FVector(100, 100, 100), Vertices, Triangles, Normals, TextureCoordinates, Tangents); // Is it possible to generate UV Coordinates automatically as well? // Create the mesh section specifying collision RuntimeMesh->CreateMeshSection(0, Vertices, Triangles, Normals, TextureCoordinates, TArray<FColor>(), Tangents, true, EUpdateFrequency::Infrequent); }
Comment
-
Originally posted by daeilkim View Post[MENTION=141752]Koderz[/MENTION] I sent you a PM, but thought it'd be useful to have the knowledge shared with anyone. Been playing around with the tool which is amazing, but wanted to know if you had any insights on generating procedural meshes given a known set of vertices and triangle indices. Apologies in advance if this is a newbie question, but I've been able to execute the generation of box meshes using the example found in "UE4RuntimeMeshComponentExamples/Source/RMC_Examples/Actors/BasicRMCActor.cpp", but would you have a quick example for where there already exists a set of vertices and triangle indices? Especially for v2.0 of your plugin. Here's what I was wondering for the example you had:
Sorry about the late response, been busy with family then school work! I will say I'll be updating the docs over the coming week or two to hopefully show how to use all the existing parts.
First, I'm not quite sure what you mean be "generating procedural meshes given a known set of vertices and triangle indices" Do you mean you have these from output of something else? if that's the case you just need to convert the parts into those arrays. The better way is to use a packed vertex but much of this isn't super well documented for now and it's not easy to explain here.
Caculating UV coordinates automatically would depend what you want. That's either super simple, or super complicated. It depends entirely on what you're going for.
As a part of the docs I will show how to use the static mesh conversions and the slicer. I'll try to do those parts tomorrow if I have some time.Runtime Mesh Component - The best way to render procedural/runtime created meshes! - Version 4.1 out now!
Come talk about anything RMC or Procedural Mesh Related in our Discord!
Comment
-
RuntimeMeshComponent v2.0 Now on the marketplace!
Since I know some of you have been waiting for this, I just wanted to alert you...
Version 2.0 of the RMC is now live on the Marketplace. This means both that the marketplace has the current GitHub version, including the slicer, and also that the marketplace version has been updated to support UE4.14!
A couple people in the community have suggested that I provide a way to donate to the development of the RMC. I have now added a link to the first post as well as this post. As a full time student I appreciate anything you can contribute, and I hope to be able to support, and extend the RMC for a long time to come.
Runtime Mesh Component - The best way to render procedural/runtime created meshes! - Version 4.1 out now!
Come talk about anything RMC or Procedural Mesh Related in our Discord!
Comment
-
I'm having an issue using the slicing system in the latest marketplace version of RuntimeMeshComponent and I'm not entirely sure how to debug what's going on:
-I'm taking a static mesh (a wall, it's pretty much just a scaled cube), then in BeginPlay I'm using "Copy Runtime Mesh from Static Component"
-I'm then slicing it down the middle with "Create Other Half" enabled and "Create New Section" selected.
-When I make the slice I get this error in the log: "RuntimeMeshLog:Error: Section is not of legacy type."
-The resulting slice seems to have worked for the newly created section, but nothing happens to the original Mesh Component
Pre Slice: (Red line is where I make the slice)
Post Slice: (I've moved the pieces apart to illustrate the problem, the purple slice is the newly create mesh)
I'm using the exact same blueprint logic that I used for using the inbuilt procedural mesh slicing, which visually works as expected but results in a lot of weird collision issues (hence why I'm looking to switch over to your plugin).
Any ideas what I'm doing wrong?
Comment
-
Originally posted by Chupacabra View PostI'm having an issue using the slicing system in the latest marketplace version of RuntimeMeshComponent and I'm not entirely sure how to debug what's going on:
-I'm taking a static mesh (a wall, it's pretty much just a scaled cube), then in BeginPlay I'm using "Copy Runtime Mesh from Static Component"
-I'm then slicing it down the middle with "Create Other Half" enabled and "Create New Section" selected.
-When I make the slice I get this error in the log: "RuntimeMeshLog:Error: Section is not of legacy type."
-The resulting slice seems to have worked for the newly created section, but nothing happens to the original Mesh Component
I'm using the exact same blueprint logic that I used for using the inbuilt procedural mesh slicing, which visually works as expected but results in a lot of weird collision issues (hence why I'm looking to switch over to your plugin).
Any ideas what I'm doing wrong?
Originally posted by housekiller View PostFantastic work thanks!
I'm importing various models at runtime via assimp.
One question though; while reading somewhat bigger files (+50k faces) and giving the info for making the mesh the ue4 application freezes for a second. Is there something I could do to prevent this from happening?Runtime Mesh Component - The best way to render procedural/runtime created meshes! - Version 4.1 out now!
Come talk about anything RMC or Procedural Mesh Related in our Discord!
Comment
-
Originally posted by Koderz View PostThanks! Glad it's been useful! Assuming it's not Assimp, the two primary culprits for something like that is first collision, and secondly if you're using the RMC's utility to calculate normals/tangents. Collision will hitch with large meshes due to cooking. The normal/tangent calculator is exponentially slower for large meshes, which will be fixed soon. Are you using one or both of those?
I have a couple of questions though about other stuff;
-How can I convert to a normal static mesh if possible? Does it create a .uasset file? (so it doesn't need to be imported every time)
-How are you thinking to handle replication over network? (via conversion to static mesh and copying the asset to clients or something?)
-I'm having trouble to create physics enabled objects, I use the following code to create an object that should have a lot of 'drag' but it moves at constant speed when receiving a push.
Code:RuntimeMesh->CreateMeshSection(0, vertices, triangles, normals, texMap, vertexColors, tangents, true, EUpdateFrequency::Infrequent); RuntimeMesh->SetMaterial(0, MeshMaterial); RuntimeMesh->SetMobility(EComponentMobility::Movable); RuntimeMesh->SetLinearDamping(100.f); RuntimeMesh->SetAngularDamping(100.f); RuntimeMesh->SetSimulatePhysics(true); RuntimeMesh->SetEnableGravity(false); RuntimeMesh->SetLockedAxis(EDOFMode::XYPlane);
I donated around 10 bucks, happy to support
EDIT:
It works when disabling bUseComplexAsSimpleCollision, is it possible/legal to make the engine calculate a convex hull at runtime? (I'll probably write my own algorithm anyway but would be handy for now).
EDIT2:
I cleaned up some debugging which decreased the duration a 10-fold.Last edited by housekiller; 12-08-2016, 07:20 AM.
Comment
Comment