 |
01 · OBJECTS & PRIMITIVES
Scene objects and generators
An object-level scene (/obj) with several geometry objects, each holding its own SOP network.
- Generators: Box, Sphere (polygon mesh and icosahedral polygon), Torus, Grid, Circle, and NURBS / Bezier curves.
- The full object Transform tab: transform and rotation order, pivot, uniform scale, pre-transform, Keep Position When Parenting, Child Compensation.
- Object parenting and world transforms; the viewport shows points and curve hulls.
boxspheretoruscirclenull
|
 |
02 · ATTRIBUTES
Attribute Create & Attribute Randomize
Each point of a sphere gets a random color (Cd). The spreadsheet below the viewport reads positions and colors straight from the library.
- Point, vertex, primitive and detail attributes: int, float and string, with sizes 1–4 and type info.
- Paged, copy-on-write attribute storage shared between nodes; operations are limited to group members.
- A HAPI-style attribute API:
gnGetAttributeInfo, gnGetAttributeFloatData, …
attribcreateattribrandomize
|
 |
03 · GROUPS
Group Range & Group Create
Every second primitive of a box goes into group gr (Select 1 of 2); random colors are then applied to the group alone.
- Ranges: start/end, relative, equal partitions, inversion, select N of M with offset.
- Per-connected-piece ranges, collision groups and merge methods.
- Group Create can filter by bounding region, normal, edge angle/length and random chance; point, primitive and edge groups are supported.
grouprangegroupcreate
|
 |
04 · CUTTING
Clip with capping
A torus is cut by a plane and the openings are filled with caps. Only the caps (group filled) are recolored.
- Keep above, below or both sides; set origin, direction, distance and snap tolerance.
- Attributes are interpolated onto the new points; caps with holes are bridged the same way as in Houdini.
- The Normal SOP recomputes point, vertex, primitive or detail normals with a cusp angle.
clipnormal
|
 |
05 · DISTRIBUTION
Scatter
Thousands of points are spread evenly over a sphere's surface, and each one inherits the color of the surface beneath it.
- Sets a total count, a density, or a density attribute; also scatters per primitive or in texture space.
- Relax iterations push points apart for an even, blue-noise-like layout, using a parallel BVH.
- Transfers attributes and groups from the source surface; writes
sourceprim and sourceprimuv.
scatter
|
 |
06 · INSTANCING
Copy to Points
A torus is copied onto points scattered over a grid. Every copy picks up the random color of its target point, giving thousands of objects that update interactively.
- Orients and scales copies by
N, up, orient, pscale, scale, trans and transform.
- Can copy, multiply, add or subtract attributes from the target, and copies target groups.
- Copy and Transform makes N copies with incremental transforms.
copytopointscopyxformgrid
|
 |
07 · NOISE
Mountain
Fractal noise pushes a torus's points along their normals and turns it into an organic shape.
- A Unified Noise implementation: Perlin, Simplex, Worley, Alligator, Flow, Sparse and Sinusoid bases.
- Fractals: Standard (fBm), Terrain and Hybrid Terrain, with octaves, lacunarity and roughness.
- Fold, Complement, Gain/Bias, clipping, Lattice and Gradient Warp; time-dependent noise for animation.
mountain
|
 |
08 · DEFORMATION
Bend
A bend deformer applied to a torus inside a capture region, with random per-primitive colors.
- Bend by angle or goal direction, plus Twist, Length Scale (with Preserve Volume), Taper and Squish, and a profile ramp.
- Capture origin, direction, length and up vector; limit the deformation or deform in both directions.
- Vectors, normals and quaternions are transformed through the deformation Jacobian.
bendxform
|
 |
09 · MODELING
PolyExtrude
The faces in group gr from the previous step are extruded with an inset, turning the flat stripes into raised ribs.
- Extrudes individual elements or connected components; settings include distance, inset, twist, divisions and thickness/twist ramps.
- Can extrude along a curve from the second input; also extrudes open curves into ribbons.
- Front, back and side output groups; unwrapped UVs for the sides; vertex normals.
polyextrude
|
 |
10 · MODELING
PolyBevel
Every edge of a box is rounded with a 12-division fillet. Corner patches are generated and normals are recomputed afterwards.
- Bevels edges and points; fillet shapes are Round, Chamfer, Crease, Solid and None.
- Profiles come from a ramp or a curve; sampling can be uniform, adaptive or by control points.
- Collision detection, sliding on ring edges and stop-loop limits.
polybevelnormal
|
 |
11 · BOOLEANS
Boolean
Boolean operations on polygon meshes, with attributes transferred to the result.
- Union, Intersect, Subtract (A − B, B − A or both) and Shatter into pieces of A, B or both.
- Point, vertex, primitive and detail attributes and groups are carried over from both inputs, and values are interpolated at the new points along the seam.
boolean
|
 |
12 · UV
UV Texture
A torus, a sphere and a box each get texture coordinates from their own UV Texture node and are combined into one geometry with Merge. The test texture shows how the UVs are laid out.
- Projections: Orthographic, Polar, Cylindrical, Face, Rows & Columns and Modify Source; Uniform, Average and Arc Length spacing for curves.
- UVs are stored on points or vertices (or chosen automatically), with scale, offset, rotation and Fix Boundary Seams.
- Merge combines up to 10 inputs and unites their attributes, types and groups the way Houdini does.
texturemergetorusspherebox
|
 |
13 · ANIMATION
Channels and expressions
An animated castle scene with about 130 nodes. Its timing, tower count, wall radius and wind are read from the channels of the null object ctrl; the parameters highlighted in green there are driven by expressions.
- Any parameter component can hold an expression with time variables (
$T, $F, $FPS, …) and math functions.
ch() references read other parameters by absolute or relative path, and the paths are updated when a node is renamed.
- Changing the time recooks only the nodes that depend on it; object transforms and parenting work as in Houdini.
nullgeoch()$T
|