Nodes/Avatar Graph/Transform Tilt
ComfyUI Node

Transform Tilt

Twisting Geometry Around Its Own Axis

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Transform Tilt
  • BPY_OBJ
  • BPY_OBJ
value0.00
mirrorfalse
use_proportional_editfalse
proportional_edit_falloff
proportional_size1.00
use_proportional_connectedfalse
use_proportional_projectedfalse
snapfalse
release_confirmfalse
use_accuratefalse

Transform Tilt wraps Blender's transform.tilt, and it's the node to reach for when you want geometry that rotates around its own path rather than sliding along an axis. In Blender, tilt is the operator that twists a curve or a line of extruded edges around the tangent direction - think of a ribbon twisting into a spiral, or a tube of edges corkscrewing. It's one of the more specialized transform tools, and in the flat, image-textured world of avatar mesh layers it's niche - but for hair, horns, tails, or any tube-like part you extrude yourself, it's exactly the tool.

How it works

Like every Transform_ node here, this one is generated from Blender's operator API. Feed it a BPY_OBJ, it drops into edit mode and runs bpy.ops.transform.tilt(value=...). The value float is the twist amount in degrees - crank it up and the selected geometry rotates around the first (tangent) axis of the selection. mirror flips the twist direction so both sides of a symmetric part twist symmetrically, which matters when you're doing a pair of horns or a parted hairstyle.

The proportional-editing trio (use_proportional_edit, proportional_edit_falloff, proportional_size) is where this node gets interesting. With proportional editing on and a decent falloff radius, the twist rolls out gradually from the pivot instead of hitting everything uniformly - that's how you get a natural curl instead of a hard spiral.

Honest caveat: on a flat, single-plane mesh (which is what Create Mesh Layer gives you), tilt doesn't have much to grab. It needs extruded or curve-like geometry to be visible. If your avatar is pure flat layers, skip this node; if you're adding extruded detail, it's a sleeper hit.

Inputs worth knowing

The full input list is value, mirror, the proportional-editing set, snap, release_confirm, and use_accurate. For a beginner the only ones to touch are value and the proportional trio. Output is BPY_OBJ - same mesh object, chained to the next node.

Installing

Tilt ships in the Avatar Graph pack (avatechai/avatar-graph-comfyui), which pins bpy==3.6.0 and therefore Python 3.10:

conda create --name comfyui python=3.10
conda activate comfyui

Install via ComfyUI Manager (search Avatar Graph) or:

cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
cd avatar-graph-comfyui && python -m pip install -r requirements.txt

Restart with python main.py --enable-cors-header for the live editor preview. No extra model downloads for this node - the pack's only real model download is the SAM segmentation model, and you only need that for the image-segmentation stage of the workflow.

Categoryblender

Inputs (11)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ
valueoptFLOAT0.00-3.402823466385289e+38–3.402823466385289e+38
mirroroptBOOLEANfalse
use_proportional_editoptBOOLEANfalse
proportional_edit_falloffoptCOMBO8 options: SMOOTH, SPHERE, ROOT, INVERSE_SQUARE, SHARP, LINEAR, +2
proportional_sizeoptFLOAT1.009.999999974752427e-7–999999995904
use_proportional_connectedoptBOOLEANfalse
use_proportional_projectedoptBOOLEANfalse
snapoptBOOLEANfalse
release_confirmoptBOOLEANfalse
use_accurateoptBOOLEANfalse

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ