vholf opened this issue on Jun 26, 2019 ยท 20 posts
unrealblue posted Mon, 01 July 2019 at 6:06 PM
Ah, got it. I missed putting in:
createFullBodyMorph Smile
Now I have a nice Master Control "Smile" for La Femme in a pz2 file that can be added to any LF based character.
Okay, now I need modify the Python that combines all the face chips with non-InitValues@lastframe into a single master and have it write that to a pz2. Then I can make expressions all day.
Here is the final working pz2. It makes a master called "Smile" in the BODY, with dependencies in a bunch of facial chips. I think this is the minimal pz2 to accomplish this:
{
version
{
number 11
build 35540
}
createFullBodyMorph Smile
actor BODY
{
channels
{
valueParm Smile
{
name Smile
initValue 0
hidden 0
enabled 1
forceLimits 0
min 0
max 1
trackingScale 0.01
masterSynched 0
keys
{
static 0
k 0 0
}
interpStyleLocked 0
}
}
}
actor uLip
{
channels
{
rotateX xRotate
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -2.000000
deltaAddDelta -2.000000
}
translateY yTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength 0.000400
deltaAddDelta 0.000400
trackingScaleMult 0.100000
}
translateZ zTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -0.000400
deltaAddDelta -0.000400
trackingScaleMult 0.100000
}
}
}
actor dLip
{
channels
{
translateZ zTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -0.000400
deltaAddDelta -0.000400
trackingScaleMult 0.100000
}
}
}
actor rdLip
{
channels
{
translateY yTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength 0.000400
deltaAddDelta 0.000400
trackingScaleMult 0.100000
}
}
}
actor ldLip
{
channels
{
translateY yTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength 0.000400
deltaAddDelta 0.000400
trackingScaleMult 0.100000
}
}
}
actor ruLip
{
channels
{
rotateZ zRotate
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -5.000000
deltaAddDelta -5.000000
}
rotateY yRotate
{
valueOpDeltaAdd
Figure
BODY
Smile
strength 0.027000
deltaAddDelta 0.027000
}
rotateX xRotate
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -0.071900
deltaAddDelta -0.071900
}
translateY yTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -0.000200
deltaAddDelta -0.000200
trackingScaleMult 0.100000
}
translateZ zTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -0.000800
deltaAddDelta -0.000800
trackingScaleMult 0.100000
}
}
}
actor luLip
{
channels
{
rotateZ zRotate
{
valueOpDeltaAdd
Figure
BODY
Smile
strength 5.000000
deltaAddDelta 5.000000
}
rotateY yRotate
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -0.027000
deltaAddDelta -0.027000
}
rotateX xRotate
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -0.071900
deltaAddDelta -0.071900
}
translateY yTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -0.000200
deltaAddDelta -0.000200
trackingScaleMult 0.100000
}
translateZ zTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -0.000800
deltaAddDelta -0.000800
trackingScaleMult 0.100000
}
}
}
actor rLip
{
channels
{
rotateZ zRotate
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -10.000000
deltaAddDelta -10.000000
}
translateX xTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -0.000800
deltaAddDelta -0.000800
trackingScaleMult 0.1
}
translateY yTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength 0.001100
deltaAddDelta 0.001100
trackingScaleMult 0.100000
}
translateZ zTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -0.000400
deltaAddDelta -0.000400
trackingScaleMult 0.100000
}
}
}
actor lLip
{
channels
{
rotateZ zRotate
{
valueOpDeltaAdd
Figure
BODY
Smile
strength 10.000000
deltaAddDelta 10.000000
}
translateX xTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength 0.000800
deltaAddDelta 0.000800
trackingScaleMult 0.1
}
translateY yTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength 0.001100
deltaAddDelta 0.001100
trackingScaleMult 0.100000
}
translateZ zTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -0.000400
deltaAddDelta -0.000400
trackingScaleMult 0.100000
}
}
}
actor nose
{
channels
{
translateZ zTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength 0.000100
deltaAddDelta 0.000100
trackingScaleMult 0.100000
}
}
}
actor rNostril
{
channels
{
rotateZ zRotate
{
valueOpDeltaAdd
Figure
BODY
Smile
strength 5.000000
deltaAddDelta 5.000000
}
rotateY yRotate
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -1.000000
deltaAddDelta -1.000000
}
}
actor lNostril
{
channels
{
rotateZ zRotate
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -5.000000
deltaAddDelta -5.000000
}
rotateY yRotate
{
valueOpDeltaAdd
Figure
BODY
Smile
strength 1.000000
deltaAddDelta 1.000000
}
}
}
actor luCheek
{
channels
{
rotateX xRotate
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -5.000000
deltaAddDelta -5.000000
}
translateX xTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength 0.000800
deltaAddDelta 0.000800
trackingScaleMult 1
}
translateZ zTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -0.000800
deltaAddDelta -0.000800
trackingScaleMult 0.100000
}
}
}
actor ruCheek
{
channels
{
rotateX xRotate
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -5.000000
deltaAddDelta -5.000000
}
translateX xTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -0.000800
deltaAddDelta -0.000800
trackingScaleMult 1
}
translateZ zTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -0.000800
deltaAddDelta -0.000800
trackingScaleMult 0.100000
}
}
}
actor rdCheek
{
channels
{
translateX xTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength -0.000800
deltaAddDelta -0.000800
trackingScaleMult 1
}
translateY yTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength 0.000400
deltaAddDelta 0.000400
trackingScaleMult 0.100000
}
translateZ zTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength 0.001100
deltaAddDelta 0.001100
trackingScaleMult 0.100000
}
}
}
actor ldCheek
{
channels
{
translateX xTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength 0.000800
deltaAddDelta 0.000800
trackingScaleMult 1
}
translateY yTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength 0.000400
deltaAddDelta 0.000400
trackingScaleMult 0.100000
}
translateZ zTran
{
valueOpDeltaAdd
Figure
BODY
Smile
strength 0.001100
deltaAddDelta 0.001100
trackingScaleMult 0.100000
}
}
}
}
This should be pretty simple to write to a file from dial settings.