UV Blender Sphere (backend)
Globes, blobs, and the polar pinches
- trimesh
- unwrapped_mesh
- info
A globe, a planet, a ball, a dome, a lumpy organic blob that's vaguely spherical - all of these have one sensible unwrap, and it's spherical projection. UV Blender Sphere wraps the mesh as if a latitude/longitude grid were painted on it, then flattens that grid into UV space. It's the fastest way to get usable UVs on anything round-ish, and it comes with one artifact you should just accept in advance.
It's the blender_sphere backend in the UV Unwrap dropdown, or searchable directly as "UV Blender Sphere (backend)".
How it works
Spherical projection assigns each vertex a UV based on its direction from the center of the projection sphere: latitude becomes one coordinate, longitude the other. The neat part is that every direction maps somewhere, so even a fully closed mesh gets a complete unwrap - something the libigl parametrization methods can't do at all (they need a boundary). The catch is at the poles: latitude lines converge to a single point at the top and bottom, so texture detail gets pinched and stretched there. You'll also get a vertical seam where longitude wraps from 180° back to -180°. On a true sphere both artifacts are mild and easy to hide; on something that's only kinda spherical, they get louder.
Inputs:
trimesh- the mesh to unwrap.scale_to_bounds(default true) - rescale the unwrap to fill the 0–1 UV bounds. Leave it on.
That's the whole parameter list. One input, one toggle, done.
Outputs
unwrapped_mesh (TRIMESH with UVs) and info (STRING). Wire it into a UV preview or texture bake node.
When to use it
Reach for sphere projection on exactly what its name suggests: globes, planets, balls, domes, plant bulbs, character heads if you're in a hurry and don't mind the pole pinching at the scalp. If you're doing detail-critical work on an organic shape, the pole distortion will eventually annoy you, and that's when libigl_arap or blender_smart earns its keep. And since this is a blender_* backend, it runs Blender's own projection code - a working Blender install configured for the pack is required, and Blender-flavored errors mean environment, not geometry.
Install is pack-standard: ComfyUI Manager search "GeometryPack", or clone https://github.com/PozzettiAndrea/ComfyUI-GeometryPack into custom_nodes/ plus pip install -r requirements.txt --upgrade and python install.py, then restart. First run with the experimental comfy-env/pixi installer is slow; the pack is young, GPL-3.0-or-later, and actively accepting bug reports.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| trimesh | TRIMESH | — | |
| scale_to_bounds | COMBO | true | 2 options: true, false |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| unwrapped_mesh | TRIMESH | — |
| info | STRING | — |