3dsmax

Script: Paint Pot by David Mackenzie

Paint_Pot
Paint_Pot_Crop
Paint_Pot_Crop

Updates!

  • For those of you who are now on Corona I have added the ability to create a Corona materials along with V-Ray and Standard Materials. I do not have a lot experience using Corona so if you run into any trouble please let me know. Version 1.2
  • The Europeans have called and I have answered, I have updated the download below with a new version that includes the RAL paint codes. I also made a another minor change, when you create a material using one the buttons the new material will be named <Brand> - <Paint Name>. You can download the script at the bottom of the page. I am considering including the Pantone library, if I get some interest I will do it. Version 1.1

As a lot of you know, working in visualisation it is not uncommon to be given a very specific design scheme for a project you are working on. Often schemes will include paint codes which is great because you know exactly what you need instead of an architect or designer trying to articulate that exact feature colour...

Unless you have swatches right in front of you with the RGB colour to go with the paint code you will normally look it up online but to be honest, after a while it gets a bit tedious searching through different brands website's looking for the correct RGB colour value for a paint(s). So I created a Paint Pot, which includes a database of around 15000 commonly used paints in Australia (where I live and work). I am not sure if the brands of paints that we use here in Australia are used in the other parts of the world, so Americans and Europeans may not find this tool particularly useful.

The tool itself pretty straight forward, just start typing in a paint code or paint name and you are away. Check out the screencap below to get an idea. Once you have found the paint you like click on it to see a swatch and the RGB values. You can also create a very basic V-Ray material for you as well.

PaintPot
PaintPot

You can download the script here.

If you would like to add the script to a menu copy the script to your /3dsmax/scripts directory and run the code below:

macroScript DANDG_Paint_Pot category:"Daves Tools" tooltip:"Paint Pot" buttontext:"Paint Pot" silentErrors:False ( on execute do ( -- run script local scriptfile = "\\dg_paintPot_public v1.2.mse" if (doesFileExist scriptfile) then( filein ((getdir #scripts) + scriptfile) )else( messageBox ("Could not find script file: " + ((getdir #scripts) + scriptfile)) ) ) )


If you have any other paints you would like added to it and can supply me the paint codes, names and values or a website link I will happily add them to the tool.

As usual if you are using the tool, PLEASE let me know as I am interest where these scripts end up!

Cheers,

Dave

It's hip to be square - G Class by David Mackenzie

Fusion x64 TIFF File

I LOVE the Mercedes G-Glass, I have no idea why. There's something innately beautiful about it while still being tough and having a presence on the road. Kind of like a MMA fighter but wearing a tux, its hard, from the street and ready to go but along the way it has been refined a polished, it has developed a sophisticated exterior. All of these were rendered in 3ds max with V-Ray. All of the post was done in Digital Fusion 6.3. Back plates and HDRI from Moofe.

Any way enough that, check out the renders below. 

Fusion x64 TIFF File

Fusion x64 TIFF File

Fusion x64 TIFF File

Fusion x64 TIFF File

Fusion x64 TIFF File

Who said you can't chop a rolls by David Mackenzie

Rolla - You know you like it

I love Rolls Royce. One my favorites is the 1959 Silver Ghost III but I also love hot rods and custom cars. Given that here is my Silver Ghost, I call it Rolla. It has been slammed and had almost 5" chopped out of it. The only thing it is missing is some Von Dutch style pinstriping.Hope you like it. Rolla - You know you like it Rolla - You know you like it Rolla - You know you like it

 

The images where rendered with V-Ray. Background plates from Moofe. I post up a making of soon(ish).

HDR Sets - Review, of sorts by David Mackenzie

HDR Sets

06. Crop So, the other day I was browsing Max Underground as usual when this post caught my eye. Seeing as I often waste spend my time creating renders of cars I like, I am always on the look out for great HDRs I can use. As you will see below HDR Sets products are second to none.

First off, this is what you get with one of their sets:

  • Highres 360° HDR for reflection ( I also used this for lighting ).
  • 360° HDR for Lighting
  • A series of Highres HDR backplates.
  • FBX file (other formats as well)  with matched cameras and a sphere with the correct orientation of the HDR.
  • sIBL compatibility.

As you can see above these guys are definitely 3d guys or they at least understand what artists need. After reading about all of this I was pretty excited to see they have a couple of free HDR Sets you can download and test. So naturally thats exactly what I did.

S5 Max Scene

Creating my test image

OK, so my test image took me about 5 mins to setup, 20mins to render (@3k) and another 10-15mins in post, less than an hour all up. This is mostly because these HDR Sets make it that easy. Now I should say I did not use sIBL to set up my scene as I have never used it before (something I should probably check out), I just went old school and simple, chuck a dome light in there...

Below are the steps I took:

  1. Create a new max file and import HDR Sets cameras.
  2. Create a ground plane.
  3. Create a V-Ray Dome light and load the HDR as V-Ray HDRI.
  4. Chuck a material on the ground plane and camera map the backplate on to it.
  5. Merge in a car, position it.
  6. Test render.
  7. The test render looked great but I was not getting hard shadows off the HDR (was not expecting too), so I took it into Fusion and upped the gain on the sun to about 25000.
  8. Test render, hard shadows, looks sick.
  9. Render High-Res.
  10. Post processing, comp the rendered car over the HDR backplate add some colour correction. You can see a breakdown of the post process below.

That workflow is blazingly fast and exactly what you would like when purchasing any kind of assets for your work. As a commercial artist this workflow is very bankable.

[gallery link="file" ids="1271,1272,1273,1274,1275,1276"]

 Final Thoughts

In short these HDRs are the best I have used. The thing I love most about them is the HDR backplates, it makes it much easier to comp your renders and get a consistent treatment across both your render and background when grading them.  The fact the backplates are already camera matched is just a bonus. There other products out there that are similar, Moofe has an awesome and more extensive selection of HDRs, they also include backplates which are pretty easy to camera match due the 1m² cube that is in the image. To be honest though the single biggest upside for me was the fact that HDR Sets cost  40€ - 80€ and they are not rights managed which makes life easier.

HDR Sets will definitely be my first port of call when looking for HDRs moving forward. I highly recommend them.

Custom Audi S5

 

Highpoint Animation - Our Vision Sydney by David Mackenzie

Highpoint Hurstville
Highpoint Hurstville

Last year Our Vision complete an animation for Highpoint project in Hurstville. This animation was turned around pretty quickly and came together without much trouble at all. Along with the film, Our Vision also produced a number high res still images. The project was created with 3dsmax and rendered in V-Ray as usual.

You can check out the film below:

Ocean Water Test - HOT4MAX by David Mackenzie

Hot4Max Render Test
HOT 4 MAX
HOT 4 MAX

So a little while ago I wrote a quick article about a plugin I purchased called HOT4MAX . Long story short, this a very short render test of the plugin. I put the test together in about an hour, as you can no doubt tell by the camera animation. I can report, that the plugin really does work well. I have been very impressed with it. For the record I rendered the shot with V-Ray and comped it in Fusion.


If I get a chance in the next few weeks I will do another test with water spray and some interaction with the surface. I am interested to see how far I can push it as I have a couple shots in mind that I would like to put together.

If you need to do some ocean shots or renders then I highly recommend HOT4MAX. You can get the plugin here.

Spring Cove Manly - Our Vision by David Mackenzie

Spring Cove Manly
Spring Cove Manly

We finished this project up last year and so far it has been very well received. Spring Cove is a very high end development in Manly, possibly one of the best harbour locations in Sydney. Consisting of Apartments, town homes and houses. Our Vision was responsible for all of the work in the film. We shot the Helicopter footage on a Cineflex system the footage was then tracked in Syntheyes with roto and compositing being down in Fusion. All the CG shots where rendered in V-Ray. Any way, enough out of me, check out the clip below.


You can check more of Our Vision's work here and on YouTube here.

Tutorial - Fusion, Zdepth, EXR's, 3dsmax by David Mackenzie

10. Adjust the settings to get the desired effect

It is AMAZING how often people ask me about this. I wrote a tutorial way back in 2010 about how to use Z-Depth passes in Fusion. To this day it still gets a lot of traffic. However, that tutorial is somewhat out of date and seems to be causing more confusion than clarity. So here is an updated tutorial. If you are really unsure about Z-Depth passes I would recommend you go and read the old one here and then come back to this one as I am not going to explain the basic aspects in this tutorial. I will also explain how to use a Z-Depth pass that is stored in a EXR file which I did not do in the last tutorial. So here goes. First off make sure you render something to an EXR that will have the Z-Depth pass embedded in it. This is not difficult to do, I am max guy so below is a screenshot of the 3dsmax exr save dialog showing my setup. The main things to look out for here are the "Automatically Add/Remove Render Elements" checkbox and the G-Buffer channels at the bottom, both of which are outlined in green. If you have a render element that is creating Z-Depth pass then it will be automatically embedded. For instance if you are rendering with V-Ray and you have a "VRayZdepth" pass in the element list you probably do not need the G-Buffer Z-Depth channel. I as habit always save a few G-Buffer channels as a 'just in case'. Often I will get handed a file that has had Z-Depth element added to it but the ranges have not been correctly setup, in this case it can be handy to have G-Buffer passes.

3dsmax EXR Settings

Hopefully by this point you have a render to take into Fusion. So lets get to it, this is super simple.

  • Create a "Loader" (LD on the toolbar) and load up your render.
  • Go to "Tools" panel and click on the "Format" tab.
  • Expand the "Channels" flyout.
  • Go all the way down to "Z".
  • In the drop down list for "Z" select your Z-Depth pass. This will depend on what you have named your render element. In my case, I select "VRayZDepth.R" (In 99% of instances you can select either the red, green or blue (.r, .g, .b) as they will all be the same.
  • Now if you click in the viewer press "Z" on the keyboard you should be able to see your Z-Depth pass. If you screen is all white or it is hard to see hit the normalise button so you see it properly.
  • Now you can add either a Depth Blur or a Fog node. They will automatically see the Z-Depth information.
  • Adjust the settings on either your depth blur node or your fog node.
  • Done, easy.

That's it. If you are unclear of anything above you can follow that same procedure in the images below which might make it a bit clearer.

[gallery columns="4" link="file" ids="1090,1091,1092,1093,1094,1095,1096,1097,1098,1099"]

I hope that helps everyone. I might do a video if I get time, along with my workflow for using Frichluft Lenscare which is what I normally use to create any DOF effects. If you have any other questions leave a comment and I will try to get back to you.

Aston Martin short/tvc/video thingo... by David Mackenzie

One_77

So I thought I would start the new year off with some making of clips from a little animation I have been working on. It was inspired as you no doubt will be able to tell by Joseph Kosinski's Black Bird spot that he made some years ago. I have always liked it and thought I would use it as the basis of this project. Anyways check out the clips below, I hope you enjoy them and I would love to hear any feedback you have.

Suzuki Grand Designs TVC by David Mackenzie

Suzuki Grand Vitara TVC

Towards the end of last year we (Our Vision) were engaged to create a Grand Designs inspired TVC for Suzuki who are sponsors of Grand Designs Australia. As usual we had a tight timeline to turn it around in. The animation went from previz to final in one week, over the next week we rendered an comped. We used our own animation rig on the car that I wrote sometime ago which let me animate it very quickly. The rig I guess is a cross between simulation and straight animation which lets us have total control over all parts of he car.

[flv:http://daveandgoliath.com/wp-content/video/Suzuki_Final.flv 600 337]

Below is the first render test we did with animation on the car. I actually preferred this camera animation but we thought it was a bit much for the subject matter and in hindsight I think we were right.

[flv:http://daveandgoliath.com/wp-content/video/Suzuki_Render_Test.flv 600 337]

You can see all the work Our Vision has done for Grand Designs Australia and the Suzuki Grand Vitara TVC on Lifestyle channel.

Links:

Cortex by David Mackenzie

I thought this was worth a mention. The guys at Ephere have been working on an exciting project that looks quite promising. What looks like a node interface for creating plug-ins for max has the potential to make the SDK even more accessible to artists and TDs. I am assuming the plug-ins it creates are using their .Net wrapper for the SDK. I have to say that it is great to see these guys continuing to add great products to max. I really like that they seem to also focus on making it easier for TDs to be able to solve problems, there .Net wrapper (which the Autodesk's .Net wrapper is based on) has made my life MUCH easier. I have been able to bust out new tools and plug-ins much faster (perhaps 2-3x) than using the standard SDK.

Check it out below:

In any case it certainly looks exciting. Will watch this space.

Cheers,

Dave

 

Another One 77 by David Mackenzie

I was recently playing around with an idea for car render. I chose to use my Aston Martin One 77 model. It was rendered with V-Ray 1.5 with all of the post being done in Digital Fusion 6.3 (Which I recently purchased). I hope you guys like it I would love to hear any feed back you have. Aston Martin One 77 Studio

Since I did buy Fusion I have started working on a small animation that has the One 77 in it primarily to put Fusion through it paces and try out some of the new tools like volume fog.

I hope you guys like the render. There is a darker version below for those of you using brighter screens. The above image looks great on my Dell 24 using Adobe SRGB. The render above seems to look better brighter less colour accurate screens. I will let you choose ;)

Aston Martin One 77 Studio

Cheers,

Dave

Infocenter WHAT?? by David Mackenzie

Infocenter

No Infocenter!  

I hate the infocenter in max. I also hate the big "M" button they added when they removed the file menu (this file menu can at least be easily add back). I can understand Autodesk changing/adding these things as they decrease the learning curve for new users which is great as the more accessible Max is to new  users the better.

But none the less, people like myself that have been beating max in to doing what we want for many years no might not always appreciate these small "enhancements". If it where up to me I imagine max would still look exactly the same as version 2009 before they added all UI tweaks.  So it was with much excitement when a collegue of mine at Ourvision flicked me a link to a script that removed it. As soon as I looked at the 4 or so lines of codes I realised this is something I should had have thought of a long time ago.

None the less if you like to remove the info center check out the script below:

 Close Infocenter

If you would also like to remove the buttons that are to the right of the big "M" button you can use this version below:

( controlshwnds=windows.getChildrenHWND #max; InfoCenter=for c in controlshwnds where c[5]=="InfoCenterHwndSource" collect c; QATWind=for c in controlshwnds where c[5]=="QATHwndSource" collect c; try(UIAccessor.CloseDialog InfoCenter[1][1])catch(); try(UIAccessor.CloseDialog QATWind[1][1])catch(); )

 

No Buttons!

Both of these scripts should be placed in your scripts/startup directory. I have not found away to turn off the big "M" yet, if anyone knows how to I would be very interested in hearing about it.

Cheers,

Dave

V-Ray Simple Set GI Paths by David Mackenzie

set_gi_paths_feature

Continuing my theme of releasing  simple and useful scripts, I thought I would release this simple tool for quickly setting both Irradiance Map and Light Cache auto save and from file paths. When you are submitting jobs to be rendered this is one of those tedious things that you need to do which lends it self to human error as it is very easy to point a path to the wrong location (we have all done it)... It has a very simple interface, basically you set the path where you would like the GI passes to be saved, type in a name and hit the button. This will set the paths for light cache and Irradiance maps. I have also added some quick options for swapping the modes of GI passes.

The screen shot below should you give you the gist of what is going on.

V-Ray Set GI Paths
V-Ray Set GI Paths

You can download the script here.

This tool was actually extracted from our (Our Vision) custom Network Rendering Submitter I  wrote which basiclly did all of this automatically. It would submit a GI only job and then send the final rendering as a dependant job. This little tool sped up our workflow a great deal.  You can check it out below.

Deadline Quick Submit
Deadline Quick Submit

Oh and for those who have been asking it only works with Deadline from Thinkbox Software. I am planning an entire post related to this tool including some tips for when working with the Deadline scripts.

Cheers,

Dave

3ds max Peeling Paint by David Mackenzie

S5 Feature Image

This was a very quick test a did some time ago. I client wanted to see some example of car animation so I quickly knocked these out. The peeling effect was kind of cool and something that I would like to revisit one day. It was achieved with a bit of scripting and using the path deform modifier given the time frame that is done in I was reasonably happy with the results. 

The below test was really just to test some camera moves and animation.

Both clips were rendered using Mental Ray in 3ds max. The render times were very quick only 1-3mins per frame. Overall the the clips were turned around in about 2 days. In anyone would like a tutorial on how achieve the effect then please let me know!

Cheers,

Dave

Meet Larry, the 3dsmax layer manager. by David Mackenzie

layers_feature

Why build a new layer manager? 3d Studio Max has had a layer manager for a long, long time. It works very well for what it is, however, as scenes over the years have grown large and complex the layer manager has not evolved to over come this. Scenes these days have more levels of detail and with that detail has come a need for better scene management. When deciding to create a new layer manager there were a couple of things that I wanted to do:

  • Keep the existing layer manager, this seems strange but I like solutions to problems that build in redundancy. If my new layer manager decided to stop working in the middle of production I wanted to be able to revert back to the old one. This meant anything new I created would either need to be built on top of or use the existing layer manager as its core.
  • The layer manager needed to be more granular. Everyone has wanted layer manager that has had sub-layers. I wanted to be able to have sub-layers of any depth.
  • Sub-Layers would inherit the properties of there parents.
  • Make it easy to build new tools and features into the new layer manager. If I was going to build a layer manager I wanted to be able to extend it easily.
  • Standardise our layers and workflow. I wanted to create a workflow were our files and how we worked in them was standardised so that anyone in the studio could open someones file and be able to hit the ground running.
With those goals in mind I got to work. I chose to write the layer manager with Max Script and .Net instead of hitting the SDK. The upside to working with Max Script and .Net is that I could write the tools very fast and after 2 days I had the first version out the door for the artists to try. Since then it has grown and been updated as it has needed to be. There were originally a flurry of bug fixes that were required but after that we set about creating new features as production called for it. It has been about a year since I first wrote it and now it is a solid production tool after cutting its teeth on small jobs and then proving itself on larger jobs it has become an integral part of our workflow.

Custom Features of the layer manager

There are many custom features I have written into the layer manager some of them are below:

  • Isolate Layer. Similar to Max's isolate feature when you right click on a layer and select isolate all other layers are hidden and the selected layer is turned on. The next time you right click on the layer you have the option to de-isolate it. This has proved very handy when yo need to do some quick modeling fixes in large scenes.
  • Rename Layers and Children. I wanted an easy way to rename layers and there children right in the dialog. This proved a little trickier than I first thought it would, however, you can now easily rename layers just by double clicking on them and typing.
  • Node View. An external view for handling nodes.
  • Export Layer. Saves the selected tree of layers as an X-Ref.
  • Layer Sets. For saving the layer states of layers. For instance you can save a state for a camera with all of the relevant layers turned on. This is great for large scenes that have multiple cameras.

A new Layer Manager

Below are some screen shots of the new layer manager. As you can see the interface is very simple and faithful to the original layer manager, this lets new artists in the studio get up to speed with the tool right away.

 

LayerManager v2.0

Standard Layer Manager

Most recently we used the tool on the Renovators with great success. Using it in conjunction with a few other tools we were able to achieve the impossible delivering animation for 6 houses in 6 days. You can see some of the work here.

 

What Next?

Moving forward there are a couple of things that I am currently working:

  • Increased Performance. I want to increase the performance of the tool so that I can add support of scene objects in the tree view. So far I have re-written the control and I am pleased to say the performance is much faster. Not to say the current version is slow but there is a difference between adding 200 or so layers and 5000 objects.
  • Tighter integration with X-Refs and containers. I want to make splitting up max files to be completely seamless and transparent. This will be a huge benefit on large projects with more than one artist working on it. Hopefully the layer manager will become a bug for scene management.
  • Create an connection between render passes and layers. It would be great to expand the layer sets functionality to be able to create different render passes.
Overall I am hoping the layer manager to grown into more of a scene manager which will allow artists to manage there scenes as quickly as possible all in one place.
A silver lining?
The biggest upside of writing this tool has been the change in artist behavior. Our scenes are now much more standardised enabling anyone to pick up a project and continue to work on it. Changing a team of artist habits is difficult at best some times it takes a good tool to serve as the catalyst for change. I happy to say that new layer manager has succeeded in this respect.
Cheers,
Dave

 

3dsmax Update - The Game Changing .Net SDK Wrapper by David Mackenzie

I was very please to read what will be in the next 3dsmax Subscription Advantage pack due out in late September. Autodesk has added some very welcome new features including:

  • Render Pass System, which lets you brake down your scene into render passes. It has a great interface for managing this including an intuitive tree view for creating and updating states.
  • Adobe After Effects Interoperability. This is great addition when used with the Render Pass System. It provides a very powerful method to interchange data between AE and Max. Including renders, objects, lights and cameras.
  • Active Shade iray. This update lets you use iray for active shade. Not really excited by this as I do not use iray.

While all of these are great additions to max, I am really excited about is the inclusion of the .Net wrapper for the SDK. For those of us who spend a great deal of time writing tools for artists this really opens up a new world for we can do and how quickly we can do it. I might sound silly but it really is a game changer, often when writing tool you are faced with a junction where you either come up with a work around or you hit the SDK. Often the need to hit the SDK is only for something simple but it is still a massive effort. Most of the time TD's just opt to avoid the SDK and just go with a work around.

3ds Max 2012 Render Passes/State Sets
3ds Max 2012 Render Passes/State Sets

Having a simple interface to much of Max's SDK really does open up a lot of doors for TD's. I have to admit I this is the most excited about a max release I have been in since they added pflow.

I have added the videos below, you can check out the original article

here.

Render Passes/State Sets

ActiveShade for iray

Cheers,

Dave

GML Importer Version 2 by David Mackenzie

gml_feature

I will assume most of you know what GML is, if not check out this post I made some time ago here. In the months that have gone passed we have developed three different version of the GML importer. The first version that was featured in a video here, was a basic hack that we used to get a job done. The second version was an expansion of the first while it was a little better it lacked a few important features:

  1. Easily update-able framework.
  2. An "API" or a library of functions to take advantage of in other scripts or tools.
  3. A single unified User Interface that exposes all of the data in the GML File.

So after taking a moment and addressing these issues we created what we believe to be a great tool. It includes a library of code that other 3ds Max TDs and scripters can take advantage of. We choose to focus more on the data and library that goes with it. In it's current form the script will only create a spline shape from the GML file. I will be updating it to include a feature to create proper geometry. We currently have it working by creating a sequence of points and using Delaunay Triangulation to create the surface.

The User Interface

The interface at first glance looks quite complicated, however, it is actually very simple. We wanted to expose everything to the artists so there are quite a lot of UI controls, most of which can easily be tucked away for later use. I was going to document what all of the UI controls do below but since each one has a question mark I'll let you work it out.

GML Importer Version 2
GML Importer Version 2

The Library

We believe simplicity is the ultimate sophistication so we tried to keep everything as simple as possible. Below is a brief run down of the maxscript structs that make up our GML importer.

  • gml_point GML point is a simple struct the stores x, y, z along with t (time) values. If it was not for the t I would had have just used a point3.
  • gml_sketch This struct represents a whole sketch. It is made up of strokes (s_strokes). Each stroke is an array of gml_point()
  • gml_custom_props This struct just stores some custom data that is not from the gml file.
  • gml_header Stores all the information in the header of the GML file. Mainly stores name, username, version and keyword information. This data is reflected in the GUI in the information rollout.
  • gml_enviro This struct holds all of the environment data in the GML file. This includes the canvas size, up vectors and related data. This information is reflected in the GUI in the Environment rollout.
  • gml_document is the guts of everything, its instantiates every one of the above structs. Through this struct you can interact with all facets of a GML file. The struct also provides three methods to create objects and shapes from the data, these are mainly included as examples of what you could do. These functions are  implemented in the GUI. We are currently working on a new method to create geometry that will be included in new updates.

Looking through the gml_data.ms file will give you a good understanding on what is going on. There is a pretty detailed example in the comments showing you how to create gml_documet to sum up the simplicity there is a snippet below:

a = gml_document() a.file = "C:\\18763.gml" a.init() a.createShape()

You can download the GML importer below.

For everyone that has posted and emailed me asking where is the importer? Well it is here now, thank you for your support and let me know how you go. If you create something cool then please send it in. In the spirit of community if you are making this better then lets make it better for everyone! Send in any changes or updates you find. Feel free to posts bugs in the comments below.

Cheers,

Dave