Three Light
Nothing renders until you add one
- light
The single most common "why is my 3D scene black" answer in the WAS Node Suite Three family is this: you forgot a light. A Three Standard Material or Three Physical Material has no lights on by default - a scene renders black until something emits or bounces light. Three Light is that something, and it's the node you'll almost certainly place first after you've got a mesh in front of a camera.
What it does
One light, wired into a Three Group or straight into the root socket of a Three Scene. The light_type dropdown picks the flavor:
- directional - parallel rays like sunlight, aimed by its position. The default, and the one that casts the crispest shadows.
- point - a bulb that falls off with distance.
- spot - a cone of light with a soft or hard edge.
- ambient - lifts everything evenly, casts nothing.
- hemisphere - fades sky color to ground color for a cheap outdoors look.
Only directional, point and spot can cast shadows; ambient and hemisphere ignore cast_shadow entirely.
The inputs that matter
You can leave most fields alone and get a decent key light, but three are worth understanding from day one:
- color - hex, as in
#ffffffneutral,#ffd8a8warm sunset,#a8c8ffcool daylight. - intensity - brightness, default 2.0. The author's own guidance: 2.0 suits a key light, 0.3 a fill, 0 turns it off.
- cast_shadow - whether it throws shadows. Needs shadows on in Three App too, and on the meshes.
Position behaves differently per type: for a directional light the position_x/y/z values define a direction (the light is infinitely far away), while a point or spot really sits where you put it. For point and spot lights, distance sets how far the light reaches before going fully dark (0.0 means unlimited) and decay controls falloff - 2.0 is physically real light, 0.0 never dims. Spots get angle (cone width: 45° is a broad pool, 10° a tight beam) and penumbra (0.0 hard rim, 1.0 fades across the whole cone). ground_color only matters for hemisphere - the tooltip calls #404040 "grey ground."
How it fits the graph
Standard studio trick: one Three Light at intensity ~2 as your key, a second at ~0.3 in a cool color as fill, both inside the same Three Group as your meshes so the Scene's root socket carries them all at once. Shadows need three yeses to line up - the light's cast_shadow, the mesh's shadow flags, and shadows enabled on Three App - so don't chase a missing shadow on just one of them.
One gotcha specific to this pack's path tracer: Three Path Trace Render only traces directional, point, spot and emissive sources. Ambient and hemisphere lights are not traced, so a scene lit only by them comes out black in a path-traced render even though it looks fine in Three Render.
Install
Three Light ships with WAS Node Suite v3. In ComfyUI Manager, search WAS Node Suite v3 and install, or clone manually:
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/was-node-suite-comfyui.git
Restart ComfyUI after. You need ComfyUI 0.14.0+ and Python 3.10+. The whole Three family sits behind the features.threejs switch in <ComfyUI user dir>/was-node-suite/config.yaml - on by default in current releases, but if the Three nodes don't appear in Add Node, that's the key to check. Nothing else installs and nothing downloads.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| light_type | COMBO | directional | Which kind of light. 'directional' is sun, 'point' a bulb, 'spot' a cone, 'ambient' a flat lift. |
| color | STRING | #ffffff | Light colour as hexadecimal. #ffffff is neutral, #ffd8a8 warm, #a8c8ff cool daylight. |
| ground_color | STRING | #404040 | The upward bounce colour, used by 'hemisphere' alone. #404040 reads as grey ground. |
| intensity | FLOAT | 2.000–100000 | How bright the light is. 2.0 suits a key light, 0.3 a fill, 0 turns it off. |
| position_x | FLOAT | 3.00-100000–100000 | Position along X in scene units. 3.0 puts a key light to the right; for a directional light this is a direction. |
| position_y | FLOAT | 5.00-100000–100000 | Position along Y in scene units. 5.0 puts a key light above the subject. |
| position_z | FLOAT | 4.00-100000–100000 | Position along Z in scene units. 4.0 puts a key light in front of the subject. |
| distance | FLOAT | 0.000–1000000 | How far a point or spot light reaches before it is fully dark. 0.0 means no limit. |
| decay | FLOAT | 2.000–100 | How fast a point or spot light falls off. 2.0 is real light, 0.0 does not fall off at all. |
| angle | FLOAT | 45.00.1–179 | Width of a spot light's cone in degrees. 45.0 is a broad pool, 10.0 a tight beam. |
| penumbra | FLOAT | 0.000–1 | How soft a spot light's edge is. 0.0 is a hard rim, 1.0 fades across the whole cone. |
| cast_shadow | BOOLEAN | true | Whether this light throws shadows. Ignored by 'ambient' and 'hemisphere', which cast none. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| light | THREE_OBJECT | The light, for Three Group or the root socket on Three Scene. |