Eyeball

From Valve Developer Community
Jump to: navigation, search
The Demoman's eyeball, using the EyeRefract shader.
Alyx's eyeball in Episode Two, using the obsolete Eyes shader.
A vortigaunt's largest eye. The iris covers its entire surface.

Eyeball is a property of $model. It consists of two components:

  1. An 'eye white' surface on the model, with a unique material.
  2. A dynamic iris decal that travels over the eye white material to simulate the eye looking in different directions.
Tip:An iris material can cover the entire surface of the eye if need be.

Parameters

Tip:The qc_eyes tool can help you manage the potentially confusing string of numbers needed for this command.
<name>
Name of eyeball, used to match eyelid rules. For humans, use righteye and lefteye.
<bone_name>
The bone which the eye is parented to, typically the head.
<X> <Y> <Z>
World location of the center of the ball of the eye. While your eye doesn't need to be a sphere in the model, Source will always map the material according to an invisible ball.
<material_name>
Material above which the iris material will be drawn. Make sure every eye has a unique one! You can either use a material with the Eyes shader, or the EyeRefract shader, but the latter is pretty much always recommended due to its more accurate rendering methods and more parameters to mess with.
<diameter>
Width of the eyeball when viewed from the front. Used to prevent the iris from rolling inside the head.
Note:The iris will travel in a circle even if the eyeball is oval. Your model's flex should accommodate for this. To do: How?
<angle>
Default yaw offset (from directly forward) for iris. Humans are typically 2-4 degrees wall-eyed. Not setting this correctly will result in either your characters appearing cross-eyed, or if you've compensated by misplacing the ball of the eye, them not tracking side to side. Should be a negative value for the left eye, and a positive value for the right eye.
<iris_material>
Material used as the iris texture. (This property is deprecated)
<iris_scale>
Scale of the iris texture. The model's UV map does not influence the eye material in any way. To do: While this is true for EyeRefract, is this also true for the Eyes shader?

Example

Hover your mouse over each value for its description.

$model "female_01" "female_01_reference_RE.smd"
{
	eyeball righteye ValveBiped.Bip01_Head1 -1.261 -3.702 64.974 eyeball_r 1 4 pupil_r 0.66
}

See also