Is there a way to select multiple objects to be invisible to camera within Indigo at once?
I'm doing an isometric view of an office layout and I need all the lighting to cast as if you were inside the room. I've set my lights as blocks and clicking each one individually within Indigo and making it invisible to camera works fine, just the result I need - but I have around 80 lights and its proving to be incredibly laborious selecting each one individually and ticking the checkbox.
Is there a way to select all the lights in one go with Pick object? I've tried incorporating them all as a single block in Sketchup hoping I could just pick that block object and get the lot, but that didn't work.
Indigo 3.6.20 if that has any bearing.
Cheers
Invisible to camera - multiple select
Re: Invisible to camera - multiple select
I would use a workaround - editing the .xml scene file (at least until multiple selections are available). Do the lights have some kind on consistence in naming?
Re: Invisible to camera - multiple select
The lights are a single block, duplicated around the model so they all have the same entity name and properties.
Can you run me through how I would edit the .xml file?
Many thanks,
Can you run me through how I would edit the .xml file?
Many thanks,
Re: Invisible to camera - multiple select
Sure. As a simplified example - this is the screenshot of Blender scene. Objects in the scene are lights, every row are real copies of the first object in the same row.
Now we need some text editor with expanded selections. My tool of choice is Sublime Text 3.
Our aim is to make fist and third light rows invisible to camera. Knowing that each row has it's own assigned material, in our case we have to look for Light_mat_01 and Light_mat_03. So, open a multiselect.igs in an editor and look for (CTRL+F) names Light_mat_01 and Light_mat_03. Now we know, that materials' unique ID's: Light_mat_01 has <uid>10</uid> and Light_mat_03 has <uid>8</uid>. With the help of material uid's we will find geometry id for all objects, that have these materials assigned. So, now we need to look for these tags: <material_uid>8</material_uid> and <material_uid>10</material_uid>
We found out, that our targeted geometry id's are:
<geometry_uid>11</geometry_uid> and <geometry_uid>13</geometry_uid>
Now we have to look for <geometry_uid>11</geometry_uid>, so:
Select our tag:
<geometry_uid>11</geometry_uid>
Select all such tags in an opened document (so there are multiple cursors after each of these tags):
ALT+F3
Go to the end of the line <scale>1</scale> and insert a new line:
ARROW DOWN, END, ENTER and put there the tag we need:
<invisible_to_camera>true</invisible_to_camera>
repeat for <geometry_uid>13</geometry_uid> and save. Open in indigo and get the result: I am pretty sure it will be possible to do in other editors, like Note++ and such. Let me know in case something is messy and not clear enough.
P.S. There is another variant to automate something like this with Macro's in ST3 or sh/awk in Linux, in case you use it and maybe other tricks that I don't know about.
After export we get an .igs file (which is written in XML), let's say multiselect.igsNow we need some text editor with expanded selections. My tool of choice is Sublime Text 3.
Our aim is to make fist and third light rows invisible to camera. Knowing that each row has it's own assigned material, in our case we have to look for Light_mat_01 and Light_mat_03. So, open a multiselect.igs in an editor and look for (CTRL+F) names Light_mat_01 and Light_mat_03. Now we know, that materials' unique ID's: Light_mat_01 has <uid>10</uid> and Light_mat_03 has <uid>8</uid>. With the help of material uid's we will find geometry id for all objects, that have these materials assigned. So, now we need to look for these tags: <material_uid>8</material_uid> and <material_uid>10</material_uid>
We found out, that our targeted geometry id's are:
<geometry_uid>11</geometry_uid> and <geometry_uid>13</geometry_uid>
Now we have to look for <geometry_uid>11</geometry_uid>, so:
Select our tag:
<geometry_uid>11</geometry_uid>
Select all such tags in an opened document (so there are multiple cursors after each of these tags):
ALT+F3
Go to the end of the line <scale>1</scale> and insert a new line:
ARROW DOWN, END, ENTER and put there the tag we need:
<invisible_to_camera>true</invisible_to_camera>
repeat for <geometry_uid>13</geometry_uid> and save. Open in indigo and get the result: I am pretty sure it will be possible to do in other editors, like Note++ and such. Let me know in case something is messy and not clear enough.

P.S. There is another variant to automate something like this with Macro's in ST3 or sh/awk in Linux, in case you use it and maybe other tricks that I don't know about.
Re: Invisible to camera - multiple select
Wow! Thanks for taking the time.
I have an issue though, I can find my Light materials (2 of them) in the editor its all laid out differently to your example. There is no <uid> tag anywhere?
I'm exporting from Sketchup, does it handle .igs files differently to Blender?
Thanks for your help on this one anyway.
I have an issue though, I can find my Light materials (2 of them) in the editor its all laid out differently to your example. There is no <uid> tag anywhere?
I'm exporting from Sketchup, does it handle .igs files differently to Blender?
Thanks for your help on this one anyway.
Re: Invisible to camera - multiple select
Possibly it assigns to material's name. Are you able to find any model assignment/geometry to that material? By looking for the light name through the whole file.Bosseye wrote:There is no <uid> tag anywhere?
Can't comment on that - i've never used SkIndigo, but there could be differences in exported .igsBosseye wrote:I'm exporting from Sketchup, does it handle .igs files differently to Blender?
My pleasureBosseye wrote:Thanks for your help on this one anyway.

Who is online
Users browsing this forum: No registered users and 4 guests