• Eye Posing works for GMOD but not for SFM?
    12 replies, posted
I have several models, one example is Juliet from Lollipop Chainsaw, that has a fine and working eye posing in GMOD but none at all in SFM. None meaning no LocalViewTargetFactor and fiddling with the eye settings doesn't move the eye at all. How does one go about fixing the eye posing for SFM for these models?
You'll need to decompile and recompile the model, but underneath the other flexcontroller lines, you [i]NEED[/i] to have this: [code]flexcontroller eyes range -45 45 eyes_updown flexcontroller eyes range -45 45 eyes_rightleft[/code] And make sure that there's also attachments for the "eyes", "lefteye" and "righteye", and then eyeposing should work in SFM.
don't forget to adds this too, if they not. [QUOTE] $attachment "eyes" [HEADBONE] X -Y Z absolute $attachment "righteye" [HEADBONE] -X -Y Z absolute $attachment "lefteye" [HEADBONE] X -Y Z absolute [/QUOTE]
You don't need attachments for "righteye" and "lefteye." At least, I never have, and I've made more than enough ragdolls be SFM-compatible. :v:
[QUOTE=Gmod4ever;40878047]You don't need attachments for "righteye" and "lefteye." At least, I never have, and I've made more than enough ragdolls be SFM-compatible. :v:[/QUOTE]Alrighty then. Still, I always add them for my ports just in case something out there needs them for some reason.
[QUOTE=Gmod4ever;40878047]You don't need attachments for "righteye" and "lefteye." At least, I never have, and I've made more than enough ragdolls be SFM-compatible. :v:[/QUOTE] That's a good picece of knowledge, thanks. Keepin' the QCs clean and simple.
However, something to note is if you get a ragdoll's eyes bugging the fuck out in SFM, even with the flexcontrollers and eyes attachment, you might need to add a mouth attachment. I don't know why. Maybe the right/left attachments serve the same purpose as the mouth attachment. I've never seen those eye attachments before, so I don't really know. I may actually experiment with this later - take a model whose eyes I know do not work without the mouth attachment, and replace it with the left/right eye attachments, see what comes of it.
Thanks a bunch for the help got it to work yesterday but I have another question. Now I'm trying to do the same for a different model that has jigglebones in it. I can fix the eyes fine with the above help but the problem is, it removes the jigglebones. How do I fix the eye problem AND still keep the jiggles?
[QUOTE=mech126;40895771]Thanks a bunch for the help got it to work yesterday but I have another question. Now I'm trying to do the same for a different model that has jigglebones in it. I can fix the eyes fine with the above help but the problem is, it removes the jigglebones. How do I fix the eye problem AND still keep the jiggles?[/QUOTE] There is supposedly some program that can retrieve the jigglebone controls from a model. A friend gave me the program, but I couldn't get it to work. Here is the file that I was given. Feel free to try it, and see if you can get it to work. [url]https://dl.dropboxusercontent.com/u/8416055/Permanent/jiggle_qcgen.rar[/url] Elsewise, you're going to have to just remake the jigglebones yourself. They're not terribly difficult, once you figure out the basics behind how they work. The valve dev wiki's page on them can be very helpful, as can finding source QCs for some models with jigglebones, to see how to put it all together in practice. [url=https://developer.valvesoftware.com/wiki/$jigglebone]https://developer.valvesoftware.com/wiki/$jigglebone[/url]
[QUOTE=Gmod4ever;40896022]There is supposedly some program that can retrieve the jigglebone controls from a model. A friend gave me the program, but I couldn't get it to work. Here is the file that I was given. Feel free to try it, and see if you can get it to work. [url]https://dl.dropboxusercontent.com/u/8416055/Permanent/jiggle_qcgen.rar[/url] Elsewise, you're going to have to just remake the jigglebones yourself. They're not terribly difficult, once you figure out the basics behind how they work. The valve dev wiki's page on them can be very helpful, as can finding source QCs for some models with jigglebones, to see how to put it all together in practice. [url=https://developer.valvesoftware.com/wiki/$jigglebone]https://developer.valvesoftware.com/wiki/$jigglebone[/url][/QUOTE] Thanks for the program, I'll give it a shot. This whole time I thought jigglebones could only be added through a 3D program like 3DSMAX or Maya. So basically jigglebones can be added just by adding lines to the compiler QC file or am I missing something?
[QUOTE=mech126;40896830]Thanks for the program, I'll give it a shot. This whole time I thought jigglebones could only be added through a 3D program like 3DSMAX or Maya. So basically jigglebones can be added just by adding lines to the compiler QC file or am I missing something?[/QUOTE] Jigglebones are entirely QC-based. The only thing you have to do on the modeling end is have a bne to use as a basis. Be aware that the orientation of the bone is important, however. Here is an example of a hair jiggle I built myself for a model: [code]$jigglebone "jiggle.bang_1" { is_flexible { yaw_stiffness 100 yaw_damping 2 pitch_stiffness 100 pitch_damping 2 along_stiffness 100 along_damping 2 length 5 tip_mass 5 yaw_constraint -5 5 pitch_constraint -10 10 } }[/code]
[QUOTE=Gmod4ever;40900211]Jigglebones are entirely QC-based. The only thing you have to do on the modeling end is have a bne to use as a basis. Be aware that the orientation of the bone is important, however. Here is an example of a hair jiggle I built myself for a model: [code]$jigglebone "jiggle.bang_1" { is_flexible { yaw_stiffness 100 yaw_damping 2 pitch_stiffness 100 pitch_damping 2 along_stiffness 100 along_damping 2 length 5 tip_mass 5 yaw_constraint -5 5 pitch_constraint -10 10 } }[/code][/QUOTE] Again, thank you for the help and sorry for the ignorance: Where do I put that code in the QC file? Do I replace the "jiggle.bang_1" in your with the bone that I want to be jiggly? Here I'm trying to make a jigglebone from scratch from this QC file of the Cammy White model in garrysmod.org [code] $cd "C:\Users\---\Desktop\New folder" $modelname "sf4_cmy_00.mdl" $model "Cammy" "model2.smd" { flexfile "mdldecompiler_expressions.vta" { flex "toe_r" frame 1 flex "toe_l" frame 2 flex "face_happy" frame 3 flex "face_sad" frame 4 flex "blink_r" frame 5 flex "blink_l" frame 6 flex "eyes_shut" frame 7 flex "eyes_wide" frame 8 flex "eye_bulge_l" frame 9 flex "brow_r" frame 10 flex "brow_l" frame 11 flex "brows_up" frame 12 flex "brows_down" frame 13 flex "brows_in" frame 14 flex "brows_out" frame 15 flex "brows_curved" frame 16 flex "mouth_open" frame 17 flex "mouth_widen" frame 18 flex "mouth_lower" frame 19 flex "mouth_raised" frame 20 flex "mouth_exposed" frame 21 flex "teeth_clenched" frame 22 flex "teeth_up" frame 23 flex "lip_down" frame 24 flex "nose_up" frame 25 flex "nose_down" frame 26 flex "body_bust" frame 27 flex "body_lean" frame 28 flex "body_fat" frame 29 flex "no_hat" frame 30 } eyeball righteye Head -1.280 -2.190 61.750 eyeball_r 2.000 -1.000 CMY_02 1.380 eyeball lefteye Head 1.280 -2.190 61.750 eyeball_l 2.000 1.000 CMY_02 1.380 eyelid upper_right "mdldecompiler_expressions.vta" lowerer 31 -1.000000 neutral 0 0.000000 raiser 31 1.000000 split 0.1 eyeball righteye eyelid lower_right "mdldecompiler_expressions.vta" lowerer 32 -1.000000 neutral 0 0.000000 raiser 32 1.000000 split 0.1 eyeball righteye eyelid upper_left "mdldecompiler_expressions.vta" lowerer 33 -1.000000 neutral 0 0.000000 raiser 33 1.000000 split -0.1 eyeball lefteye eyelid lower_left "mdldecompiler_expressions.vta" lowerer 34 -1.000000 neutral 0 0.000000 raiser 34 1.000000 split -0.1 eyeball lefteye mouth 0 "mouth" Head 0.000 1.000 0.000 flexcontroller eyes eyes_updown "range" -45.000 45.000 flexcontroller eyes eyes_rightleft "range" -45.000 45.000 flexcontroller phoneme toe_r "range" 0.000 1.000 flexcontroller phoneme toe_l "range" 0.000 1.000 flexcontroller phoneme face_happy "range" 0.000 1.000 flexcontroller phoneme face_sad "range" 0.000 1.000 flexcontroller phoneme blink_r "range" 0.000 1.000 flexcontroller phoneme blink_l "range" 0.000 1.000 flexcontroller phoneme eyes_shut "range" 0.000 1.000 flexcontroller phoneme eyes_wide "range" 0.000 1.000 flexcontroller phoneme eye_bulge_l "range" 0.000 1.000 flexcontroller phoneme brow_r "range" 0.000 1.000 flexcontroller phoneme brow_l "range" 0.000 1.000 flexcontroller phoneme brows_up "range" 0.000 1.000 flexcontroller phoneme brows_down "range" 0.000 1.000 flexcontroller phoneme brows_in "range" 0.000 1.000 flexcontroller phoneme brows_out "range" 0.000 1.000 flexcontroller phoneme brows_curved "range" 0.000 1.000 flexcontroller phoneme mouth_open "range" 0.000 1.000 flexcontroller phoneme mouth_widen "range" 0.000 1.000 flexcontroller phoneme mouth_lower "range" 0.000 1.000 flexcontroller phoneme mouth_raised "range" 0.000 1.000 flexcontroller phoneme mouth_exposed "range" 0.000 1.000 flexcontroller phoneme teeth_clenched "range" 0.000 1.000 flexcontroller phoneme teeth_up "range" 0.000 1.000 flexcontroller phoneme lip_down "range" 0.000 1.000 flexcontroller phoneme nose_up "range" 0.000 1.000 flexcontroller phoneme nose_down "range" 0.000 1.000 flexcontroller phoneme body_bust "range" 0.000 1.000 flexcontroller phoneme body_lean "range" 0.000 1.000 flexcontroller phoneme body_fat "range" 0.000 1.000 flexcontroller phoneme no_hat "range" 0.000 1.000 %toe_r = toe_r %toe_l = toe_l %face_happy = face_happy %face_sad = face_sad %blink_r = blink_r %blink_l = blink_l %eyes_shut = eyes_shut %eyes_wide = eyes_wide %eye_bulge_l = eye_bulge_l %brow_r = brow_r %brow_l = brow_l %brows_up = brows_up %brows_down = brows_down %brows_in = brows_in %brows_out = brows_out %brows_curved = brows_curved %mouth_open = mouth_open %mouth_widen = mouth_widen %mouth_lower = mouth_lower %mouth_raised = mouth_raised %mouth_exposed = mouth_exposed %teeth_clenched = teeth_clenched %teeth_up = teeth_up %lip_down = lip_down %nose_up = nose_up %nose_down = nose_down %body_bust = body_bust %body_lean = body_lean %body_fat = body_fat %no_hat = no_hat } $cdmaterials "models\streetfighter4\cmy00\" $hboxset "default" $hbox 0 "Pelvis" -3.710 -5.733 -9.054 11.279 4.184 9.052 $hbox 0 "Stomach" -3.341 -3.786 -6.036 8.552 4.666 6.034 $hbox 0 "Chest" -3.030 -5.046 -8.240 10.823 3.782 8.251 $hbox 0 "Neck" -0.485 -2.443 -2.226 3.868 2.791 2.223 $hbox 0 "Head" -6.613 -4.605 -4.131 7.536 6.231 3.903 $hbox 0 "L_Braid3" -2.598 -0.561 -0.841 11.562 0.739 0.887 $hbox 0 "R_Braid3" -11.562 -0.738 -0.888 2.598 0.562 0.841 $hbox 0 "L_Braid2" -2.287 -0.407 -0.832 14.361 0.699 0.884 $hbox 0 "R_Braid2" -14.361 -0.699 -0.885 2.287 0.408 0.831 $hbox 0 "R_Braid1" -11.332 -0.666 -1.235 1.234 0.491 0.819 $hbox 0 "L_Braid1" -1.232 -0.524 -0.820 11.332 0.830 1.501 $hbox 0 "R_Shoulder" -7.301 -2.287 -3.723 0.000 4.329 3.368 $hbox 0 "R_UpperArm" -10.394 -1.886 -2.510 2.038 2.620 2.553 $hbox 0 "R_ForeArm" -13.413 -2.470 -2.473 2.963 2.924 2.948 $hbox 0 "ValveBiped.Bip01_R_Hand" 0.000 -2.687 -2.942 5.047 1.401 2.805 $hbox 0 "ValveBiped.Bip01_R_Finger3" -0.107 -0.751 -0.592 2.040 0.679 0.549 $hbox 0 "ValveBiped.Bip01_R_Finger31" -0.407 -0.588 -0.527 1.561 0.586 0.495 $hbox 0 "ValveBiped.Bip01_R_Finger2" -0.209 -0.667 -0.577 2.459 0.662 0.550 $hbox 0 "ValveBiped.Bip01_R_Finger1" -0.175 -0.684 -0.638 2.217 0.577 0.577 $hbox 0 "ValveBiped.Bip01_R_Finger11" -0.402 -0.525 -0.508 1.254 0.523 0.532 $hbox 0 "ValveBiped.Bip01_R_Finger4" -0.169 -0.595 -0.586 1.717 0.620 0.559 $hbox 0 "ValveBiped.Bip01_R_Finger41" -0.384 -0.462 -0.496 1.328 0.562 0.520 $hbox 0 "ValveBiped.Bip01_R_Finger0" 0.000 -0.752 -1.177 2.756 1.134 0.948 $hbox 0 "ValveBiped.Bip01_R_Finger01" -0.571 -0.667 -0.664 1.681 0.543 0.688 $hbox 0 "ValveBiped.Bip01_R_Finger02" -0.559 -0.514 -0.666 1.646 0.581 0.687 $hbox 0 "L_Shoulder" 0.000 -4.329 -3.368 7.290 2.287 3.723 $hbox 0 "L_UpperArm" -2.034 -2.620 -2.554 10.389 1.886 2.510 $hbox 0 "L_ForeArm" -2.980 -2.924 -2.948 13.416 2.470 2.474 $hbox 0 "ValveBiped.Bip01_L_Hand" 0.000 -2.684 -2.805 5.052 1.393 2.948 $hbox 0 "ValveBiped.Bip01_L_Finger2" -0.208 -0.647 -0.547 2.463 0.665 0.580 $hbox 0 "ValveBiped.Bip01_L_Finger1" -0.173 -0.687 -0.581 2.221 0.580 0.640 $hbox 0 "ValveBiped.Bip01_L_Finger11" -0.402 -0.518 -0.535 1.252 0.524 0.506 $hbox 0 "ValveBiped.Bip01_L_Finger4" -0.164 -0.597 -0.557 1.722 0.622 0.588 $hbox 0 "ValveBiped.Bip01_L_Finger41" -0.379 -0.465 -0.523 1.328 0.560 0.492 $hbox 0 "ValveBiped.Bip01_L_Finger3" -0.105 -0.752 -0.546 2.040 0.675 0.598 $hbox 0 "ValveBiped.Bip01_L_Finger31" -0.398 -0.593 -0.491 1.562 0.582 0.529 $hbox 0 "ValveBiped.Bip01_L_Finger0" 0.000 -0.751 -0.942 2.762 1.128 1.184 $hbox 0 "ValveBiped.Bip01_L_Finger01" -0.569 -0.675 -0.666 1.676 0.534 0.684 $hbox 0 "ValveBiped.Bip01_L_Finger02" -0.550 -0.527 -0.669 1.649 0.566 0.683 $hbox 0 "R_Boob" -3.872 -1.996 -2.361 0.048 2.039 2.622 $hbox 0 "L_Boob" -0.047 -2.039 -2.624 3.873 1.996 2.358 $hbox 0 "L_Thigh" -2.236 -5.052 -5.513 18.526 3.534 4.069 $hbox 0 "L_LowerLeg" -5.259 -3.313 -3.732 20.982 3.831 3.823 $hbox 0 "L_Foot" -8.667 -3.217 -2.977 1.398 6.043 2.369 $hbox 0 "L_Toe" -6.188 -2.454 -3.048 1.329 1.886 2.291 $hbox 0 "R_Thigh" -18.524 -3.532 -4.069 2.210 5.074 5.513 $hbox 0 "R_LowerLeg" -20.980 -3.828 -3.824 5.260 3.325 3.732 $hbox 0 "R_Foot" -1.400 -6.042 -2.382 8.666 3.219 2.970 $hbox 0 "R_Toe" -1.329 -1.884 -2.304 6.189 2.457 3.041 $attachment "eyes" "Head" 5.53 3.05 0.26 rotate 0.00 -45.00 -90.00 $attachment "mouth" "Head" 0.80 -5.80 -0.15 rotate 0.00 -80.00 -90.00 $surfaceprop "flesh" $eyeposition -0.000 -0.000 70.000 $illumposition 0.144 -0.043 34.730 $sequence ragdoll "ragdoll" ACT_DIERAGDOLL 1 fps 30.00 [/code] I'm tring to make R_Braid 3, L_Braid 3, L_Boob and R_Boob jiggly.
Yes, the "jiggle.bang_1" is the name of the bone. Shove the code at the very bottom of the file.
Sorry, you need to Log In to post a reply to this thread.