Geometry & 3D node

Geometry Transform

Moves, turns and scales a mesh inside the geometry rather than at draw time — so raycasts, point sampling and everything downstream see the shape where you put it. Rotation is in degrees, applied X then Y then Z. Normals are carried through correctly even under non-uniform scale, so shading stays right when you squash something.

Inputs

PortTypeDefault
GeometryThe mesh to move. The source is never modified — this works on its own copy, because the producer and every other consumer share the original.structure—
Position XMoves the mesh along X, in Grafit units. Inside the geometry, so raycasts and point sampling see it where you put it.float0
Position YMoves the mesh along Y, in Grafit units.float0
Position ZMoves the mesh along Z, in Grafit units.float0
Rotate XTurns the mesh around X, in degrees. Applied X, then Y, then Z — the same order and sense as Geometry to Points, so a mesh and a cloud rotate together.float0
Rotate YTurns the mesh around Y, in degrees.float0
Rotate ZTurns the mesh around Z, in degrees.float0
Scale XScales along X. Non-uniform scale is fine — normals are carried through the inverse transpose, so a squashed shape still shades correctly. A scale of 0 is nudged away from zero, since it would collapse the mesh and make the normal matrix singular.float1
Scale YScales along Y.float1
Scale ZScales along Z.float1
OriginWhich point of the mesh moves, turns and scales, and lands on Position: Keep (its own origin), Bounds Center, Bounds Bottom (a model standing on the floor) or Custom (Origin X/Y/Z). It becomes the geometry's new 0,0,0 downstream.int0
Origin XCustom origin, X, in the source geometry's units. This point lands on Position and is what Rotate and Scale turn about.float0
Origin YCustom origin, Y, in the source geometry's units. This point lands on Position and is what Rotate and Scale turn about.float0
Origin ZCustom origin, Z, in the source geometry's units. This point lands on Position and is what Rotate and Scale turn about.float0

Outputs

PortType
GeometryThe mesh to move. The source is never modified — this works on its own copy, because the producer and every other consumer share the original.structure
Vertex Countint
Triangle Countint

How It Works

Geometry Transform moves, turns and scales a mesh inside the geometry rather than at draw time. That distinction is the whole point: raycasts, point sampling, colliders and every other downstream consumer see the shape where you put it, not where a renderer happened to draw it.

Rotation is in degrees, applied X then Y then Z. Normals are carried through correctly even under non-uniform scale, so shading stays right when you squash something — the naïve implementation of this is wrong and looks it.

Use Cases

  • Assemble a model — Place several shapes with Transform, then Combine them into one mesh.
  • Move a collider — A Mesh node's position does not reach the collision geometry; this does.
  • Pose for raycasting — Picking only works against the geometry's real coordinates.
  • Non-uniform squash — Scale Y alone, with normals that still shade correctly.
  • Animate the shape itself — An LFO on Rotate Y turns the mesh for every consumer at once.

Tips

  • Use the Mesh node's own Position/Rotate when you only want to place it in the scene; use this when the change must reach raycasts, points and collisions.
  • Rotation order is X, then Y, then Z. Chain two Transforms when you need a different order.
  • Transform before Array or Combine to set the unit that gets repeated; after, to move the whole result.
  • Non-uniform scale plus Geometry Noise gives anisotropic displacement — sometimes exactly what you want.

Open Geometry Transform in the interactive catalog →

Geometry Transform is one of 381 nodes in Grafit Pro.

Free download. Every feature for 7 days, no card. Then €99.99 once — or keep playing your projects as a Player.

More Geometry & 3D nodes