Announcement

Collapse
No announcement yet.

Character Customizer Blueprint System

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #31
    Originally posted by sboyd2kus View Post
    Hi Nightasy!
    I have finally gotten the DAZ characters in to my satisfaction - I would appreciate your assistance on the opacity - to hide the body parts under the clothing. I think my female model (Race02) is fine, but I brought the male (Race01) in with full anatomy, and want to be sure certain anatomical features remain hidden by opacity in the relevant situations where they should. Thanks!
    It's actually really easy to do. First you'd make a black and white alpha mask. The black area is what you want hidden while the white area is what needs to be visible. The alpha mask is based on the UV map of your geometry of course. So where the anatomy UV's are laid out on your maps they would get black for hidden. You then set the blend mode of the material to Masked and hook up your black and white alpha mask to the Opacity Mask channel. In this image example I have masked the feet of the character so when the character has shoes on the feet are hidden underneath them.

    Click image for larger version

Name:	example.jpg
Views:	1
Size:	101.5 KB
ID:	1111804

    You can also layer these using a blend darken so each clothing item can have it's own black and white alpha mask. This allows you to setup your clothing so clothing articles can be mixed and matched by your players. Just change the relevant alpha map being used through a dynamic material property whenever they swap to a new clothing article. In the example below I have the feet and pelvic region masked so my character would have shoes and underwear equipped. You can also make a sort of ladder of Blend Darkens for additional Alpha masks as needed depending on how many clothing slots your game has.

    Click image for larger version

Name:	blenddarken.png
Views:	1
Size:	110.5 KB
ID:	1111805

    For when they are wearing nothing just use an all white texture. It can be a tiny 2x2 white image. (Or just use the one in the engine already. It's called WhiteSquareTexture, you'll have to turn on Show Engine Content to see it.) Whenever they unequip a slot just switch that texture parameter to the all white texture. All alpha masks for clothing can be fairly small in general. I usually have mine at about a 512x512 resolution. Though the resolution you use doesn't matter as the alpha mask really has no impact on performance. It's just a matter of saving space on your game's overall size. So long as it's big enough to get the desired results you should be fine.

    Setting up the slider or button is also easy to do. Whenever they equip that item by clicking the button or using the slider you'd simple set the Texture Parameter Value of the Dynamic Material for that alpha mask to the alpha mask of the clothing article.
    Last edited by Nightasy; 07-10-2016, 06:39 PM.

    Comment


      #32
      Nightasy:
      On a 4.12 project (CC migrated from a 4.11 project) I have ensured I have a copy of morph load actor in the scene - but it is not using the race01 I have set up.
      Have been getting these errors spamming the message log:
      Error Blueprint Runtime Error: Accessed None from function: 'ExecuteUbergraph_MorphLoadActor' from node: Set Morph Target in graph: Player_Race_1_MorphAllGraph in object: MorphLoadActor with description: Accessed None
      and
      Error Blueprint Runtime Error: Accessed None trying to read property Race1 from function: 'ExecuteUbergraph_MorphLoadActor' from node: Set Morph Target in graph: Player_Race_1_MorphAllGraph in object: MorphLoadActor with description: Accessed None trying to read property Race1

      Any idea what I did wrong?

      I should note - in the CC scene I do not get these errors.
      Thanks!

      UPDATE: May have fixed it - Had to set default pawn in the 3rd person Game Mode to be Race_1_CharacterBP. Will see what happens when I set up Race 2 and see if it updates.
      Last edited by sboyd2kus; 08-07-2016, 05:52 PM.

      Comment


        #33
        Oh, sorry for the late response. For some reason I didn't get an email notification from the thread. Let me know if you have any other issues or if the issues persists but it looks like you found the problem. But yes, the Game mode needs to have the right pawn selected for it as I have in the game mode that's included with the system.

        Comment


          #34
          I am now bringing in the first clothing assets.
          I brought in a body suit with the Male Genesis2 skeleton (same as the race01).
          I assume I need to retarget and add all the animations used by the race01 figure to the bodysuit ( and every clothing piece I add in later)?
          When I set it up in the race01 blueprint, it follows the character around, but is not animating.

          Do I need to have the exact same morphs added to the bodysuit as the character mesh, or does the set master pose component automatically handle that?

          Comment


            #35
            If your body suit is rigged to the same skeleton as your Genesis model then no, you do not have to retarget the animations. They should inherently work with the body suit because they use the same skeleton. The body suit has to be rigged to the skeleton tho, just like any other clothing model and body model has to be. It won't just move with it unless it has a SkinCluster assigned to it. Ergo, it needs to be rigged to the skeleton.

            You do need the exact same morphs added to the bodysuit. The Master Pose Component simply tells the bodysuit to use the same animation sequence/timing as the master. It has nothing to do with morph targets.
            Last edited by Nightasy; 09-13-2016, 01:54 AM.

            Comment


              #36
              Originally posted by Nightasy View Post
              If your body suit is rigged to the same skeleton as your Genesis model then no, you do not have to retarget the animations. They should inherently work with the body suit because they use the same skeleton. The body suit has to be rigged to the skeleton tho, just like any other clothing model and body model has to be. It won't just move with it unless it has a SkinCluster assigned to it. Ergo, it needs to be rigged to the skeleton.
              Thanks, I assume that means in UE4 they have to be the same skeleton (same exact name, same skeleton), and the genesis model has to be retargeted and working with the animations (which it does).
              Originally posted by Nightasy View Post
              You do need the exact same morphs added to the bodysuit. The Master Pose Component simply tells the bodysuit to use the same animation sequence/timing as the master. It has nothing to do with morph targets.
              Whoa - for every item? that is going to take a long time to import. The Mesh (inherited) doesn't pass these to the child component meshes?

              Comment


                #37
                Originally posted by sboyd2kus View Post
                Thanks, I assume that means in UE4 they have to be the same skeleton (same exact name, same skeleton), and the genesis model has to be retargeted and working with the animations (which it does).

                Whoa - for every item? that is going to take a long time to import. The Mesh (inherited) doesn't pass these to the child component meshes?
                If something has the same skeleton then you can import it using that skeleton in the import options. Upon doing so the new item will simple just work with any animations targeted to that skeleton.

                Morph targets are a set of numerical assignments that tell vertices where to move when the target is morphed. UE4 doesn't know where to move those vertices for that morph unless you import those morph targets with the model. That's just how it is with morph targets. In UE4, you send the morph target call to the Mesh (Inherited) and any model that is a child of the Mesh (Inherited) will morph if and only if it also has that same morph target name. I wish there was a way around it but that's just how morphs work.

                Comment


                  #38
                  I assume it is only necessary that the morphs that affect that area be on the object, e.g. nose morphs for the face would not need to be on a pair of pants, but a weight morph for the body would.

                  This explains why in, say, skyrim, the actual body morphs are limited to one - a weight slider. No individual hip, breast, waist, butt, belly, shoulder width, etc. - because they would have to be implemented on every clothing item that touches that morph.

                  Comment


                    #39
                    Yes, you assume correctly. Each item only needs morphs for morphs that would effect the area that it covers on the body.

                    Yea, I figured that's why Skyrim only did one morph from skinny to thick. To save time on development.

                    Comment


                      #40
                      Thank you so much - I am going to have to revamp things slightly.
                      May need help on implementing the opacity filter >>> do you have any videos to recommend on setting that up ( for hiding the body parts under the clothing when the clothing item becomes equipped).
                      Thanks!

                      Comment


                        #41
                        I don't have any videos for that specifically. It's a pretty simple concept tho. If you scroll up you'll see the screenshot I posted of how you can stack multiple black and white masks using a blend overlay. Then you just create a dynamic material instance for the body and swap out the 2d Texture Parameter anytime you equip a new piece of clothing.

                        Comment


                          #42
                          Hello Nightasy! I am hoping maybe you could enlighten me on this issue as I am trying to do some research for a thesis around this topic. Does your Character Customizer have any functionality for adding decals onto a characters (i.e., tattoos, scars, blemishes, etc.?) if so how would i go about setting that up on my character, blueprints or otherwise? I know unreal has deferred decals but they don't work on skinned skeletal meshes, such as characters.

                          Comment


                            #43
                            Nightasy - Any ideas why the back of the hair here is displaying incorrectly in game when a child of the Mesh inherited, but fine as a static skeletal in game object?
                            Click image for larger version

Name:	Hair issue..png
Views:	1
Size:	429.4 KB
ID:	1117674

                            Comment


                              #44
                              No sorry, I don't know why it would do that. Could be the rigging or even the material. Not sure if you're using a dynamic material instance or not. If you are maybe check to make sure it's using the correct opacity mask.

                              Comment


                                #45
                                Has this been added to the Marketplace yet or should we still purchase it here?

                                Comment

                                Working...
                                X