Page 4 of 5

Re: SkIndigo 2.0.12c (Updated 26 Aug 09)

Posted: Thu Oct 08, 2009 9:47 pm
by Pibuz
Sorry for the odd question but I've been using dummy proxies for so long.. :roll: :lol:

Is it possible to use the instance method on components/groups without substituting them with proxies?

I know the standard workflow with dummies VERY WELL, but in some scenes it is not possible to work with cubes or simplified geometry, mostly for designing problems: a window has to be visualized as a window to communicate with the client. Often, these models I work with are huge, so it is a little time consuming to go and search around in the model to replace all the components with simpler blocks.

So basically I wanted to know if I could in any way set standard components to behave as instances. Thank you and sorry for the basic question.. :oops:

Re: SkIndigo 2.0.12c (Updated 26 Aug 09)

Posted: Fri Oct 09, 2009 2:28 am
by Whaat
Pibuz wrote:Sorry for the odd question but I've been using dummy proxies for so long.. :roll: :lol:

Is it possible to use the instance method on components/groups without substituting them with proxies?

I know the standard workflow with dummies VERY WELL, but in some scenes it is not possible to work with cubes or simplified geometry, mostly for designing problems: a window has to be visualized as a window to communicate with the client. Often, these models I work with are huge, so it is a little time consuming to go and search around in the model to replace all the components with simpler blocks.

So basically I wanted to know if I could in any way set standard components to behave as instances. Thank you and sorry for the basic question.. :oops:
hi pibuz,

yes, all you do is right click on the group or component and 'enable instancing'. All instances of that component will then using Indigo instancing. You can select multiple components and enable instancing to save time.

Re: SkIndigo 2.0.12c (Updated 26 Aug 09)

Posted: Fri Oct 09, 2009 2:54 am
by Pibuz
GREAT!
Thank you Whaat!

Re: SkIndigo 2.0.12c (Updated 26 Aug 09)

Posted: Sat Nov 21, 2009 12:47 pm
by Jeff Hammond
wait, what?
didn't realize indigo had instancing.. so i right click a group and i see the 'enable instancing' but then what?

if i understand correctly, i could basically have 1 tree in my SU model then many more will appear in the render? if so, how do i determine the other's locations?

or, what situations would this feature typically be used for?
and, how much other stuff don't i know about or can't read about :?: :D (or is this actually documented in a manual or something i've missed?)

Re: SkIndigo 2.0.12c (Updated 26 Aug 09)

Posted: Sat Nov 21, 2009 7:21 pm
by rendigo
Jeff,
although I have not tried this feature yet I guess the way it works is you draw an object in Sketchup, select the object and hit the G Key to make it a component, then make as many copies of this component as you want. Then select one of the copies and enable the SKIndigo instancing. This wouls save memory and probably scene loading time (the more copies of an object you have the more RAM is saved).
Please correct me if I am wrong - or just try it out ;-)

Re: SkIndigo 2.0.12c (Updated 26 Aug 09)

Posted: Sun Nov 22, 2009 3:01 am
by Jeff Hammond
yeah, i tried it like that but once i have a bunch of copies of a component then enable instancing on one of them, nothing happens.. all the copies are still visible.
i also tried enabling instancing before making the copies but still, nothing different seems to happen.

regardless, the way it would be most useful to me is if i only have to have one copy of a tree in a scene at any given time.. if i have to place 25 trees (at say 200,000 polys each) before enabling instancing then it wouldn't be much use to me.. the system would slug around while placing those trees and once they're in place, i could just hide them to improve performance.

so, is the following possible?...
place one instance in the scene and then put markers in place for the rest (like a cpoint or a box or something?)
is this what Pibuz is talking about with using dummies?
thanks

Re: SkIndigo 2.0.12c (Updated 26 Aug 09)

Posted: Sun Nov 22, 2009 4:13 am
by Pibuz
I'm here, I'm here...
So basically you can use instancing to reduce memory usage while rendering. And that's ok. How to do this? There are two methods.

1. You copy around, scale, rotate, etc etc etc your group/component. Then you select them all, you right-click and select "enable instancing".

2. You prepare the model you want to copy around (eg. your tree), then you make a component (named eg."tree"); right-click on it and enable instancing. Then you prepare A NEW COMPONENT (whatever you want: a vertical line with a cube or a square on top) which occupies the same volume as your tree, and name it "tree_dummy"; right-click on it and enable instancing on "tree_dummy" too.
Now you can optionally hide the "tree" (hide, not delete) in your model, and spread around your "tree_dummy", using some great tools as "componentspray.rb" for example. You can rotate, scale, stratch your "tree_dummy" obviously. This way you will reduce RAM usage while rendering, as you have instanced dummies, AND have a quite light scene for the SU visualization/navigation.

Hope it's clear.

Re: SkIndigo 2.0.12c (Updated 26 Aug 09)

Posted: Sun Nov 22, 2009 5:08 am
by Jeff Hammond
sweet!

yeah, the second process is what i was after (as my main goal with this would be to keep a light weight SU scene)
i did some tests and it worked perfectly.
thank you.

Re: SkIndigo 2.0.12c (Updated 26 Aug 09)

Posted: Thu Apr 22, 2010 7:13 pm
by madcoo
Hi!

I'm totally new to "instancing" and I was looking for some tips, until I found this interesting post...

So, if I try Pibuz's second method, this means that the "tree_dummies" will be replaced with the original "tree" in the final render, while in the SU view I will only have basic shapes for every "tree_dummy"?

If this is really what it is, it sounds great!!!

Re: SkIndigo 2.0.12c (Updated 26 Aug 09)

Posted: Thu Apr 22, 2010 9:24 pm
by rendigo
madcoo wrote:Hi!

I'm totally new to "instancing" and I was looking for some tips, until I found this interesting post...

So, if I try Pibuz's second method, this means that the "tree_dummies" will be replaced with the original "tree" in the final render, while in the SU view I will only have basic shapes for every "tree_dummy"?

If this is really what it is, it sounds great!!!
You got it right, this is exactly how it works!

Re: SkIndigo 2.0.12c (Updated 26 Aug 09)

Posted: Thu Apr 22, 2010 9:30 pm
by madcoo
FANTASTIC !!!

I'll try it tonight, when I'm back from work.

Thaaaaanks!
:D

Re: SkIndigo 2.0.12c (Updated 26 Aug 09)

Posted: Mon Apr 26, 2010 8:58 pm
by madcoo
Hi!

I tried the "tree_dummy" technique and it works perfectly!

1) Right-click on the original model
2) Select "enable instancing"
3) Model a basic shape and enable instancing on it too
4) Spread around your basic shapes
5) Replace the basic shapes' instances with the original model
6) Render!

One more question though:
Before rendering, you have to replace the "dummies" with the original "tree".
Doesn't it take a lot of RAM to display them before rendering, especially if you have a large number of high-poly instances?
Is there a risk of getting out of RAM anyway?

Re: SkIndigo 2.0.12c (Updated 26 Aug 09)

Posted: Tue Apr 27, 2010 12:41 am
by Pibuz
You don't have to replace the dummies before rendering!
Just leave them! They'll be automatically substituted by the original component(s) while rendering!

Re: SkIndigo 2.0.12c (Updated 26 Aug 09)

Posted: Tue Apr 27, 2010 1:11 am
by madcoo
That's good news!

But how does Indigo recognise which dummy belongs to which original?

Let's say I have numerous trees and benches, for example.

1) I model an original tree, instance it and replace it with "tree_dummies".
2) I model an original bench, instance it and replace it with "bench_dummies".

How will Indigo know which dummies will be replaced by which original?
:?

Re: SkIndigo 2.0.12c (Updated 26 Aug 09)

Posted: Tue Apr 27, 2010 2:25 am
by Pibuz
Indigo will tell the difference by the name :wink:
"tree-dummy" will be substituted by "tree", "bench_dummy" by "bench" and so on 8)