Saturday, July 17, 2010

Get Rendering

I have a number of posts about my own experiences rendering inside ACA.  I held off using 2007,8 and 9 because I had a quick and efficient system with ADT2006 but I have been enjoying using ACA2009 for almost a year now.  If you are not rendering then you are missing out on the fun.  I thought it would become a slow labourious process with overnight renders and the nightmares to go with it but I've found it almost as quick and efficient as it was in 6 and of course the new Mental Ray rendering engine can produce a higher quality finish.

As a side issue I have discovered that a number of OOTB practises of ACA are detrimental to an efficient process, namely the overuse of MassElements within styles, the overuse and underuse of Render materials and of course the use of the Project Navigator or even X-ref's.  Not that I don't use X-ref's but if you do you have a number of extra steps to go thru to edit files in preparation for rendering.  At best it's clumsy and verbose (but maybe necessary for larger projects) hence my development of multilevels in one file.
So..with the acceptance that I'm no expert renderer and that there are few that are on rendering inside ACA I would like to offer the tips I've learned to get a little something out of this baby.  If you are after the highest quality renders, then Max may be your gig but if you would just like to get a basic good quality render out quickly and efficiently without paying the premium in time and upgrades for another program then you can get there with AutoCAD and ACA.  You also have the advantage of being able to alter the file and re-render without having to learn & link to another separate program.

In ACA assigning materials is a step sideways from the direct approach in Acad which assigns materials directly to an object or bylayer.  With the styles manager and it's matrix it can be a little more complicated.  But that's ok.  Unlike Max which is a dedicated renderer and not much else, you can use the same file for preparing your Development Application and rendering and still rip off quantities so changes need to be only done once.  You could progress the same file to construction drawings and even still use it for rendering at a moments notice!

Here's some links which may be helpful on learning about Acad rendering but also try google.'s%20e-book%20%22creating%20render%20materials%22/
Archidigm article on Materials
Archidigm's Development Guide (look up materials (P1) and the appendix at the end for render/materials)

Firstly it's good to get your head around the use of aecMaterial definitions.  That's not just for rendering though they contain the link for any render materials as a part.  aecMats are used to describe how a material when applied to an aecObject will display in any of the display reps (Presentation, Medium Detail, Reflected etc) and in any view (plan, elevation, model etc).  This would generally be understood as a hatch pattern, line thickness and possibly colour shading.  However within this definition set you can also assign a render material (RMAT).  Here I have developed my own thoughts apart from the OOTB system to reduce the number of RMATs used which will quickly bring your system to a crawl, especially if you are still using a 32bit OS.  I also work on more low end stuff and have no time to fiddle and tweak too much so I need a system that will allow rapid development and render.  It's not uncommon for me to start a design in the morning and finish the day with a set of presentation drawings (site,floor plans, elevations) together with a smart render for the cover sheet.  With my multistorey in 1 file approach this has become much easier to achieve.

As for the overuse of MassElements I have discussed that here but in case you didn't get it I'll say it again here.  You don't always need to use a ME for an object (block) that you embed into a style.  I used the example of the aecDoorPanel that's OOTB but here's another example. 

My young partner who is new at ACA created a letterbox MultiViewBlock.  He created a model and 4 views (Plan,Side,Front,Rear).  For the model he used MassElements and for each material created an ME style and then created seperate render materials that were captured in aecMaterial definitions.  Now he did a great job and followed ACA methodology but adding this letterbox into a file added a swag of render materials, aecmaterial and ME style definitions that quite frankly we didn't need.  This letterbox comes in a series of colours but apart from that there are no choices and it's going to look the same in every instance.  So here is what I did to make this object a much more friendly object. 

Editing the 3D model I turned every ME into a 3DSolid using the Right Click option.  I edited the Render Materials so I only had RMats I would typically have in my file (and is on the limited list of materials required).  The cast concrete letterbox can use the same render material that's used for rendered walls (a sand finish render).  The steel letter recepticle can use Paint-SemiGloss though really do you really need to see shine on a letterbox (and add the associated render time).  In the Style manager, using the 'Broom' button sweeps away the no longer required ME styles and aecMaterial styles.  Purging the file removed the unwanted RMats.  I make sure there are no layers in the file and all is on layer 0.  The command "SETNESTEDOBJECTSBYBLOCK" (alias'd by me to FB) rids all layers,colours, plot styles, linetypes, and pen thickness's but leaves the render material assignment assigned.  LAYDEL will remove unwanted layers that won't go.
Now both 'Paint-SemiGloss' and 'Render' do NOT have any colour assigned.  That comes from the object being set to 'ByObject'.  This means that when placed in the drawing I can pick the MVB and without exploding set a colour if need be. (I use aec Standard.stb plot style where colour is meaningless unless told otherwise).  
So now my letterbox can be dropped into my drawing on a layer of my choosing, coloured if required, rendered, all with a light touch and minimum fuss.  Any item that is a specific colour like the backplate is given that colour in the original block (after using FB of course).  You can see you get one selection for colour so it won't work where you need two.

Oh the ME's?  Well if my letterbox was an ME I would have to dive into styles and search thru menu's to find which style was assigned and if ByMaterial, then trace thru the material settings to find the colour.  Now for a wall or roof I use this 'style' process (not always) but for peripheral items (props) like letterboxes it's just so much overkill and takes 10x as long to manipulate.  Dump the ME's and just use plan ol' 3DSolids.

Have you downloaded a block and found lots of weird colours?  I downloaded a speed boat that I've never used.  This one had lots of render materials for seats, chrome, engine parts and nice colours assigned for the paint and the flames.  However the acad model itself was all green!  Now making an entity a colour is simple but years ago we might have followed an office assignment.  Colour 151 = chrome and Colour 204 = red leather etc.  But we don't need to follow such an indirect scheme.  Make the object the desired colour and the chrome silver and then assign RMAT's that have colour ByObject.  I also removed all the layers (no need to assign material ByLayer either).  Now if I ever use that speed boat in an image it won't add any layers, (new) RMATs, plot styles or, linetypes  If I make the body ByBlock I can even colour it when added to the drawing without exploding the block and it has Paint-HighGloss applied so I get a great spray job as well.

It's a prop!  Who wants to spend time fiddling with a boat? You just want to drop it in your drawing and it behaves and stays quiet!  I've used this technique for the car in this image. The car is dropped in (the body is white or whatever the layer 0 colour is) and a colour selected).Now it ain't going to win me any rendering awards but it has won the client over.

If you've had a chance to check out the even newer Mental Ray rendering engine update in 2010 and 11 it may have a high drool factor - the new materials look lovely, but it's going to slow you down and weigh down your system and prevent you from an efficient process.  Check out the paint colours.  Each colour has it's own RMat !! That's a lot of Rmats.  Ditch the colour, make it ByObject and then you can use the same RMat where-ever you use that same gloss level.  And remember unless you are trying to create a high image level, then many of the subtle variations in paint are lost on a simple quick rendering.  Is gloss plastic that much different from Gloss paint.  If you think so then you shouldn't be reading this article.   If you require a specific material like brickwork then yes you will need a RMAT for each different one though for something like concrete pavers you can simply use a bump map and colour ByObject again.

Odin Cary of Archidigm is doing some great investigation articles of ACA2011's new rendering and materials and it seems he's having better luck.  He also has explained the 'jump to perspective' bug that had me in frustration.  Odin has also started renaming the complex and longwinded material names so I am not alone here.

Also be aware I am talking exteriors here.  For interiors the game changes alot.  Rather than the one light source (sun) you need the reflective values of many surfaces to realistically light an interor but to be efficient you can still greatly reduce the number of RMat's used by using the above techniques.

Get in and render!  (or simply!!  then render :-)


Pedro Aroso said...

Thank you Nathan for sharing your Rendering experiences.

Nathan Ellery said...

your welcome Pedro. My young workmate and I are enjoying these techniques I've really only discovered recently and it's making the process of a quick but decent render enjoyable instead of the quagmire that is the display system.

Anonymous said...

I use MEs in MVB because they at least obey cut planes.

Nathan Ellery said...

I understand that there may be times when you want to use ME's because you want the object set to follow the style but I think there are many more when you don't need to. As for cutplane can you provide an example? For the most part for the top view I am going to be using a plan view, not a model and the cutplane doesn't matter. Perhaps outside a MVB the CP is required but inside?