# SetObjectScale

## Description

Modifies the object size in the X, Y, and Z directions. A scale value of 1,1,1 returns the object to its original size, a scale value of 2 would make the object twice as big, 0.5 would be half the size, and so on. This command does not stack, so calling it twice with a value of 2 would not make it 4 times bigger, it would remain 2 times bigger. Note that using different values for the X, Y, and Z directions like so 1,2,1 is called a non-uniform scale, whilst 1.5,1.5,1.5 would be a uniform scale. Non-uniform scaling requires that any shader used by this object use the agk_WorldNormal matrix for any normal transformations to look correct. If this object was loaded with LoadObjectWithChildren command and has child objects, or has objects attached to it with FixObjectToObject, then they will also be scaled by this amount in addition to their own scaling. Note that this will not work correctly with bone animated objects, use SetObjectScalePermanent instead.

## Definition

SetObjectScale( objID, x, y, z )

void agk::SetObjectScale( UINT objID, float x, float y, float z )

## Parameters

- objID - The ID of the object to modify.
- x - The amount to scale the object on the X axis.
- y - The amount to scale the object on the Y axis.
- z - The amount to scale the object on the Z axis.