Log inGet started
World

Builtin Library

Branchmain
Branchesmainpublish
Commite8beb5604c

README.md

instances.randomize_transform (procNode)

A per-instance random transform for a point cloud: a turn about +Y, an optional lean and a uniform scale, each drawn from the point's own id by a portable hash of the seed, so one seed reproduces the same transforms on every run, machine and platform, and a point keeps its transform when the cloud grows around it. The point position is the translation, so the offset is zero. The record is read over whatever points the node it is wired into places (instances.place, instances.on_points, instances.pick_random, instances.pick_by_attribute, instances.variants).

Inputs

  • seed (Float, default 1). Picks which yaw, tilt and scale each instance draws.
  • yaw (Bool, default true). true spins each instance by its own angle around +Y, anywhere in the full turn. false leaves each instance facing the way its source does.
  • tilt (Float, default 0, at least 0). The furthest an instance may lean off upright, in degrees. Each instance draws its own lean between 0 and this, about its own horizontal axis, applied on top of the yaw.
  • scaleMin (Float, default 1). The smallest size an instance draws. Each instance takes one value between this and scaleMax and applies it to all three axes.
  • scaleMax (Float, default 1). The largest size an instance draws.

Outputs

  • transform (Transform). A record of offset (zero), orient (a Vec4 quaternion field) and scale (a Vec3 field).
local jitter = g.instances.randomize_transform({ seed = 7, tilt = 10, scaleMin = 0.8, scaleMax = 1.2 })