"How to make up a tremendous master plan better"
How we do it in Ravelin3D studio (tips and principles).
Introduction
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 in 3D and avoid compositing in 2d software, as it is easier to correct something in 3D, than constantly make changes in post-production.
The most frequent question we’re asked: "How do you render such tremendous scenes? How your 3D Max manages with it? Perhaps, you have really cool hardware".
The answer is: No, the hardware we have is common as dirt. However, we work taking into account two important principles:
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.
Hardware configuration
Let us start with typical configuration of computers that are used in Ravelin3D studio.
As you can see, our computers are rather powerful, but not uncommon (quite up-to-date setup for 2015). The secret of success is scene organization and workflow.
Control polycount
The number of polygons the main scene rarely exceeds 16 millions.
If you want to sort quickly objects by polycount, add the "Faces" column to "Select by name" menu and sort all the objects by quantity of polygons.
Use VrayProxy
We use "VrayProxy" for all objects with a lot polygons. This is very important, especially regarding trees, bushes and automobiles, as they consist of many polygons and, as a rule, we often copy them into scene. We convert objects into "VrayProxy" before importing them to scene. It is not worth the trouble to make conversion into "VrayProxy" in the main scene, it can lead to errors. After "VrayProxy" objects are put in scene, turn on the "Bounding Box" display mode, it will reduce the load on graphics card. It is especially relevant if the scene contains many "VrayProxy" objects.
Tip: The copy of “Instance” of each unique “VrayProxy” (for example, each unique tree) can be removed from working area and put in one place. Border this area with a rectangle - in such a way you won’t miss small “VrayProxy” colours or small bushes. This set 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 make them from scratch.
Instancing and scattering
If you need to copy objects, that will not be edited later, use copy as “Instance”. If there are more than 20 objects, use “MultiScatter”, especially when copying repeating objects (mostly greenery). Make “MultiScatter” presets for copying elements in advance.
Use Xref - You can find it under File > References > Xref scene
We use “Xref” to optimize workflow. It’s especially important, when several specialists work on the same project. With “Xref” you can build a scene from several parts. Each co-worker can work on his part independent of the rest of the team. Main scene will be constantly updated during this process.
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.
Use Layers
We actively use layers for the purpose of convenience and work optimization.
Optimize materials and viewport
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 to “Vray” format and prevents all possible errors and drawbacks of displaying. We recommend checking big scenes with this plugin from time to time. 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 these rules:
To increase viewport performance you can put multipolygonal objects in “Box” display mode.
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.
Color your groups. For example, all trees can be coloured with one colour using “Object color” parameter. In such a way it will be easier to understand the scene, and you’ll get handy masks as a bonus when rendering.
Use “Viewport clipping” when modeling.
Render regions
We actively use “Region render” computation method to change a scene and render the only changed area. If we change something and want to do a quick preview, we hide all “multiscatter” and “proxy” objects that are not used at the moment. This way we save memory and rendering is greatly accelerated.
Prepare 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:
We use rendering across a network, that’s why all work files should be on server. We don’t store files on local computers since in this case there will be places without textures in render or lost proxy.
Render standard settings:
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.
Vray: System
Default geometry: Static
Dynamic memory limit: 30000 MB
It significantly speeds up rendering.
I hope my tips will help you when working with very large projects.
Follow us on our Behance account: https://www.behance.net/ravelin
Good luck!
LEAVE A COMMENT
COMMENTS