Are there some offline docs anywhere, I’d like to read up on how to prepare meshes for use with your plugin/how to configure particle setups for custom meshes in UE. Thanks!
Received it, thank you. I’ll be forwarding it to Epic by the end of the week.
The only offline docs are the Examples in the ExamplesProject. There are docs here as well: https://www…com/documentation/vico-dynamics-ue4-plugin-documentation
As for preparing meshes, are you looking to have a non-cable/rope mesh? If so, this is not yet supported out-of-the-box but I can certainly add that support by allowing you to supply a skinned mesh. It will need to be skinned in a specific way but should work great for such a scenario.
Yes, I’m very interested in using your physics sim for things like ponytail hairs. If they need to be boned a certain way that’s no problem, just need to know how that has to be done. Are your particles in a rope setup allowed to rotate on the long axis? It seems like they wouldn’t be, and that’d be preferable, but I should ask now I guess. Do meshes have to be welded/watertight, is it ok if you have a braided structure? We got a couple of pieces set up with UE’s native IK bone dynamics but the problem was getting collision against the physics asset rather than the capsule, using this method:Dynamic/Simulated Ponytail (Bone Chain) Tutorial - Unreal Engine 4 - YouTube
Thanks!
I still need to refine and properly test this setup, but the way you’ll need to setup the bones is as follows:
- Create a chain of bones for your mesh, name the bones sequentially like so: ChainBone_0, ChainBone_1, ChainBone_2, etc…
- Skin any mesh you desire to that bone chain, the only thing to account for is that the collision will be per-particle! So take the desired particle radius into account for the spacing between the bones as well as the mesh thickness.
That should be all you need.
The particles have no rotation themselfs, bone rotation will need to be derived from the positioning of the particles in the chain therefore rotation along the axis will not be present.
Hope that helps, I’ll have a proper example once everything is setup and tested.
Thanks for replying, this sounds very straightforward. Is there any caveat for placing the end of a particle chain on a socket on a rigged/animated character? E.g. ponytail hair or something like that?
Nope, that should just work as with the current rope component.
I managed to make my Character walk on the rope by positioning him along the particles position on a Tick Event. The problem was since it was on a Tick Event and the Character was in mid-air it kept adding to the velocity, so he just kept walking. I solved that with setting the movement mode to flying. Feels kinda hack but it works, I just need to do a lot of clean up work.
Another idea of mine was to give each particle a collision box, so my Character can actually walk on it. But is there no originally intended way? Did I miss something?
Also I want to attach the rope to the character (begin) and an arrow (end) when shooting the arrow at playtime. Then I want to be able to attach the rope somewhere else (with the characters end of the rope)
All the examples in the project are shown with both actors in the scene already and they are probably referenced in the editor.
But how do you do it when spawning the rope at runtime with blueprints?
I tried using set array element with the make attachement structure but I can’t seem to get it to work. Since I’m not really knowledgeable about blueprints I’m probably doing something wrong…
Walking on the rope is definitely game-use specific, this is something I decided to let users implement as they see fit. The way you got it working certainly works! As for giving each particle a collision box; you can certainly do that. Add the box colliders as children of the rope component and set the Socket property to 0-N where N is the particle index to which you’d like that collider to attach to.
You can create and destroy attachments at runtime by getting the Particle you’d like to attach from the Rope Component’s Particles property and calling Attach To * on it, there are a few variants of that function to choose.
Hope that helps!
Would you be so nice to provide a screenshot of what you mean? I’m not quite sure what you mean by socket property?
It works! Thank you! I just got one issue though. I can’t seem to be able to get the particles when spawning the rope blueprint. It gives me an “Accessed was None”-Error.
In the picture you can see my setup. Inside the rope blueprint it works. I checked if the index is valid and it says False.
Just took a look and it looks like UE4 improved the way Parent Sockets work and broke my setup , so I’ll need to update the plugin. Sorry about that, I’ll get a hotfix submitted tomorrow.
Regarding the Access Error, try adding a delay node after Spawn and before calling Attach. The Particles take a Tick to spawn I believe.
No problem!
The Delay worked thanks a lot!
Just sent off the hotfix to Epic, hopefully it’ll be up in the next day or so.
Great!
Is the new update only for version 4.12?
It didn’t say 4.13 when I installed it.
EDIT: okay I found it I had to do it under the version name itself, pretty weird.
The one at the bottom only said 4.12
The new update seems to work. I can parent childs to their parent socket particles. Really cool!
However can you do the whole thing in the construction script so it changes automatically with the settings instead of having to manually set it all the time? Can’t seem to find a node for attaching them to the parent socket.
Huh, I’ll check with Epic regarding the version selection.
In the construction script, you should just be able to call AttachToComponent on the new components and pass in the Socket Name which is simply a 0-n index of the Particle to attach to.
Quick update on Feature Update 2, Cloth from any Mesh is starting to come together!
Here is the first test:
This test uses a flat mesh that I created in Max by cutting out chunks. More complex, closed, meshes will be next along with Vertex Painted attachments. Just need to figure out a way to connect the different sides together since the Index buffer is useless at that bit
Amazing man really awesome. Will it have setttings for realistic cloth? Most cloth looks like rubber in games, so good settings are a must imo.
Also is it faster than nvidia apex?
Since it’s particle based you could probably attach anything to particles in the grid? That would be really useful.
Your tip worked by the way. Is there any official way to limit the ropes at this point? So you can’t stretch it out endlessly? With a character as force ofc so you can’t walk further etc.
Another quick update on Cloth from Meshes:
This is a basic cube mesh, turned into a cloth cube:
It does not preserve volume yet! Currently it simply creates a fabric/cloth object with Stretch stiffness and Bend stiffness.
Also, this bit was implemented and tested after my GTX 1080 went up in smoke last night and I’m now stuck on a single 1080p screen with a GT 610 backup card
I could try to put a few presets together, but every project is unique and will most likely tweak most of the settings anyway.
Is it faster than Apex… Huh, no idea. I don’t have a test scenario setup yet, but that is definitely something I’ll compare very soon.
Yes, exactly! You can attach to any of the particles since every one of them serves as a socket.
This is a question that comes up quite a bit regarding limiting the ropes length; and the thing is that the particle and socket attachments are unidirectional. This means that only one end of that attachment is aware of the other object, in the case of Particle Attachments only the Particle is aware which leads to the endless stretching. If you want proper bidirectional attachment, look at the VDTensionRope Component. It is experimental currently and only supports a single attachment at its end point for now, but will soon allow for multiple bidirectional attachments.
As for limiting a character using the simple rope component, I would simply check his distance from the ropes’ attachment point and manually limit the walking. If that is all you are looking to handle.
Awesome work!