1
$\begingroup$

How to keyframe all the objects viewport/render visibility inside the selected collection via python code? And there's a boolean there that you can just type "False" or "True" to decide whether unhide or not. I only have a little bit of knowledge of scripting, especially in blender python library. I was thinking of this after knowing collections viewport/render visibility can't be keyframed, because I want to keyframe the object collections that aren't needed in certain camera shots. But trying to make it myself takes long time now, that I have to meet a certain deadline to pass my project.

$\endgroup$

1 Answer 1

1
$\begingroup$

After several moments I just got it, but I know there maybe a cleaner approach

import bpy

for ob in bpy.context.collection.all_objects:
    
    ob.keyframe_insert(data_path="hide_render")
    ob.keyframe_insert(data_path="hide_viewport")
    if ob.hide_render == True:
        ob.hide_render = False
    else:
        ob.hide_render = True
    if ob.hide_viewport == True:
        ob.hide_viewport = False
    else:
        ob.hide_viewport = True
$\endgroup$

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.