I have a main Body Skeleton. The IK chain from pelvis to head, R and L arms as well as legs. This is on its own Mesh Group. I'd like to work with a Clothing Mesh group, rigging the skirt on its own group. I'd like to reference the main skeleton rig to make the torso part of the dress move with the main body's movement, as well as bind the root of the skirt to the pelvis of the main humanoid rig. Is there any way to have different Mesh Groups reference another bone in another Mesh Group? I planned to make a variety of clothing, hiding the mesh group for one clothing set and unhiding the currently equipped clothing mesh group. Each clothing set is intended to be rigged uniquely to allow for certain tassels parts to have their own unique jiggle bones ect ect. Or can a clothing Mesh Group mirror the bone movements of another mesh group? So no matter what clothing mesh group I have active, it will always animate with the main body skeleton. Or is there a better way to go about this? I was looking at the change Character's Costume guide, and felt like there should be another way to do it via unique mesh groups of clothing that have their own unique rigging as well as the potential to play their own animations when called alongside the main skeleton animations.
top of page
bottom of page
We are very grateful for your detailed comments.
We fully understand what you need.
The implementation may be slightly different from what you said, but we will try to provide features that satisfy your expectations as much as possible.
The most flexible and extensible way to change a character's outfit is probably the "Retargeting" technique.
When this technique is used, a rigged external object with a similar structure moves in conjunction with the source object, so characters, costumes, equipment, etc. can be created separately.
However, since AnyPortrait does not currently support that function, you have to use the classic technique.
One is to change the visibility of the mesh after including all possible types of clothing into one character.
In fact, if there aren't many types of structure for a character's costume, this technique is quite useful. That's the "method (1)" we mentioned in the previous answer.
What you are concerned about is that you have to create a number of Root Units depending on the combination of clothes.
Unfortunately, due to the above limitations, you have to reduce the number of combinations to make.
We told you to duplicate the Root Unit, not to create "all combined cases", but to prevent "too many bones and meshes containing one Root Unit".
So, if possible, put them all in one Root Unit.
Using Socket is a great way.
I haven't tried it yet, but it would be possible to attach another AnyPortrait object to the socket of the source AnyPortrait character.
In our expectation, it would be possible to make Sockets for each bone, and attach a costume to the Sockets of each bone.
Unless the shape of the garment is rigged over many bones, it seems likely that you can use this method to reduce the number of bones and meshes.
A script that references the location of sockets and bones can be found at the link below.
Another method, apart from AnyPortrait, is the one used in really classic 3D games.
It is to create "head", "upper body" and "lower body" that have the same animations, and combine them to overlap positions, and then play the same animation all at once to make it look like a single character.
It will be written as below as a script.
There is a layer issue, but for composite characters this method might be fine.
I think you may want to consider it.
Our update plan includes attaching and linking different AnyPortrait characters in real time (similar to Retargeting), but there are many issues to solve this problem, so development has not started yet.
If you give us your opinion, we will collect it and refer to it for development.
The questions are complex, so we'll put them together and answer them below.
When a mesh group is registered as a child of another mesh group, the modifier of the parent mesh group can control the bones of the child mesh group.
This means that the Rigging modifier can be applied to the bones of a child-mesh group.
However, it is not possible to link between bones of different mesh groups, so the movements do not interlock with each other.
What you need seems to be connecting the bones of different mesh groups to each other in a parent-child relationship, or to make them similar. But that's not possible, and only modifiers can reference those of child mesh groups.
So the function you refer to as "mirror" also doesn't work.
So we recommend that you create all bones in the root mesh group where possible.
So, in order to switch your character's clothes and equipment, we recommend:
(1) Make all possible bones in the Root Mesh Group.
Make bones for different clothes also belong to the Root Mesh Group.
This will create too many bones for your concern. Currently, these bones will always be displayed on the screen, but we will be working on developing them to change the visibility of the bones according to the preset in a future update.
(2) Create different Root Mesh Groups.
This is a way to avoid creating too many bones by using "Switching Textures" and "Switching Root Mesh Groups".
As you have seen in the tutorial, you can implement a change of clothes through "switching textures" for clothes of similar shape.
And for clothes that have entirely different shape, create a new Root Mesh Group.
In this case, you can use the "Duplicate Mesh Group" feature to duplicate the basic form of the character, then add meshes and bones for the clothes. The animation is also properly duplicated.
Perhaps what we think you're expecting is that the relationship between the bones becomes a little more flexible, but that's not possible thanks to AnyPortrait's parent-child system.
We apologize for not being able to give you a completely satisfactory answer.
If you have additional questions, please leave a post.