2
$\begingroup$

I started working in a new job as 3D designer and replaced the old one who worked with C4D and now I'm working with Blender. I have to use some of his old work done in C4D to make changes etc and I'm curious about one thing.

He made C4D files with a many individual objects and about 90%(about 100-200 objects) of them are hidden. When I export it as fbx and import it in Blender. These hidden objects are not only hidden, they also have unchecked "Show in Viewport" in Object menu in Visibility option but they are still visible in Renders... Is there a way to make all of these objects to become visible in viewport either in Blender or C4D? I never used c4d before.

I don't want to check viewport visibility for each one of them individualy, that would take ages.

$\endgroup$
2
  • 3
    $\begingroup$ You could use a simple script that toggles visibility for all objects in the scene. Would that be OK ? $\endgroup$
    – Gorgious
    Jul 27 at 8:44
  • $\begingroup$ After my 7 years in Blender I have never used scripting option in Blender. Is there some tutorial or step by step guide how to make it? Thank you very much $\endgroup$
    – MikoCG
    Jul 27 at 8:46
4
$\begingroup$

You normally would use the ALT + click modifier that lets you edit a property on multiple objects. Unfortunately a hidden object can't be selected, and you can't use the modifier on unselected objects.

You can toggle all your objects' visibility with a simple script.

import bpy

for obj in bpy.data.objects:
    obj.hide_viewport = False # Reset the monitor-icon visibility (viewport)
    obj.hide_render = False # Reset the camera-icon visibility (render)

If however you want only the objects in the current scene to be visible :

import bpy

for obj in bpy.context.scene.objects:
    obj.hide_viewport = False # Reset the monitor-icon visibility (viewport)
    obj.hide_render = False # Reset the camera-icon visibility (render)

If you want only the objects in a specific collection to be visible :

import bpy

for obj in bpy.data.collections["Collection"].objects: # Replace with your collection name
    obj.hide_viewport = False # Reset the monitor-icon visibility (viewport)
    obj.hide_render = False # Reset the camera-icon visibility (render)

Click here to learn how you can edit and run a script

$\endgroup$
1
  • $\begingroup$ Thank you! It really works, you just saved me a many hours of work $\endgroup$
    – MikoCG
    Jul 27 at 9:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.