Instances question
![heinzerbrew_f94794efff](https://secure.gravatar.com/avatar/2beb0e59119a498774cabfa6a8605341?&r=pg&s=100&d=https%3A%2F%2Fvanillicon.com%2F2beb0e59119a498774cabfa6a8605341_100.png)
in The Commons
I understand the basics of instances but don't really understand the best use cases for them.
My GPU only has 4 GB of ram. I have about 20 chairs that are all the same. It is my understanding that I will only save on the geometry memory, by instancing the chairs. As far as I know, iray only keeps one copy of materials in memory so instances won't change that. I think there are negatives for instances, but am not really sure what they are. I have a 1050ti if that matters.
Is it really worth me taking the time of creating all the instances and then repositions all 19 chairs? I am slow, maybe 5 or 10 minutes if I hurry.
Comments
yes
What you're doing is a pretty typical use case for instances.
Instances can't be independently edited apart from basic translations. Instancing solid objects (like chairs) or things like blades of grass or plants is fine, but instancing any kind of figure will need to be used sparingly in order to look at all convincing.
That depends, especially since textures take up a much bigger share of your VRAM than geometry, so unless the chairs are especially high-poly, instancing probably wouldn't save you that much.
Yeah, seems like textbook case for instance. I went ahead and switched to instances. I can't tell the difference. It didn't take as long as I thought it would.
Instances are also great for setting up multiple light-emmitting objects, like streetlights or lightbulbs. You can edit the light values of all of them by editing the original.
Thanks, I bookmarked the link
Remember to set Instancing Optimization to Memory in Render Settings in order to save that GPU memory.
The other potentially useful simple instancing script I have done is for Circular Arrays. That's here: https://www.daz3d.com/forums/discussion/556441/circular-array-script
mjCasual has done a lot of more complicated & much more capable freebie scripts that might be worth having available too. They're mostly referenced in the linear array script thread. Always worth having in your library because if they're available you might save time and use them, and you may end up using them for less expected jobs too.
Regards,
Richard
One negative I found is that Dforce does not work on an instance. For example, if I am doing a pool scene and have one deck chair and 15 instances and want to use dForce to drape a towel over one of the chairs, it has to be the figure, not the instance. Generally not an issue as I can make the main figure chair the one for the drape, but in some sets that use instancing I have to locate the main one.
Another thing that can possibly be a negative is that any change you make to the figure being instanced will be replicated across all instances. This is not inherently negative - if I wanted towels draped on all the chairs in the above example, I could parent the draped item to the main figure and they will all look the same. but if I am instancing a robot figure, and want different poses, that cannot be done as all the instances will follow the pose of the main figure*.
*you could have more than one main figure, with different poses, and instance them, but then you're losing some of the benefit of instancing.
I didn't know that about dforce, I will have to remember that. That second negative you mentioned can be a pain, but I like to use it for modeling clothes. I only need to change the clothes once and I can have the instances rotated at several different angles then save an outfit preview image.
That looks good. There have been several times where the circular script could have saved me some time.