Twist deformation around the vertical axis
In your harnessGodot shaderMIT
Twist a mesh around its object Y axis by an angle that grows with height, with an optional wobble over time, rotating normals along so lighting follows the spiral.

What it takes and gives
- Shader type
- spatial
- Parameters
- albedo (vec4 = 0.85, 0.55, 0.25, 1), stripe_color (vec4 = 0.3, 0.15, 0.08, 1), twist_degrees_per_unit (float = 160), pivot_height (float = -0.6), wobble_degrees (float = 30), wobble_speed (float = 1.5), stripes (float = 6), roughness (float = 0.5)
- Use it on
- A mesh with enough vertical subdivisions (the demo box uses 48).
- Result
- An orange and brown striped bar twisted into a spiral that winds back and forth.
- Renderers
- compatibility: compiled and rendered, forward plus: not verified, mobile: not verified
- Placement
- res://baltor/godot_shaders/twist_deform/
Limits. Normals ignore the shear term of the twist, so strong twists look slightly off in lighting. Collision and culling use the untwisted shape. Low vertex counts produce faceted spirals.
Details
- Kind
- Godot shader
- Engine
- Godot 4.3 or later
- Files
- 11 files, 51.8 KB
- Licence
- MIT
- Declared effects
- reads files, runs commands
- Checked with
- Godot 4.7.2, opengl3 compatibility (Mesa llvmpipe, Xvfb)
- Checks
- contract static, engine run, engine log clean, shader in scene, capture written, render not uniform, shader changes pixels
- Techniques
- Height-proportional rotation about an axis (twist modifier), Rotating normals and tangents with the vertex
- Tags
- godot shader, spatial, twist, deformation, vertex animation, spiral, modifier
- Identity
library.supply.creative_originals.f59ace7d7fd6be25e6f1b5fb.50cdbebffc44e6df- Version
50cdbebffc44e6dfc0547cf4d5e4b4ae6de251c8887de9a5a0a268f2d54f2eb1
The version is the SHA-256 of the item your harness downloads; every file in it names its own checksum.
Something wrong with this item, its rights or its safety? Report it on the support page, or from your harness after a download.

