Wednesday, 11 March 2015

Architectural Visualisation

Tips & tricks for architectural Visualisation : Part 2

The 3d images shown above were personally produced for a variety of different companies. To see the entire 3d portfolio and the architectural renderings, simply click on the above image!

Also, check my New Book: 3D Photorealistic Rendering: Interiors & Exteriors with V-Ray and 3ds Max

The following tips and tutorials are mostly related to 3d architectural visualisation.

However, users from similar industries such as, Architecture and Architectural design may also find the following tutorials/tips useful.

This part 2 series will focus mainly on proprietary rendering tools such as batch camera render; and on a fantastic tool/script for Verified Views Methodology/Planning:


We will begin this second part series by introducing an amazing proprietary script called BatchCameraRender

The plug in/script was created by, Sergo Pogosyan

While this amazing script is packed with numerous rendering tools; we will focus mainly on the ones that architectural visualisation companies often use to automate daily/vital project tasks that are dimmed time consuming, tedious, repetitive and chaotic at times.

In architectural visualisation, it’s very common for companies to structure each project folder in the following manner:

Main Project folder name: Project number & project name (i.e. 0000001_Wembley Stadium)

Sub-folders structure: In; Out; Scenes; Renders; Post-Production; Animation; etc.

The one sub-folder that often becomes chaotic /messy is the, “Render” folder.
This folder is commonly inundated with multiple renders deriving from constant design options, camera changes, Materials, First draft renders, multiple render elements, Final renders, Region renders, etc.

The following tutorial will take users through the process of using the BatchCameraRender script to help organize folders, by automatically structuring each render sent, into sub-folders with the appropriate name and date.

To download the free script, please go to:

Once downloaded and unzipped, simply open your 3ds Max file and run the Script; by clicking on the Maxscript toolbar and choosing the Run Script option.

Next, locate and open, to run it.

The following step is to place it on the main toolbar.

To do so, simply click on the Customize toolbar and choose the Customize User Interface option from its drop down list.

The Customize User Interface dialog should appear. In the Toolbars tab, under Category, scroll down and choose the Sergo Pogosyan category from the drop down list.

To make it a toolbar, simply drag and drop its Action (i.e. Render scene cameras with specified…) on the main toolbar!

With the script on the main toolbar, one can easily access it whenever necessary.

In order to help depict some of the key features of BatchCameraRender, we are going to create a 3d camera first.

Next, rename the newly created camera according to its position and view option (i.e. Camera View A_first floor). This will later help organize/structure the renders and their sub folders more intuitively.

The subsequent step is to save 3ds max file in the scenes’ project folder. Also, name the scene according to the camera name (i.e. Camera View A_first floor).

Once the scene is saved, open the BatchCameraRender script dialog, by clicking on its icon from the main toolbar.

The camera in the scene should automatically be detected in the Camera Manager Settings rollout parameters.

Enable the camera tick box, to begin working on its parameters (otherwise it will be greyed out) .

To setup the Render Output and the subsequent rendering folders, scroll down to the Render Output rollout and click on the File toggle.

In the Save Image dialog, name the render output according to the camera name and save it as a tif file format.

Once the Save button is clicked, note how promptly the default file paths were automatically changed.

The next step is to use syntaxes to automatically save, rename and place every rendered frame in their respective folders, along with their rendered elements.

Click on Syntax toggle to open its File name template info dialog. The dialog depicts all available syntaxes and their functionalities.

Some users screen grab this dialog to keep it as reference.

In architectural visualisation, most users utilize the following syntaxes: %date% ; %cameraname% ; %projectname% .

It’s worth noting that, when using syntaxes the backslash key is NOT permitted.

In addition, each syntax starts with a % and finishes with a % . The next Syntax can be typed in after a space (i.e. one space bar click: %date% %projectname% %cameraname%.tif ).

Furthermore, the Save File output syntaxes can only be typed in the Filename field (Syntax toggle). Once the syntaxes are typed in, press Enter. Note how the File path above changes automatically.

Tip: Ensure the file extension is typed in correctly (i.e.: tif, jpg, etc.), otherwise it will generate errors.

To set the Batch Camera Render to automatically create sub-folders, simply type in a number or a name, followed by a backslash (i.e. 1\ ). Once entered (press Enter), it automatically changes the File path above.

The backslash key can only be entered in the Open Folder name field.

If rendering elements, simply go to the Render Elements folder/Sub-folder group and tick on the enable Elements option. It’s undefined by default.

Users often copy the syntaxes from the Filename (select & right click), followed by pasting them in the elements name field.

Note: Any new changes made to the Batch Camera Render or scene (i.e. syntaxes; folder/sub-folder creation; Scene states; new cameras in the scene, etc.) need to be Refreshed; otherwise it will either overwrite/override previous renders or generate rendering errors.

To refresh the Batch Camera Render new settings/parameters, simply scroll up to the Camera Manager settings and click Refresh.

The amazing feature about this script is that, once you set it up with one camera, you can later merge and save it into a new/different project scene: It will automatically translate the previous project settings/parameters into a new scene, based on which project folder the camera was last saved in.
One can simply copy the merged camera settings into a new one.
To do so, simply select the camera from the Camera Manager settings and click on the Copy button .
Next, select a new camera and click Paste.

For a quick test render, set the Output Size parameters by simply clicking on, From Max, button. This function extracts the current Output size settings from the 3Ds Max’s Render Setup dialog.

Alternatively, you can simply type in a size, or choose from the available pull down pre-set.

Also, enable some render elements. If using V-Ray, the frame buffer needs to be enabled, along with its Split render channels option.

Note: The V-Ray frame buffer file path doesn't require being set.

Back in the Batch Camera Render dialog, click Render to see the results.

Note how the files, folders and sub-folders were automatically created and named accordingly.

For any subsequent renders or test renders, simply scroll down to the Render Output rollout, and type in 2\ in the Open Folder name field.

This action will automatically create a new sub-folder under the name 2.

Note how the File extension above also changed simultaneously.

Feel free to name the folders and/or sub-folders differently, if desired

There are also other great features such as Scene State- Render Preset and Light assignment, which can be explored in the link below:

As mentioned earlier, every time a new value or preset is entered, one should click on the Refresh button to update the changes.

Script for verified views

In architectural visualisation, typing in individual survey point values in 3ds Max, can be very time consuming; especially when working with multiple camera views for verified views.

Most verified views come with at least 10 individual survey points, per camera.

Below is an example of a typical survey data spreadsheet, provided by the surveyor.

The View name or number is often referred to the camera.

The Easting value is the equivalent of the X position in 3ds Max. The Northing value is the equivalent of Y position in Max.

The Level value is the equivalent of the Z position in Max.
The following script, created by Stefan Johansson (, will help create and position each survey value automatically/accurately in 3ds max, as instanced point helpers.

The great advantage of having survey points in 3ds max as instanced helper points is that, their sizes in the camera viewport can be set to have a Constant Screen Size.

To create the script, simply do the following:

Click on the MAXScript button from the main toolbar and choose to open a New Script.

Next, copy and paste the following code onto the MAXScript dialog:

-- open the file as text, read mode
f = openFile "c:/surveypoints.csv" mode:"rt"

prefabPoint = point name:"dummy"

-- if it opened successfully (exists, etc)...
if f != undefined do
while not eof f do
-- Read a line from the file
l = readline f
-- turn that line into an array of strings using commas as delimiters
lf = filterString l ","
if (lf[1]!=undefined ) do
newPoint = instance prefabPoint = lf[1]
x = lf[2] as float
y = lf[3] as float
z = lf[4] as float
newPoint.pos = [100*x,100*y,100*z]
close f
delete prefabPoint

It’s worth noting that, the first line of code of this script, is set to go to the root of C drive and extract/open a csv file type (spreadsheet)under the name of surveypoints.csv

(e.g. f = openFile "c:/surveypoints.csv" mode:"rt" )

It's imperative to use forward slashes, as opposed to back slashes.
This means that, every time one runs this script, it will automatically look for a file under the above mentioned name, the file extension/type (e.g. csv) and the specified location, as described above (c:/).

However, you can change the location and the file name as you see fit (Not the file extension: cvc).

Example: f = openFile " F:/scene tests/Wembley Stadiumsurveypoints.csv" mode:"rt" )

Once satisfied, simply name and save the script as a maxscript file type.

Once saved, close the dialog box.

To run the script, simply click on the MAXScript toolbar and choose to Run Sript.

All survey points should be created automatically.

If for some weird reason the script isn't working; try opening the spreadsheet file in a notepad program, and save it again out from the notepad program as, a csv file.

It’s worth noting that, the last three or four digits of the survey values might be slightly off (insignificant value offset).

It is NOT a script error: 3Ds Max has difficulty with accuracy, when working or displaying numbers/units that are too far away from 0.0.0

Note: I would like to send a big thank you Stefan Johansson ( for taking the time to create this amazing script!

Stefan is an avid programmer and a Unity expert!
Unity is a cross-platform game creation system developed by Unity Technologies.

For more info about Stefan, please visit:

The subsequent step is to create and position the 3d cameras according to the values(X Y Z) depicted in cvc file.

In addition, one can also begin camera-matching each view according to the camera info and the photography provided.

In architectural visualisation/ verified views, it’s common for users to have an AutoCAD drawing with the survey reference.

Architectural companies often use this drawing (in conjunction with the cameras and point helpers), to help with the alignment against the existing context model.

To align the matched survey and cameras with the context model, one is required to first save the working scene containing the survey points, cameras and the AutoCAD drawing (if available).

Next, open the main scene containing the context model, building and lights.
Following that, open the XRef scene dialog and Add the scene containing the matched survey data with cameras.

In architectural visualisation, it’s common for the matched survey points and cameras to be miles away from the 0.0.0 point and the main scene.

To line up the XRef survey points with the main scene, create a dummy object and bind it to the XRef scene.

Following that, move and/or rotate the dummy in order to line up perfectly with the main scene.

The XRef and a dummy were used to ensure the original surveyed point values remained intact from their original surveyed location (i.e. miles away from 0.0.0 point).

Below are examples of some of many verified view images I have personally produced while at GMJ design ltd

For more information about the overall process, please visit the following government websites:

Verified Views Methodology

GLVIA (Guidelines for Landscape and Visual Impact Assessment)
In addition, it's worth checking its visualisation page/tab guidelines

Government Pre-Application Advice

Mandatory Documents

I hope you have found this article somehow useful!

My 3D Portfolio:

New Book: 3D Photorealistic Rendering: Interiors & Exteriors with V-Ray and 3ds Max

More tips and Tricks:

Post-production techniques

Tips & tricks for architectural Visualisation: Part 1

Essential tips & tricks for VRay & mental ray

Photorealistic Rendering

Creating Customised IES lights

Realistic materials

Creating a velvet/suede material