[ad_1]
Please consider this in an engine-agnostic manner first, after which we will speak about particular engines.
In my recreation, I’ve a 3D character which is carrying a hakama (consider it as a protracted pleated skirt). This character can be doing a whole lot of dancing, which I am getting a whole lot of movement seize knowledge for. That is how my character is rigged proper now (view from Unity):
This character has an ordinary 3D Studio Max humanoid rig, plus a bunch of bones for the “dangling” stuff such because the skirt, the sleeves, the lengthy hair and different components.
Sadly, movement seize can solely give me knowledge for the humanoid half, not for the extra components, so I would like a option to animate these. For now, let’s give attention to the hakama (skirt). I’ve just a few methods of doing this:
-
Eradicating the extra bones, and rig the fabric on to the leg bones: That is my final resort, however one which I might prefer to keep away from, because the hakama will transfer instantly with the legs as if it had been a good match, dropping a whole lot of realism.
-
Hold the bones and animate them manually. There are simply too many frames and too many characters for it to possible to do that manually, so that is out of the query.
-
Simulate the leg and material interplay in a roundabout way. Luckily, the dancing is static (only for cutscenes), so I can do that offline, export the ensuing bone transforms for every body, and apply this to the character throughout playback.
Since Unity has a fairly mature physics engine, I’m attempting to hack an offline physics simulation that exports the ensuing bone transforms for every body, which I can then playback in actual time within the precise recreation (which by the way in which just isn’t Unity-based). Up to now, the sleeves and hair have proven some fairly good outcomes, however the hakama is far more tough, and I have not gotten it to work even near decently.
I’ve tried:
-
Setting colliders within the legs and the skirt, so when the legs push the skirt, the skirt strikes. I can set a bunch of joints to set some constraints, however setting an accurate form and place for the skirt colliders just isn’t trivial, for the reason that leg colliders ultimately discover a gap between the skirt colliders, which results in the leg intersecting with the skirt.
-
As an alternative of colliders, set spring joints between the leg bones and the skirt bones. Sadly, springs do not have an idea of “pushing” vs “pulling”, and I can visualize a whole lot of circumstances the place the simulation will result in the leg intersecting the skirt.
Discover that I am unable to use Unity’s material simulator, since this acts on polygons instantly, and I would like to have the ability to export the outcomes of the simulation when it comes to bone matrices.
It isn’t obligatory to make use of Unity. I simply must discover a option to simulate the leg-cloth interplay and export the leads to a sequence of bone transforms.
Any concepts on how one can resolve this downside?
[ad_2]