weis einer, wie ich bei den Models die Bewegung der Augen auf 0 begrenze bzw das diese sich nicht mehr bewegen?
Code:
$model "body" "bulma.smd" {
flexfile "mdldecompiler_expressions.vta" {
flexpair "AU1" 1.0 frame 5
flexpair "AU2" 1.0 frame 6
flexpair "AU4" 1.0 frame 7
flexpair "AU1AU2" 1.0 frame 8
flexpair "AU12" 1.0 frame 9
flex "AU12AU25" frame 10
flexpair "AU15" 1.0 frame 11
flexpair "AU17" 1.0 frame 12
flexpair "AU10" 1.0 frame 13
flex "AU16" frame 14
flexpair "AU6" 1.0 frame 15
flexpair "AU9" 1.0 frame 16
flexpair "AU25" 1.0 frame 17
flexpair "AU18" 1.0 frame 18
flexpair "AU22" 1.0 frame 19
flexpair "AU20" 1.0 frame 20
flex "AU32" frame 21
flex "AU24" frame 22
flex "AU38" frame 23
flex "AU31" frame 24
flexpair "AU26" 1.0 frame 25
flexpair "AU27" 1.0 frame 26
flexpair "AU26Z" 1.0 frame 27
}
eyeball righteye ValveBiped.Bip01_Head1 -1.431 -2.940 65.480 eyeball_r 1.400 -1.000 pupil_r 0.850
eyeball lefteye ValveBiped.Bip01_Head1 1.431 -2.940 65.480 eyeball_l 1.400 1.000 pupil_l 0.850
// If you uncomment the following lines the eyes will be closed
// I'm including it anyway in case anyone wants to experiment
// eyelid upper_right "mdldecompiler_expressions.vta" lowerer 4 0.000000 neutral 4 0.000000 raiser 4 0.000000 split 0.1 eyeball righteye
// eyelid lower_right "mdldecompiler_expressions.vta" lowerer 4 0.000000 neutral 4 0.000000 raiser 4 0.000000 split 0.1 eyeball righteye
// If you uncomment the following lines the eyes will be closed
// I'm including it anyway in case anyone wants to experiment
// eyelid upper_left "mdldecompiler_expressions.vta" lowerer 4 0.000000 neutral 4 0.000000 raiser 4 0.000000 split -0.1 eyeball lefteye
// eyelid lower_left "mdldecompiler_expressions.vta" lowerer 4 0.000000 neutral 4 0.000000 raiser 4 0.000000 split -0.1 eyeball lefteye
mouth 0 "mouth" ValveBiped.Bip01_Head1 0.000 1.000 0.000
flexcontroller eyelid right_lid_raiser "range" 0.000 1.000
flexcontroller eyelid left_lid_raiser "range" 0.000 1.000
flexcontroller eyelid right_lid_tightener "range" 0.000 1.000
flexcontroller eyelid left_lid_tightener "range" 0.000 1.000
flexcontroller eyelid right_lid_droop "range" 0.000 1.000
flexcontroller eyelid left_lid_droop "range" 0.000 1.000
flexcontroller eyelid right_lid_closer "range" 0.000 1.000
flexcontroller eyelid left_lid_closer "range" 0.000 1.000
flexcontroller eyelid half_closed "range" 0.000 1.000
flexcontroller eyelid blink "range" 0.000 1.000
flexcontroller brow right_inner_raiser "range" 0.000 1.000
flexcontroller brow left_inner_raiser "range" 0.000 1.000
flexcontroller brow right_outer_raiser "range" 0.000 1.000
flexcontroller brow left_outer_raiser "range" 0.000 1.000
flexcontroller brow right_lowerer "range" 0.000 1.000
flexcontroller brow left_lowerer "range" 0.000 1.000
flexcontroller nose right_cheek_raiser "range" 0.000 1.000
flexcontroller nose left_cheek_raiser "range" 0.000 1.000
flexcontroller nose wrinkler "range" 0.000 1.000
flexcontroller nose dilator "range" 0.000 1.000
flexcontroller mouth right_upper_raiser "range" 0.000 1.000
flexcontroller mouth left_upper_raiser "range" 0.000 1.000
flexcontroller mouth right_corner_puller "range" 0.000 1.000
flexcontroller mouth left_corner_puller "range" 0.000 1.000
flexcontroller mouth right_corner_depressor "range" 0.000 1.000
flexcontroller mouth left_corner_depressor "range" 0.000 1.000
flexcontroller mouth chin_raiser "range" 0.000 1.000
flexcontroller phoneme right_part "range" 0.000 1.000
flexcontroller phoneme left_part "range" 0.000 1.000
flexcontroller phoneme right_puckerer "range" 0.000 1.000
flexcontroller phoneme left_puckerer "range" 0.000 1.000
flexcontroller phoneme right_funneler "range" 0.000 1.000
flexcontroller phoneme left_funneler "range" 0.000 1.000
flexcontroller phoneme right_stretcher "range" 0.000 1.000
flexcontroller phoneme left_stretcher "range" 0.000 1.000
flexcontroller phoneme bite "range" 0.000 1.000
flexcontroller phoneme presser "range" 0.000 1.000
flexcontroller phoneme tightener "range" 0.000 1.000
flexcontroller phoneme jaw_clencher "range" 0.000 1.000
flexcontroller phoneme jaw_drop "range" 0.000 1.000
flexcontroller phoneme right_mouth_drop "range" 0.000 1.000
flexcontroller phoneme left_mouth_drop "range" 0.000 1.000
flexcontroller mouth smile "range" 0.000 1.000
flexcontroller mouth lower_lip "range" 0.000 1.000
flexcontroller head head_rightleft "range" 0.000 1.000
flexcontroller head head_updown "range" 0.000 1.000
flexcontroller head head_tilt "range" 0.000 1.000
flexcontroller eyes eyes_updown "range" 0.000 1.000
flexcontroller eyes eyes_rightleft "range" 0.000 1.000
flexcontroller body body_rightleft "range" 0.000 1.000
flexcontroller chest chest_rightleft "range" 0.000 1.000
flexcontroller head head_forwardback "range" 0.000 1.000
flexcontroller gesture gesture_updown "range" 0.000 1.000
flexcontroller gesture gesture_rightleft "range" 0.000 1.000
localvar upper_right_raiser
%upper_right_raiser = ( right_lid_raiser * (( 1.000 - ( right_lid_droop * 0.800)) * (( 1.000 - right_lid_closer) * ( 1.000 - blink))))
localvar upper_right_neutral
%upper_right_neutral = (( 1.000 - ( right_lid_droop * 0.800)) * (( 1.000 - right_lid_raiser) * (( 1.000 - right_lid_closer) * ( 1.000 - blink))))
localvar upper_right_lowerer
%upper_right_lowerer = ( right_lid_closer + ( blink * ( 1.000 - right_lid_closer)))
localvar upper_left_raiser
%upper_left_raiser = ( left_lid_raiser * (( 1.000 - ( left_lid_droop * 0.800)) * (( 1.000 - left_lid_closer) * ( 1.000 - blink))))
localvar upper_left_neutral
%upper_left_neutral = (( 1.000 - ( left_lid_droop * 0.800)) * (( 1.000 - left_lid_raiser) * (( 1.000 - left_lid_closer) * ( 1.000 - blink))))
localvar upper_left_lowerer
%upper_left_lowerer = ( left_lid_closer + ( blink * ( 1.000 - left_lid_closer)))
localvar lower_right_raiser
%lower_right_raiser = ( right_lid_closer + ( blink * ( 0.500 * ( 1.000 - right_lid_closer))))
localvar lower_right_neutral
%lower_right_neutral = (( 1.000 - right_lid_closer) * (( 1.000 - ( 0.500 * blink)) * (( 1.000 - ( right_lid_tightener * 0.500)) * ( 1.000 - ( right_cheek_raiser * 0.250)))))
localvar lower_right_lowerer
%lower_right_lowerer = 0.000
localvar lower_left_raiser
%lower_left_raiser = ( left_lid_closer + ( blink * ( 0.500 * ( 1.000 - left_lid_closer))))
localvar lower_left_neutral
%lower_left_neutral = (( 1.000 - left_lid_closer) * (( 1.000 - ( 0.500 * blink)) * (( 1.000 - ( left_lid_tightener * 0.500)) * ( 1.000 - ( left_cheek_raiser * 0.250)))))
localvar lower_left_lowerer
%lower_left_lowerer = 0.000
%AU1R = ( right_inner_raiser * (( 1.000 - right_outer_raiser) * ( 1.000 - right_lowerer)))
%AU1L = ( left_inner_raiser * (( 1.000 - left_outer_raiser) * ( 1.000 - left_lowerer)))
%AU2R = ( right_outer_raiser * (( 1.000 - right_inner_raiser) * ( 1.000 - right_lowerer)))
%AU2L = ( left_outer_raiser * (( 1.000 - left_inner_raiser) * ( 1.000 - left_lowerer)))
%AU1AU2R = ( right_inner_raiser * ( right_outer_raiser * ( 1.000 - right_lowerer)))
%AU1AU2L = ( left_inner_raiser * ( left_outer_raiser * ( 1.000 - left_lowerer)))
%AU4R = right_lowerer
%AU4L = left_lowerer
%AU6R = right_cheek_raiser
%AU6L = left_cheek_raiser
%AU9R = wrinkler
%AU9L = wrinkler
%AU38 = dilator
localvar right_open
%right_open = ( smile + (( right_part * ( 1.000 - smile)) + ( right_puckerer + ( right_funneler + (( right_upper_raiser * 0.500) + ( lower_lip * 0.500))))))
localvar left_open
%left_open = ( smile + (( left_part * ( 1.000 - smile)) + ( left_puckerer + ( left_funneler + (( left_upper_raiser * 0.500) + ( lower_lip * 0.500))))))
localvar right_lip_suppressor
%right_lip_suppressor = (( 1.000 / %right_open) * (( 1.000 - presser) * ( 1.000 - bite)))
localvar left_lip_suppressor
%left_lip_suppressor = (( 1.000 / %left_open) * (( 1.000 - presser) * ( 1.000 - bite)))
%AU10R = ( right_upper_raiser * ( right_upper_raiser * ( 0.500 * %right_lip_suppressor)))
%AU10L = ( left_upper_raiser * ( left_upper_raiser * ( 0.500 * %left_lip_suppressor)))
%AU25R = ( right_part * (( right_part * %right_lip_suppressor) * ( 1.000 - smile)))
%AU25L = ( left_part * (( left_part * %left_lip_suppressor) * ( 1.000 - smile)))
%AU12AU25 = ( smile * ( smile * ( 0.500 * ( %right_lip_suppressor + %left_lip_suppressor))))
%AU18R = ( right_puckerer * ( right_puckerer * %right_lip_suppressor))
%AU18L = ( left_puckerer * ( left_puckerer * %left_lip_suppressor))
%AU22R = ( right_funneler * ( right_funneler * %right_lip_suppressor))
%AU22L = ( left_funneler * ( left_funneler * %left_lip_suppressor))
%AU17R = ( chin_raiser * (( 1.000 - ( jaw_drop * 0.500)) * (( 1.000 - bite) * (( 1.000 - ( 0.600 * ( %AU25R + ( %AU18R + %AU22R)))) * ( 1.000 - smile)))))
%AU17L = ( chin_raiser * (( 1.000 - ( jaw_drop * 0.500)) * (( 1.000 - bite) * (( 1.000 - ( 0.600 * ( %AU25L + ( %AU18L + %AU22L)))) * ( 1.000 - smile)))))
localvar right_depressor_suppressor
%right_depressor_suppressor = (( 1.000 / (( %AU18R * 0.800) + (( %AU22R * 0.800) + ( %AU17R + ( bite + ( right_corner_puller + ( right_stretcher + right_corner_depressor))))))) * (( 1.000 - ( jaw_drop * 0.500)) * ( 1.000 - ( smile * 0.500))))
localvar left_depressor_suppressor
%left_depressor_suppressor = (( 1.000 / (( %AU18L * 0.800) + (( %AU22L * 0.800) + ( %AU17L + ( bite + ( left_corner_puller + ( left_stretcher + left_corner_depressor))))))) * (( 1.000 - ( jaw_drop * 0.500)) * ( 1.000 - ( smile * 0.500))))
%AU15R = ( right_corner_depressor * ( right_corner_depressor * %right_depressor_suppressor))
%AU15L = ( left_corner_depressor * ( left_corner_depressor * %left_depressor_suppressor))
localvar right_corner_suppressor
%right_corner_suppressor = (( 1.000 / (( %AU18R * 0.800) + (( %AU22R * 0.800) + ( %AU17R + ( bite + ( right_corner_puller + ( right_stretcher + right_corner_depressor))))))) * (( 1.000 - ( jaw_drop * 0.500)) * ( 1.000 - smile)))
localvar left_corner_suppressor
%left_corner_suppressor = (( 1.000 / (( %AU18L * 0.800) + (( %AU22L * 0.800) + ( %AU17L + ( bite + ( left_corner_puller + ( left_stretcher + left_corner_depressor))))))) * (( 1.000 - ( jaw_drop * 0.500)) * ( 1.000 - smile)))
%AU12R = ( right_corner_puller * ( right_corner_puller * %right_corner_suppressor))
%AU12L = ( left_corner_puller * ( left_corner_puller * %left_corner_suppressor))
%AU20R = ( right_stretcher * ( right_stretcher * %right_corner_suppressor))
%AU20L = ( left_stretcher * ( left_stretcher * %left_corner_suppressor))
%AU32 = bite
%AU24 = ( presser + (( 1.000 - presser) * tightener))
%AU31 = ( jaw_clencher * ( jaw_clencher / ( jaw_clencher + jaw_drop)))
localvar right_drop_suppressor
%right_drop_suppressor = (( 1.000 / (( 0.500 * %right_open) + right_mouth_drop)) * (( 1.000 - presser) * ( 1.000 - bite)))
localvar left_drop_suppressor
%left_drop_suppressor = (( 1.000 / (( 0.500 * %left_open) + left_mouth_drop)) * (( 1.000 - presser) * ( 1.000 - bite)))
localvar right_drop
%right_drop = ( right_mouth_drop * ( right_mouth_drop * %right_drop_suppressor))
localvar left_drop
%left_drop = ( left_mouth_drop * ( left_mouth_drop * %left_drop_suppressor))
%AU26R = ( jaw_drop * (( 1.000 - %right_drop) * ( jaw_drop / ( jaw_clencher + jaw_drop))))
%AU26L = ( jaw_drop * (( 1.000 - %left_drop) * ( jaw_drop / ( jaw_clencher + jaw_drop))))
%AU27R = ( jaw_drop * ( %right_drop * ( jaw_drop / ( jaw_clencher + jaw_drop))))
%AU27L = ( jaw_drop * ( %left_drop * ( jaw_drop / ( jaw_clencher + jaw_drop))))
%AU16 = ( lower_lip * (( lower_lip * ( 0.250 * ( %right_lip_suppressor + %left_lip_suppressor))) * ( 1.000 - ( 0.500 * ( %AU27R + %AU27L)))))
localvar mouth
%mouth = (( %AU27R * 0.500) + (( %AU27L * 0.500) + (( %AU22R * 0.350) + (( %AU22L * 0.350) + (( %AU18R * 0.250) + (( %AU18L * 0.250) + (( %AU25R * 0.350) + (( %AU25L * 0.350) + (( %AU32 * 0.500) + ( %AU12AU25 + ( %AU16 * 0.400)))))))))))
}