STEAM GROUP
Blender Source Tools BleST
STEAM GROUP
Blender Source Tools BleST
281
IN-GAME
1,789
ONLINE
Founded
November 8, 2013
All Discussions > Help > Topic Details
Frosty Dr. Mar 2, 2016 @ 3:41am
I really need help with eyes (SOLVED)
Alright, (ye using Blender here) so I'm doing a custom model, I've used qc eyes to get it set up "correctly" and dealt with attachments so the attachements "eyes" are in the center of both right and left eyes...but what my problem is, after doing all that, and having correct eye texture and materials, everything is set up correctly, the eyes completely disappear when I compile and view in HLMV. No missing textures, I mean, they go invisible, leaving me with just the eye sockets. http://i.imgur.com/6V3apPB.png

If it helps, here's the bits of my QC (the parts concerning eyes only):

eyeball eyeball_right "b_neck1" -1.35 -69.42 -4.66 "eyeball_r" 1.00 4 "iris_unused" 0.63 eyeball eyeball_left "b_neck1" 1.35 -69.42 -4.66 "eyeball_l" 1.00 -4 "iris_unused" 0.63 flexcontroller eyes range -45 45 eyes_updown flexcontroller eyes range -45 45 eyes_rightleft $attachment "eyes" "b_neck1" -0.00 4.30 -3.00 rotate 80 90 0 $attachment "eyeball_r" "b_neck1" 1.30 4.50 -3.00 rotate 80 90 0 $attachment "eyeball_l" "b_neck1" -1.30 4.50 -3.00 rotate 80 90 0 $attachment "mouth" "b_neck1" -0.00 1.80 -4.00 rotate 80 90 0 $eyeposition 0 0 70

(don't mind which bones I use, because the "b_neck1" bone is acting as the head bone, just couldn't call it "head") If I, however, use identical values that qc_eyes give me, for attachements, that is, the eyes appear, but the center of the eye deforms, and as if its sucking into a black hole in the center, along with that, the eyes look anywhere but at me, and are also strangely shiny.

Also, I copied vmt text from another "working" eye texture from another model, I need to know if the vmt has anything to do with the eyes being invisible? If so, how'd I go about fixing it?

Please, someone help!
Last edited by Frosty Dr.; Mar 5, 2016 @ 2:37am
< >
Showing 1-10 of 10 comments
Zappy Mar 2, 2016 @ 4:48am 
What is the entire QC and the entire VMT of one of the eyes?
Also, what orientation does the eye attachment have? (That's very important.)
Frosty Dr. Mar 2, 2016 @ 6:34pm 
Thought you might ask:

QC:
$modelname "frosty/spartaneris/Eris.mdl" $model "Eris_Spartan" "eris.smd" { eyeball eyeball_right "b_neck1" -1.35 -69.42 -4.66 "eyeball_r" 1.00 4 "iris_unused" 0.63 eyeball eyeball_left "b_neck1" 1.35 -69.42 -4.66 "eyeball_l" 1.00 -4 "iris_unused" 0.63 mouth 0 "mouth" "b_neck1" 0 1 0 flexfile "eris.vta" { defaultflex frame 0 flex "closeLidsR" frame 1 flex "closeLidsL" frame 2 flex "openLidsR" frame 3 flex "openLidsL" frame 4 flex "innerRaiseBrowR" frame 5 flex "innerRaiseBrowL" frame 6 flex "outerRaiseBrowR" frame 7 flex "outerRaiseBrowL" frame 8 flex "innerLowerBrowR" frame 9 flex "innerLowerBrowL" frame 10 flex "bridgeInner" frame 11 flex "noseSneer" frame 12 flex "smileR" frame 13 flex "smileL" frame 14 flex "frownR" frame 15 flex "frownL" frame 16 flex "openJaw" frame 17 flex "openUpperLip" frame 18 flex "openLowerLip" frame 19 flex "lipUpperPuckerR" frame 20 flex "lipUpperPuckerL" frame 21 flex "lipLowerPuckerR" frame 22 flex "lipLowerPuckerL" frame 23 } flexcontroller eyelid range 0 1 right_close_Lids flexcontroller eyelid range 0 1 left_close_Lids flexcontroller eyelid range 0 1 right_open_Lids flexcontroller eyelid range 0 1 left_open_Lids flexcontroller brow range 0 1 right_inner_Raise_Brow flexcontroller brow range 0 1 left_inner_Raise_Brow flexcontroller brow range 0 1 right_outer_Raise_Brow flexcontroller brow range 0 1 left_outer_Raise_Brow flexcontroller brow range 0 1 right_innerLowerBrow flexcontroller brow range 0 1 left_innerLowerBrow flexcontroller brow range 0 1 bridge_Inner flexcontroller nose range 0 1 nose_Sneer flexcontroller mouth range 0 1 right_smile flexcontroller mouth range 0 1 left_smile flexcontroller mouth range 0 1 right_frown flexcontroller mouth range 0 1 left_frown flexcontroller mouth range 0 1 open_Jaw flexcontroller mouth range 0 1 open_Upper_Lip flexcontroller mouth range 0 1 open_Lower_Lip flexcontroller mouth range 0 1 right_lip_Upper_Pucker flexcontroller mouth range 0 1 left_lip_Upper_Pucker flexcontroller mouth range 0 1 right_lip_Lower_Pucker flexcontroller mouth range 0 1 left_lip_Lower_Pucker flexcontroller eyes range -45 45 eyes_updown flexcontroller eyes range -45 45 eyes_rightleft %closeLidsR = right_close_Lids %closeLidsL = left_close_Lids %openLidsR = right_open_Lids %openLidsL = left_open_Lids %innerRaiseBrowR = right_inner_Raise_Brow %innerRaiseBrowL = left_inner_Raise_Brow %outerRaiseBrowR = right_outer_Raise_Brow %outerRaiseBrowL = left_outer_Raise_Brow %innerLowerBrowR = right_innerLowerBrow %innerLowerBrowL left_innerLowerBrow %bridgeInner = bridge_Inner %noseSneer = nose_Sneer %smileR = right_smile %smileL = left_smile %frownR = right_frown %frownL = left_frown %openJaw = open_Jaw %openUpperLip = open_Upper_Lip %openLowerLip = open_Lower_Lip %lipUpperPuckerR = right_lip_Upper_Pucker %lipUpperPuckerL = left_lip_Upper_Pucker %lipLowerPuckerR = right_lip_Lower_Pucker %lipLowerPuckerL = left_lip_Lower_Pucker } $bodygroup "hair" { studio "eris_hair.smd" blank } $bodygroup "head_parts" { studio "eris_band.smd" blank } $cdmaterials "models/frosty/spartaneris" $cdmaterials "models/frosty/eris" $mostlyopaque $attachment "eyes" "b_neck1" -0.00 4.30 -3.00 rotate 80 90 0 $attachment "eyeball_right" "b_neck1" 1.30 4.50 -3.00 rotate 80 90 0 $attachment "eyeball_left" "b_neck1" -1.30 4.50 -3.00 rotate 80 90 0 $attachment "mouth" "b_neck1" -0.00 1.80 -4.00 rotate 80 90 0 $surfaceprop "default" $contents "solid" $eyeposition 0 0 70 $sequence "idle" "eris_anims\idle.smd" { fps 30 } $collisionjoints "eris_physics.smd" { $mass 80 $inertia 5 $damping 0.01 $rotdamping 1.5 $rootbone "valvebiped.bip01_pelvis" $jointconstrain "b_l_thigh" x limit -66.00 97.00 0.00 $jointconstrain "b_l_thigh" y limit -46.00 46.00 0.00 $jointconstrain "b_l_thigh" z limit -48.00 21.00 0.00 $jointconstrain "b_l_calf" x limit -117.00 3.00 0.00 $jointconstrain "b_l_calf" y limit -21.00 21.00 0.00 $jointconstrain "b_l_calf" z limit -12.00 12.00 0.00 $jointconstrain "b_r_thigh" x limit -66.00 97.00 0.00 $jointconstrain "b_r_thigh" y limit -46.00 46.00 0.00 $jointconstrain "b_r_thigh" z limit -46.00 21.00 0.00 $jointconstrain "b_r_calf" x limit -117.00 3.00 0.00 $jointconstrain "b_r_calf" y limit -21.00 21.00 0.00 $jointconstrain "b_r_calf" z limit -12.00 12.00 0.00 $jointconstrain "b_r_foot" x limit -57.00 57.00 0.00 $jointconstrain "b_r_foot" y limit -23.00 23.00 0.00 $jointconstrain "b_r_foot" z limit -53.00 53.00 0.00 $jointconstrain "b_spine2" x limit -61.00 37.00 0.00 $jointconstrain "b_spine2" y limit -64.00 64.00 0.00 $jointconstrain "b_spine2" z limit -30.00 30.00 0.00 $jointconstrain "b_l_upperarm" x limit -68.00 68.00 0.00 $jointconstrain "b_l_upperarm" y limit -55.00 55.00 0.00 $jointconstrain "b_l_upperarm" z limit -37.00 46.00 0.00 $jointconstrain "b_r_upperarm" x limit -68.00 68.00 0.00 $jointconstrain "b_r_upperarm" y limit -55.00 55.00 0.00 $jointconstrain "b_r_upperarm" z limit -41.00 46.00 0.00 $jointconstrain "b_r_forearm" x limit -26.00 86.00 0.00 $jointconstrain "b_r_forearm" y limit -30.00 30.00 0.00 $jointconstrain "b_r_forearm" z limit -8.00 8.00 0.00 $jointconstrain "b_l_forearm" x limit -26.00 86.00 0.00 $jointconstrain "b_l_forearm" y limit -30.00 30.00 0.00 $jointconstrain "b_l_forearm" z limit -8.00 8.00 0.00 $jointconstrain "valvebiped.bip01_r_hand" x limit -77.00 149.00 0.00 $jointconstrain "valvebiped.bip01_r_hand" y limit -108.00 146.00 0.00 $jointconstrain "valvebiped.bip01_r_hand" z limit -82.00 79.00 0.00 $jointconstrain "valvebiped.bip01_l_hand" x limit -149.00 77.00 0.00 $jointconstrain "valvebiped.bip01_l_hand" y limit -108.00 146.00 0.00 $jointconstrain "valvebiped.bip01_l_hand" z limit -82.00 79.00 0.00 $jointconstrain "b_neck1" x limit -75.00 75.00 0.00 $jointconstrain "b_neck1" y limit -35.00 35.00 0.00 $jointconstrain "b_neck1" z limit -35.00 35.00 0.00 $jointconstrain "b_l_foot" x limit -57.00 57.00 0.00 $jointconstrain "b_l_foot" y limit -23.00 23.00 0.00 $jointconstrain "b_l_foot" z limit -53.00 53.00 0.00 }

VMT of one of the eyes:

"EyeRefract" { "$Iris" "models/frosty/eris/eyeball" "$AmbientOcclTexture" "models/frosty/eris/eyeball_ao" "$Envmap" "models/player/shared/eye-reflection-cubemap-" "$CorneaTexture" "models/player/shared/eye-cornea" "$lightwarptexture" "models/player/shared/eye_lightwarp" "$EyeballRadius" ".83" // Default 0.5 "$AmbientOcclColor" "[0.2 0.2 0.2]" // Default 0.33, 0.33, 0.33 "$Dilation" "0.45" // Default 0.5 "$ParallaxStrength" "0.25" // Default 0.25 "$CorneaBumpStrength" "1" // Default 1.0 "$halflambert" "1" "$nodecal" "1" // These effects are only available in ps.2.0b and later "$ambientocclusion" "1" "$RaytraceSphere" "1" // Default 1 - Enables raytracing in the pixel shader to make the eyeball look round "$SphereTexkillCombo" "1" // Default 1 - Enables killing pixels that don't ray-intersect the sphere }

That's all.
Zappy Mar 3, 2016 @ 6:47am 
Firstly, change $SphereTexKillCombo to 0. I think it basically removes some of the eye rendering if the eye-"ball" doesn't intersect fully with the eye mesh.

Secondly, with such a huge negative Y value in the eye co-ordinates, shouldn't you be using $UpAxis -Y or something? If not, you definitely did something very wrong while getting the eye co-ordinates.

Thirdly, the eye attachments should generally match up with the eye definitions in $Model (except for X axis difference), which is best achieved while using the same co-ordinates as in $Model followed by "Absolute".
-...- $UpAxis Y $Model Spy "Head" { EyeBall RightEye "bip_head" -1.137032 78.352463 1.565768 "eyeball_r" 1.4 4 X .6 EyeBall LeftEye "bip_head" 1.137032 78.352463 1.565768 "eyeball_l" 1.4 -4 X .6 LocalVar %dummy_eyelid_flex FlexController Eyes Range -45 45 eyes_updown FlexController Eyes Range -45 45 eyes_rightleft } -...- $Attachment "eyes" "bip_head" 0 78.352463 1.565768 Absolute $Attachment "righteye" "bip_head" -1.137032 78.352463 1.565768 Absolute $Attachment "lefteye" "bip_head" 1.137032 78.352463 1.565768 Absolute -...-
Last edited by Zappy; Mar 3, 2016 @ 6:48am
Frosty Dr. Mar 3, 2016 @ 11:43pm 
Originally posted by Zappy:
Firstly, change $SphereTexKillCombo to 0. I think it basically removes some of the eye rendering if the eye-"ball" doesn't intersect fully with the eye mesh.

Secondly, with such a huge negative Y value in the eye co-ordinates, shouldn't you be using $UpAxis -Y or something? If not, you definitely did something very wrong while getting the eye co-ordinates.

Thirdly, the eye attachments should generally match up with the eye definitions in $Model (except for X axis difference), which is best achieved while using the same co-ordinates as in $Model followed by "Absolute".
-...- $UpAxis Y $Model Spy "Head" { EyeBall RightEye "bip_head" -1.137032 78.352463 1.565768 "eyeball_r" 1.4 4 X .6 EyeBall LeftEye "bip_head" 1.137032 78.352463 1.565768 "eyeball_l" 1.4 -4 X .6 LocalVar %dummy_eyelid_flex FlexController Eyes Range -45 45 eyes_updown FlexController Eyes Range -45 45 eyes_rightleft } -...- $Attachment "eyes" "bip_head" 0 78.352463 1.565768 Absolute $Attachment "righteye" "bip_head" -1.137032 78.352463 1.565768 Absolute $Attachment "lefteye" "bip_head" 1.137032 78.352463 1.565768 Absolute -...-

Well, I changed:

eyeball eyeball_right "b_neck1" -1.35 -69.42 -4.66 "eyeball_r" 1.00 4 "iris_unused" 0.63 eyeball eyeball_left "b_neck1" 1.35 -69.42 -4.66 "eyeball_l" 1.00 -4 "iris_unused" 0.63


To:

eyeball righteye "b_neck1" -1.35 -4.66 69.42 "eyeball_r" 1.00 4 "iris_unused" 0.63 eyeball lefteye "b_neck1" 1.35 -4.66 69.42 "eyeball_l" 1.00 -4 "iris_unused" 0.63
Basically swapping the Y axis with the Z axis and ridding the minus, because the "69.42" is supposed to be on z axis, but some reason it doesn't appear there when I create the text after setting up in qc_eyes

The eyes now appear again, and I changed $SphereTexKillCombo from 1 to 0, but the eyes texture doesn't change, it looks weird and shiny: http://i.imgur.com/hjFyKs6.png The eyes are also looking "away" from me. even though I have the attachments set up correctly, if I use Absolute, the attachments seem to appear all the way below the model, instead of at the head.
Last edited by Frosty Dr.; Mar 3, 2016 @ 11:54pm
Zappy Mar 4, 2016 @ 6:47am 
Originally posted by ๖ۣۜPhanto:
if I use Absolute, the attachments seem to appear all the way below the model,
Please re-read my comment, then.
Frosty Dr. Mar 4, 2016 @ 3:18pm 
Originally posted by Zappy:
Originally posted by ๖ۣۜPhanto:
if I use Absolute, the attachments seem to appear all the way below the model,
Please re-read my comment, then.
They appear were they should be now. But what about the weird shiny thing with the eyes? And they still look away (if I view it from the right, the eyes look left) Just so you know, the eyes on the actual model aren't using "spheres" or exactly flat like HL2 eyes. http://i.imgur.com/BHedNp8.png

Should they be half spheres? Another model that uses the exact same eye vmt has half sphere eyes, but the eyes on that model are bigger than normal HL2 eyes. And the eyes on my model would be around HL2 size. If that helps.
Zappy Mar 5, 2016 @ 1:41am 
All I can say is to try pushing the eye co-ordinates (both in $Model and the attachments) further backwards into the head. The shape of the eye mesh shouldn't matter at all.
Frosty Dr. Mar 5, 2016 @ 2:37am 
Oh my goodness! That almost did it! http://i.imgur.com/JekbZqc.png

That killed two birds with one stone! Just needs a little fine tuning so it will look a little better. I think I understand why valve may have used spheres when getting the eye coordinates, some how, they get the center of the sphere coords, and that's where the attachments and in the $model should be at the center, like it shows in the picture while QC eyes is open.

Finally, I can make eyes work. Thank you!
Frosty Dr. Mar 5, 2016 @ 3:33am 
However, There is one minor problem, when I move around in-game, the eyes on my model seem to move as well. Although I can pose the eyes, if I move again, they start moving, I can live with this, when making scenes to pose the character's eyes last, and stand still to take the picture, but its a little annoying. Got any idea how to fix that?
Zappy Mar 5, 2016 @ 3:37am 
Change $ParallaxStrength in the VMTs to 0.
(Also, looking over the VMT, unless you know exactly what the following parameter does and you set it to 0.45 on purpose, change $Dilation to 0.5.)
Last edited by Zappy; Mar 5, 2016 @ 3:37am
< >
Showing 1-10 of 10 comments
Per page: 1530 50

All Discussions > Help > Topic Details
Date Posted: Mar 2, 2016 @ 3:41am
Posts: 10