Nodes/Avatar Graph/Object Set Use Instance Faces Scale
ComfyUI Node

Object Set Use Instance Faces Scale

Controlling Blender's face-instancing size

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Object Set Use Instance Faces Scale
  • BPY_OBJ
  • BPY_OBJ
valuefalse

Some Avatar Graph nodes you'll wire into every avatar. Object Set Use Instance Faces Scale is not one of them - it's a Blender instancing flag that matters only if your avatar scene uses face instancing, which is a niche of a niche in this pack. But understanding why it exists tells you a lot about how the whole ObjectSet_ family works, so it's worth the sixty seconds.

What it actually does

In Blender, instancing lets one object stamp copies of another. "Instance on faces" (or the older "dupli-faces" approach) scatters copies of an instanced object across the faces of a parent mesh - think of a wall covered in tiles, or a character with a pattern applied over its surface. The use_instance_faces_scale property controls one detail of that: whether the instances automatically scale to match the size of the face they're stamped on.

With it off, every instance keeps its own scale and faces just place them. With it on, each instance stretches or shrinks to fit its face - which is what you want when the parent geometry is irregular and you need the stamps to fill the faces rather than overlap or leave gaps. Avatar Graph is mostly about segmented character planes, not instanced tile patterns, so you'll rarely need it - but if you're doing anything decorative with repeated geometry on an avatar's surface, it's the difference between instances that fit and instances that float.

Like every ObjectSet_ node, it's auto-generated from Blender's object attributes (see blender/ops_mesh.py in the pack), sets one property, and passes the object through.

The inputs and outputs that matter

  • BPY_OBJ - the object with the instancing behavior you're adjusting.
  • value - boolean, default false. true makes face instances scale to their faces.

Output is the same BPY_OBJ for the next node in the chain.

How to install it

Ships with Avatar Graph - 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 has wheels for Python 3.10.x, so a modern-Python install fails. python=3.10 conda env on Linux/macOS, Avatech's prebuilt Python-3.10 ComfyUI zip on Windows.

Gotchas

Two traps. First, the flag is dead weight unless the object is actually doing face instancing - set it on an ordinary avatar plane and it does nothing. Second, don't confuse it with instance_faces_scale (the float that sets the base scale); this node is the boolean that turns "scale to face" on. If instances suddenly look wildly sized, the usual culprit is that float, not this flag.

Categoryblender

Inputs (2)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ
valueoptBOOLEANfalse

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ