Slope Selector Maths

Hi Stephen,

How does the 0.0 - 1.0 range in the slope selector device relate to real world degrees? I thought at first it was sin values but that seems incorrect past 45 degrees?

Thanks in advance.

R.

The 0-1 range is actually a “normalized angle”. What this means is that it is an angle that is not actually dependent on the vertical scale you specify in the project settings – so the selector won’t give different results if you change the vertical scale, but on the other hand its more problematic to convert it to an actual angle.

0 = 0 degree slope
1 = 90 degree slope, ie a vertical cliff. This is a limiting value, as it cannot be exactly reached with a heightfield (as the resolution increases you can get closer and closer, but never quite reach a 90deg angle)

Unfortunately intermediate values have no simple way to convert to what their “actual angle” – that is, taking into account the vertical scale – is.

The main reason why it doesn’t report an actual angle is to avoid confusion when you change the vscale and the selector angle changes – however, a simple converted readout would be useful and wouldn’t cause too much trouble. I’ll put it on the list!

Thanks for the explanation Stephen! :smiley:

Would it be possible to pm me a math formula I could use outside of world machine to generate these slope angle values. Assume I am using a fixed world scale. This is for an automation process to specify values to a macro generating splat maps etc, inside world machine.

Thanks,

R.

you can transform it according to this formula: (angles are in degrees)

From normalized angle to real angle:

true angle = arctan( vertical_scale_in_meters / 8000m * tan(90 * normalizedangle))

From real angle to normalized angle:

norm angle = atan( tan(angle) * 8000m / vertical_scale_in_meters ) / 90

Perfect, thank you Stephen!

Regards,

R.