Alyx nesan.qc

出典: MediaArtWiki

Alyxを自分で作ったモデル(以下の例ではNesan)に置き換えるとする。 作成されるモデルの名前はAlyx.mdlとなる。

自作モデルにnesan01.smdと、 顔アニメーションのファイルnesan01.vtaを使う。 また、 mdldecompilerでオリジナルのAlyx.mdlから抽出した、 ragdoll.smdとphysmodel.smdもビルドに必要になる。

episode two用のAlyxモデルはAlyx.mdlとAlyx_ep2.mdlの二種類必要。

以下のqcファイルはmdldecompilerAlyx.mdlから得られたmdldecompiler.qc を参考にしたもの。

/*
==============================================================================

alyx nesan

==============================================================================
*/


$modelname Alyx.mdl
$cdmaterials sdk\models\Humans\Male
$eyeposition 0.000 0.000 65.000

$model alyx "nesan01.smd"{
	flexfile "nesan01.vta" {
		flex "AU42" frame 5		// 5 eyes	half_closed; Upper eyelids, Half-Closed
		flexpair "AU1" 1.0 frame 6	// 6 brow 	inner_raiser; Inner brow raiser - Inner portion of eyebrows raised. 
		flexpair "AU2" 1.0 frame 7	// 7 brow 	outer_raiser; Outer brow raiser - Outer and/or center portion of eyebrows raised. 
		flexpair "AU4" 1.0 frame 8	// 8 brow 	lowerer; Brow lowerer - Entire brow lowered, and pulled. 
		flexpair "AU1AU2" 1.0 frame 9	// 9 brow	brow_raiser; Brow raise - Entire brow raised. 
		flexpair "AU12" 1.0 frame 10	// 10 mouth	corner_puller; Lip Corner Puller - Smile with mouth closed. 
		flex "AU12AU25" frame 11	// 12 mouth	open_mouth_smile; Open Mouth Smile
		flexpair "AU15" 1.0 frame 12	// 13 mouth	corner_depressor; Frown - pull corners of the mouth down. 
		flexpair "AU17" 1.0 frame 13	// 14 mouth	chin_raiser; Chin Raiser - push up lower lip and chin muscle. 
		flexpair "AU10" 1.0 frame 14	// 15 mouth	upper_raiser; Lip Raiser - raise upper lip. 
		flex "AU16" frame 15		// 17 mouth 	lower_lip_depressor; Lower Lip Down
		flexpair "AU6" 1.0 frame 16	// 18 nose	cheek_raiser; Cheek Raiser - The cheek motion part of an eye-squint. 
		flexpair "AU9" 1.0 frame 17	// 19 nose 	wrinkler; Nose wrinkler - Wrinkle your nose, but don't open your mouth. 
		flexpair "AU25" 1.0 frame 18	// 21 phoneme	part; Lips part - Lips relaxed open, jaw neutral. 
		flexpair "AU18" 1.0 frame 19	// 22 phoneme	puckerer; Lip Puckerer - Lips making the "oo" sound in "fool", jaw neutral. 
		flexpair "AU22" 1.0 frame 20	// 23 phoneme	funneler; Lip Funneler - Lips funnel outwards, making the "ir" sound in "flirt". Jaw neutral. 
		flexpair "AU20" 1.0 frame 21	// 24 phoneme	stretcher; Lip Stretcher - Lips pulled laterally into a "flat" smile. Jaw neutral. 
		flex "AU32" frame 22		// 25 phoneme	bite; Lip Bite - Upper teeth biting the lower lip, used to make the "f" and "v" sound. Jaw neutral. 
		flex "AU24" frame 23		// 26 phoneme	presser; Lip Presser - Lips pushed together, making the bilabial stop "b", "m", and "p". Jaw neutral. 
		flex "AU38" frame 24		// 28 nose	dilator; Nostril Dilator - Flare out the nostril wings. 
		flex "AU31" frame 25		// 30 phoneme	jaw_clencher; Jaw Clencher - Lips neutral, teeth (molars) touching. 
		flexpair "AU26" 1.0 frame 26	// 31 phoneme	jaw_dropped; Jaw Dropped - Lips neutral, jaw drop is marked but not extreme (1 inch to 1 1/2 inches). 
		flexpair "AU27" 1.0 frame 27	// 32 phoneme	mouth_stretch; Mouth stretch - Jaw position same as Jaw Dropped, but mouth is relaxed and open as wide as jaw. 
		flexpair "AU26Z" 1.0 frame 28	// 33 phoneme	jaw_dropped; Jaw Dropped - Extreme. 
		flexpair "AU27Z" 1.0 frame 29	// 34 phoneme	mouth_stretch; Mouth stretch - Extreme. 
	}
	eyeball lefteye "ValveBiped.Bip01_Head1" 1.377 -2.1 64.934 "eyeball_l" 1 -4 "pupil_l" 0.63
	eyeball righteye "ValveBiped.Bip01_Head1" -1.377 -2.1 64.934 "eyeball_r" 1 4 "pupil_r" 0.63

	eyelid  upper_right "nesan01.vta" lowerer 1 -0.2621 neutral 0 0.1287 raiser 2 0.2467 split 0.1 eyeball righteye
	eyelid  lower_right "nesan01.vta" lowerer 3 -0.3409 neutral 0 -0.2156 raiser 4 -0.0736 split 0.1 eyeball righteye
	eyelid  upper_left "nesan01.vta" lowerer 1 -0.2621 neutral 0 0.1287 raiser 2 0.2467 split -0.1 eyeball lefteye
	eyelid  lower_left "nesan01.vta" lowerer 3 -0.3409 neutral 0 -0.2156 raiser 4 -0.0736 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" -30.000 30.000
     flexcontroller head head_updown "range" -15.000 15.000
     flexcontroller head head_tilt "range" -15.000 15.000
     flexcontroller eyes eyes_updown "range" -30.000 30.000
     flexcontroller eyes eyes_rightleft "range" -30.000 30.000
     flexcontroller body body_rightleft "range" -30.000 30.000
     flexcontroller chest chest_rightleft "range" -30.000 30.000
     flexcontroller head head_forwardback "range" -0.200 0.200
     flexcontroller gesture gesture_updown "range" -1.000 1.000
     flexcontroller gesture gesture_rightleft "range" -1.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 + ((( %AU27ZR +  %AU27ZL) * ( 0.500 *  0.700)) + ( %AU16 *  0.400))))))))))))
}
//end eye/face data

$poseparameter move_yaw -180.00 180.00 360.00

$hboxset "default"
$hbox 1 "ValveBiped.Bip01_Head1" -2.250  -5.000  -3.150  7.250  5.000  3.350
$hbox 4 "ValveBiped.Bip01_L_UpperArm" -0.810  -2.250  -3.050  11.190  2.750  1.200
$hbox 4 "ValveBiped.Bip01_L_Forearm" -1.250  -1.880  -2.000  11.750  1.620  1.000
$hbox 4 "ValveBiped.Bip01_L_Hand" 0.000  -1.070  -1.500  6.000  0.680  3.000
$hbox 5 "ValveBiped.Bip01_R_UpperArm" -1.500  -2.250  -1.250  11.500  2.750  2.750
$hbox 5 "ValveBiped.Bip01_R_Forearm" -0.820  -1.900  -1.150  11.180  1.600  1.850
$hbox 5 "ValveBiped.Bip01_R_Hand" -0.500  -1.130  -3.250  5.500  0.630  1.750
$hbox 6 "ValveBiped.Bip01_L_Thigh" 0.500  -3.500  -3.250  17.500  4.500  3.250
$hbox 6 "ValveBiped.Bip01_L_Calf" 0.740  -2.350  -2.150  17.740  3.650  2.350
$hbox 6 "ValveBiped.Bip01_L_Foot" -2.000  -1.800  -1.450  6.000  3.200  2.050
$hbox 6 "ValveBiped.Bip01_L_Toe0" -0.170  -1.500  -1.300  2.570  0.300  1.700
$hbox 7 "ValveBiped.Bip01_R_Thigh" 0.500  -3.500  -3.000  17.500  4.500  3.000
$hbox 7 "ValveBiped.Bip01_R_Calf" 0.740  -2.350  -2.350  17.740  3.650  2.150
$hbox 7 "ValveBiped.Bip01_R_Foot" -2.000  -1.750  -2.150  6.000  3.250  1.350
$hbox 7 "ValveBiped.Bip01_R_Toe0" 0.000  -1.380  -1.630  2.740  0.380  1.630
$hbox 3 "ValveBiped.Bip01_Pelvis" -5.250  -3.880  -6.250  5.750  4.120  3.750
$hbox 3 "ValveBiped.Bip01_Spine1" -4.500  -2.000  -4.980  3.500  6.000  4.970
$hbox 2 "ValveBiped.Bip01_Spine2" -0.500  -2.500  -6.000  10.500  7.500  6.000	

$attachment "eyes" "ValveBiped.Bip01_Head1" 0 -2.1 64.934 absolute
$attachment "lefteye" "ValveBiped.Bip01_Head1" 2.81 -3.89 -1.32 rotate 0.00 -80.10 -90.00
$attachment "righteye" "ValveBiped.Bip01_Head1" 2.81 -3.89 1.30 rotate 0.00 -80.10 -90.00
$attachment "nose" "ValveBiped.Bip01_Head1" 1.70 -5.30 -0.00 rotate 0.00 -80.00 -90.00
$attachment "mouth" "ValveBiped.Bip01_Head1" 0.20 -4.90 -0.00 rotate 0.00 -80.00 -90.00
$attachment "amulet" "ValveBiped.Bip01_Spine4" 0.30 5.00 0.00 rotate -0.00 90.00 90.00
$attachment "chest" "ValveBiped.Bip01_Spine4" -4.00 4.00 0.00 rotate -0.00 83.00 90.00
$attachment "hips" "ValveBiped.Bip01_Pelvis" 0.00 -0.00 -0.00 rotate -90.00 -90.00 0.00
$attachment "lefthand" "ValveBiped.Bip01_L_Hand" 3.50 -0.50 0.00 rotate -0.00 0.00 -0.00
$attachment "righthand" "ValveBiped.Bip01_R_Hand" 3.50 -0.50 0.00 rotate -0.00 -0.00 0.00
$attachment "pouch1" "ValveBiped.Bip01_Pelvis" 5.50 1.00 2.00 rotate -90.00 -90.00 0.00
$attachment "pouch2" "ValveBiped.Bip01_Pelvis" 6.50 0.50 -2.00 rotate -90.00 -90.00 0.00
$attachment "physgun_attachment" "ValveBiped.physgun_attachment" -0.00 0.00 0.00 rotate -90.00 -90.00 0.00
$attachment "emp" "ValveBiped.Anim_Attachment_RH" 0.00 -0.00 5.00 rotate -90.00 -90.00 0.00
$attachment "Emp_Holster" "ValveBiped.Bip01_Pelvis" -6.44 2.22 -1.95 rotate -1.37 -103.07 90.28
$attachment "forward" "ValveBiped.forward" 0.00 -0.00 0.00 rotate 0.00 0.00 -0.00
$attachment "anim_attachment_RH" "ValveBiped.Anim_Attachment_RH" -0.00 -0.00 -0.00 rotate -90.00 -90.00 0.00
$attachment "anim_attachment_LH" "ValveBiped.Anim_Attachment_LH" 0.00 -0.00 -0.00 rotate -90.00 -90.00 0.00
$includemodel "alyx_animations.mdl"
$includemodel "alyx_postures.mdl"
$includemodel "alyx_gestures.mdl"
$includemodel "humans/female_shared.mdl"
$includemodel "humans/female_ss.mdl"
$surfaceprop "flesh"
$illumposition 0.855 -0.052 34.763
$sequence ragdoll "ragdoll" ACT_DIERAGDOLL 1 fps 30.00
$ikchain rhand ValveBiped.Bip01_R_Hand knee  0.707 0.707 0.000
$ikchain lhand ValveBiped.Bip01_L_Hand knee  0.707 0.707 0.000
$ikchain rfoot ValveBiped.Bip01_R_Foot knee  0.707 -0.707 0.000
$ikchain lfoot ValveBiped.Bip01_L_Foot knee  0.707 -0.707 0.000
$collisionjoints "phymodel.smd" {

	$mass 60.0
	$inertia 5.00
	$damping 0.01
	$rotdamping 1.50
	$rootbone "valvebiped.bip01_pelvis"
	$jointmerge "ValveBiped.Bip01_Pelvis" "ValveBiped.Bip01_Spine1"

	$jointconstrain "valvebiped.bip01_spine2" x limit -48.00 48.00 0.20
	$jointconstrain "valvebiped.bip01_spine2" y limit -26.00 26.00 0.20
	$jointconstrain "valvebiped.bip01_spine2" z limit -39.00 68.00 0.20

	$jointconstrain "valvebiped.bip01_r_upperarm" x limit -64.00 64.00 0.20
	$jointconstrain "valvebiped.bip01_r_upperarm" y limit -26.00 122.00 0.20
	$jointconstrain "valvebiped.bip01_r_upperarm" z limit -122.00 50.00 0.20

	$jointconstrain "valvebiped.bip01_l_upperarm" x limit -64.00 64.00 0.20
	$jointconstrain "valvebiped.bip01_l_upperarm" y limit -122.00 28.00 0.20
	$jointconstrain "valvebiped.bip01_l_upperarm" z limit -100.00 59.00 0.20

	$jointconstrain "valvebiped.bip01_l_forearm" x limit 0.00 0.00 0.20
	$jointconstrain "valvebiped.bip01_l_forearm" y limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_l_forearm" z limit -140.00 0.00 0.20

	$jointconstrain "valvebiped.bip01_l_hand" x limit -68.00 68.00 0.20
	$jointconstrain "valvebiped.bip01_l_hand" y limit -37.00 41.00 0.20
	$jointconstrain "valvebiped.bip01_l_hand" z limit -44.00 70.00 0.20

	$jointconstrain "valvebiped.bip01_r_forearm" x limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_r_forearm" y limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_r_forearm" z limit -149.00 1.00 0.20

	$jointconstrain "valvebiped.bip01_r_hand" x limit -75.00 93.00 0.20
	$jointconstrain "valvebiped.bip01_r_hand" y limit -37.00 32.00 0.20
	$jointconstrain "valvebiped.bip01_r_hand" z limit -48.00 66.00 0.20

	$jointconstrain "valvebiped.bip01_r_thigh" x limit -50.00 48.00 0.20
	$jointconstrain "valvebiped.bip01_r_thigh" y limit -19.00 70.00 0.20
	$jointconstrain "valvebiped.bip01_r_thigh" z limit -79.00 73.00 0.20

	$jointconstrain "valvebiped.bip01_r_calf" x limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_r_calf" y limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_r_calf" z limit 0.00 133.00 0.20

	$jointconstrain "valvebiped.bip01_head1" x limit -61.00 61.00 0.20
	$jointconstrain "valvebiped.bip01_head1" y limit -44.00 44.00 0.20
	$jointconstrain "valvebiped.bip01_head1" z limit -32.00 50.00 0.20

	$jointconstrain "valvebiped.bip01_l_thigh" x limit -39.00 39.00 0.20
	$jointconstrain "valvebiped.bip01_l_thigh" y limit -59.00 23.00 0.20
	$jointconstrain "valvebiped.bip01_l_thigh" z limit -84.00 66.00 0.20

	$jointconstrain "valvebiped.bip01_l_calf" x limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_l_calf" y limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_l_calf" z limit 0.00 131.00 0.20

	$jointconstrain "valvebiped.bip01_l_foot" x limit -23.00 23.00 0.20
	$jointconstrain "valvebiped.bip01_l_foot" y limit -28.00 28.00 0.20
	$jointconstrain "valvebiped.bip01_l_foot" z limit -46.00 46.00 0.20

	$jointconstrain "valvebiped.bip01_r_foot" x limit -23.00 23.00 0.20
	$jointconstrain "valvebiped.bip01_r_foot" y limit -23.00 23.00 0.20
	$jointconstrain "valvebiped.bip01_r_foot" z limit -35.00 57.00 0.20
}