30 lines
1.5 KiB
Python
30 lines
1.5 KiB
Python
# Fix objects and collections hidden from render
|
|
vl = bpy.context.view_layer
|
|
|
|
# 1. Objects hidden in view layer
|
|
print("Checking for objects hidden from render that need to be enabled...")
|
|
try:
|
|
for obj in bpy.data.objects:
|
|
if obj.hide_get(view_layer=vl):
|
|
if any(k in obj.name.lower() for k in ["scrotum|","cage","genital","penis","dick","collision","body.001","couch"]):
|
|
obj.hide_set(False, view_layer=vl)
|
|
print("Enabled object:", obj.name)
|
|
except Exception as e:
|
|
print(f"Warning: Could not check/fix hidden render objects: {e}")
|
|
|
|
# 2. Collections disabled in renders OR set to Holdout (the final killer)
|
|
print("Checking for collections hidden from render that need to be enabled...")
|
|
try:
|
|
for col in bpy.data.collections:
|
|
if col.hide_render or (vl.layer_collection.children.get(col.name) and not vl.layer_collection.children[col.name].exclude == False):
|
|
if any(k in col.name.lower() for k in ["genital","nsfw","dick","private","hidden","cage","scrotum","collision","dick"]):
|
|
col.hide_render = False
|
|
if col.name in vl.layer_collection.children:
|
|
vl.layer_collection.children[col.name].exclude = False
|
|
vl.layer_collection.children[col.name].holdout = False
|
|
vl.layer_collection.children[col.name].indirect_only = False
|
|
print("Enabled collection:", col.name)
|
|
except Exception as e:
|
|
print(f"Warning: Could not check/fix hidden render collections: {e}")
|
|
|