rotate_points
Updates the current point_orientation values of a point-based geometry by the specified rotation. This affects the orientation of instances, as well as point shapes (if they are not aligned to the camera). However, it does not affect the rotation of the geometric object as a whole. In addition, this compound also updates the point_normal, point_tangent and point_binormal properties if they are present.
Inputs
points
The geometry with points to be rotated.
weights
The proportion of the rotation to apply.
- A weight of 0 gives no rotation.
- A weight in the range 0—1 gives a rotation by a proportion of the given angle.
- A weight of 1 means gives a rotation of the given angle.
- A weight above 1 gives a rotation greater than the given angle.
- A weight below 0 gives a rotation in the opposite direction.
If nothing is connected, the default weight is 1 for all points. This is an interpreted auto port that accepts the following types:
- A single
floatis interpreted as a constant value for all points. - An
array<float>is interpreted as values per point. The array gets resized to match the number of points, if necessary. - A
stringis interpreted as the name of an existing geo property, and its values are used. - A
ScalarFieldis sampled at each position of the geometry's components. - An
array<long>specifies the indices to be assigned a value of 1. Other indices are assigned 0.
axis
The axis of rotation. The vector does not need to be normalized.
This is an interpreted auto port that accepts the following types:
- Connect a single
float3to use its value for all points. - Connect an
array<float3>to use the corresponding element of the array for each point. The array gets resized to match the number of points, if necessary. - Connect a
stringto use the vector given by the property of that name (float3per point). - Connect a
VectorFieldto use the value of the field at the point's current position.
Note that it is also possible to use scalar values instead of vectors, in which case the single element is used for all three axes. However this is almost never useful for specifying an axis.
radians
The angle of rotation in radians.
local_space
Controls how the new rotation and old rotation are combined. When it is true, the randomized rotation is applied in the current local space of the point, so for example a rotation about Y occurs around the local Y axis of the point's current orientation.
Outputs
out_points
The geometry with rotated points.
point_orientation
The point_orientation values that were set on the geometry.
