Anyone have soft cloth hair working?

Reallusion is taking forever to support this and I can’t see why we need to wait - there must be a manual solution, but I have not been able to get it to work quite right.

Whatever I do, the hair ends up at the feet of the character. It appears to be staying aligned correctly with the head, it’s just in the wrong position.

I’ve tried adding a scalp object and giving that rigid collider physics and attaching the hair, but I have not gotten that to change anything. So close and yet the hair so fair away. Literally.

Has anyone worked out how to get the hair in the correct position?

Hello @markrmiller! I forwarded this over to an expert to help! What is your current workflow? Are you experiencing this issue in Character Creator or are you importing it into another app?

It wasn’t hair, but I tried doing the same with with a character from iClone8/CC4 with a cape and had the result was the same as yours, it was just dropped right down to their feet as soon as I started playing the scene.

My process is to create characters using CC4, animate the scene in iClone 8 before exporting using the Omniverse plugin.

When using iClone’s soft cloth physics, I always leave about 5 seconds before animating a character, to give the soft elements a chance to settle from their default position. I did the same thing with my test project but immediately the cape jumped down to the character’s feet.

Hi @markrmiller,
by saying ‘manual solution’ , do you mean setup the PhysX property manually in Omniverse Create or Machinima?

Hi @darth.angelus
the character exported currently doesn’t have collision shape, so a cape dropped on the ground

Right, I’m trying to get cloth physics on hair using just Omniverse.

I’m dying to make Omniverse my main rendering solution, but unfortunately, everything I’m currently working on involves a character with long hair and if it’s just static, that really prevents me from being able to render with Omniverse. It’s mostly action scenes.

So I’ve been waiting, first for physics in Omniverse and now still for automatic support from the iClone connector. In the meantime, I’ve worked out things in Blender, but I recently thought, hmm, I could do this in Blender without iClone support, of course I should be able to in Omniverse.

A while back, a lot of my physics experiments with soft cloth would crash, but I figured, let’s give it a try with the recent Create release. Crashed once or twice, but worked often enough for me to stick with it.

The hair seems to be be able to do what I want, but of course it drops to the characters feet. Oddly, it still appears correctly oriented and moves with the head, just down at the feet. The drop at least though, was expected.

In Blender, I’d do something like pin the hair to a vertex group on the head. So I went to the Omniverse documentation to find a similar solution. There it looked like the answer was pretty straightforward. To attach the hair, make another object a ridged collider, overlap it a bit with the soft cloth hair, select both and create an attachment.

So I tried that, using a scalp object on the head as the ridged object. Unfortunately, I saw nothing different in behavior. Perhaps I just didn’t have them overlapping correctly? I would have kept trying, but I wasn’t sure I was quite on the right track, mainly because of how the hair still acted like it was soft cloth and connected to the head, but just down at the feet. It is what I want, just in the wrong location, but my expectation was that it would just drop to the ground like a blanket and sit there. And so I was wondering if I was missing something that maybe someone else had already figured out.

1 Like

Now that you mention it, I didn’t fully think through my lack of collision shapes, I hadn’t seen them mentioned in the doc in the classic “simpler shaped objects approximating the mesh”, but I figured I’d just try making more body parts ridged physics objects or something.

I took another whack at this and I didn’t have any more luck, but I had a bit different experience and realized I was confusing some things.

So I tried I different scene and first I just tried making the hair soft cloth. The girl is on a motorcycle that’s like 10 feet in the air. The hair fell down like cloth, fell as far as it could go. Okay, good.

Now I had some trouble that makes experimenting hard. Previously, I’d use the physics debug panel and hit stop to reset the hair. This time that would not work. I had to reload each time from a fresh copy.

Next I added a collider (which I realize now must be my collision shapes?) and rigid physics to the scalp. I turn off gravity for the scalp and tried both kinematic and non kinematic.

Then I create a physics attachment between the hair and the scalp and bump up the attachment offset.

This is where things get frustrating. Now the hair is doing what I want. It’s flowing, it’s got the right alignment. But it’s down at the characters foot. Not at the bottom of the scene, not on the ground plane. The character is on a motorcycle that is 10-15 feet in the air (static). And the hair is also in the air but down at the characters feet, doing exactly what I want - in the wrong place.

Hi @markrmiller
I am not expert on PhysX neither,
Adam and Michelle are definitely exports on PhysX, but I am not sure whom from NVIDIA would have time to take a look
I think you could send the .usd file to @WendyGram first?
let the NVIDIA expert to comment on the right way to add PhysX manually?
and if PhysX hair can work with USD SkelAnimation?

Thanks for the suggestion! At this point I’m likely back to waiting for reallusion support and doing some renders in Blender in the meantime.

I tried flipping the order that I made the attachment (selecting the hair second I think) and that moved the hair from the feet to the head - but still not in the right position - it ended up behind the head, though at least at the right height. I got that idea from watching one of the physics tutorials, but I’m at a loss as to why the hair attaches with an offset. I know you can set an offset so that the attachment doesn’t actually have to overlap, but this happens even with that at 0, and I’d still expect the hair to attach at its original placement, not offset behind that original placement.

I’m certainly missing something, but I’m a little burned out on getting it to work as I’m about as close at the end of my efforts as I was at the start.

Yeah, to be honest, there is no Soft cloth export support at this time. You can import ‘Rigid Body’ physics (eg, like a box dropping) but not ‘Soft cloth’ physics. Plus, I’m hoping they can also support animated morph too in the future.

I’ve actually made a FeedTracker request on the Reallusion site asking for Soft Cloth Physic support (or even baked physics) just so they know there is a huge request for it. I’m guessing they are probably working on it, but I think it’s still early at this stage.

Hair and cloth physics exported to Omniverse - Feedback Tracker (reallusion.com)

It turns out OmniVerse isn’t ready for it either. Physics colliders don’t follow characters, so you can’t attach cloth or or have it collide with the character. If you could, this could be done without iClone support. Someone mentioned they might have it in this coming release. I hope so, it’s a huge gap.

1 Like

I finally have a workflow that can do soft cloth for hair and clothes in OmniVerse. Not really for the faint of heart, I’d tried in the past without much success, but recently I managed to iron out the kinks I seemed to have been running into.

In the surface it’s relatively straightforward. You bring soft cloth props into blender via addon that does that well, bake your physics, export to USD with the OmniVerse addon, import into OmniVerse to join the rest of your scene that you bring straight from iClone to OmniVerse via that plugin pipeline.

Which seems relatively obvious, but like I said, in the past, I couldn’t get very far with it, the devil frolicking in the details. But is indeed, a kind of slow or minority painful solution with few limitations and great results.

Hi @markrmiller , did you ever write up a blog or similar describing the process you are using in a bit more detail? Kit 105 has included some new support, but I am still getting the behavior you described above of the hair falling to the ground (for me it jumps up and down in unpredictable ways by turning on/off debug views). This is still happening in 105.

I put together my experience with 105 in a blog post Omniverse 105 (beta) Colliders for Particle Mesh Hair and Clothes – Extra Ordinary, the Series - there is a video at the end showing all the strange behavior. (I was trying to show the “good” behavior, but lots of strange things and crashes happened while trying to follow the steps in the blog.)

Am I understanding correctly that you basically do the physics in Blender, then export the animated mesh over into Omniverse for rendering, instead of relying on the physics in Omniverse?

Oh man, that’s a bummer if 105 doesn’t support it. I think from where I ended up, all that was needed was for the colliders to actually move with characters, and a dev somewhere on the forums had said it was likely going to be in 105. Otherwise, I think I had it close to working. I would do something like (it’s been a bit): remove the hair from the character hiearachy, apply soft body to the hair, add a collider for the body, create an attatchment between the hair and the scalp. And then the problem was, a character’s body collider did not move or animate with the character. You could do only do anything with a character that was not animated. I was hoping that was coming in 105. I only tried for about 5 minutes when the new create (what’s it called now?) hit, and ran into trouble right away - maybe in attatching the hair, or something with creating the collider - I got some Physx error that said something about not supporting that kind of mesh. I figured I wait for Machinima to get 105 before I looked at it further.

But yeah, I did have some success with Blender, though its not an ideal workflow. For example, you won’t get the same material conversion / transfer that iClone to Omniverse get’s you. In fact, I could’nt get any textures / materials for some reason, and I finally realized it was because prim paths where off in the USD exported from Blender, so I did a find / replace on the USD file to get it working. One thing that had always tripped me up in the past, and where I just kind of would give up, is that I thought you needed to bake everything with the Blender omniverse plugin before exporting over - and a bunch of reallusion character stuff can’t be baked. But I ended up exporting my scene fine without baking anything anyway.

So basically, the simple version is, I export from iClone, use the Blender addon that does a great job importing CC/iClone characters, and then export to USD with the Omniverse Blender addon (USD export is in Blender now, but the Omniverse Blender version seems to keep enough ahead that it’s probably the best bet), then fix prim paths if needed for textures, it shouldn’t be, but I had to, and soft cloth animation came in fine - didn’t have to bake out anything extra in Blender beyond the physics simulation. I did this first for a full scene, and most materials and what not came in fine that way, but a lot of the character materials are lacking compared to the straight from iClone route (hair being the biggest offender). So I’d probably bring in everything from iClone, just export and bring in the soft cloth from blender to replace those, and then fix up the materials to match what iClone did instead of Blenders attempt.

I think 105 has the required features - its just they are not reliable when I tried them. The colliders do seem to move with the bones now. But for me, the hair would drop to the ground after a while (height zero). It would follow the shape of the head (it thought it was on the head by the looks of things) but it was rendered at ground level. That is, it felt bugging rather than missing functionality. I reported in the forums, provided a test case etc, but no word. So I am not holding my breath. (See this thread for more info, especially towards the end VRoid Studio -> Omniverse with hair a cloth physics? )

E.g.
image

That’s the behavior I got when I left the hair as part of the character hierarchy. That’s why I’d pull the hair out of the character hierarchy. I think i duplicated it and then removed the original. Then it wouldnt be influenced by the character anymore. Then I’d try and use an attatchement to attatch the hair to the characters scalp.

I just gave this another try. I didn’t run into the odd error I got last time, but I still run into two issues:

I guess I don’t have attachment fully understood. I’ve tried a variety of things using different offsets and I can’t attach the hair. It just comes apart and floats down.

And while I do think it is colliding with the body, when I use the physics debug options to show the collision mesh, it doesn’t seem to follow the character still for me. It’s in a T-Pose, and the character doesn’t even start in a T-Pose.