How to manage big scenes in 3d Max
Great tutorial about how to manage big scenes. We all know how difficult it is to handle a large project. Often we don´t have a powerful computer to handle large scenes, this tutorial of Alexey Kondratev explains how.
Based on the statistics on our site the visualization we make is more often designed for big residential complexes and villa communities. Sometimes these projects consist of dozens of multistory blocks, and the 3D-scenes include great number of greenery, automobiles, people and other objects of fillings. Most of all, our clients don’t have the ultimate version of materials and that is why we have to make such-like projects upon the conditions of numerous corrections and alterations. We prefer to work through all the scenes in 3D and avoid photomontage, as it is easier to correct something in 3D, than over and over introduce changes on the stage of material post-production.
The most frequent question we’re asked: “How do you render such tremendous scenes? Is your 3D Max manages with it? Perhaps, you have really cool hardware”.
Answer: “No, the hardware we have is common as dirt. However, we work taking into account two important principles:
We do not work through anything that cannot be seen.
The approach to organization of project work. We preliminary take into account the possibility of work with difficult scenes.
After reading this article, it can seem to you that these rules just slow down the work. However, this assumption is deceptive. These principles rapidly fall into habit, and the only thing you need is to constantly follow them. As a result you will be able to work with scene of any volume in the shortest terms.
Let us start with typical configuration of computers, which are used for making our projects.
Processor Intell i7 3770k
32 GB Ram (memory is quite cheap nowadays, do not save on it)
SSD hard disc drive
Graphics cardGTX 650 2 GB
x64 Windows, with possibility of passing over the restriction of 3 GB of possible physical memory.
As you can see, our computers are rather powerful, but nothing out of the common (quite up-to-date for the beginning of 2015).
The secret of success is scene organization and the rules of work. Let’s consider the main points.
The number of polygons the main scene consists of rarely succeeds 16 million. The main rule is that the number of polygons must be feasible. We don’t model minor details, don’t bevel objects that will be shown from afar. On the average, we put more than 200 thousand of polygons per a high-rise apartment building.
It is much easier to finalize an object that will locally get into the shot, than to work through the entire scene in detail.
We use “Turbosmooth” or “MeshSmooth” smoothing only when it is actually necessary.
If an object seized smaller than 20 cm, we do not model it. However, if it puts into near camera angle and we can do nothing with it, we will add it directly for the present perspective. For quickly finding the most highly poligonal object of a scene add the “Faces” column to “Select by name” menu and sort all the objects by quantity of polygons.
We actively use “VrayProxy” and convert all the objects into it due to the following criteria:
an object will be actively copied in scene;
an object includes too many polygons.
This is very important, especially regarding trees, bushes and automobiles, as they consist of the huge amount of polygons and, as a rule, we often copy them in scene.
It is recommended to convert an object into “VrayProxy” in advance and import it to scene. It is not worth the trouble to make conversion into “VrayProxy” in main working scene, it can lead to errors.
After the “VrayProxy” objects are located in scene, turn on the “Bounding Box” display mode. Thus you will upload “Viewport” and reduce the load on graphics card. It is being especially relevant in case of scenes with a big number of “VrayProxy” objects.
Tip: The copy of “Instance” of each unique “VrayProxy” (for example, each unique tree) can be taken out of the scene working area and collect all “Proxy” in one place. It’s recommended to band this area with a rectangle spline – in such a way you won’t miss small “VrayProxy” like colours or small bushes. This “set of green” can be easily exported to other scenes.
Use this approach and you’ll have ready-made sets of “VrayProxy” frequently used objects at hand. You will not have to waste time to make them.
This tip relates to main objects, which you display in a scene, such as houses. The reason is common: they’re constantly changed because of lack of final materials. We use “Xref” to optimize houses, I’m going to describe it later.
If you need to copy objects you’re not going to edit later, use such type of copying as “Instance”. If there are more than 20 objects, it’s better to use “MultiScatter”.
We use “MultiScatter” every now and again, especially when copying greens and a great deal of repeated objects such as foliage at the road, almost all greenery, grass, and other repeated objects.
We recommend arranging “MultiScatter” presets for main copying elements in advance, it will save some time.
General tip: use what is ready to the maximum
In order not to be confused and have the opportunity to quickly remove and edit necessary “Scatter” we take “MultiScatter” objects and initial “VrayProxy” out of the scene to one place. Then we group them and sign. Thus, any member of staff will be able to understand the scene.
File > References > Xref scene
We use “Xref” to optimize work on a project. It’s especially important, when several specialists work on the same project. Using “Xref” you can
– make up a scene of several parts
– each coworker will be able to work on his part of scene independent on colleagues
– general scene will be constantly updated, in such a way it’s easier to execute the master plan
Example: the project main scene is scene.max, which includes master plan, greenery, cars, and other objects. Houses for this project are in separate scenes “house1.max”, “house2.max”, etc.
Buildings “house1” and “house2” are uploaded in “scene.max” from individual files. They cannot be edited in “scene.max”, but they are rendered along with it. Quick and handy.
If necessary, you can turn off displaying these houses in viewport — it significantly saves resources. Meanwhile, modelers can work with “house1” and “house2” scenes without opening “scene.max” main scene a visualisator works at. Thus, our working project consists of several scenes: main scene in which project is gathered, and additional scenes where there are buildings and objects by separate scene for each object. You must admit that it’s very much comfortable for team-work, when nobody disturbs others.
Always use “Xref”, if your project consists of several buildings or objects, especially when several persons work on a project, and corrections are possible.
We actively use layers for the purpose of convenience and work optimization. They allow us to suspend a group of objects, which is unnecessary at the moment.
Always hide layers you do not work at now.
We use only JPEG textures. We recommend not using TIFF and PNG textures, since they consume a lot of memory and significantly slacken overall performance.
Use only “Vray” plugin materials. If there’s imported model with standard materials – pass it through “Vray mtl converter” plugin. It automatically converts all materials in “Vray” format and prevents all possible errors and drawbacks of displaying. We recommend checking big scenes with this plugin from time to time — it’s typical for standard materials to appear in a scene. Thus, you’ll eliminate this possibility. Standard materials can be a cause of shut-downs when rendering.
Use one copy of one material in a scene. Do not copy it unless necessary. For example, if one material is a part of “MultiSub”, than copy it there, using “Instance” copying.
Optimize the number of “subdivs” parameter in materials. Do not overrate them unless necessary, the standard amount of “subdivs” – “8-20”. Sometimes in reflecting objects with the use of “glossy” parameter, the number of “subdivs” should be increased. For example, to “30” in order to avoid noise.
Optimized viewport is a formula for quick and effective work.
For the sake of convenience when working with large scenes in viewport, we follow the next rules:
– Use “Nitrous” mode in viewport when assembling scene.
– Hide textures, if now you needn’t to work with UVW Map. All textures can be hidden in Display > Shaded: object Color.
Close images of all Xref, with which we don’t work at the moment.
it’s better to set multipolygonal objects (which by some reason are not converted to “VrayProxy”, for example, borders) in “Box” display mode.
All “VrayProxy” и “MultiScatter” objects are taken out of the working area in scene and are signed.
All “VrayProxy” objects, which aren’t worked at, are displayed as “Box”.
Set all “MultiScatter” objects with ready settings to minimum values in “Preview” parameter, “Preview type: Box”.
Use “Adaptive Degradation” mode in viewport settings
Use logic groups. For example, all trees can be coloured with one colour using “Object color” parameter. In such a way it will be easier to orientate yourself in stage, and you’ll get handy masks as a bonus when rendering.
Use “Viewport clipping” when modeling.
We actively use “Region render” computation method to change a scene and render the only area of change. For introduction of changes and quick preview we hide all “multiscatter” and “proxy” objects not used at the moment. In such a way we save time on objects uploading to memory — rendering is accelerated many times. For quick close you’ll need the area where you’ve transferred all unique “multiscatter” and “proxy” objects to. Moreover, in a good scene all these objects are signed 🙂
Preparing scene to rendering
In our studio all images are rendered by means of “distributive render” on several computers. To avoid problems regarding parallel rendering follow the next rules:
1. There should be no lost textures. When opening a scene there should be no lost textures messages. Lost textures path can be restored using “AssetTracking” (Shift+T), if textures are impossible to find, replace them with grey “pads” with the same name and file extension.
Tip: when importing or merging a model from libraries to work scene, check and optimize it in a separate clean scene. It helps to avoid problem materials, lost textures and other troubles.
2. Scene should not contain Cyrillic characters or any other languages characters in names of objects, materials, scenes, etc. Only Latin characters. Network render doesn’t support Cyrillic characters, it’ll lead to errors when rendering.
3. Scene should not include standard and Raytrace materials. It causes scene hanging up, shut-downs or spots.
Tip: before rendering use Vray standard converter of materials— right click in scene, “convert all materials to vray”.
We use rendering across a network, that’s why all work files should be in server. We don’t store files on local computer since in this case there will be places without textures in render or lost proxy.
Vray Global switches:
Reflection/refraction max depth: 3 — this parameter is enough for most of scenes. Unnecessary rereflections are not rendered. It can be increased when necessary.
Default geometry: Static
Dynamic memory limit: 30000Mb
It significantly speeds up rendering.
I hope my tips will help you when working with very large projects.
All pictures are from a project that has been described as an example can be found here