Define a baseline for object scaling

If you create a geometry in Houdini and scale it you’ll find that the object scales from the centre, which seems pretty sensible but if you consider that as the object scales it will push beneath the grid which can be frustrating when modelling or setting up an environment.

To overcome this problem, we can reference the parameters of the object, so that when the vertical (Y) scale value changes, so does the objects centre value, essentially moving the object as it is scaled.

We’ll use an example to demonstrate.

Create a new box object:

Double click on the geometry node in the editor to enter its network which will only contain a single box node:

Using the ‘Center’ property, move the box upwards to is sits on top of the grid:

Great! However, if we try and scale the object using the ‘Uniform Scale’ slider, the box will extend beyond the grid:

To fix this, right click on the size Y field and select ‘Copy Parameter’:

Right click on the Center Y field and select ‘Paste Relative References’:

So the value of Centre Y will always be the same as Size Y, however this has caused a slight problem, the box object is now above the grid because its size value is 1, and our centre value was 0.5.  To rectify this we can adjust the expression to reach the 0.5 value we need:

ch(“sizey”)/2

In the above modified expression we are saying take the value of the size y channel and divide it by 2, giving us the 0.5 starting value:

Now it doesn’t matter how we modify our box size, it will always sit on the grid: