Experiencing problems with Strand Based Hair.... Solved?ish

GeminiX22GeminiX22 Posts: 8

My character has two Strand Based Hair assets applied. One for head and shoulders and one basically covers the full body. The SBHs are parented but not fit to. Even though the SBHs were painted on the finished fully morphed character, fitting them afterward, reapplies all the morphs again and i end up with a mess. If I "Fit to" and manually remove all the doubled morphs, it looks ok but somehow locks all translation, rotate, and scale controls, and I still end up with the same issue as leaving "Fit to" set to none. I'm just putting this in to show that I have already tried this as a fix.

Now my actual problem.

The SBH follows the pose of the character fine. Rotating the character also seems to be working as well. My issue is with XYZ Translate and Scale. What ever is applied to the character dealing with translate or scale, A double value is applied to the SBH.

 

As seen in Fig 01, Jackalman is set to 0,0,0, with the two SBHs parented to him. He was too big so I set his scale to 96%, (after the SBHs were created). The first SBH, head and shoulders, has the "Preview PR Hairs" turned off to show the SBH is following the characters head and shoulders. The second SBH, full body, has the "Preview PR Hairs" turned on. Everything renders in place.

 

In Fig 02, I moved Jackalman along Z axis by +50 and posed the head, right shoulder, upper arm and forearm. The SBHs are still parented and set to default zero. In the viewport, the head SBH is showing the yellow lines are still attached to the head and following the pose. The Body SBH is showing the PR Hairs are at +100 on the Z axis but still follows the pose. The render shows both SBHs are following the pose but are sitting at +100 on the Z axis.

 

In Fig 03, Jackalman is still at Z50. With both SBHs moved to Z-50 to line up with the character. The yellow lines are still on the head even though it should be sitting behind the character. The full body SBH is selected and the selection box is sitting behind the character, but the fur is lining up nicely. Also with the SBH selected it shows that I had to set the scale to 104% to compensate for scaling down the character.

I have already tried.... Fit to, Un-parenting, Re-parenting, Apply Transformations, Convert Prop to Figure, Locking selected, and a bunch of other stuff that I can't remember.

I didn't do anything out of the ordinary when created the SBHs. The only real difference is I'm planning to use this character and another character, that has two SBHs with the same issues as well, in a short story with comic book layout. So, for multiple appearances on a single page, I saved the SBHs as wearables to be reused. Where as, normally, I create "one off" SBHs on an already posed and positioned character because I can usually paint and style the dforce effects without having to use dforce. That's the only thing I can think of that I did differently. Any help would be appreciated.

 

Fig 01.jpg
4800 x 2700 - 3M
Fig 02.jpg
4800 x 2700 - 3M
Fig 03.jpg
4800 x 2700 - 3M
Post edited by GeminiX22 on

Comments

  • ExeterExeter Posts: 65
    edited November 2019

    You might try making a form-fitting garment for Jackalman by exporting the figure out as an object, then importing it, rig to the character, then set opacity of the garment to 0%. Now you have a transparent bodysuit. Paint your SBH on the garment, save the hairy garment as a scene subset, then you can reload the garment and put it on your character using the 'fit-to' option. As long as you don't try to parent the SBH to the garment, it will translate properly.

    Post edited by Exeter on
  • I tried something like that but i used a geoshell because the geoshell will cover the entire body where as most form fitting garments do not. Still had the same translate issues

  • GeminiX22GeminiX22 Posts: 8
    edited November 2019

    I got it working. After un-parenting, I set it to Fit to Jackalman. There were no distortions, the poses follow properly. Jackalman is at 760 on the Z axis with a custom preset pose applied, and the SBHs are still set to 0/0/0. I still don't understand what the problem was or why this fixes it.

    I have a theory. The SBH in the scene tab has two parts. It controls the visibility of the yellow lines on the character to show the painted area. These lines cannot be moved rotated or scaled with the SBH parameters. They do however follow whatever is done with the characters parameters, and no matter what is done to the character, or where the character is placed, these lines represent "Zero" for the hair that will be rendered.

    The second part of the SBH in the scene tab. It will also control the visibility of PR Hairs. Turning on "Preview PR Hairs", shows how and where the hair will actually be rendered, and this is what actually gets parented.

    If un-parented, the character is moved to 50/100/-25 in relation to the scene center, the yellow lines would still be at 0/0/0 in relation to the character, the hair renders at 0/0/0 in relation to the yellow lines, and everything lines up.

    If parented, the character is moved to 50/100/-25 in relation to the scene center, the yellow lines would still be at 0/0/0 in relation to the character, but the hair renders at 50/100/-25 in relation to the yellow lines and the hair is shown to have moved twice as far as the character. The SBH parameters are still showing 0/0/0 but this is referring to the yellow guide lines, so setting to the opposite values,-50/-100/25 lines up the rendered hair.

    My problem came from having to parent the SBHs to the character to save them as a wearable. But once reloaded, I just have to un-parent and fit to and everything seems to be working as normal.

    Fig 04.jpg
    4800 x 2700 - 1M
    Post edited by GeminiX22 on
Sign In or Register to comment.