This article's documentation is for anything that uses the Source engine. Click here for more information.

$scale

From Valve Developer Community
Jump to navigation Jump to search
English (en)Translate (Translate)
[[|Source Engine]]

$scale is a QC command available in all Source Source games. It uniformly multiplies the size of all subsequent model files. It does not affect values defined in the QC itself (e.g., $attachment locations).

Note.pngNote:$scale only affects model files that come after it in the QC. Specify it before any file references!
Note.pngNote:$scale also accepts negative values. This can be used to flip/mirror animations or models if the compiled model is then decompiled. Note that the model's normals will be inverted and will be rotated 180 degrees backwards, this can be easily fixed in a Source engine compatible model editor or by using the angles parameter in a $sequence block.
Note.pngNote:$definebone will cause the defined bone, and the vertices assigned to it, to be scaled from their defined local position instead of the model file's origin.
Warning.pngWarning:$scale does not affect flex animation when using the VTA format. You have to change the size of the model to match $scale value, and then export your VTA file. This limitation can be bypassed by using the DMX format.
Warning.pngWarning:$scale does not affect $proceduralbones.
Warning.pngWarning:Negative values cause the prop to become upside-down and flips the textures to the opposite side of their mesh.

Sequences or animations can be scaled individually by specifying the "scale" option, see below for an example.

Note.pngNote:scale option will be multiplied with $scale. If you make $scale 0.5 and scale value in $sequence 0.5, the final result will be 0.25 from the original size.

Example

$scale

$modelname		"weapons/shell.mdl"
$cdmaterials	"models/weapons/"

$scale		3		// before any model files such as SMD or DMX)
$body		shell	"shell_ref.smd"
$sequence	idle	"shell_idle.smd"

$sequence scale

$sequence spin fan_spin.smd {
        fps 30
        scale 3
}

Values for International System of Units

Values for scaling meshes if the model was based on SI. Unscaled models may have incorrect dimensions.

1 foot = 16 units
Millimeters 0.05249
Centimeters 0.5249
Meters 52.496
Kilometers 52,496
1 foot = 12 units
Millimeters 0.03937
Centimeters 0.3937
Meters 39.37
Kilometers 39,370

See also

Dimensions