2013-04-16

Break up those panel reflections!

I'm going to share a tip on shaking up those reflections among panels.  I can't take credit for this, as the talented Pierre-Felix Breton brought this to my attention last year at AU.  I don't know how often I've seen this but often.

If you want to create a distorted reflection, then you add a noise map to the bump parameter.  Fine.  Unfortunately in 3d this map gets distributed evenly among all objects, making all the panels act/look like one single panel.



In real life however each panel has its own unique distortions and should look like this (I exaggerated the effect for emphasis):





Achieving this effect in 3dsmax is really easier than you think.  All you need to do is select a few panels, and apply a UVW Xform modifier to them.  In this example I selected every other panel.  The only parameter I adjusted was the "U Offset" amount (set to 1').  This simply shifts the previously applied maps to this modifers settings.


But there is a trick to getting this to work correctly with procedural maps such as the noise map.  Be sure in your noise map you change the Coordinates Source from Object XYZ to Explicit Map Channel, otherwise the UVW Xform doesn't know what to do with those procedural maps.

2013-03-22

Check out our latest renderings

Wondering what's been going on at tiltpixel.com?  Check out some of our latest renderings

2013-03-21

Rename those Objects!

Did you know there is a tool for renaming objects in your scene?  I've been using 3dsMax for a while now, and I"m still finding small little amazing time saving tools in it so I thought I would share.  This would have been useful years ago!

Often I have a scene that looks like this. Where in hindsight it would have been good to name the object initially, but now they are in my scene with a generic name.




Simply select all of those objects you want to rename together, and go to Tools->Rename Objects.








It will pull up this simple little tool.  It gives you all the options to keep the existing name, give it a prefix name, add numbering or remove the first so many digits.  Simply enter the parameters you want to get changed and click Rename.  Instantly all of your selected objects will be renamed with your chosen parameters.

A great tool and a huge time saver!

2013-02-11

I'm now at TILTPIXEL


Ok, it's official.  I now work for tiltpixel.  It's a studio that provides high-end creative renderings, and I'm honored and privileged to be a part of it.  What does this mean for me here?  It means I'm doing more of the same thing I've been doing, only i can now focus even more time to rendering and process.  So hopefully I will have more time to dedicate to my blog as well.  So stay tuned, I'm not going anywhere and there are big things to come.  You can also like us on our facebook page: http://www.facebook.com/Tiltpixel

2012-12-12

Interview with Marcin Gruszczyk

Typically my posts are my how to's and tips and tricks, but every now and then, I think it's important to get inspired and highlight some good talent. I don't do alot of interviews, but I have been a fan of Marcin's work for sometime and thought it important to put the spotlight on him as his work is very inspirational.  Not only are his renderings beautiful, but there is alot of technical materials and lighting going on!


rh: Marcin, for a while now I’ve been a fan of your work, and as someone who is in the arch-viz rendering industry, your work is very fresh and new as your works subject matter, airplanes, are very different from typical architecture or automotive renderings. You’ve managed to take what could be very mundane shots of something in midair, and turn them into amazing compositions and works of art.


Marcin: I am very happy to be able to work together with many dedicated and talented people. In fact, all of the work for Lufthansa is a team effort and as a CG guy I have learned so much. Thankfully, our client appreciates our work - which is unfortunately not the case for so many CG artists out there. At times, I'm still able take a short break sometimes and work on something personal, either torturing a teapot with dynamic simulations or rendering a car. 


rh: How did you get into doing renderings? 


Marcin: I got in touch with computers and graphics in the C-64 era, did my first 3d renderings on Amiga later but lost interest in computers after that, mainly because of my other passion, the guitar. Years later, I started doing CD designs and flyers for my band on the PC and got hooked again; it was exciting to see how much 3d has developed in the meantime. At that time, I have been working in a print house doing pre-press work and layout and played around with 3d software at home, hoping to work in the 3d industry someday. I then got to work at a company which produced 3d real-time architectural presentations and later, in 2006, met the folks in Frankfurt and started working with them. 


rh: What software’s do you use to create your renderings, and what is your workflow? 


Marcin: Workflow will always differ depending on the job, but for most of the Lufthansa images our workflow has been as follows:

If NURBS data was supplied, I've used MoI3d to review, remodel or repair the data when needed. I then imported this as NURBS into 3ds max through the Npower importers and finally converted to mesh or poly objects. Getting NURBS data from manufacturers is a huge problem because of IP restrictions, so we ended up modeling a lot as NURBS in Moi3d and in 3ds max. I had an excellent library of reference images which allowed me to model with a high level of detail and was very useful as a guideline for the materials and textures. Brazil was used for rendering and shading. It is always a critical point for me so I usually spend a lot of time creating materials and textures, and doing many test renderings.


Once everything was in place we could start working on the images with Jens Polkowski from Lufthansa and photographer Jens Goerlich.


We did a lot of previz before the backplates were shot. The client's idea was to produce a consistent set of images that would be later used in a story about the new Boeing 747-8 in the Lufthansa magazine. We determined the best camera angles and lenses and basically defined and documented everything in 3ds max before the actual shooting. Jens had detailed information on the camera's levels, tilt angles and focal lengths and could shoot backplates that would later match our cameras in 3ds max. It turned out to work surprisingly well and helped a lot to maintain the consistency Lufthansa had in mind across very different shots.


After the shooting, I've been given bracketed shots of the environments, done with a Canon 5D and a fisheye lens. We've used PTGui to stitch these as equirectangular panoramas and Photomatix to generate the HDRs, and because they were shot shortly after the backplates were taken they had almost identical lighting conditions. 


rh: Most of the backgrounds in your Lufthansa renderings are in fact photos. How does your photographer manage to get such beautiful photographs, and how do you get the lighting and reflections from the photos into your renderings? 


Marcin: As an airline, Lufthansa needs to show both air-to-air and ground shots of their airplanes, showing them in different situations, lighting conditions and perspectives. Jens has been on several helicopter and airplane flights to capture beautiful and interesting skies and cloudscapes. For ground shots, we typically get a more defined request.


It's not easy for anyone to imagine a huge airplane somewhere on the ground when it's not actually there. We'll often sit together before a shooting in order to look for unseen perspectives or to just get a better picture of the airplane's shape. Out on location, he tries to capture an interesting picture of the area while keeping in mind the plane's position and dimensions. Jens is able to tell which focal length the camera I'm using in 3ds max after looking at the screen for a second so he really knows what he's doing out there.

As for the CG part, he usually shoots the backplates and the HDR environment in the same lighting conditions so they are easier to work with and mostly require only a basic color correction.


For lighting and reflection environments in air-to-air shots, I needed a different workflow due to the fact that one cannot shoot an environment HDR up in the air. I'm using Vue and Terragen to produce panoramic HDR environments, trying to mimic lighting and cloud formation from the real-world background plates.

Sometimes, I'll model some of the landscape's features in 3ds max and use camera mapping to map the background image onto it so it reflects in a more realistic way.


I tweak a lot until the CG objects look convincing. Sometimes it may be necessary to add fill lights or to change the sun's position in order to get a more interesting image or emphasize a certain area of the airplane. Additionally, if the backplate and HDR environment don't match, it may be necessary to apply curves or color corrections on the HDR images.

Luckily, there are plenty of free plugins and scripts to work around 3ds max' limitations. I have used Martin Breidt's ImagePlane and Overscan scripts, some of Neil Blevins' scripts, some of BlurBeta's maps and materials, Cuneyt Ozdas' ColorCorrect map, BerconMaps and many more. 


rh: The details of the airplanes are exquisite, down to the screws and bolts. How much of the detail in the airplane is modeled geometry and how much of it do you rely on texture maps? 


Marcin: Since airplanes are so huge they need a certain level of detail so they don't look like toy models when rendered. You really need to see screws, rivets and all kinds of small parts to create the illusion of a real-life object.


After working several years for Lufthansa, I know which parts of the airplane are the most interesting to them and try to keep that in mind when modeling or texturing. Something that's likely to be seen in a close-up will get a lot of attention. For example, we've produced a series of images with the airplane up in the air over beautiful landscapes, with the camera looking at the engines. They're all quite highres and require a very high level of detail to look convincing - so we started to model every single screw and rivet in our recent models. While it may sound like it's way too much work, it actually saves a lot of time that would otherwise have to be spent on painting and tweaking textures, which also needs considerable amounts of time when going for very high resolution output.


Also, an airplane is covered with markings almost everywhere. Most of those that are visible from a greater distance need to be painted and mapped. Some of them require different mapping projections and many of the main texture setups take up several map channels per object because of this.


When creating materials, I try to instance textures and maps as often as possible. It can get very tedious to replace a color map for example when it is used in many different materials. If you take care of those things at the beginning it'll eventually pay off. 


rh: You have a very keen eye for composition in your renderings, do you pick the camera shots yourself, or is it a collaboration effort? 


Marcin: This is always a collaboration effort. Often, Jens Polkowski from Lufthansa will approach us with an idea, either suggesting a certain composition or leaving it up to us to come up with something based on their marketing needs. We'll then work a bit on different camera angles and send them back to Lufthansa so they can give us feedback or decide which of them get produced.


I have learned a lot from both of them in this regard. Funny enough, sometimes they'll be able to imagine the rendered result much better than I am, and it still happens regularly! 


rh: Although most of the backgrounds in your renderings are photos, you have also been successful in creating cg generated backgrounds. How do you get such realism in clouds, and mountains? 


Marcin: For the image below of the Airbus A380 and Boeing 747-8, I have used Terragen and World Machine to produce the background. As a first step, I created an alpine landscape in Terragen and exported a part of this landscape as a heightfield map. In World Machine, a geological erosion effect was applied and exported back to Terragen in order to render the final image with clouds and proper lighting. I also rendered out a HDR environment and used this 3ds max to render the airplanes; the final composite was then done in Photoshop.


It's really fun to work with these programs and the possibilities are almost endless. It is something I want to use more in the future as you can get some beautiful results without having to rely on real-world photographs. 


rh: How much of your renderings are touched in post, and what tools do you use to create the final composites? 


Marcin: While I think Photoshop lacks some essential features (full HDR support or a non-destructive workflow for filters and masks are good examples), I still think it is the best tool for the kind of work I am doing. I try to avoid rendering in passes as Brazil doesn't support them in a convenient way. Instead, I try to get everything right in the rendering and only render out an additional shadow pass for better control over the shadows and masks for certain objects to avoid painting masks. After that, I'm doing some basic level, color and contrast corrections and leave the real work to Meike Wittenstein, a real Photoshop sorceress, who gives it a final touch.


Thank you, Ramy! Last but not least, I'd like to credit some others involved in this project as well, namely Fjodor Tscherkassow, an incredibly talented 3d modeler, and Martin Repplinger, who's been responsible for stitching the HDR environments. 


rh: Marcin, thank you for all the rich information, and taking the time to answer these questions.  You have definitely set the bar in many aspects. Your images are very inspirational, and fresh as your process is different than most out there! 

You can see more of Marcin's work on cgsociety.org or his website mswee.net, and much like his renderings, Marcin went above and beyond, and has shared with us some of his insight to his process creating his awesome materials shared here:



Adding real-life look to materials

Since I have received a lot of positive feedback on the job, particularly on shading, I'd like to give a brief overview over how I added dirt to the materials. I am working with Brazil and because it's only rarely used out there, I will try to explain the idea behind the approach instead of showing screenshots of the material setups.

When working on the first model and doing the first test renderings I quickly realized that I'll need to introduce some kind of dirt on a material level to get a realistic look and a sense of scale. Painting maps for every single part of a huge model wouldn't have been feasible. Even if I would have taken the time to do so, it would have been a nightmare to manage the materials and would have taken a considerable amount of memory - only to add something for what should be solely a subtle effect.


The solution was to use a map that would paint a gradient on sharp edges of a mesh in a procedural way – I have used the f-edge plugin to do that and used that map as the blend mask in a Blend Material (see my notes at the end of the article on how to achieve similar effects with other plugins). This mask would then blend between a clean and shiny material (Material 1) and a more or less dirty and worn version of the clean material (Material 2). To take this a bit further and make it a bit more convincing, the f-edge map is distorted by another map, in this case by a Bercon Mapping map (there's also a free map called Warp Texture which can be used for the same effect). Using this in a ColorCorrect node will give you even more control.






Another technique to simulate dirt is to use an ambient occlusion map and use different procedural noise maps to make it look less regular. Again, if used as a blend map in a Blend Material to blend between two versions of a material, it can add realism to the shading without much effort.





Generally speaking, I often blend many procedural maps in a Composite Map and use them as diffuse or reflection textures. With huge models with thousands of objects and hundreds of materials, working with painted textures quickly becomes a pain - you always need to go through a chain of steps, unwrapping or taking care of the mapping projection, painting the textures, loading them in 3ds max and taking care of map channels etc. Procedural setups can help to quickly get a convincing level of realism in your materials. However, keep in mind that using procedurals will add to the rendertime and the more complicated your setups are, the slower they'll render.

Note:

Both techniques were already described by Neil Blevins in the past:

For the worn edges technique, his approach is different as it is based on vertex colors. As a consequence, it is not completely procedural as it needs to be setup per object, it requires a rather high resolution of the mesh to look nice and it generates an additional mapping channel, thus requiring more memory than a completely procedural approach and will add to the file size.

For the ambient occlusion mask technique, I have used different maps to achieve a similar effect, but the general workflow is the same.

• f-edge is a commercial 3rd party map, available from http://www.ddag.org/products.html

• A similar effect can be achieved with the Gradient Edge map from Vladislav Gavrilov (http://www.vg2max.spb.ru/GradientEdge.htm). Vray users can use the VrayDirt map with the 'invert normal' option for a similar effect

• Keep in mind that most of the maps used here won't work with mental ray

Feel free to e-mail me if you have any questions regarding this workflow or for anything else – mg[at]mswee.net

-----------------------------------------------------------------------------------------
Copyrights for all images: Deutsche Lufthansa AG, Jens Goerlich, mo cgi

2012-11-27

My 2 most commonly used maxscripts

Over the years, there are 2 maxscripts that I use significantly more than any others, so I thought I would mention them and share them with you.


Arch&Design Utilities v2





This is a script that was originally written by Pierre Felix Breton and Zap Anderson back in 2006 I believe, and is super at changing some A&D material settings globally.  I tweaked it and added the "Turn Back Face Culling OFF in all materials" button, hence the v2.  The biggest benefit for using this script is that when you render a raw AO element, you can be certain that every object can have AO assigned to it, and you won't be getting surprised black objects in your pass (as long as you're only using A&D in your scene)....very powerful little script and you can download it here:

mrA&D_utilities2.ms 










Unified Sampling





This is one I've mentioned before, but the current script by Artur Leao has many other mr features.  This one is his older script, which is just unified sampling.  It's so simple, it makes it worth using, and the benefits of using unified especially with moBlur are huge.  What is nice about this script is you can save the settings in the file itself and it will render without a hitch on a farm or through backburner.  You can download this file here:

unifiedSampling_mr3.9_2012.ms









What I particularly like about the .ms format for these scripts, is all you have to do to use them is click and drag them into your 3dsmax viewport.  If you really want them into your UI though, simply open the scripts through a maxscript dialouge in 3dsmax, highlight all the text and click and drag it onto your main toolbar.  From there you can change the icon of the button by right clicking on it.  Simple as that!


2012-11-06

AU2012


Has it really been another year? Autodesk University is coming again, and I will be at AU2012 again this year giving a lab:

Rendering with mental ray®: Tips and Tricks

My lab will go through my cshs animation ; I'm taking one of the camera shots, and I will go through how to texture, light and render it to create this type of animation.

See you at AU!

2012-10-23

Creating 3D logos from a jpg

Lately I've been creating quite a few seals in my renderings, and thought I'd share a really fast way to bring 2D logos and seals into your 3d models.  To do this well, you have to have illustrator, but there may be other vector programs out there that do this that I'm not aware of.  Typically I look first for a vector version of a logo, usually I find them embedded in pdf files such as handbooks with a logo on the title page.  However, if I can't find a vector image, then I can still work with a raster image.






 So I start off with an image, typically found off the internet.  I use Illustrator to convert a 2d image to vector, and it does the job fairly well.  There are several things to look for when picking your image to get this to work well:
• Choose the highest resolution image you can find
• Images with strong contrasts in color work better







Simply open the image in Illustrator.  With the image selected go to Object->Live Trace->Tracing Options.  I always check "Preview" to see what my image will look like when it's converted.  I also check "Ignore White" to remove white as an object and simply use the lines.  The advantage to this is that you can get true holes in your logo, which is an effect impossible to create with opacity and bump alone.  Text can be a bit tricky with the conversion and often doesn't look quite right, but you can adjust some of the Trace Settings to tweak them.  Then hit Trace.




After it converts the image to vector, don't forget to hit the "Expand" button to bake the shapes in.  Now I simply save the file as an .ai file.  I use version 8, so Max will import it correctly, but newer versions of Max may handle newer .ai files.






.ai imported into Max

 Why .ai files?  Your initial thought may be to export from Illustrator as a .dwg.  The problem with doing this is you get thousands of vertices in your spline, and it makes 3ds Max angry.  Importing .ai files reduces the number of vertices and makes Max happier.





.dwg imported into Max

Now that I have a spline in 3dsmax, I simply add an Extrude modifier to the spline and watch the magic happen.  You will notice that the result isn't perfect, but modeling something with this detail could simply take hours, and using this technique gets the job done in minutes!