Three Sphere Geometry
Spheres, domes and partial shells
- geometry
The sphere is where every 3D test scene starts - it's the shape that shows off lighting, reflections and materials better than anything else, and it's the one geometry you can tune without thinking. WASThreeSphereGeometry is the Three family's version, with one genuinely useful extra: it doesn't have to give you a whole sphere. The same node makes hemispheres, domes, partial shells and sliced sections, which turns it from "a ball" into "a ball, a dome ceiling, or a crescent."
What it is
radius sets the size in scene units - 1.0 gives a sphere two units across. width_segments divides it around the equator and height_segments from pole to pole. The defaults (32 and 16) read as round; drop them to 8 and 4 and you get the faceted gem look, which is sometimes exactly the aesthetic you want. The output is a THREE_GEOMETRY that feeds Three Mesh like any other shape.
The inputs that make it more than a ball
This is where the node stops being trivial:
- phi_start / phi_length - the sweep around the equator, in degrees.
phi_start0 begins at the front;phi_length360 closes it, 180 gives a half. - theta_start / theta_length - the sweep from the top. 0 starts at the north pole;
theta_length180 reaches the south pole, 90 gives a dome.
So a dome (a ceiling, a planetarium) is a full-width sphere with theta_length 90. A half-shell is phi_length 180. If you're building anything that isn't a full orb, these four fields are the difference between hacking a shape out of a full sphere and just asking for the piece you want.
Where it fits
The sphere is the natural test bench for the material and lighting side of the Three pack. A chrome or metallic sphere is the standard way to check an environment - the node's sibling Three Environment exists partly so metal has something to mirror, since a bare metal sphere with no environment renders nearly black. Put a Three Standard Material or Three Physical Material on a sphere, light it with a directional Three Light, and you've got a fast rig for judging how materials and lights behave before you commit them to a real scene.
Segments deserve a mention for the same reason they matter on the plane: if a displacement map needs to push real vertices, a low-segment sphere has nowhere to go. Crank width_segments and height_segments up when you displace; keep them low otherwise.
Install
WASThreeSphereGeometry ships with WAS Node Suite v3. Install through ComfyUI Manager (search WAS Node Suite v3) or:
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/was-node-suite-comfyui.git
Restart after. Requires ComfyUI 0.14.0+ and Python 3.10+, no extra packages. If the node's missing from Add Node, the Three family is gated by features.threejs in <ComfyUI user dir>/was-node-suite/config.yaml - on by default in current releases - so check that key and restart.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| radius | FLOAT | 1.000.0001–100000 | Radius in scene units. 1.0 gives a sphere two units across. |
| width_segments | INT | 323–2048 | Divisions around the equator. 32 looks round, 8 reads as a faceted gem. |
| height_segments | INT | 162–2048 | Divisions from pole to pole. 16 looks round, 4 reads as a faceted gem. |
| phi_start | FLOAT | 0.0-360–360 | Where the sweep around the equator begins, in degrees. 0.0 starts at the front. |
| phi_length | FLOAT | 360.00–360 | How far it sweeps around, in degrees. 360.0 closes it, 180.0 gives a half. |
| theta_start | FLOAT | 0.00–180 | Where the sweep from the top begins, in degrees. 0.0 starts at the north pole. |
| theta_length | FLOAT | 180.00–180 | How far it sweeps down, in degrees. 180.0 reaches the south pole, 90.0 gives a dome. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| geometry | THREE_GEOMETRY | The sphere shape, for the geometry socket on Three Mesh. |