DigitalEro Offline

How to make SFM models have view eye target?

Mon, 19 Aug 2013 18:23:19

Soulslayerzx

Yea, the vieweyetarget that tracks the eyes wherever you put them. How do you get it to work?
Mon, 19 Aug 2013 19:05:20

Selph80

You first need to understand that the eyes do not rotate when you use the viewtarget. The movement of the eyes is projected onto the mesh by shaders. The first thing you need to do to make this work is apply separate materials to both the eyeballs. It doesn't really matter what it contains, all that matters is that they are separate from the rest of the model and are named uniquely. The source engine uses eyeball_l and eyeball_r as standard names. So you just create 2 .tga files (one named eyeball_l.tga and one named eyeball_r.tga) and apply these to the appropriate eyeballs in 3DSmax or Blender. Then you can export the model as an .smd file. What you need to do now is find the coordinates of the center of both the eyeballs (in 3DSmax when you select a vertex with the move tool you'll see the coordinates of the vertex in the bottom bar, so just find them for all the axes). Afterwards you open up qc_eyes.exe (which can be found in the sourcefilmmaker/bin directory) and fill in the coordinates and which program you used. If you press gerenate now, it'll create some lines you'll need to add to the qc file of the model you wish to compile. The lines you need to add the the qc file look something like:
$model filename_model "filename_reference.smd" {
	eyeball righteye "ValveBiped.Bip01_Head1" 0.00 -0.00 0.00 "eyeball_r" 1.00 4 "pupil_r" 0.63
	eyeball lefteye "ValveBiped.Bip01_Head1" 0.00 -0.00 0.00 "eyeball_l" 1.00 -4 "pupil_l" 0.63
}
$eyeposition 0 0 70


$attachment "eyes" "ValveBiped.Bip01_Head1" 0.00 -0.00 0.00 absolute
$attachment "mouth" "ValveBiped.Bip01_Head1" 0.80 -5.80 -0.15 rotate 0 -80 -90
Of course you need to make sure that everything is named correctly ("$model filename_model "filename_reference.smd" " is probably the first line in the qc file for the model you're compiling, ValveBiped.Bip01_Head1 is the name of the head-bone and eyeball_l and eyeball_r are the names you gave the .tga files.) You also need to add these 2 lines to the rest of the flexcontrollers:
flexcontroller eyes range -45 45 eyes_updown
flexcontroller eyes range -45 45 eyes_rightleft
If you compile the model now, it should be all set for using the viewtarget bone. All you need to do now is add eyeball_l.vmt and eyeball_r.vmt files to the materials folder with the proper commands (just copy this over from a model that has working eye-posing and change it however you see fit). The eyes should now be functioning properly. There are still things you may need to change to make the irises bigger or move them more inward or outward, but the source wiki has some explanations on how to do that.
Mon, 19 Aug 2013 21:03:12

Soulslayerzx

Then you can export the model as an .smd file. What you need to do now is find the coordinates of the center of both the eyeballs (in 3DSmax when you select a vertex with the move tool you'll see the coordinates of the vertex in the bottom bar, so just find them for all the axes).
Okay, by center did you mean the position of each eyeball? Yea, I know where to find these in 3dsmax/blender. Or the middle point between the two?
Mon, 19 Aug 2013 21:05:45

Selph80

"Soulslayerzx" said ...
Then you can export the model as an .smd file. What you need to do now is find the coordinates of the center of both the eyeballs (in 3DSmax when you select a vertex with the move tool you'll see the coordinates of the vertex in the bottom bar, so just find them for all the axes).
Okay, by center did you mean the position of each eyeball? Yea, I know where to find these in 3dsmax/blender. Or the middle point between the two?
Each individual eyeball. You'll see what I mean when you open qc_eyes (it'll ask for the coordinates for the individual eyes)
Mon, 19 Aug 2013 21:19:03

Soulslayerzx

Okay, I got most of it. But now in the .qc you told me to paste those 2 lines to the flex controllers. Do I also have to make the %flex = flex shit like 3 parts of the flex phoneme and range stuff too? my .qc looks like this: the bolded parts are the stuff i got from the .qc eyes
$cd "D:\GMODStuff\ShaundiSFMVariants"
$modelname "soulslayerzx/Shaundi_bottomless"
$mostlyopaque
$model "Shaundi_bottomless" "bottomless.SMD" {
	eyeball righteye "ValveBiped.Bip01_Head1" -1.34 -0.23 68.44 "eyeball_r" 1.00 4 "pupil_r" 0.63
	eyeball lefteye "ValveBiped.Bip01_Head1" 1.34 -0.23 68.44 "eyeball_l" 1.00 -4 "pupil_l" 0.63
     flexfile "bottomless.vta" {
          flex "lefteye_close" frame 1
          flex "righteye_close" frame 2
          flex "r_inner_raiser" frame 3
          flex "r_inner_lowerer" frame 4
          flex "r_outer_raiser" frame 5
          flex "l_inner_raiser" frame 6
          flex "l_inner_lowerer" frame 7
          flex "l_outer_raiser" frame 8
          flex "r_cheek_raise" frame 9
          flex "l_cheek_raise" frame 10
          flex "jaw_drop" frame 11
          flex "r_lowerlip_raise" frame 12
          flex "l_lowerlip_raise" frame 13
          flex "r_upperlip_raise" frame 14
          flex "l_upperlip_raise" frame 15
          flex "r_eyebrow_lowerer" frame 16
          flex "l_eyebrow_lowerer" frame 17
          flex "r_smile" frame 18
          flex "l_smile" frame 19
          flex "pucker" frame 20
		  flex "r_frown" frame 21
		  flex "l_frown" frame 22
		  flex "r_cheek_puff" frame 23
		  flex "l_cheek_puff" frame 24
		  flex "r_nostril_inward" frame 25
		  flex "l_nostril_inward" frame 26
		  flex "jaw_clench" frame 27
		  flex "mouth_full" frame 28
		  flex "l_upper_eyelid_raise" frame 29
		  flex "r_upper_eyelid_raise" frame 30
		  flex "l_lower_eyelid_drop" frame 31
		  flex "r_lower_eyelid_drop" frame 32
		  flex "l_lower_eyelid_raise" frame 33
		  flex "r_lower_eyelid_raise" frame 34
		  flex "look_left" frame 35
		  flex "look_right" frame 36
		  flex "look_up" frame 37
		  flex "look_down" frame 38
		  flex "bitch" frame 39
		  flex "lower_lip_lower" frame 40
		  flex "upper_lip_raise" frame 41
		  flex "lower_lip_raise" frame 42
		  flex "upper_lip_lower" frame 43
		  flex "painbrows" frame 44
		  flex "tongue_extend" frame 45
		  flex "throat_bulge" frame 46
		  flex "r_outer_eyebrow_lower" frame 47
		  flex "l_outer_eyebrow_lower" frame 48
		  flex "nostrils_outward" frame 49
flex	"upper_lip_middle_raise"	frame 50
flex	"upper_lip_middle_droop"	frame 51
flex	"lower_lip_middle_raise"	frame 52
flex	"lower_lip_middle_droop"	frame 53
flex	"ass_slap"	frame 54
flex	"ass_tighten"	frame 55
flex	"ass_spread"	frame 56
flex	"anal_spread"	frame 57
flex	"pussy_horny"	frame 58
flex	"pussy_spread"	frame 59
flex	"pussy_ovalize"	frame 60
     }
     flexcontroller phoneme lefteye_close "range" 0.000 1.000
     flexcontroller phoneme righteye_close "range" 0.000 1.000
     flexcontroller phoneme r_inner_raiser "range" 0.000 1.000
     flexcontroller phoneme r_inner_lowerer "range" 0.000 1.000
     flexcontroller phoneme r_outer_raiser "range" 0.000 1.000
     flexcontroller phoneme l_inner_raiser "range" 0.000 1.000
     flexcontroller phoneme l_inner_lowerer "range" 0.000 1.000
     flexcontroller phoneme l_outer_raiser "range" 0.000 1.000
     flexcontroller phoneme r_cheek_raise "range" 0.000 1.000
     flexcontroller phoneme l_cheek_raise "range" 0.000 1.000
     flexcontroller phoneme jaw_drop "range" 0.000 1.000
     flexcontroller phoneme r_lowerlip_raise "range" 0.000 1.000
     flexcontroller phoneme l_lowerlip_raise "range" 0.000 1.000
     flexcontroller phoneme r_upperlip_raise "range" 0.000 1.000
     flexcontroller phoneme l_upperlip_raise "range" 0.000 1.000
     flexcontroller phoneme r_eyebrow_lowerer "range" 0.000 1.000
     flexcontroller phoneme l_eyebrow_lowerer "range" 0.000 1.000
     flexcontroller phoneme r_smile "range" 0.000 1.000
     flexcontroller phoneme l_smile "range" 0.000 1.000
     flexcontroller phoneme pucker "range" 0.000 1.000
	 flexcontroller phoneme r_frown "range" 0.000 1.000
flexcontroller phoneme l_frown "range" 0.000 1.000
flexcontroller phoneme r_cheek_puff "range" 0.000 1.000
flexcontroller phoneme l_cheek_puff "range" 0.000 1.000
flexcontroller phoneme r_nostril_inward "range" 0.000 1.000
flexcontroller phoneme l_nostril_inward "range" 0.000 1.000
flexcontroller phoneme jaw_clench "range" 0.000 1.000
flexcontroller phoneme mouth_full "range" 0.000 1.000
flexcontroller phoneme l_upper_eyelid_raise "range" 0.000 1.000
flexcontroller phoneme r_upper_eyelid_raise "range" 0.000 1.000
flexcontroller phoneme l_lower_eyelid_drop "range" 0.000 1.000
flexcontroller phoneme r_lower_eyelid_drop "range" 0.000 1.000
flexcontroller phoneme l_lower_eyelid_raise "range" 0.000 1.000
flexcontroller phoneme r_lower_eyelid_raise "range" 0.000 1.000
flexcontroller phoneme look_left "range" 0.000 1.000
flexcontroller phoneme look_right "range" 0.000 1.000
flexcontroller phoneme look_up "range" 0.000 1.000
flexcontroller phoneme look_down "range" 0.000 1.000
flexcontroller phoneme 	bitch	"range" 0.000 1.000
flexcontroller phoneme 	lower_lip_lower	"range" 0.000 1.000
flexcontroller phoneme 	upper_lip_raise	"range" 0.000 1.000
flexcontroller phoneme 	lower_lip_raise	"range" 0.000 1.000
flexcontroller phoneme 	upper_lip_lower	"range" 0.000 1.000
flexcontroller phoneme 	painbrows	"range" 0.000 1.000
flexcontroller phoneme 	tongue_extend	"range" 0.000 1.000
flexcontroller phoneme 	r_outer_eyebrow_lower	"range" 0.000 1.000
flexcontroller phoneme 	l_outer_eyebrow_lower	"range" 0.000 1.000
flexcontroller phoneme 	nostrils_outward	"range" 0.000 1.000
flexcontroller phoneme 	throat_bulge	"range" 0.000 1.000
flexcontroller phoneme 	upper_lip_middle_raise	"range"	0.000 1.000
flexcontroller phoneme 	upper_lip_middle_droop	"range"	0.000 1.000
flexcontroller phoneme 	lower_lip_middle_raise	"range"	0.000 1.000
flexcontroller phoneme 	lower_lip_middle_droop	"range"	0.000 1.000
flexcontroller phoneme 	ass_slap	"range"	0.000 1.000
flexcontroller phoneme 	ass_tighten	"range"	0.000 1.000
flexcontroller phoneme 	ass_spread	"range"	0.000 1.000
flexcontroller phoneme 	anal_spread	"range"	0.000 1.000
flexcontroller phoneme 	pussy_horny	"range"	0.000 1.000
flexcontroller phoneme 	pussy_spread	"range"	0.000 1.000
flexcontroller phoneme 	pussy_ovalize	"range"	0.000 1.000
flexcontroller eyes range -45 45 eyes_updown
flexcontroller eyes range -45 45 eyes_rightleft


    %lefteye_close =  lefteye_close
    %righteye_close =  righteye_close
    %r_inner_raiser =  r_inner_raiser
    %r_inner_lowerer =  r_inner_lowerer
    %r_outer_raiser =  r_outer_raiser
    %l_inner_raiser =  l_inner_raiser
    %l_inner_lowerer =  l_inner_lowerer
    %l_outer_raiser =  l_outer_raiser
    %r_cheek_raise =  r_cheek_raise
    %l_cheek_raise =  l_cheek_raise
    %jaw_drop =  jaw_drop
    %r_lowerlip_raise =  r_lowerlip_raise
    %l_lowerlip_raise =  l_lowerlip_raise
    %r_upperlip_raise =  r_upperlip_raise
    %l_upperlip_raise =  l_upperlip_raise
    %r_eyebrow_lowerer =  r_eyebrow_lowerer
    %l_eyebrow_lowerer =  l_eyebrow_lowerer
    %r_smile =  r_smile
    %l_smile =  l_smile
    %pucker =  pucker
	%r_frown = r_frown
%l_frown = l_frown
%r_cheek_puff = r_cheek_puff
%l_cheek_puff = l_cheek_puff
%r_nostril_inward = r_nostril_inward
%l_nostril_inward = l_nostril_inward
%jaw_clench = jaw_clench
%mouth_full = mouth_full
%l_upper_eyelid_raise = l_upper_eyelid_raise
%r_upper_eyelid_raise = r_upper_eyelid_raise
%l_lower_eyelid_drop = l_lower_eyelid_drop
%r_lower_eyelid_drop = r_lower_eyelid_drop
%l_lower_eyelid_raise = l_lower_eyelid_raise
%r_lower_eyelid_raise = r_lower_eyelid_raise
%look_left = look_left
%look_right = look_right
%look_up = look_up
%look_down = look_down
%bitch	=	bitch

%lower_lip_lower	=	lower_lip_lower
%upper_lip_raise	=	upper_lip_raise
%lower_lip_raise	=	lower_lip_raise
%upper_lip_lower	=	upper_lip_lower
%painbrows	=	painbrows
%tongue_extend	=	tongue_extend
%r_outer_eyebrow_lower	=	r_outer_eyebrow_lower
%l_outer_eyebrow_lower	=	l_outer_eyebrow_lower
%nostrils_outward	=	nostrils_outward
%throat_bulge	=	throat_bulge

%upper_lip_middle_raise	=	upper_lip_middle_raise
%upper_lip_middle_droop	=	upper_lip_middle_droop
%lower_lip_middle_raise	=	lower_lip_middle_raise
%lower_lip_middle_droop	=	lower_lip_middle_droop
%ass_slap	=	ass_slap
%ass_tighten	=	ass_tighten
%ass_spread	=	ass_spread
%anal_spread	=	anal_spread
%pussy_horny	=	pussy_horny
%pussy_spread	=	pussy_spread
%pussy_ovalize	=	pussy_ovalize

}

$eyeposition 0 0 70
$attachment "eyes" "ValveBiped.Bip01_Head1" 0.00 -0.23 68.44 absolute
$attachment "mouth" "ValveBiped.Bip01_Head1" 0.80 -5.80 -0.15 rotate 0 -80 -90

$cdmaterials "soulslayerzx/shaundi"
$surfaceprop "flesh"
$sequence ragdoll "bottomless.smd" ACT_DIERAGDOLL 1 fps 30.00
Mon, 19 Aug 2013 21:34:22

Soulslayerzx

fuck, it didn't work. it created the flexes in sfm, but they don't work and the view eyetarget doesn't do anything. I'm not sure how to configure the .vmt's of eyes. I'll just stick with eye bones/custom flexes I made from look up/down left/right
Tue, 20 Aug 2013 17:52:36

Selph80

It looks like you did everything correctly. If you want a quick way to check if that's true you can just copy the eyeball_l.vmt and eyeball_r.vmt files from a model with working eye-posing and paste them in the material folder for your model (backup the old ones, if they're there). It will then use the eye textures of the model you copied them from, but at least you can check if the qc was written properly.
Wed, 21 Aug 2013 23:43:56

Soulslayerzx

I have this on a new model:
//start eye/face data
$eyeposition 0 0 70

//head controllers
$attachment "eyes" "ValveBiped.Bip01_Head1" -0.00 -0.06 1.68 absolute
$attachment "mouth" "ValveBiped.Bip01_Head1" 0.80 -5.80 -0.15 rotate 0 -80 -90

$model Ada_Wong "Body.smd" {
	eyeball righteye "ValveBiped.Bip01_Head1" -0.03 -0.06 1.68 "eyeball_r" 1.00 4 "pupil_r" 0.63
	eyeball lefteye "ValveBiped.Bip01_Head1" 0.03 -0.06 1.68 "eyeball_l" 1.00 -4 "pupil_l" 0.63

	eyelid  upper_right "Body" lowerer 1 -1.68 neutral 0 -1.68 raiser 2 -1.68 split 0.1 eyeball righteye
	eyelid  lower_right "Body" lowerer 3 -1.68 neutral 0 -1.68 raiser 4 -1.68 split 0.1 eyeball righteye
	eyelid  upper_left "Body" lowerer 1 -1.68 neutral 0 -1.68 raiser 2 -1.68 split -0.1 eyeball lefteye
	eyelid  lower_left "Body" lowerer 3 -1.68 neutral 0 -1.68 raiser 4 -1.68 split -0.1 eyeball lefteye

	mouth 0 "mouth" "ValveBiped.Bip01_Head1" 0 1 0     // mouth illumination
	flexfile "Body" {
		$include "../standardflex_xsi.qci"
	}
	$include "../facerules_xsi.qci"
	$include "../bodyrules_xsi.qci"
}
//end eye/face data
Can you tell me what to erase and what things to put where?
Thu, 22 Aug 2013 01:06:29

Soulslayerzx

This worked on an old model, but not on a new one :( I don't know what i did wrong. i added the flex controller phoneme stuff , in fact this qc was modded off the other one(shaundi) been working at this for like 1-2 hours//
$cd "D:\GMODStuff\adawongnudebodymesh"
$modelname "soulslayerzx/Ada_Wong"
$mostlyopaque
$model "Ada_Wong" "body.SMD" {
	eyeball righteye "ValveBiped.Bip01_Head1" -0.03 -0.10 1.68 "eyeball_r" 1.00 4 "pupil_r" 0.63
	eyeball lefteye "ValveBiped.Bip01_Head1" 0.03 -0.10 1.68 "eyeball_l" 1.00 -4 "pupil_l" 0.63
     flexfile "body.vta" {
          flex "righteye_close" frame 1
          flex "r_inner_raiser" frame 2
          flex "r_inner_lowerer" frame 3
          flex "r_outer_raiser" frame 3
          flex "l_inner_raiser" frame 4
          flex "l_inner_lowerer" frame 5
          flex "l_outer_raiser" frame 6
		  flex "r_outer raiser" frame 7
		  flex "l_outer_lower" frame 8
		  flex "r_outer_lower" frame 9
          flex "jaw_drop" frame 10
          flex "r_lowerlip_raise" frame 11
          flex "l_lowerlip_raise" frame 12
          flex "r_upperlip_raise" frame 13
          flex "l_upperlip_raise" frame 14
          flex "r_eyebrow_lowerer" frame 15
          flex "l_eyebrow_lowerer" frame 16
          flex "r_smile" frame 17
          flex "l_smile" frame 18
          flex "pucker" frame 19
		  flex "r_frown" frame 20
		  flex "l_frown" frame 21
		  flex "jaw_clench" frame 22
		  flex "l_upper_eyelid_raise" frame 23
		  flex "r_upper_eyelid_raise" frame 24
		  flex "l_lower_eyelid_drop" frame 25
		  flex "r_lower_eyelid_drop" frame 26
		  flex "l_lower_eyelid_raise" frame 27
		  flex "r_lower_eyelid_raise" frame 28
		  flex "look_left" frame 29
		  flex "look_right" frame 30
		  flex "look_up" frame 31
		  flex "look_down" frame 32
		  flex "lower_lip_lower" frame 33
		  flex "upper_lip_raise" frame 34
		  flex "lower_lip_raise" frame 35
		  flex "upper_lip_lower" frame 36
		  flex "painbrows" frame 37
		  flex "throat_bulge" frame 38
		  flex "r_outer_eyebrow_lower" frame 39
		  flex "l_outer_eyebrow_lower" frame 40
flex	"upper_lip_middle_raise"	frame 41
flex	"upper_lip_middle_droop"	frame 42
flex	"lower_lip_middle_raise"	frame 43
flex	"lower_lip_middle_droop"	frame 44
flex "lefteye_close" frame 45
     }
     flexcontroller phoneme lefteye_close "range" 0.000 1.000
     flexcontroller phoneme righteye_close "range" 0.000 1.000
     flexcontroller phoneme r_inner_raiser "range" 0.000 1.000
     flexcontroller phoneme r_inner_lowerer "range" 0.000 1.000
     flexcontroller phoneme r_outer_raiser "range" 0.000 1.000
     flexcontroller phoneme l_inner_raiser "range" 0.000 1.000
     flexcontroller phoneme l_inner_lowerer "range" 0.000 1.000
     flexcontroller phoneme l_outer_raiser "range" 0.000 1.000
     flexcontroller phoneme jaw_drop "range" 0.000 1.000
     flexcontroller phoneme r_lowerlip_raise "range" 0.000 1.000
     flexcontroller phoneme l_lowerlip_raise "range" 0.000 1.000
     flexcontroller phoneme r_upperlip_raise "range" 0.000 1.000
     flexcontroller phoneme l_upperlip_raise "range" 0.000 1.000
     flexcontroller phoneme r_eyebrow_lowerer "range" 0.000 1.000
     flexcontroller phoneme l_eyebrow_lowerer "range" 0.000 1.000
     flexcontroller phoneme r_smile "range" 0.000 1.000
     flexcontroller phoneme l_smile "range" 0.000 1.000
     flexcontroller phoneme pucker "range" 0.000 1.000
	 flexcontroller phoneme r_frown "range" 0.000 1.000
flexcontroller phoneme l_frown "range" 0.000 1.000
flexcontroller phoneme jaw_clench "range" 0.000 1.000
flexcontroller phoneme l_upper_eyelid_raise "range" 0.000 1.000
flexcontroller phoneme r_upper_eyelid_raise "range" 0.000 1.000
flexcontroller phoneme l_lower_eyelid_drop "range" 0.000 1.000
flexcontroller phoneme r_lower_eyelid_drop "range" 0.000 1.000
flexcontroller phoneme l_lower_eyelid_raise "range" 0.000 1.000
flexcontroller phoneme r_lower_eyelid_raise "range" 0.000 1.000
flexcontroller phoneme look_left "range" 0.000 1.000
flexcontroller phoneme look_right "range" 0.000 1.000
flexcontroller phoneme look_up "range" 0.000 1.000
flexcontroller phoneme look_down "range" 0.000 1.000
flexcontroller phoneme 	lower_lip_lower	"range" 0.000 1.000
flexcontroller phoneme 	upper_lip_raise	"range" 0.000 1.000
flexcontroller phoneme 	lower_lip_raise	"range" 0.000 1.000
flexcontroller phoneme 	upper_lip_lower	"range" 0.000 1.000
flexcontroller phoneme 	painbrows	"range" 0.000 1.000
flexcontroller phoneme 	r_outer_eyebrow_lower	"range" 0.000 1.000
flexcontroller phoneme 	l_outer_eyebrow_lower	"range" 0.000 1.000
flexcontroller phoneme 	throat_bulge	"range" 0.000 1.000
flexcontroller phoneme 	upper_lip_middle_raise	"range"	0.000 1.000
flexcontroller phoneme 	upper_lip_middle_droop	"range"	0.000 1.000
flexcontroller phoneme 	lower_lip_middle_raise	"range"	0.000 1.000
flexcontroller phoneme 	lower_lip_middle_droop	"range"	0.000 1.000
flexcontroller eyes range -45 45 eyes_updown
flexcontroller eyes range -45 45 eyes_rightleft


    %lefteye_close =  lefteye_close
    %righteye_close =  righteye_close
    %r_inner_raiser =  r_inner_raiser
    %r_inner_lowerer =  r_inner_lowerer
    %r_outer_raiser =  r_outer_raiser
    %l_inner_raiser =  l_inner_raiser
    %l_inner_lowerer =  l_inner_lowerer
    %l_outer_raiser =  l_outer_raiser
    %jaw_drop =  jaw_drop
    %r_lowerlip_raise =  r_lowerlip_raise
    %l_lowerlip_raise =  l_lowerlip_raise
    %r_upperlip_raise =  r_upperlip_raise
    %l_upperlip_raise =  l_upperlip_raise
    %r_eyebrow_lowerer =  r_eyebrow_lowerer
    %l_eyebrow_lowerer =  l_eyebrow_lowerer
    %r_smile =  r_smile
    %l_smile =  l_smile
    %pucker =  pucker
	%r_frown = r_frown
%l_frown = l_frown
%jaw_clench = jaw_clench
%l_upper_eyelid_raise = l_upper_eyelid_raise
%r_upper_eyelid_raise = r_upper_eyelid_raise
%l_lower_eyelid_drop = l_lower_eyelid_drop
%r_lower_eyelid_drop = r_lower_eyelid_drop
%l_lower_eyelid_raise = l_lower_eyelid_raise
%r_lower_eyelid_raise = r_lower_eyelid_raise
%look_left = look_left
%look_right = look_right
%look_up = look_up
%look_down = look_down

%lower_lip_lower	=	lower_lip_lower
%upper_lip_raise	=	upper_lip_raise
%lower_lip_raise	=	lower_lip_raise
%upper_lip_lower	=	upper_lip_lower
%painbrows	=	painbrows
%r_outer_eyebrow_lower	=	r_outer_eyebrow_lower
%l_outer_eyebrow_lower	=	l_outer_eyebrow_lower
%throat_bulge	=	throat_bulge

%upper_lip_middle_raise	=	upper_lip_middle_raise
%upper_lip_middle_droop	=	upper_lip_middle_droop
%lower_lip_middle_raise	=	lower_lip_middle_raise
%lower_lip_middle_droop	=	lower_lip_middle_droop
}

$eyeposition 0 0 70
$attachment "eyes" "ValveBiped.Bip01_Head1" -0.00 -0.10 1.68 absolute
$attachment "mouth" "ValveBiped.Bip01_Head1" 0.80 -5.80 -0.15 rotate 0 -80 -90

$jigglebone "head hair front left 3" {
is_flexible {
yaw_stiffness 100
yaw_damping 5
pitch_stiffness 100
pitch_damping 5
tip_mass 20
length 20
angle_constraint 90 } }		

$jigglebone "head hair left back 6" {
is_flexible {
yaw_stiffness 100
yaw_damping 5
pitch_stiffness 100
pitch_damping 5
tip_mass 20
length 20
angle_constraint 90 } }	

$jigglebone "hair back 6" {
is_flexible {
yaw_stiffness 100
yaw_damping 5
pitch_stiffness 100
pitch_damping 5
tip_mass 20
length 20
angle_constraint 90 } }	

$jigglebone "head hair right back 6" {
is_flexible {
yaw_stiffness 100
yaw_damping 5
pitch_stiffness 100
pitch_damping 5
tip_mass 20
length 20
angle_constraint 90 } }	

$jigglebone "head hair left back 5" {
is_flexible {
yaw_stiffness 100
yaw_damping 5
pitch_stiffness 100
pitch_damping 5
tip_mass 20
length 20
angle_constraint 90 } }		

$jigglebone "head hair left back 5" {
is_flexible {
yaw_stiffness 100
yaw_damping 5
pitch_stiffness 100
pitch_damping 5
tip_mass 20
length 20
angle_constraint 90 } }	

$jigglebone "head hair right back 5" {
is_flexible {
yaw_stiffness 100
yaw_damping 5
pitch_stiffness 100
pitch_damping 5
tip_mass 20
length 20
angle_constraint 90 } }	

$jigglebone "head hair right middle 5" {
is_flexible {
yaw_stiffness 100
yaw_damping 5
pitch_stiffness 100
pitch_damping 5
tip_mass 20
length 20
angle_constraint 90 } }	

$jigglebone "head hair front right 4" {
is_flexible {
yaw_stiffness 100
yaw_damping 5
pitch_stiffness 100
pitch_damping 5
tip_mass 20
length 20
angle_constraint 90 } }		

$jigglebone "head hair fringe 3" {
is_flexible {
yaw_stiffness 100
yaw_damping 5
pitch_stiffness 100
pitch_damping 5
tip_mass 20
length 20
angle_constraint 90 } }	

$bodygroup Earpiece
{
studio "earpiece.smd"
blank
}

$cdmaterials "soulslayerzx/adawong"
$surfaceprop "flesh"
$sequence ragdoll "Body.smd" ACT_DIERAGDOLL 1 fps 30.00
Here's what I got my the qc_eyes.exe
//start eye/face data
$eyeposition 0 0 70

//head controllers
$attachment "eyes" "ValveBiped.Bip01_Head1" -0.00 -0.10 1.68 absolute
$attachment "mouth" "ValveBiped.Bip01_Head1" 0.80 -5.80 -0.15 rotate 0 -80 -90

$model Ada_Wong "Body.smd" {
	eyeball righteye "ValveBiped.Bip01_Head1" -0.03 -0.10 1.68 "eyeball_r" 1.00 4 "pupil_r" 0.63
	eyeball lefteye "ValveBiped.Bip01_Head1" 0.03 -0.10 1.68 "eyeball_l" 1.00 -4 "pupil_l" 0.63

	eyelid  upper_right "Body" lowerer 1 -1.68 neutral 0 -1.68 raiser 2 -1.68 split 0.1 eyeball righteye
	eyelid  lower_right "Body" lowerer 3 -1.68 neutral 0 -1.68 raiser 4 -1.68 split 0.1 eyeball righteye
	eyelid  upper_left "Body" lowerer 1 -1.68 neutral 0 -1.68 raiser 2 -1.68 split -0.1 eyeball lefteye
	eyelid  lower_left "Body" lowerer 3 -1.68 neutral 0 -1.68 raiser 4 -1.68 split -0.1 eyeball lefteye

	mouth 0 "mouth" "ValveBiped.Bip01_Head1" 0 1 0     // mouth illumination
	flexfile "Body" {
		$include "../standardflex_xsi.qci"
	}
	$include "../facerules_xsi.qci"
	$include "../bodyrules_xsi.qci"
}
//end eye/face data
Thu, 22 Aug 2013 06:35:12

Selph80

Can you tell me what the problem is exactly? Are the eyes not moving at all or are they moving incorrectly? I think the qc file looks fine, although the values for the eye positions seem a bit off (I'd expect them all to be higher to be honest, unless the model is tiny). To illustrate with one of my qc files:
$modelname "ME3/Jack_nude.mdl" $model Jacknude "Jack2.SMD"{ flexfile "Jack.vta" { defaultflex frame 0 flex "eyelid_r_upper_down" frame 1 flex "eyelid_l_upper_down" frame 2 flex "eyelid_r_upper_up" frame 3 flex "eyelid_l_upper_up" frame 4 flex "eyelid_r_lower_up" frame 5 flex "eyelid_l_lower_up" frame 6 flex "eyelid_r_lower_down" frame 7 flex "eyelid_l_lower_down" frame 8 flex "jaw_drop" frame 9 flex "eyebrow_right_up" frame 10 flex "eyebrow_left_up" frame 11 flex "eyebrow_right_down" frame 12 flex "eyebrow_left_down" frame 13 flex "eyebrow_right_inner_up" frame 14 flex "eyebrow_left_inner_up" frame 15 flex "eyebrow_right_inner_down" frame 16 flex "eyebrow_left_inner_down" frame 17 flex "eyebrow_right_outer_up" frame 18 flex "eyebrow_left_outer_up" frame 19 flex "eyebrow_right_outer_down" frame 20 flex "eyebrow_left_outer_down" frame 21 flex "lips_right_lower_down" frame 22 flex "lips_left_lower_down" frame 23 flex "lips_right_lower_up" frame 24 flex "lips_left_lower_up" frame 25 flex "lips_right_upper_down" frame 26 flex "lips_left_upper_down" frame 27 flex "lips_right_upper_up" frame 28 flex "lips_left_upper_up" frame 29 flex "lips_right_sad" frame 30 flex "lips_left_sad" frame 31 flex "lips_right_smile" frame 32 flex "lips_left_smile" frame 33 flex "lips_right_narrow" frame 34 flex "lips_left_narrow" frame 35 flex "lips_right_wide" frame 36 flex "lips_left_wide" frame 37 flex "cheeks_right_up" frame 38 flex "cheeks_left_up" frame 39 flex "cheeks_right_puff" frame 40 flex "cheeks_left_puff" frame 41 flex "cheeks_right_concave" frame 42 flex "cheeks_left_concave" frame 43 flex "nose_right_flare" frame 44 flex "nose_left_flare" frame 45 flex "nose_right_wrinkle" frame 46 flex "nose_left_wrinkle" frame 47 flex "lips_pucker" frame 48 } flexcontroller phoneme eyelid_r_upper_down "range" 0.000 1.000 flexcontroller phoneme eyelid_l_upper_down "range" 0.000 1.000 flexcontroller phoneme eyelid_r_upper_up "range" 0.000 1.000 flexcontroller phoneme eyelid_l_upper_up "range" 0.000 1.000 flexcontroller phoneme eyelid_r_lower_up "range" 0.000 1.000 flexcontroller phoneme eyelid_l_lower_up "range" 0.000 1.000 flexcontroller phoneme eyelid_r_lower_down "range" 0.000 1.000 flexcontroller phoneme eyelid_l_lower_down "range" 0.000 1.000 flexcontroller phoneme jaw_drop "range" 0.000 1.000 flexcontroller phoneme eyebrow_right_up "range" 0.000 1.000 flexcontroller phoneme eyebrow_left_up "range" 0.000 1.000 flexcontroller phoneme eyebrow_right_down "range" 0.000 1.000 flexcontroller phoneme eyebrow_left_down "range" 0.000 1.000 flexcontroller phoneme eyebrow_right_inner_up "range" 0.000 1.000 flexcontroller phoneme eyebrow_left_inner_up "range" 0.000 1.000 flexcontroller phoneme eyebrow_right_inner_down "range" 0.000 1.000 flexcontroller phoneme eyebrow_left_inner_down "range" 0.000 1.000 flexcontroller phoneme eyebrow_right_outer_up "range" 0.000 1.000 flexcontroller phoneme eyebrow_left_outer_up "range" 0.000 1.000 flexcontroller phoneme eyebrow_right_outer_down "range" 0.000 1.000 flexcontroller phoneme eyebrow_left_outer_down "range" 0.000 1.000 flexcontroller phoneme lips_right_lower_down "range" 0.000 1.000 flexcontroller phoneme lips_left_lower_down "range" 0.000 1.000 flexcontroller phoneme lips_right_lower_up "range" 0.000 1.000 flexcontroller phoneme lips_left_lower_up "range" 0.000 1.000 flexcontroller phoneme lips_right_upper_down "range" 0.000 1.000 flexcontroller phoneme lips_left_upper_down "range" 0.000 1.000 flexcontroller phoneme lips_right_upper_up "range" 0.000 1.000 flexcontroller phoneme lips_left_upper_up "range" 0.000 1.000 flexcontroller phoneme lips_right_sad "range" 0.000 1.000 flexcontroller phoneme lips_left_sad "range" 0.000 1.000 flexcontroller phoneme lips_right_smile "range" 0.000 1.000 flexcontroller phoneme lips_left_smile "range" 0.000 1.000 flexcontroller phoneme lips_right_narrow "range" 0.000 1.000 flexcontroller phoneme lips_left_narrow "range" 0.000 1.000 flexcontroller phoneme lips_right_wide "range" 0.000 1.000 flexcontroller phoneme lips_left_wide "range" 0.000 1.000 flexcontroller phoneme cheeks_right_up "range" 0.000 1.000 flexcontroller phoneme cheeks_left_up "range" 0.000 1.000 flexcontroller phoneme cheeks_right_puff "range" 0.000 1.000 flexcontroller phoneme cheeks_left_puff "range" 0.000 1.000 flexcontroller phoneme cheeks_right_concave "range" 0.000 1.000 flexcontroller phoneme cheeks_left_concave "range" 0.000 1.000 flexcontroller phoneme nose_right_flare "range" 0.000 1.000 flexcontroller phoneme nose_left_flare "range" 0.000 1.000 flexcontroller phoneme nose_right_wrinkle "range" 0.000 1.000 flexcontroller phoneme nose_left_wrinkle "range" 0.000 1.000 flexcontroller phoneme lips_pucker "range" 0.000 1.000 flexcontroller eyes range -45 45 eyes_updown flexcontroller eyes range -45 45 eyes_rightleft %eyelid_r_upper_down = eyelid_r_upper_down %eyelid_l_upper_down = eyelid_l_upper_down %eyelid_r_upper_up = eyelid_r_upper_up %eyelid_l_upper_up = eyelid_l_upper_up %eyelid_r_lower_up = eyelid_r_lower_up %eyelid_l_lower_up = eyelid_l_lower_up %eyelid_r_lower_down = eyelid_r_lower_down %eyelid_l_lower_down = eyelid_l_lower_down %jaw_drop = jaw_drop %eyebrow_right_up = eyebrow_right_up %eyebrow_left_up = eyebrow_left_up %eyebrow_right_down = eyebrow_right_down %eyebrow_left_down = eyebrow_left_down %eyebrow_right_inner_up = eyebrow_right_inner_up %eyebrow_left_inner_up = eyebrow_left_inner_up %eyebrow_right_inner_down = eyebrow_right_inner_down %eyebrow_left_inner_down = eyebrow_left_inner_down %eyebrow_right_outer_up = eyebrow_right_outer_up %eyebrow_left_outer_up = eyebrow_left_outer_up %eyebrow_right_outer_down = eyebrow_right_outer_down %eyebrow_left_outer_down = eyebrow_left_outer_down %lips_right_lower_down = lips_right_lower_down %lips_left_lower_down = lips_left_lower_down %lips_right_lower_up = lips_right_lower_up %lips_left_lower_up = lips_left_lower_up %lips_right_upper_down = lips_right_upper_down %lips_left_upper_down = lips_left_upper_down %lips_right_upper_up = lips_right_upper_up %lips_left_upper_up = lips_left_upper_up %lips_right_sad = lips_right_sad %lips_left_sad = lips_left_sad %lips_right_smile = lips_right_smile %lips_left_smile = lips_left_smile %lips_right_narrow = lips_right_narrow %lips_left_narrow = lips_left_narrow %lips_right_wide = lips_right_wide %lips_left_wide = lips_left_wide %cheeks_right_up = cheeks_right_up %cheeks_left_up = cheeks_left_up %cheeks_right_puff = cheeks_right_puff %cheeks_left_puff = cheeks_left_puff %cheeks_right_concave = cheeks_right_concave %cheeks_left_concave = cheeks_left_concave %nose_right_flare = nose_right_flare %nose_left_flare = nose_left_flare %nose_right_wrinkle = nose_right_wrinkle %nose_left_wrinkle = nose_left_wrinkle %lips_pucker = lips_pucker eyeball righteye "ValveBiped.Bip01_Head" -1.22 -1.60 65.63 "eyeball_r" 1.00 2 "pupil_r" 0.63 eyeball lefteye "ValveBiped.Bip01_Head" 1.18 -1.60 65.62 "eyeball_l" 1.00 -2 "pupil_l" 0.63 } $attachment "eyes" "ValveBiped.Bip01_Head" -0.02 -1.60 65.62 absolute $attachment "mouth" "ValveBiped.Bip01_Head" 0.80 -5.80 -0.15 rotate 0 -80 -90 $model Jack_hair "Jack_hair.SMD" $eyeposition 0 0 70 $cdmaterials "models/ME3/Jack/" $sequence idle "Jack2" fps 1 $mostlyopaque
As you can see my values for
eyeball righteye "ValveBiped.Bip01_Head" -1.22 -1.60 65.63 "eyeball_r" 1.00 2 "pupil_r" 0.63 eyeball lefteye "ValveBiped.Bip01_Head" 1.18 -1.60 65.62 "eyeball_l" 1.00 -2 "pupil_l" 0.63
and
$attachment "eyes" "ValveBiped.Bip01_Head" -0.02 -1.60 65.62 absolute
are much higher than your values.
Thu, 22 Aug 2013 21:27:42

Soulslayerzx

i have a new .qc yesterday was that the original model was small so i had to size it big, so I concluded the eye coordinates were for the original small model. The problem is that there are no pupils, and the vieweyetarget is in the front, so I'm not sure what to do. The eyeballs are hemispheres, so I duped them and flipped em to make a kinda eyeball thing. I've done this qc eyes thing like 10x... I'm not sure what's wrong my .qc. Do you have steam???? :( Going to post my new .qc here soon.
Tue, 27 Aug 2013 01:00:39

Soulslayerzx

i think we need to re uv map or something for certain eye models to wrok??
Wed, 09 Oct 2013 00:27:02

Mr. X

i am fairly certain i heard somewhere that you need a "forward" attachment for eyes to work in SFM
Sat, 19 Oct 2013 01:37:16

ashleyco

Are the eyes not moving at all or are they moving incorrectly?