Nodes/Avatar Graph/Object Set Visible Transmission
ComfyUI Node

Object Set Visible Transmission

Keeping avatars out of glass and refraction paths

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

Transmission rays are the ones that pass through things - glass, water, translucent plastic - and Object Set Visible Transmission is the Avatar Graph node that decides whether an object participates in that path. It's part of the pack's ray-visibility family, the setters that mirror Blender's "Ray Visibility" panel and let you pull an object out of one specific kind of light math while leaving it everywhere else. This one is niche unless your avatar scene has transparent materials, and when it does, it's exactly the knob you want.

What it actually does

In Cycles, transmission rays are how refraction and translucency work: a ray hits a glass surface, passes through it, bends, and goes on to hit whatever is behind. visible_transmission controls whether a given object can be struck by those transmitted rays. Default true means it behaves normally - see it through the glass, see it refract. Set it false and the object becomes invisible to transmission paths: look through a glass object and the thing simply isn't there, while the camera, reflections, diffuse light, and shadows still see it normally.

For avatar work, think about the props around your character rather than the character itself. If your scene has a glass showcase, a water surface, or a transparent screen with the avatar behind or inside it, transmission visibility decides whether the character shows through. Disabling it on a helper or duplicate can stop it from ghosting through glass in a way that breaks the composite. It defaults to true, and you'd only flip it for a deliberate effect - or to clean up an object that keeps showing up in refraction when you don't want it to.

Like every ObjectSet_ node, it's auto-generated from Blender's object attributes (blender/ops_mesh.py), sets one property on the object at its BPY_OBJ input, and passes the object back.

The inputs and outputs that matter

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

Output is the same BPY_OBJ, passed on.

How to install it

Ships with the whole 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. The pack-wide snag: bpy==3.6.0 only ships wheels for Python 3.10.x, so the pip install fails on newer Python. python=3.10 conda env, or Avatech's prebuilt Python-3.10 ComfyUI zip on Windows.

Gotchas

If there's no transparent material in the scene, this flag is inert - you'll see nothing either way. And if the problem you're chasing is an object showing through glass when it shouldn't, make sure you've disabled the transmission visibility (this node) and not just camera visibility; the two are independent, and only transmission governs the through-glass path.

Categoryblender

Inputs (2)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ
valueoptBOOLEANtrue

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ