Jump to content

Easy Xref proxy method?


yp
 Share

Recommended Posts

Hi all,

 

I'm quite new to using Xref, used them mainly to lower the filesize and speed up saving time.

 

I now had to send a scene to a colleague (which is a big one already) and needed to collapse some railclone objects as he does not own railclone himself - and this slows opening time massively. The scene is hard to handle already and likely even crashing on his PC (not to mention the smallers ones of the renderfarm nearby even though this might come from 1001 different causes as well.. ;) ).

 

So I'd like to get a littler deeper into Xref, outsourcing as much as data as possible.

 

I Xref'd severaly forest pack objects with vegetation and some interior models.

I know I could substitute the Xrefs with a proxy object and load the models on rendertime only if I'm not mistaken (sounds logic anyways).

 

So what I'm missing right now is a "button" in the Xref objects dialog to display those objects as box (as bounding box placeholder) only and further not loading those objects into scene, as it is now.. Xref objects are still visible in full in the scene which lowers filesize on save but takes long to load. (I surely can set the Xref layers to show as box only to make the scene handling better)

 

The Xref'd objects contain several objects themselves and I can't set a single proxy for all of them at once (and that's the major point, at least I cant find a way), I could only set this one by one - and the Xref'd RC objects only contain 32000 already..

 

So, I hope it's a clear somehow what I'm after and that there IS a simple solution already. Which I guess as it's too obvious ;)

 

Thanks in advance

Niko

Link to comment
Share on other sites

Uhm, good guess Philip ;)

 

But not really an option in this case...

Beside collapsing RC easily results in numerous objects (sometimes necessary tough, eg. for attaching lights) there are other reasons for big scenes.

 

So what I'm actually after would be a native or script solution for

 

select objects > save selection to Xref file > create bounding box dummy from selected objects (e.g. prompt "each object" or "one for whole selection" if possible) > use those dummys as proxy object and render fine

 

*happyface*

 

Filesize low, loading quick, saving quick, scene handling better, maybe even rendertime less.

Again: probably a TOO obvious wish. Maybe I'm overseeing something..

Link to comment
Share on other sites

I think there is a miss understand of concepts here first, X REF scenes, yes they help to reduce "main scene" file size, but on rendering time it load the whole thing any ways. Proxies, the same thing, it help with your view port refresh and over all scene size, but again in rendering time it load the actual geometry so there goes your ram. now proxies are smart enough to load just what camera sees, so in that case they are better than XRef Scenes.

 

Rail clone and Forest are great to manage many object, this is the archenemy of 3D Max, not much polygon count but many many objects.

So if you have a full building/tower build with rail clone and then you mesh that and proxy or X-ref, you are loosing all the dynamic info and RAM saving than Raicloner give you. the same thing for Forrest. Sure if your trees and plants are proxy, they will be less headache than regular mesh, but still, if they are forrest object, there is more savings.

 

Having said this, you could use a combination of all of these to help manage your scene, but at the end you always have to have an eye on your RAM. 3D Max also has containers, Replace object, substitute modifier, that will do what you are asking, to use a simple mesh instead the final dense polygon. but at the end when you click render, 3D Max will have to load the final mesh, any way.

 

you can also always do right click to any object or group and select display as box.

 

I also agree if your friend will work with you often enough he should try to get the same software you have so you can exchange scenes easily.

best luck.

 

I usually work with large files (not polygon count only but large developments) and when clients ask us to send the files, we run with the same problem, we can only deliver the basic architecture, but not the whole environment, because it is build with several plugins that if we mesh everything will be impossible to even open the file.

Link to comment
Share on other sites

we run with the same problem, we can only deliver the basic architecture, but not the whole environment, because it is build with several plugins

 

Exactly.

 

My answer was quite long already but by clicking on reply it was all gone.. Grr.

So again, in short, yes, getting RC is always good, but not always an option and the problem applies to other situations, too.

 

I agree on everything what you say and I'm aware of the possibilities of proxies, Xrefs, Max containers and furthermore instances, references, display methods like box, points, layers, hidden but renderable and such. Essential for handling larger scenes. Substitute does the same (I guess): it does represent an object with an chosen other object for better scene handling - but the object still remains in the scene.

 

Outsourcing scene elements does have an impact on loading / saving time and scene handling if represented as dummies. Loading / swapping objects on rendering only might have even a beneficial effect on rendertime and -capabilities. I remember I read something alike not too long ago.

 

Anyways, maybe I didnt't make it clear enough - what I'm after would be an automatic solution to convert a selection of objects into Xrefs while creating a dummy version of them (or all in one) and directly switching on "enable proxy object". So the objects do no longer remain in the scene but are represented by that proxy object.

 

(I hope I could explain things precise enough, actually got a little lost in reconstructing my earlier post, tell me if I'm mistaken ;) )

Niko

Link to comment
Share on other sites

From what I read the only close solution for you would be Containers. But even that won't give you all what you ask for, because it is very dam complex to do it.

But you have solutions, and they are a mix of all we talked before. so far is the only way to manage large scenes.

I have a friend that proxy everything, and I mean everything, even the buildings, when he does animation. To me that's too much, but it works for him.

Link to comment
Share on other sites

Yeah..

 

I'll look a little bit closer into these options - using Vray proxies seem to be a solution too as it replaces the scene objects with little polys. They can be modified later as well. Not the perfect solution though.

 

A question about containers - the do load the whole models into the scene, don't they?? I just made a test scene with some high poly object in a container. As long as it is still visible in the scene it probably slows down the same (the scene stats are not updated while using container btw). I could set a "proxy definition" which seems to be the same as proxy representation in Xrefs. So basically I don't get the difference and benefits of using containers (at least over Xrefs) and nor do many other as I found out by reading through other threads (like http://www.maxforums.org/threads/grouping_vs_layers_vs_containers_vs_xref_vs_proxy/0001.aspx not too recent but probably still applying)..

 

The problem stays the same: you have to set up a proxy object by hand to replace it properly.

 

Vray mesh export does the conversion for you, unloading the geometry and replacing it with a small number of faces.

 

This is so weird in my eyes: seems to be such a simple solution to represent geometry simplified in a scene and reference it to somewhere during render. But obviously it's not.

 

Might be alright if you're working in a big collaboration that once you've created eg. your high poly sci-fi model that you save the low-poly representing model as well which is representing the high poly object in the final scene. Does not apply to me though :/

 

So right now it seems like the only way of unloading geometry from a scene and swapping it with a placeholder automatically is Vray proxy. Guess I'll go with your friend's solution then. At least when scenes are getting big.

 

Thanks for your help, I'll keep an eye on this ;)

 

Niko

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...