Nodes/Avatar Graph/Object Set Visible Glossy
ComfyUI Node

Object Set Visible Glossy

Hiding things from reflections without hiding them

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Object Set Visible Glossy
  • BPY_OBJ
  • BPY_OBJ
valuetrue

You know the moment: you render, and some helper object you forgot about shows up reflected in a shiny surface. Object Set Visible Glossy is the Avatar Graph node that prevents exactly that. It's one of the pack's ray-visibility setters, wrapping Blender's "Ray Visibility" toggle for glossy rays - the light paths responsible for reflections on shiny, mirror-like materials. Set this to false and the object stops appearing in reflections while staying fully visible everywhere else.

What it actually does

In a Cycles render, glossy rays are the rays that bounce off polished surfaces - chrome, glass, wet ground, glossy paint. Whatever they hit shows up in the reflection. visible_glossy controls whether a given object can be struck by those rays. Default true means it reflects normally. Set it false and the object becomes invisible to glossy paths: it vanishes from reflections (and stops contributing to them), but the camera, diffuse lighting, and shadow paths still see it.

For avatar work that's a genuinely useful cleanup tool. Rigs accumulate invisible helpers, and shiny surfaces in the scene will happily reflect them if you let them. Turning visible_glossy off on a helper is the surgical fix - it doesn't hide the object from the render like ObjectSet_VisibleCamera would; it just makes it a non-participant in the glossy math. It's also how you'd keep an emissive or glow plane from blowing out a reflection, or prevent a duplicate geometry from double-appearing on a glossy character.

Like all ObjectSet_ nodes, it's auto-generated from Blender's object attribute list (blender/ops_mesh.py), sets one property on the object at its BPY_OBJ input, and passes the object back unchanged.

The inputs and outputs that matter

  • BPY_OBJ - the object whose glossy-ray visibility you're setting.
  • value - boolean, default true. false removes the object from glossy/reflection paths.

Output is the same BPY_OBJ, handed to the next node.

How to install it

Ships with the full Avatar Graph pack - ComfyUI Manager, search "Avatar Graph", or:

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

restart ComfyUI. Pack-wide snag: bpy==3.6.0 only ships wheels for Python 3.10.x, so install fails on modern Python. python=3.10 conda env, or Avatech's prebuilt Python-3.10 ComfyUI zip on Windows.

Gotchas

The common confusion is with camera visibility. Hide an object from the camera and it can still show up in reflections - that's the "glowing helper in the chrome" bug, and the fix is this flag, not ObjectSet_VisibleCamera. Also keep in mind this is render-time behavior; in Avatar Graph's interactive preview the difference may not be obvious, so check the exported .glb/.gltf to confirm the reflections are actually clean.

Categoryblender

Inputs (2)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ
valueoptBOOLEANtrue

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ