Last week I took advantage of one of Autodesk’s ‘Open Doors’ events to visit one of their Authorised Training Centres and take a free accreditation exam in 3DS Max and, despite the fact that I’ve been using Max for about 12 years, I was slightly nervous about it.
Firstly there’s the whole ‘exam’ thing of it; I’ve not been in examination conditions since I was 16 (which was quite a while ago!), but there was also the nagging feeling that the exam would be filled with questions on the stuff I never use in Max, I don’t really do character animation for example so I was dreading a load of complex question on IK solvers or the like.
I needn’t have worried though as the tests were not that fiendish and I got through both the Associate and Professional exams without any problems (what was it Chris Tarrant used to say; “the questions are always easy when you know the answers”) and I’m now the proud owner of a shiny badge from Autodesk that says I know what I’m doing; I pretty much knew that anyway but still, the approbation is nice 🙂
I’d recommend taking advantage of the ‘Open Doors’ events to anyone else considering an accreditation exam in Max (or any of Autodesk’s other software), and would like to say a big thanks to James and the team at Cabs-CAD where I took the test.
This is something I do to help reduce eye strain in certain situations, the main culprit on this for me is whenever I have to do a lot of clipping paths in Photoshop; the task itself requires a bit of staring and concentration which, combined with a bright screen, can really hurt your eyes after a while.
This is not helped by the UI in Photoshop which, on CS5.5 and below is quite a light grey (Adobe have changed this to dark grey in CS6 which is much easier on the eyes), but even without the UI colour the images you’re working on themselves may be quite high-key; so what can you do to help your eyes out?
Two things basically; eco-mode and adjustment layers, let’s go over them in that order:
Now this one depends on your monitor and what features it has, a lot of new monitors have an ‘eco-mode’ button that you can press to go into a low power consumption mode, for example my main monitor switches between 65%, 35% and 20% reduction. The good thing about this is that the lower the power, the dimmer the screen – an utterly useless feature most of the time as far as a designer is concerned, but in this very particular instance it is a great way of reducing eye strain when necessary.
The adjustment layers in Photoshop are a great way of making non-destructive colour corrections and, well, adjustments to your images; they are also pretty good at helping your eyes out. Ok, so first off there’s the obvious one of filling a layer with black and knocking the opacity down to 50% or something to get a pretty good start at reducing eye strain; but say the image you’re working on isn’t on a high-key background and, instead, the strain on your eyes is from trying to pick out the cleanest line through loads of background clutter? Well in that case using adjustment layers to make the pertinent bits of your image stand out is a quick and easy way to go; black and white, invert and levels are the ones I tend to use. The first two don’t need any explanation but with levels I just crush the colours using the input sliders and it can really help clear up where the edges are in your image; I used this recently when I was doing a load of clipping paths for leaves I’d photographed to use on custom CG trees and it really helped get precise edges.
Obviously this all depends on your image and it might not work out all the time, but for the seconds it takes to try it might be worth it – your eyes will thank you for it in the long run.
One of the things I really enjoy in CG work is making textures, it’s really satisfying to go through the whole process of creating one from scratch and then getting a render that looks great because of it. Since I make quite a few of these on each project I work on I thought it might be cool to get a bit extra out of them by putting a few up for sale.
I had a look round at the various places that offered such things (as I really didn’t want to add a ‘store’ to this site) and eventually decided on the one I liked the best. 3D Ocean is an arm of Envato (who I first found through their excellent Tuts+ sites) which deals specifically in, you guessed it, assets for 3D work. I have purchased a few things from them in the past, most notably Peter Guthrie’s excellent HDRI skydomes, and they have a consistent high quality with all of the stuff they offer. So one quick questionnaire later and I was an accepted author on the site.
Typically though, when it came to ‘just’ packaging up some of those textures I’d already made, I looked at them again and decided that I wanted to improve them that little bit more. So the idea of doing this ‘quickly’ soon faded, but I have put together a few nice textures now even if I do say so myself! At the moment there are a grand total of 4 (count em) textures on there with a load more I’m working on in between projects; they are:
So if you’re in the market for any one of those 4 very specific textures you know where to look! Hopefully I’ll keep adding to them regularly and start getting a few specific sets up, I also plan to put a few textures up here for free so keep an eye out in the ‘free stuff’ section 🙂
The potential of unbiased rendering engines like iRay has made me pay even more attention to GPU developments than usual. The awesome render speeds shown in the demos make this approach very interesting; however, up until recently the only cards capable of processing very large scenes were at the upper end of the Quadro range – you know, the end with the eye-watering price tags.
This is all down to the way in which the data is handled, the scene to be rendered needs to fit on the physical memory of each GPU by itself. You can’t plug 3 GPUs in and expect it to access that memory collectively; you will get the performance of those 3 cards working together, but the scene will be loaded onto each card separately. This is why cards like the Quadro 5000 and Tesla C2075 are so popular for this application…although at £1600 and £2100 respectively that is quite an investment!
Latter releases to the Fermi based Geforce cards – with 3GB of memory – were a move in the right direction but the upcoming release of the Kepler cards had me holding back to see what was coming. Well now they are here and, on paper at least, they look to blow the Fermi cards out of the water; the initial 680 series have 2GB of memory but there are already a couple of higher end cards with 4GB, add that to the 1536 CUDA cores (triple the amount on the Fermi cards) and these cards are surely the answer to my rendering prayers.
Well, at this point in time it seems not. Whilst Nvidia made conscious efforts to focus on compute performance with the Fermi cards (thereby losing out to ATI in pure graphics speed) they have gone the other way with Kepler and focused on graphics – great for gaming, less so for what I was hoping for. As I understand it this is down to smaller shared data bandwidth between cores (a third of what Fermi had) and the loss of hardware scheduling, but whatever its down to it is, for me, a big disappointment to read that Kepler GPUs, despite their core and memory advantages, perform (again on paper) pretty much the same (if not worse) as Fermi GPUs.
Of course no actual benchmarks for this specific use have surfaced yet as iRay doesn’t even support Kepler cards at the moment (although an update is coming) but like I say in the title this is confusing; Nvidia have spent years talking up CUDA and GPU compute capabilities, not to mention the amount of resource sunk in to developing tech for it (Nvidia now own Mental Images, who make iRay), it seems strange to move away from it now when it felt like we were on the cusp of something big.
Or perhaps not, Nvidia are primarily a graphics card company after all and Kepler is just that – a graphics card. Maybe this move to making the consumer cards less compute capable is a deliberate way to differentiate from the Quadro cards, the current crop of those are all still Fermi based so we shall see what happens when they get a Kepler upgrade. One things for sure though, I’ll be hanging on before making a purchase for a while yet 🙂
As you may have noticed (unless you’re a new visitor, in which case, hi!) the website has had something of an overhaul. Aside from the obvious graphics changes (and lovely full screen images) I’ve simplified things and made it all a lot easier to navigate. The old website hadn’t had any updates in a while (as you can see from the date on the previous post!), mainly because I was working on this in my spare time and was incredibly busy with actual work – so look out for new stuff in the portfolio section as well as a bit more activity on the blog (I hope).
I have been thinking recently on the peculiarities of CGI and the challenges I often face in working with clients who have little or no knowledge of 3D animation. This complicates an already complicated process by adding a steep learning curve for the client and a whole ‘educational’ aspect of the project for me. Of course, clients don’t need to know the details of how everything works, that’s my job, but there are certain concepts that really need to be understood for a project to run smoothly.
With this in mind, I decided to write a guide for people who have never done this sort of thing before, much of it is common sense but I’ll cover some basic technical aspects as well; hopefully this will make the whole process a lot less daunting.
If you’ve never done anything like this before then lay your cards on the table and say so from the outset. It will save a lot of time and confusion as the artist you’re working with won’t be making any misguided assumptions as to your level of knowledge. It will also avoid any complications that could arise from you being expected to understand certain terminology or be aware of any lead times that may be involved.
Read the Contract.
I have a standard contract in place that all my clients agree to on a job by job basis, it includes some basic terms and conditions and intellectual property rights and so on. It’s there for the client’s benefit as well as mine and is intended to protect both parties and ensure no-one is unclear about how the process will work. It’s not huge by any stretch of the imagination, just a couple of pages that you can get through in about 10 minutes and it must be agreed to before I start work on a project. Any artist you hire will have something similar and remember that this is a legally binding document, so make sure you read it properly.
Keep your secrets.
Whilst the majority of work I do is intended for promotional and marketing purposes (and therefore, by definition, in the public domain) there are still instances where confidential information is shared and, occasionally, where the final product itself is confidential. Whatever the situation may be it is imperative that you let the artist you’re working with know if anything is confidential from the outset. Have an NDA (Non-Disclosure Agreement) in place, get it signed and then both parties will know exactly where they stand.
Stick to the script.
The script should be the starting point for any animation project; yes you can work out a basic storyboard without a final script but, for the process to work smoothly, you need a locked-down script in place. The script will dictate scene length, key events to time animation to, particular sections that will need extra detail (as well as sections that won’t) and, of course, the overall animation length. This final point is critical because of the impact it has on working out how long the rendering process will be.
Know your responsibilities.
Whilst the artist you’re hiring will be responsible for driving most of the project forwards, it will be you who is responsible for contributing the basic content and guiding the artist with regards to the details. We can have ideas about how things should look aesthetically but we really do need to be led by you when it comes to the technicalities – after all it’s your product!
Have a deadline.
Even if your project doesn’t have a set delivery date it is usually a good idea to set a deadline to aim for so that things stay on track. If this is the case though make sure you decide on this deadline with your artist as they will be able to advise realistic timescales for completion. What you don’t want to do is pick a deadline yourself and give the artist the impression it’s critical to hit that date. If it’s a tight deadline they may end up working out of hours or hiring extra help to get it done, and that will all come at an extra cost.
Understand ‘sign off’.
This is something that applies across all kinds of creative media but I often find that, for one reason or another, clients think that sign off is somehow more flexible in CGI than it is in traditional media like print. CGI is extremely versatile and you can change anything you like; but it isn’t instant, there is no ‘magic button’ and every step in the process takes a lot of work. This is why I always get sign off on every key stage of a project to make sure that I’m not working on something that’s going to change further down the line.
Making a change to something that has been signed off is sometimes unavoidable since projects do change as they progress; but these changes range in impact and anything that needs changing after it has been rendered will be a major upset to both budget and timescale.
Give good references.
Be sure to provide good reference material for any styles, looks or materials that you want to replicate as these will be invaluable to the artist in trying to give you the final product you want. It will also save a lot of time and shortcut any potential misunderstandings with the artist trying to replicate a particular image you have in your head.
The final size of the video is a very important consideration, not only in terms of composition, but also in terms of timing as the video size you choose will have an impact on rendering, post-production and the final edit. In basic terms, the larger the frame, the longer it takes to render. For example a full HD frame will take roughly 4-5 times longer to render than an SD frame; considering that there are 25 frames per second of animation you can see how that would soon add up over the course of a full render.
You should always plan for the largest size you are going to need, files can easily be scaled down with no loss of quality but if you upscale from a smaller video size the image will suffer, in that instance (depending on how much you needed to upscale) the entire project would need to be re-rendered, processed and edited which, as mentioned above, could be a lengthy process indeed.
You can find a list of the most common frame sizes below:
These are some of the common stumbling blocks and tricky technical details that clients new to this kind of process will face, obviously the artist you hire will guide you through it all more thoroughly but, in the midst of a project, it can be easy to forget to go over the ‘obvious’ (to us!) details.
If you have any comments or questions on this then please get in touch, I’d be happy to talk to you.
Over the past month or two I have been working more and more on CGI Illustration and animation projects in the science and medical industries. This has been incredibly interesting work and some great stuff has come out of it; only problem is that I can’t show any of it as it’s all top secret!
To get around this issue (and have something to show people when I say I do work of this nature) I have recently started working on some concept 3D Illustrations in my spare time and you can see the first couple – for Virology and Haemotology – in the portfolio section.
Full size versions of these images are available for purchase on iStockphoto and if you have any specific illustrations you need (top secret or otherwise) then get in touch.
I saw the announcement recently (through Jamie Gwilliam’s excellent blog) that Autodesk have ‘announced their intention to acquire Scaleform’…interesting stuff given the prominent position of 3DS Max in the games industry.
If you have never heard of Scaleform before then you’re like me, first time I heard about it was last Thursday. Looking into it though it seems like, while I may not have heard of them, I certainly know their product (well, from an ‘end-user’ point of view at least) as they are a popular choice for games companies looking for UI software. The software is based on Flash so fits into a creative workflow very easily as the diagram below demonstrates:
This excerpt from their website probably explains better than I can:
“Allowing development teams to quickly and easily implement 3D hardware accelerated game content and interfaces, including menu UIs, HUDs, animated textures, mini games, and even full casual games, speeding up development workflow, and freeing up programmers and artists to focus on what’s most important: gameplay and design. New UI components and workflow enhancement tools, make starting a new project faster than ever.”
This announcement sparks some interesting thoughts as to how integrated the Scaleform technology could become; will it remain as a standalone piece of software or will it become part of Max in a similar way to NodeJoe (which became the Slate material editor). If it is then the potential uses could be amazing, the ability to build interactive flash content from within Max would be awesome and would have a much wider appeal than just for UIs.
I’ll be interested to see how this develops and, hopefully, get my hands on it in one of the future Max updates. It seems to work in a similar way to technology we have been using to create 3D content that can be placed in PPT presentations; the 3D elements are created in Max, then exported and viewed with another piece of middleware (Flash in Scaleform’s case and DirectX in the case of the system we use), the content is then interactive in exactly the same way as the UIs in the video – you can even add trigger points to them which enable additional animation events.
One further piece of pure speculation, sparked by the recent XBR webinars, is whether any of this tech could be put to use for the redesign of the Max UI? Now that would be interesting…although I’m not sure how happy I’d be if the clean simplicity of the Max UI was ditched in favour of a floating, semi-transparent 3D version!
One of the key methods to achieving great results in CGI is ambient occlusion (AO), it adds extra depth to a render and takes a nice image that one step further. There are a few different ways to go about adding AO to your scenes but which is the right way to do it? The quick answer is that there is no ‘right’ solution for every project, as with most things it is a case of finding out which one will work best in the circumstances. So with that in mind I thought I would write a bit about the methods I think are the best and when, in my opinion, you should use them.
Just before we go over these different methods though we should probably touch on what AO actually is. Essentially Ambient Occlusion is a crude global illumination solution which works out how much shading geometry should receive based on how ‘occluded’ (or blocked) it is by other geometry. I have often heard AO described as a ‘nook and cranny’ shader and it helps to think of it as such; basically wherever surfaces meet you will get some shading, if a surface doesn’t have anything around it then it will be pure white. The black and white image you end up with can then be composited together with an initial render as the example images below illustrate, note the difference in shading and clarity from the first pass to the final combined one.
3DS Max can generate an AO effect using any renderer but the one I prefer (and have by far the most experience with) is Mental Ray. The basic method of adding AO to a scene with Mental Ray is simple:
1: Create a mental ray material
2: Plug the ‘Ambient/Reflective Occlusion’ shader into the surface slot
3: In the settings for the ‘Ambient/Reflective Occlusion’ shader find the ‘Max distance’ option. This is critically important as it determines how far surfaces will ‘look’ for occlusion – the smaller the value the smaller your shadows will be, the larger the value the larger they will be. This setting will be different depending on your scene and what you think looks right but as a general rule-of-thumb I go with 5-10mm for close-up prod-viz shots, 90-100mm for arch-viz scenes and higher for cityscapes etc depending on camera distance.
4: Next find the samples setting. This controls the amount of noise in your shadows, so if your AO looks a bit splotchy you put a higher value in. 16 samples are fine for test renders but for production renders you will need to up it to 64
5: Finally I always change the falloff setting to 0.75 but that’s just a personal preference, you can leave it set to 1 if you like.
Once your AO shader is setup you need to apply it to your scene. The simplest way to do this is to use the ‘material override’ option which is under the ‘processing’ tab of the render setup window. Just drag your mental ray material to the material slot in the material override section and drop an instance in there; this will now automatically apply your AO material to everything in the scene, easy! You can apply the material by selecting everything in the scene and applying the mat to all, but it is usually better to do it with the material override as you get to keep all of your current material settings and can just switch the AO mat off when you’re done.
One other thing to remember is that if you are applying this to a scene you have already textured and lit (which is usually the case) then you will need to switch off/delete all the lights, turn off MR exposure control, remove any environment maps, set the environment to white and turn off final gather – the ambient occlusion calculation doesn’t require ANY lighting, it is using the geometry only to work out how much shading should be in your scene so having any of the above on will just screw it up.
Bells and whistles:
So we have covered how to do a ‘pure’ AO render with the method outlined above but there are some problems with that, yes it does give you great ‘connecting shadows’ but since everything is black and white there is no colour bleed from the materials, also since the previous AO option has no lighting solution (and is purely ambient) there are no indirect light bounces – how do we solve this?
Well firstly all of our scene materials need to be MR A&D mats – these can be quite daunting at first but once you get into using them and setting up your scenes with physically correct settings you will see how versatile they are. In each material you will need to scroll down the options to the ‘special effects’ group and in here you will find an ‘ambient occlusion’ setting, once this is turned on it will apply ambient occlusion to the material.
The settings are similar to the other AO option in that you have a ‘samples’ option to control quality and the ‘max distance’ setting; however, you then have a check box to ‘use colour from other materials (exact AO)’, this is the option that gives us shadows with bounced light so, as a general rule, I have this checked. The only other thing to check is that the ‘shadow colour’ is set to ‘global ambient light colour’ – this makes sure that the shadows generated will use the global settings from the ‘Environment and Effects’ tab rather than a custom setting per material.
NOTE: If you are working on a large scene with lots of materials in it is quite important to get your AO settings right in the first instance, clicking through hundreds of mats to tweak settings can make you lose the will to live! There is a very useful script available on Joe Gunn’s website called ‘Material Tweaker’ which lets you specify material sets (which work in the same way as selection sets) and then make global changes to them. It works with Standard, MR A&D and V-Ray mats and whilst you can only make general changes to them the MR A&D set does allow you to switch AO on or off and adjust the radius (the script uses different terminology to the actual materials, basically AO radius = max distance). You can’t adjust things like sampling quality unfortunately but in that case I would leave it at 16, do some renders to see where there are problems with noise and then adjust specific mats accordingly.
Once all your materials are setup in your scene you will get a very subtle ambient occlusion effect which, because it is part of a true final gather calculation, has indirect bounced light and colour bleeding in the shadows. But as technically accurate as this calculation is I tend to find that the end results look a bit washed out and weedy, yes the indirect bounces and colour bleeding look beautiful BUT they also take some of the shadow impact and edge definition out which, to my eyes, makes it look wrong – so what do we do?
Mix and match:
What I tend to do on almost every project (but not all of course – this is another thing where artistic license comes into the equation and you work out from project to project when it is relevant or not) is use both AO methods so that you have beautiful shadows with indirect bounces AND nice connecting shadows with well-defined edges.
If you know about rendering in passes then this will seem very basic, but what I do is setup my scene first with MR A&D materials (with occlusion switched on) and photometric lighting then render out the first pass. I then open another version of that scene and save it as an ‘AO’ version, setup my Mental Ray material with the ambient/reflective occlusion shader and plug it into the ‘material override’ section, delete all the lights, set the background to white, turn off FG and turn off exposure control. It may seem strange to do this in a separate file but I find it easier to keep things organised this way, I don’t like having to switch everything off and on all the time in the main file, keeping them separate means I don’t forget to turn things back on again or accidentally delete some lights. There are other reasons why having your AO version as a separate file is a good idea but we’ll go over those in the next section. Once this is all setup and you have your renders it’s time to stick them together so we switch to the compositing software. I use Photoshop for stills and After Effects for animation (although if I’m rendering Exr files I will always use After Effects as it deals with them better than Photoshop) but you can use whatever compositing software you’re comfortable with, the concept is the same no matter what you use:
1: In Photoshop open up your 2 files, the first pass and the occlusion pass
2: Copy the occlusion pass and paste it onto a new layer over the first pass
3: Change the layer setting for the occlusion pass to ‘multiply’ and adjust the opacity to suit your taste
4: Done! If you switch off the occlusion layer’s visibility you can see how much of an affect it has on the final image, it really adds definition and gives your shadows a great sense of depth.
The fiddly bits:
There are a couple of instances where the methodology used above doesn’t really work, these are also when having a separate file for the AO starts to makes a lot of sense so let’s briefly go over them:
1: Custom AO radii
The basic method of adding a global ambient occlusion shader to your entire scene is great for getting quick results but, as discussed earlier, depending on their size/detail objects sometimes need to have different ‘max distance’ values – a scene where every single object has the same setting just doesn’t look quite right. So the answer is to ditch the ‘material override’ option and apply custom AO settings to your objects. You don’t need to set them up individually of course, you can go with a few AO mats that have different distance values – one for fine detail and small objects, one for medium and one for large. Setting your AO up this way is more time consuming but it does give better results.
2: Reflective AO
In the ‘ambient/reflective occlusion’ shader there is a check box titled ‘reflective’, this can be very useful in enhancing the realism of your AO solution when it comes to highly reflective objects. Obviously a surface should not have a completely uniform amount of reflection, specularity maps help with this but the reflection occlusion shader can be used as well to get better results. Instead of sampling directly out from the surface normal as with standard AO, when you check the ‘reflective’ box the shader works in a different way and takes samples from the reflection direction of the surface normal. This calculation then focuses on areas that should have very little or no reflection, such as in tight corners etc, and will give you a map to use in compositing which reduces the reflection in these areas.
The images below are a good example of reflective occlusion, note the difference in specularity on the seat fabric material the occlusion map makes in the final image.
3: AO with masks
There are some instances where you have objects with transparency; the leaves on a tree model for example where you have a basic plane and the leaf shape is cut out with an alpha channel. Now obviously if you setup your AO pass as described above the alpha channel will be lost and your AO pass will render the full planes rather than the leaf shape, to get around this we need to, again, abandon the ‘material override’ method and go for a more custom setup. All you need to do is apply your basic AO to everything in the scene then, for the leaves (or whatever else it may be) do the following:
1: Create a blend material
2: Plug the AO material into slot 1
3: Create a standard material with opacity, specular level and glossiness set to 0
4: Take the alpha channel used in the original material and plug it into the mask channel of the blend material
That’s it, you should now get an AO render which has your transparency masks included.
4: AO with round corners
One of the neat features of the MR A&D materials is the ’round corners’ option, this lets you create an edge fillet effect without actually generating any extra geometry. It is useful for simple things like walls or the edges of a book…basically it can work quite well with any straight edge (although for most things I still prefer to actually model fillets into them). If you do have any of these in your scene then you will obviously need them to be in your occlusion pass as well, if you don’t you will have some strange looking edges that are both rounded and straight at the same time! Again we will need to ditch the ‘material override’ option and apply AO to the scene selectively. Once you have applied the standard AO shader to everything that doesn’t have the edge effect on do the following:
1: Create an MR A&D material with the colour set as pure white
2: Turn the reflectivity down to 0
3: In the special effects tab turn ’round corners’ on and set fillet radius as desired
4: Plug the ‘ambient/reflective occlusion’ map into the ‘additional colour map’ channel
That should now give you an AO render with round corners where required.
I hope this post proves to be useful to people, I started writing it thinking that I would just do a basic summary of the AO methods I personally use but, as I wrote, it got more and more detailed. Even so the methods outlined above are by no means exhaustive and the ‘fiddly’ options I have listed, which will undoubtedly give you better results, are ones I don’t use that often – if anything I tend to find myself just doing the quick AO + MR A&D AO option as it gives good results with a minimum of fuss. The other options are good to know though for when you need to go that little bit further.
We are always trying to hone our CGI skills further by trying out new techniques, software, plugins and ideas; we think this is a critical part of our business as it ensures the product and results we offer our clients are of a consistently high quality.
But in the process of all of this training and exploration of ideas we create many 3D scenes and setups that never really see the light of day…which is a shame. So, to rectify that, we thought we would set up a downloads section of the site where people can have a look at the rendered images and download them to use however they like. And how much are they? Nothing, we’re giving them away for free!
So have a look at the new downloads section, we will be expanding it further in the future with more CGI renders and will possibly include tutorials and scene files for 3DS Max, After Effects, Photoshop etc. If you use one of our 3D renders on a project we would love it if you let us know, this isn’t a rule or a requirement…just a friendly suggestion 🙂
If there are any specific 3D visualisation or animation projects you would like to talk to us about then get in touch on +44 (0) 777 6231609 or send us an email.