Animating transformation from one character morph to another
UpL8Rendering
Posts: 129
Hello,
I put together a tutorial and a Blender script to help in animating the transformation from one character morph to another.
*Still haven't figured out posting gifs
You can find the script and tutorial on my github page:
https://github.com/GNVR-Dev/BlenderScripts-DazBone-Morph-Constraints
I will also post the tutorial part below:
I very much welcome any feedback/comments/questions - good/bad or otherwise that you might have
Post edited by UpL8Rendering on
Comments
Start by importing your two characters
For this example we will transition from Basic Male 8 to Arch Demon
I have removed the eyelashes from the Basic Male 8 character because the Arch Demon doesn't have them
I have removed the horns from the Arch Demon character because the Basic Male 8 doesn't have them
I imported the Basic Male 8 first so he will be the Gensis8Male
I imported the Arch Demon second so he will be the Genesis8Male.001
Click on the Scripting tab at the top and click New to Create a new text data block
Paste the script
Change the Add_Constraints('Genisis8Male','Genesis8Male.001') to match your characters
and click Run Script
This will move all the bones in the 'Genesis8Male.001' Arch Demon character to the same locations as the 'Genesis8Male' Basic Male character
Select the Genisis8Male.Shape.001 first then CTRL select the Genesis8Male.Shape second
Open the Object Data Properties panel
In the ShapeKeys area click the little down arrow and select Join as Shapes
This will add the Arch Demon shapekey (without bone transforms) to your Genesis 8 Male character
Click on the Genesis8Male.001 rig and go into Pose mode
Hit the "a" to select all the bones
Go up to Pose - then Constraints - and Clear Pose Constraints
This will put the Arch Demon back to his original shape
Go into the Animation Tab at the top
It might be helpful to hide the Genesis8Male.001 (Arch Demon) shape and rig
Make sure the Timeline scrubber is set at the beginning of the timeline
Click on the Genesis8Male Rig
Press "a" to select all the bones
Right click on the rig and Insert Keyframes
And choose Whole Character
Go back into the Scripting Tab
Change the order of the characters
So change:
Change Add_Constraints('Genisis8Male','Genesis8Male.001')
to this:
Change Add_Constraints('Genisis8Male.001','Genesis8Male')
Run the script again
Go back into the Animation Tab
Move the timeline scrubber up to something like frame 120
Make sure all bones are still selected
Go up to Pose - then Apply - and choose Apply Visual Transform to Pose
The right click on the rig and click Insert Keyframes
And choose Whole Character
Next go back up to Pose - then Constraints - and Clear Pose Constraints
You should now be able to scrub the timeline to see the bones animate between the two characters
To animate the morph target/shapekeys:
Change from Pose mode back into Object mode
Click back on the Genesis8Male.Shape
Make sure the animation scrubber is back at the beginning of the timeline
In the shapekey area select the Arch Demon Shapekey (Genesis8Male.shape.001)
Make sure it's value is set to 0
Click the little dot to the right to Animate property
Once again move the scrubber to 120 (or where you set it before)
Change the Value to 1
And click the dot to the right again to Animate porperty
Scrubbing the timeline will now animate the bones and shapekeys together to transition from one character to another.
Adding your own animation:
Go back into Pose Mode and select a bone
Scrub along the timeline to the point you want to add the animation keyframe
Rotate or move the bone
Right Click and Insert Keyframe
This time select Location and Rotation
Keep adding animations as needed.
Bonus tutorial not included on Github read me file:
Animating the transition from one texture to another while your character is changing
Open the Shading tab at the top and the Material Options panel on the right
Select the first material in the list
Right click on the Texture node and Duplicate
On the new texture node there is a little arrow to the left of the texture name
This will let you bowse to a different texture
Because this is the Face material we will look for the second characters face texture
In this case AD_DemonFace_TX-Red
Now click Add -> go down to Color -> and select MixRGB
And connect as shown below:
To animate the change go into the Animation Tab and set the timeline scrubber back to the beginning
In the Surface area of the Material Panel click the drop down arrow to the left of Base Color Mix
Make sure that the Fac setting is set to 0.000
Click the little dot to the right of FAC to Animate Property
Scrub the Animation timeline up to 120 (or, again, what you set before)
Change the Fac amount to 1
Click the little diamond to the right to set this Keyframe amount
Set up all the other materials and their keyframes the same way.
Edit Note: Because Daz uses the same texture for multiple materials and material slots like Face, Lips, Ears, and Eye Sockets you can either set up each one seperatly or use my Daz Material Slot Combiner Script to remove all the extra slots.
https://github.com/GNVR-Dev/BlenderScripts-Daz-Material-Slot-Combiner
Documentation how to use it is included in the README file
Scrubbing the timeline will transition the character, shapekeys, and material texures at the same time
Just in case post
Very cool how-to, much appreciated for your efforts there! (pdf-d)
Bravo,
--ms
Thank you. There might not be a lot of people looking to do this kind of animation but if it helps a couple of people I think it is worth while.
I also have to admit I am a bit behind on the different importers and bridges. If they offer an easier way to achieve this please let me know.
If anyone uses this to make an animation I would love to see how it came out.
Wow!!!