User avatar
By deadalvs
i have a question for non-maxwell rendering ...

how can files be referenced in maya just for rendering? (for example for hires trees)

do instances have to have one target in the scene file or can instances also be referenced for external geometry files?
By Jorge Alix
I don´t understand your question, do you mean how to create references in the scene and they will be substituted in the render time??
User avatar
By deadalvs
hey Jorge !

i'm sorry for not being 100% clear... :roll:

okay, again...

let's say i have a complex tree model with 2.5 million polys in one .mb file and an architectural scene in which i work and that i want to render as a second .mb file. that tree should actually be placed in the architecture scene.

so to keep the arch scene small i'd like to keep the tree outside, just as a reference. so it will appear only at rendertime and not fill up ram while working at the scene.

the second question is about instances in maya. if instances can be referenced to exterior .mb files, also as in 1) to keep the scene file small even if the referenced models for the instances are complex.

--> substitution could be an option for example substituting a stand-in locator or sphere with the large tree.

so basically i am searching for a way to link large geometry files or create instances in maya without having to place one full copy inside the scene.

see also this wish here: ... hp?t=26919

i hope this is a little clearer now ..
By Outinthedark
I don't think any tree needs to be 2.5 million polys for any reason unless it is the main focus of the project.

I would reduce the tree's count. If it is not a domanant part of the scene there is no reason it needs to be that dense. That tree would need to be cashed at some point into RAM.

If I were you I would stop trying to find a way to instance a single ridiculously dense tree and find a more productive route. I'm guessing this project does not deal with production?
User avatar
By deadalvs
yes, i know a tree like this is extreme. but actually i have used such a tree right in the very middle of a rendering for my one of my architecture diploma perspectives (total scene polycount ~ 6 million polys) - and it looks very nice.
i cannot show the image because the server is out of service atm, sadly.

trust me, i DO know that it is a lot, but if you take a look at an image like this:
Image (thanks, Mihai !)
and check that image with the large array of buddha statues with billions of polygons (could someone post that image, i cannot find it anymore), i'd be just happy to use a few hires trees standing next to the camera.

certainly, the tree is just a stand-in object for the topic i wanted to mention. any other object or group of objects can certainly be taken instead, this is about the workflow and not the ridiculous models !

and certainly caching to RAM must happen somewhere, but best would be at rendertime (with mxcl or maya batch), when no other app is running, especially maya consuming a lot of ram itself.
By msantana
sorry, I didn't read well your post Daedalus the first time. :oops:

So you are talking about non-maxwell renders... hmmm mental ray? What I am going to say applies to mental ray and Maxwell.

Hmmm how about this,

Open your maya scene file, let us say it is scene 1.

From within this scene create a reference to tree.mb (the scene that contains the tree). This will show a scene with scene 1 geometry and tree.mb geometry. However, scene 1 will only be as large as it was before (no impact in disk space while working on it) but will render scene1 and tree. (ok it will increase in size by a hundred kb or so, but it is negligible)

I guess Daedalus that your question really is what is more efficient at rendering time, instancing inside the scene, instancing a reference or referencing an instance. I guess what you are trying to do is separate the file in parts that are manageable to work on but renderable in the most powerful machine you have available. It seems to me that it wouldn't make a noticeable difference any method in a 64-bit system that can render all three cases, but maybe someone has a more informed opinion?

There are several things you could try. First is instancing the referenced object inside the scene file. Another is instancing in the reference scene. And yet a third one is saving everything in the same scene and then instancing there, I'll tell you down below why I suggest this.

If you are going for a forest (say thousands of these trees) one way it would seem to be to make a forest.mb scene with one tree and 999 instanced ones. Then reference this from the scene1.mb file. Seems to me this would be easier to manage.

Placement of the trees would be a little tricky, but if you designate a low-res proxy I guess it would be easier to see in the scene.

The problem I have had in Maxwell is that I know for a fact that it sometimes messes up instanced objects placement, specially if you change the scale of the tree (as I guess you would want to do in a forest). This has happenned to me with some complex instances (say you have a group, and then you parent it and then you instance it and then you parent it and then it is complex enough that it doesn't render properly)

In some of the files that I have worked with, the mxcl renderer definitely messed up some instances, so what I ended up doing is converting them to regular geometry right before rendering, otherwise it would not render correctly. Since this was unavoidable I ended up using layers and hiding them while working. Then for render I select all instances that were giving me problems and then convert them and render.

I guess it will be fixed at some point, but since you mentioned only 4 or 5 trees it seems you are better off just loading a reference and instancing it in the scene that you are working on. But if you can render this and hard disk space is of no concern, why not put everything in the maya file? then it seems that you would only hit a limit if you are working on a 32-bit renderer. If this is the case, then switching to a 64-bit renderer (Maxwell or otherwise) would be better for you than playing around with instances.

Then I don't think you would have a problem rendering 5 or 10 trees with 2 million polys each plus whatever scene you have. (Assuming of course you have RAM to render this)

I digressed a little but I wanted to suggest other approaches if they are helpful to you. Maybe instancing is not that helpful with just 5 2 million poly-trees?

I am curious to see what other people have to say.

By Robert Cervellione
its simple. but you need to know a little mel.

in the tree model create the stand in object and make a group w/ the tree and stand in object. hide the high poly so you can only see the stand in

in the scene, reference in the tree model (file>reference)

instance or copy as needed

write a simple mel script that turn on the high poly tree and hides the low poly.

use the mel in the pre-render mel slot in the renderer.

if you want create a post render mel that hides everthing after the render
User avatar
By deadalvs
hi Mauricio and Robert.

thanks for the inputs... good points !

the reason why i left out maxwell was because i know it is not yet possible to external-reference geometry (yet). and since the references would themselves be .mxs files it does not matter for maya anyway.

i have had no time yet to play with such scenes because my sweet 64 bit computer with 4 gigs of ram is placed here in the office...

so it's clear with the thoughts so far.
an other question. does the maxwell .mxs exporter work with external referenced files properly ? because like this it'd be easy to split up scenes and instance these files in the actual scene. sorry... i have no time to play... :(
By Jorge Alix
Yes ,it works properlly, have a look to this site, from chapter 4 is rendered with earlier versions of maxwell and all objects in the scene are references.

It looks more like a smooth normal problem. Like i[…]

I had some very strong highlights in some material[…]


Thanks everyone! I didn't want to use volumetrics […]

opening V5 files in v6

just installed latest version for Rhino V6 when I[…]