Multiple Object Change

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

THREAD CLOSED
 
Thread Tools Search this Thread Display Modes
  04 April 2013
Multiple Object Change

I'm working on a Ski Slope Image. There are two camera angles that I'll need to render.
I Created a Large number of AEC Foliage Scotch Pine Trees to populate the Mountain Side With.

Camera Angle One Renders albeit slow, which is fine, this is for a print job.
Then I Went to camera angle two and added more trees to the Scene (there's about 700 in total)
This is too much for my computer to handle, so camera angle two has not seen a Successful Render as of yet.

The trees don't have to be super detailed for this project, so I decided that I could render them with the Viewport Canopy object instead of the Branches and Leaves.
However, to make them all not look alike, as I duplicated them I used copy not instance and would hit the new seed button to give me some variety.

I've been using Maya a lot lately and I know it has an Attribute Spreadsheet that lets me edit multiple objects simultaneously if the need arises. I could have sworn that Max had something like this, but I can't find it.

Also, for future reference, does anyone know a way to have multiple objects be instances of each other except for one parameter?

I need a way to select all the trees and change them to low detail mode. Any Ideas?
In the mean time, I'm doing it manually—it's slow going.

I guess I should mention that I'm using 2012 64-bit.

Last edited by UTSquishy : 04 April 2013 at 09:36 PM.
 
  04 April 2013
Originally Posted by UTSquishy: I've been using Maya a lot lately and I know it has an Attribute Spreadsheet that lets me edit multiple objects simultaneously if the need arises.

I need a way to select all the trees and change them to low detail mode.


The closest thing I've found to Maya's attribute editor in max is a script called "Modifier Modifier Zorb". It does a decent job of collecting editable parameters for mass adjustment or randomization. Not sure if it supports tree seeds or detail modes but its worth a look.
http://www.scriptspot.com/3ds-max/scripts/tags/zorb

If you really want to keep things manageable, I'd suggest laying the trees out with particle flow. Emit non-moving particles where you want your trees to grow. Make 5-10 different tree mesh variations that are all roughly the same size. Bring them into pflow with shapeInstance and add nodes to vary the scale, orientation, and distribution at any time (can be handy if the client wants different amounts of trees or even different tree meshes at the last second).

Its been a while since I used pflow, but I think there are some options for displaying the particles as bounding boxes if you need to keep your machine running smoothly while setting it up (or just disable the shapeInstance with the high res trees and temporarily use one with low-res versions until you are happy with the layout).
 
  04 April 2013
I tried the Modifier Modifier Zorb—It didn't seem to like the AEC trees, none of the parameters were available in the Resulting charts.

Particle Flow was actually my second attempt at distributing the trees; Particle Flow didn't seem to like them. (Current Iteration was the Third attempt—manual planting Using Glue).

Thanks for the suggestions.
 
  04 April 2013
Originally Posted by UTSquishy: I tried the Modifier Modifier Zorb—It didn't seem to like the AEC trees, none of the parameters were available in the Resulting charts.


yeah, it can be hit or miss with some non-standard object types (sorry I don't have max installed here so I couldnt verify). I hear you on how nice a proper attribute spreadsheet would be though.

Quote: Particle Flow was actually my second attempt at distributing the trees Particle Flow didn't seem to like them.


quick question on this...were the trees collapsed down to editable meshes before being brought into particle flow? I can see it getting confused with the primitive version, but it should handle collapsed meshes without too much fuss.

One more thought, max 2012 should have an "object painter" tool that could give the same variations as particles. Same rules should apply (collapsed editable meshes to start with and do the scale and orientation adjustments using the tool). You will still end up with a large number of objects, but they should all be instances or references of the original source meshes so it should be easier on the RAM than lots of unique objects.
 
  04 April 2013
Originally Posted by grimrepoman: One more thought, max 2012 should have an "object painter" tool that could give the same variations as particles. Same rules should apply (collapsed editable meshes to start with and do the scale and orientation adjustments using the tool). You will still end up with a large number of objects, but they should all be instances or references of the original source meshes so it should be easier on the RAM than lots of unique objects.


There is indeed, but it's not too flexible - even in 2013, you don't have too many options. For instance, the object will always be oriented to the surface normal - so if you want to paint some shrubs onto a steep cliff, they'll all be basically horizontal. This is unfortunately, because most people I know use this tool for painting foliage/trees, and they tend not to behave like this.

What I usually do is make two or three different tree objects - slightly different mesh, slightly different material etc. Then I convert them to proxies (I use VRay Proxies, but MR Proxies work too). Then I use the object painter tool from the Soulburn Scripts (which are utterly amazing, incidentally) to actually do the painting. It offers variation options for rotation, scale etc, and allows you to choose between orienting to the surface normal or locking the object's Z-axis. This way you end up with a bunch of instances, none of which are exactly the same size or variation, with three different models and textures, and being proxies, they're comfortable on the ol' RAM. It also means you can change them quite easily, as you have the instances. They aren't a special object - once they're painting, they're just a simple instance of the object you chose in the script, so render passes, lighting, shadows etc work exactly as expected. It's my preferred solution.
__________________

 
  04 April 2013
Originally Posted by DanGrover: the object will always be oriented to the surface normal


hmmm...no. Turn off align to normal and its easy to paint trees that point up.

The rest sounds great though.
 
  04 April 2013
You can re-instance copies.

Since you only need the viewport canopy mode, differences in random seed do not matter at all, so you can re-instance those trees, and if you've used scale function to have differences in tree heights, even those size differences remain after instancing, since you may only instance base objects.

Just open curve editor.
Select one of the trees.
Right Click on Foliage00X\ Object(Foliage)
Press Copy
Now all you have to do is select all 700 foliage objects-Right Click one of them and Paste

Hint: You can use filter options in curve editor to display only the base objects and it will help you select easily.
 
  04 April 2013
And for your future needs, which I saw now, you can use the same copy paste function for the parameters that you need instanced. All you need in order to make instances of any parameter, you need controllers assigned to them. So for example just to make density parameter instance,

Select Density Track on Curve Editor
Right click and select Assign Controller, Assign an appropriate controller - Linear is fine
Then again right click on Density track, Click Copy
Then select all future instances right click and paste. (Controller will be assigned while pasted)

Now you can change the density parameter of all instances by single click. While other parameters are still unique.

I guess you can instance any parameter or selectable option you see in Curve Editor. Test with Level of detail.
 
  04 April 2013
if you have 1 tree selected and type the following in the listener


showproperties $


You can see a list of properties, find the one that needs changing, then select all trees and do this


for obj in selection do obj.property_name=value


replace "property_name" to the one you found in step 1 and replace "value" by what you need it to be.
__________________
The GPU revolution will not be rasterized! - http://www.jdbgraphics.nl
 
  04 April 2013
Fantastic Advice, thanks to Everyone!
 
  04 April 2013
If you want your objects to be instances, but change them a bit, try making them Reference copies. Those are like one way instances. So if you change the source object, all the others change, but the target objects can be changed independantly. So you could assign bend modifiers to them individually for example, but if you change the detail level of the source object it propogates to all the others.

And there's lots of scripts to re-instance objects. I use one called instance-o-matic.

www.scriptspot.com
 
  04 April 2013
Originally Posted by grimrepoman: hmmm...no. Turn off align to normal and its easy to paint trees that point up.

The rest sounds great though.

Oops! Right you are! I'm a goon.
__________________

 
  04 April 2013
Originally Posted by DanGrover: Then I use the object painter tool from the Soulburn Scripts (which are utterly amazing, incidentally) to actually do the painting.


Thanks Dan, glad you've found them useful!

- Neil
 
  04 April 2013
Thread automatically closed

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
__________________
CGTalk Policy/Legalities
Note that as CGTalk Members, you agree to the terms and conditions of using this website.
 
Thread Closed share thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright ©2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 09:02 PM.


Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.