Vertex2 hd

Page 1

VERTEX RYANHAWKINS

2

Featured Artists 2D Concepting Darren Bartley

3D Environment Philip Klevestav Render Targets Material Guidelines Far Cry 3 Art ZBrush Texturing Tricks World Machine 3D Scanning NDO/DDO

Cover Image By: Alexandre Zedig Diboine


2

VERTEX


Letter From The Editor

3

Letter From The Editor I would like to first thank you, the readers, for downloading the books from us and helping show us that there is a need for this type of media out there. VERTEX is brought to you by the community of artists from all different types of digital entertainment industries. Originally the concept of what this book was going to be focused directly to and only on video game development tips and tricks. But the interest in this type of educational media sparked from other industries as well so I thought well we might as well try to cover those needs. Since VERTEX is free we are able to take our time with the content and make sure that we are giving the readers the ideal material. The goal with VERTEX was to release one volume a year but due to the size of the actual book and the content needs we can only really release it when it is truly done. The content in VERTEX comes from working professionals who have full time jobs and do not get paid to contribute to this. We work with their schedules as best as possible and do not rush the content to meet a release deadline. By holding the book and editing it and tweaking the content with the artists we can ensure the quality of the content will be its best for you. There are always those readers out there who voice their opinions about how we should charge for these books and if we were making money then it would help increase the production speeds in how these are created. The truth is involving money in this equation just makes things take even longer. Because the books are free we are able to give you insights on company workflows and breakdowns of movies or games without having to work with legal teams too heavily. Another thing that I don’t see changing too much is the fact that I horde the creation of the book to myself. I want to make sure the content is to the quality that I want. I also hand pick the content in the book so that there is no overlap from previous books as well. With just a few team members and me, we are able to take our time and not rush things. I also do not work on the book every day. I work on the book in strides to ensure the book’s quality is always the best it can be. I feel that if I force myself to work on the books for long periods of time the work that I have done becomes repetitive and starts to lose its flare. This also allows for the artists submitting content to be more relaxed as well thus making their want to share their workflows and tricks with the readers stronger. I try not to stress anyone that works with the books. The end result is all we care about. When it’s done is just a matter of if we feel the content is ready or not. Thanks again for letting us take our time when creating the books and not pressuring us to sacrifice quality to release faster. Thanks for the support,

Contact the Editor Ryan Hawkins, Editor ryan@artbypapercut.com

VERTEX


Table of Contents

04

VERTEX


Table of Contents

05

VERTEX


PERSPECTIVE

6

PERSPECTIVE

Perspective Environments in Games By: Gino Whitehall

Environments in perspective can be a tricky beast to paint. My fellow artists, along with myself, will have wonderful gripe sessions about how tricky it is to come up with a convincing scene, much less a populated, convincing scene. With so much to consider, it’s easy to lose track of all the spinning plates. This tutorial will break down the elements of a perspective environment and explore some of the things I consider while painting. For the sake of space, and our attention spans, I’m going to assume at least a base familiarity with fundamental drawing skills and the idea of one and two point perspective. Thanks to the internet, there are many resources out there, from instructional videos on YouTube to Wikipedia articles, that can help bring you up to speed. This image started out as a daydream while waiting for the train one morning. I was at the station people watching, and I started making up backgrounds for everyone I saw. Eventually an undercover spy drama was unfolding before me. The thought of spies among the public entertained me all day, and I wanted to go with it!

VERTEX


PERSPECTIVE

7 The first step, of course, is the thumbnail and reference stage. I Google searched image reference online and sketched from life at the station. I quickly get down a few compositions, trying to see what works best for the vision forming in my head. I’m thinking I want to show two agents interacting among an unsuspecting public. This is especially difficult. While I want the viewer to pick the agents out from the crowd, they should look like they could blend in. I decide that I want to explore a stylized world, as opposed to something more realistic, mostly just because I enjoy exploring shape design. This means that I will avoid photo textures or anything that might suggest too much real-life detail. After a couple thumbs, I have something I like. I’ve been looking at photos of subway stations from New York City to the United Kingdom to Japan, and decide to use elements from the different locations. I build a three point perspective grid and use it as an overlay while I sketch out the environment. At this stage, as well as throughout the rest of the painting, I try to keep in mind on a couple of important concepts. Specifically, I like to pay more attention to the horizon line, repetition, composition (foreground, mid-ground, background), and values. It is important to always keep track of your horizon line, otherwise known as the eye level of your scene. Anything below this, you will be looking down on, anything above it, you are looking up at. The horizontal line is also helpful when placing people into a scene. I decide to have my horizon line at a human height, so as a viewer, we are looking eye to eye with everyone in the scene, making it a bit more convincing. I make my horizon line especially dark on my perspective grid, so I can keep track of it. Repeating a form in space is a great way to sell depth. As such, we want to push the idea of depth as much as we can, since we are only actually looking at a flat surface. Using repetition, in this case the pillars repeating into space as well as the people scattered about the scene, will definitely help create the illusion of depth. Foreground, mid-ground, background! Environments are easiest to comprehend when broken down into these three sections. I try to identify each section and plan the image accordingly. My foregrounds will have the darkest values, while my backgrounds have the lightest. I try to again sell depth through overlapping of shapes. The long walkway from foreground to background helps draw our eye into the scene, while the figures and pillars overlapping each other help to avoid any flatness.

Values will help show atmosphere, with the darker values being up close, and the lighter values being further back. I will keep the greatest area of contrast at my focal point, which happens to be in the mid-ground. I will frequently check my composition at thumbnail size, or convert to a grey scale image, to see if my value arrangement is still working. I also frequently flip my image horizontally, so that any mistakes I’ve missed might become more apparent.

VERTEX


PERSPECTIVE

8

Once my space is sufficiently sketched in, I block in my initial colors. I want to use the creepy green tint of fluorescent bulbs as my main light source. This will give an eerie vibe to the subway that I think will work well. I decide on a red and green color scheme, since red is the natural complement to green, and because I found some neat red pillars in my photo reference. I keep my perspective grid on for now, moving about the image evenly, fixing any mistakes, and cleaning up edges. As the image progresses, I’m introducing a lot of muted grey colors because it helps the focal point pop even more and keeps the scene from feeling too distracting. As I identify my focal point, I make sure to lead the eye to that area, making sure the rest of the image helps support the main idea. For example, the pillars seem to point back to that spot, as well as pipes along the wall. This next stage is just a lot of rendering passes. I continually adjust and clarify different spots, slowly introducing smaller details such as garbage cans, signage, and weathering. I try to show the age of the station, worn out from years of constant use. The walls are peeling, the ground is stained. Very often in real life a warm light source means cool shadows, and vice versa. I make sure to show a warm and cool color contrast in my lights and shadows to show this. I decide to expand the canvas a bit to show a subway train approaching. I feel that its orientation will help lead the eye back away from the edges of the canvas, as well as its headlight balancing the bright values just a bit.

VERTEX


PERSPECTIVE

9 Now it’s time to fill my environment with life! I block in my figures, showing contrast through their different sizes. I try to inject an urban vibe by showing lots of average Joes rather than suits. This also helps the spies stand out a bit more. The many jackets, as well as an umbrella, hint of a cold environment up above the ground. We know we are below ground due to the stairway leading up behind them. I’ve made it a point to keep most of the crowd in the shadows. Their colors are a bit darker, so they sit into the scene a bit. There isn’t one specific person standing out, except the ones intended to. Their heads all line up at eye level, which reinforces perspective and helps them look grounded. I pay a bit more attention to the seated spy. His suit is definitely flashy, but I decide that’s just his character. The advertisement sits behind him intentionally because the value contrasts really forcing the eye here first. He’s peering just over the top of his newspaper. Is he aware of what’s happening?

Now, the finishing touches. I finish detailing the background folks and change the pose of our foreground spy so that he’s drawing a gun. Ooooh the suspense! It’s the moment of calm before the storm. I show some papers fluttering through the air, being pushed by the wind of the train. These sorts of details help sell the effect of a moment frozen in time. At the point where I feel done I go back to my focal point and spend just an hour or two polishing details. I want that area to be the first place one would look, and because I’ve been detailing the rest of the image evenly I can polish one area while leaving other areas looser without breaking the image. If you look at areas of the train, the tracks, or the background figures, you can see how simple they really are. That’s thanks to the focal point, along with the surrounding areas leading our eye back there so we can get away with these broad strokes.

VERTEX


PERSPECTIVE

10

With the image completed, I’m able to look back and reflect on what went right, and what didn’t. Overall, I’m happy that the perspective of the environment reads convincingly, and the people in it seem to belong and don’t feel out of place. I feel relatively happy with the color scheme, but feel I could have pushed the color shifting even more. The darker spy doesn’t pop out as well as I had hoped, but hopefully the rim lighting on his back gives him the contrast he needs. Another painting complete, more XP toward gaining another art skill level! With each image finished, you are further refining the skills of your hands and eyes, even if you don’t necessarily realize it. With each painting, you have experience from all of the little successes and failures that came with it. If your environment skills are leaving you frustrated, attack it in pieces. Do studies from your favorite movies. Carry a sketchbook everywhere you go, draw every room you’ve ever been in. Like any other muscle, exercise it the correct way, and it will get stronger!

VERTEX


PERSPECTIVE

11

About Me My name is Gino Whitehall, I was born and raised in Healdsburg, California. My life changed sometime around age 4 or 5, when I discovered Super Mario Bros., and Uncanny X-Men. From that point on, drawing and reading were my obsessions. I attended Art Center College of Design in 2004, obtaining my BFA In Illustration. Upon graduation in 2008, I found myself at Blizzard Entertainment, working as a Concept Artist on their unannounced MMO. I spent four years there, as well as teaching environment painting at Laguna College of Design. I’m currently at Gree International, as a Senior Concept Artist. I’m having a great time exploring the budding mobile games market, and as always, am filling sketchbooks and hard drives as fast as I can.

Gino Whitehall

www.whitehallstudios.blogspot.com

VERTEX


12

Rasmus Berggree

www.rasberg.blogspot.com


13

Toni Bratincevic

www.interstation3d.com


SPLINES

14

THE SPLINEMark Dygert Splines and Booleans By:

I know what you’re thinking. You’ve probably heard some horror stories and you might even have shied away from them because of a bad experience but I aim to change that. I will reintroduce you to splines and show you some tricks you might not have thought possible. With any luck it will unlock a new set of possibilities and boost your speed while giving you more flexibility to make simple changes to complex shapes in a shorter amount of time. It almost sounds too good to be true. What about the horror stories? The truth of the matter is the horror stories are right, but mostly because people try to use them for bazaar things. Just like you wouldn’t use a screwdriver to prune bush you don’t want to use splines the same way you use edit poly. Leaning some of the cool things you can do with a spline will help you realize their potential and hopefully leverage them to the best of their ability.

Creating Splines

Say hello to the much maligned and ever so humble spline. There is a lot you can do with this simple little line. You can use it as a path to sweep a piece of molding along a wall, you can use it as a profile shape for a modular wall unit, you can create vase, a decorative pillar balusters or chess pieces. I could keep going on and on but really once you have the workflow down you find all kinds of uses for them so it really pays off to warm up to the spline. If you have not used these little guys before you should take a second to familiarize yourself.

Command Panel > Create > Shapes > Lines

Click a few points in the viewport and click on the first vert to close the shape. This is important because some of what we aim to do, will need closed geometry. Open splines are one reason they get a bad rep and it’s mostly because people never close their splines.

Note: There are some simple ways to make sure your spline is actually closed. A closed spline will have only one

segment so go into segment sub-object mode and click a line, the entire spline should turn red, if it doesn’t you know where the breaks are and you need to weld them. Also keep in mind that every vertex has a number, the order is derived from their creation and the first vert is always white. If you have multiple white verts, this means you have multiple segments.

VERTEX


SPLINES

15

Also with a closed spline you can set the 1st vert to any vert using the Make First tool in the spline menu. On an open spline the first vert will always be on an open edge, so if you can’t move the first vert, there is a chance its on an open end. You can also place a poly creating modifier (edit poly, shell, extrude, etc) on top of the splines stack and if nothing shows up, its open and you need to close it. If you have a spline that just refuses to convert to polys select all of the points and weld with a relatively low threshold. 99.9% of the time this solves the open geometry issue.

Smooth/Corner

Notice the difference when creating a spline if you simply click a point, you get a sharp corner. If you click drag a point you get a smooth point with bezier handles. You can change the behavior of the verts at any time by selecting them, right clicking the viewport and select one of the options in the upper left. I normally stick to making corner and smooth and leave the bezier options alone for the simple fact that working with bezier curve handles in 3D space is one reason splines get a bad reputation. If you really want to dig into bezier handle editing the 3ds Max help file has some useful info on helping to manipulate the handles along the different axes. I find smooth and corner get the job done in half the time, with a lot less frustration and less interaction with wonky tools like the axis constraints.

Note: You can also increase and decrease how smooth a smooth vert will be by adjusting the interpolation steps. Setting it to 0 will not add extra loops. I almost always select all of the verts and set them to smooth and use Refine in the spline menu to place control verts/edges close to each other, much in the same way you would do it when working with sub-d.

Shell and Extrude

Drop an extrude or shell modifier on top of your stack and go back down the stack and edit the spline in vertex mode, be sure to turn on “show end result” in the modifier stack.

VERTEX


SPLINES

16

Extrude and Shell do pretty much the same thing for our proposes here but it is good to note the difference in settings because one may do something better than the other. For example shell will allow you to bevel the edges and define that bevel with another spline which can be helpful for things like a fancy detail around the edge of a table. Lets get back to our spline... Set one of the points to smooth and move it around, you can push around a lot of geometry by only manipulating one vert. In the spline menu you can increase the Interpolation steps to increase the smoothness of the spline. You can also adjust the segments in the Extrude modifier to add more cross sections. This can be incredibly helpful for a modular wall section or quickly blocking in simple shapes that are part of a more complex model, but more on all of that later. There is one more way to create splines...

Spline Painting

Painting a spline can be a bit more creative and fluid than clicking each point to make a spline. With any edit poly object selected, go to the Graphite Modeling tools, Freeform tab, and click spline. Now you can paint a spline in the viewport. It can be a quick way to create: Tree trunks, vines, ropes, cables (closed spline shape, convert to Edit poly, extrude along spline path, taper and twist)

Table cloths (closed spline shape, copy spline, spherify, cross section modifier, convert to edit poly)

Ivy or branches (use particle flow to add leaves, use vertex paint to define where they go)

VERTEX


SPLINES

17

If you are on 3ds Max 2009 or lower you can check out Soulburns Scripts for a really well put together spline painter script by Neil Blevins who is an outstanding artist and technical director for Pixar. In addition to some great scripts he has a great CG education section on his site so check that out also when you get some time. In exchange for this freedom of fluidity you give up precise spline vert placement control. Spline painting will create verts every few units instead of points where you click. This enables you to create nice fluid shapes but the splines are a lot more dense. People will typically take a few minutes to optimize them before moving on, which is simple, weld with a average threshold or simply select verts and hit delete.

Note: That you can also add verts back in by using the refine tool in the spline menu and clicking on the spline.

Splines and Lathe Delete the extrude modifier and drop a lathe modifier on top of your stack and go back down the stack and edit the spline. Now you are working with one row of verts but controlling the rest of the geometry easily. Making giant sweeping changes to the overall form of the piece is incredibly easy. Switch verts from smooth to corner and insert verts close to each other to make sharper rounded corners using the Refine tool in the spline menu much in the same way you would use control edges when working with sub-d. This can be a great way to add control loops and get the smoothing on a edge just right without being constrained to a ultra sharp corner.

Another advantage to working this way is that you can easily generate a low poly model or LODs, from the high by adjusting the number of steps in Interpolation and the number of segments in Lathe. Adjusting the number of segments in your model through normal poly modeling would traditionally be a big undertaking with a lot of steps involved, but with this method it’s one simple slider that you can adjust at any point.

VERTEX


SPLINES

18

Keep in mind that with the way the modifier stack in 3ds Max works, you don’t always have to work symmetrically and you don’t always have to give up symmetry to have asymmetrical end results. This is probably best demonstrated by tossing a noise or FFD modifier on top of your stack. This allows you to go back and edit the underlying pieces but the end result is twisted and deformed. This is particularly handy for things like tree trunks or stalactites/stalagmites and various other organic shapes.

Splines, Sweep Modifier, ProBoolean, Extrude Along Spline

1: Profile spline for the wall. 1a: Simple spline line, with a Sweep modifier applied, set to custom shape and targeting 1 (set to instance so 1 can be edited at any time and the wall is updated). 2: Profile spline for wall indent. 2a: Square spline with a sweep modifier applied, set to custom shape and targeting 2. You can use this trick to do

picture frames, molding, trim around doorways and windows, you can even sweep a profile shape over a curved spline to create an arch over a doorway. 2b: ProBoolean applied to 1a, targeting 2a (set to instance so 2 and 2a can be edited at anytime). After adding it to the 1a ProBoolean, you can click on operands in the Modifier stack, then select the specific operand in the ProBoolean menu and move it around. Note: You can press the shape into the surface only a little to get some very light details or deeper to get more details. This can be helpful if you are doing areas that are similar in style but different in finer details ie. fancy dining room in a mansion and the servants quarters. 3: Cloned one box, set instances to 15, merged into one object. 3a: Added 3 to the 1a ProBoolean as an instance and moved them into place.

VERTEX


SPLINES

19

A: Three, six sided cylinders vertex snapped together so they align perfectly and are easy to snap together. B: Then adjusted the number of segments to 12 to round it out a bit more, notice that the edges of the cylinders align and can easily be welded because we doubled the number of sided. C: Delete the top and bottom polys. D: Delete the inner polys and weld the verts together. E: Select the boarder and cap it, delete all but the newly created poly. 4a: Move the poly you created in 4 to the 4a path spline and in edit poly of 4 use the Extrude along Spline tool to target 4a. Use the twist and segment options to create a rope shape. (This geometry is not added to the boolean for obvious reasons)

Don’t stop here, you can continue to add other shapes to get different details. You can reorder the “Operands” to change what layer any given shape interacts with the ProBoolean. The ProBoolean also acts as a warehouse for the shapes allowing you to extract copies if you deleted the original instances or had it set to “move” instead of instance when you added the shapes.

VERTEX


SPLINES

20

So you are probably saying “yea but I can do this with poly modeling”. The power and flexibility start to play out when you go back to some of the basic spline shapes and start making some pretty big changes. For example exiting the top molding after the boxes have been cut with traditional poly modeling techniques would have you working on dozens of pieces of geometry that are identical, you can copy/clone one piece and weld them together but that takes time. With this method you could edit the original profile shape and it updates the final model. Adjust 1 vert instead of 30+, remove some verts and adjust the spline interpolation to make your low poly instead of painstakingly removing edges and collapsing rings. This method is great when you find out some of the molding details don’t capture all that well when you bake out a normal map, or your boss utters those classic boss phrase “I like this but change that...”

Keeping It Clean

The key to keeping any boolean clean is knowing what kind of geometry it will generate and now the mesh is being triangulated. It can be helpful to put a “turn to poly” modifier on top of your stack, set the number of sides to 3 and toggle it on or off to see how the triangles are being laid out. Often this will catch messy edges that you can avoid by nudging around an few operands. It can also be beneficial to add a “smooth” modifier to the top of your stack, which will automatically smooth the model as you work on it without having to manually edit the smoothing groups each time you make changes to the geometry. Working off of a grid and snapping to it can help keep geometry clean and manageable. Remember to use custom grid objects (Create Panel > Helpers > Grid) Custom grid objects can be moved rotated and snapped into place.

Note 1: Select a grid object and right click to “activate it”. Do the same to switch to another grid object or back to the home grid.

Note 2: If you do this often enough you might want to

bind “Activate Grid (Context)” to a key. This key will activate any selected grid object, with nothing selected it will activate the home grid.

Scaling In Object Space Object space scaling will trickle down to all aspects of splines later on so it’s good to either not scale in object space, or reset the transform/scale matrices after you’re done. Again you can scorch the earth with reset xform or take the more humane route and go Hierarchy tab > Reset Scale/Transform. So there you go. A small sample of how splines can help speed up your workflow and make it more flexible, and how to side step some of the common spline/boolean land mines that people tend to run across.

VERTEX


SPLINES

21

Pivot Point Orientation

Booleans tend to get a bad rap for unpredictable results, part of why that happens is the orientation of the objects local pivot point and the Reference Coordinate System is set to world (I said along Z!? Why is it path deforming along Y!? Oh right local pivot) Or if the object was scaled in object space before being operated on. A lot of tools that work with splines and booleans work on the local pivot (like most of the animation tools) they assume the objects local pivots are pointing in a similar direction, if it isn’t you get rotated and distorted results. Depending on what viewport you create an object in, it will affect how that objects pivot point will orient to the world. On object creation, Z always points directly into the camera of that view. Meaning it won’t always point “up”, unless you are in perspective or orthographic mode where it will align to the world, then the local Z will point up. For the sake of consistency, stick to creating splines in perspective view or in the top viewport, so the pivots match and you minimize wonky issues. Keep in mind, that you can change the orientation of the pivot by going to the hierarchy tab, and clicking “affect pivot only” then rotate just the pivot point. If your model distorts along one axis when you rotate the pivot point, you have scaled it in object space (more on that in a minute) just go down to “Reset” and click “transform” and “scale”. This will clear out the transform matrix history and set everything back to 100%, then you can rotate the pivot point without it freaking out. Going nuclear on pivot points by using the reset xform Utility (which I don’t advise unless you’re the scorched the earth type of person) can also cleanse your pivot point, but it will also orient your pivot point to the world which can be bad. But honestly just get in a good habit of paying attention to your pivot points and it won’t be an issue.

About Me My name is Mark Dygert I am currently the lead character animator at Her Interactive. It’s hard to remember a time when I wasn’t passionate about making games, actually if I try really hard I can remember growing up in the 80’s and early 90’s back when Legos, Star Wars and GI Joe where high tech toys, which is what I was playing with when I wasn’t drawing and wanting to be a 2D animator. I would like to apologize to the Northshore School district for using its textbooks as flip books… I was in high school when Doom shipped and it introduced me to dialin-multiplayer and making custom content. Back then it was not really a career path like it is today, so I tucked those fun times in my back pocket as a hobby and went off to college. As I was working my way through college and I ended up working the graveyard shift job doing page layout for a bunch of different magazines, one of them was this thin little publication called “Game Developer Magazine”. 7 years ago my hobby became my full time job and I’ve been at Her Interactive ever since, shipping 16 titles. I have a wonderful wife and a brilliant daughter and I hope someday she gets the opportunity to turn her passion her job, whatever it is.

Mark Dygert

w w w . v i g v i l l e . c o m

VERTEX


22

Josh Kao

www.joshk.cghub.com


23

Nivanh Chanthara

www.duster132.carbonmade.com


FRIENDLY ART

24

FRIENDLY ART Philip Klevestav How to create Designer Friendly Art By:

As an Environment Artist with a background as a Level Designer I have always been interested in creating my art assets to be as easy to use as possible from a designer’s point of view. This involves a lot of different techniques and will of course vary a lot depending on the type of game you are working on. I think this is sadly something that is overlooked quite often when it comes to game art. So many times you can see examples where design has suffered in favor of great visuals, or the other way around. The reasons for this can be many but I think the most common problem is poor communication between Level/Mission Design and Environment Art. It definitely has a lot to do with how roles are defined at a company too. I think it is very important that both designers and artists can or are even encouraged to familiarize themselves with each others departments. That doesn’t mean a Level Designer should all of a sudden spend half his/her time texturing barrels or for an artist to build the next de_dust, but having at least basic knowledge of how things are made on both ends is very important and often automatically creates a strong bond between the two. To me creating something great looking is just a small part of the job of a game artist, the largest challenge is definitely creating something great looking on a tight performance budget that also plays really well. It’s easy to say that it’s purely the designers responsibility to make the game fun and only focus on the visual part, but that’s not true, making a game fun is really everybody’s responsibility. The way you decide to create your art assets can and mostly will have a direct impact on gameplay. See it as a great chance to influence the game in more ways than sweet visuals. I believe that only when the art and design departments work very closely together, almost as a single unit, can a truly great experience be created. Sometimes it means that huge teams need to cooperate and other times the design and art departments consist of one single person.

VERTEX


FRIENDLY ART

25

Standardize

Having good set of measurement standards is perhaps one of the most efficient ways to ensure the art will be consistent from a gameplay perspective. It’s surprisingly easy to overlook this very important factor. Things like: How wide is a door? How high is a cover object that you can duck behind? What is the jumping distance?

Setting up a range of these standards can be a lot harder than it seems at first. You will definitely want to do a lot of testing as early on as possible. As we all know games go through a lot of stages during their creation, so keep in mind these rules should be adjustable later on. Any change to a system while in full production will have a huge effect on most things created so far, so lot of rework might be needed and it should definitely not be taken lightly. This is why you definitely want to make as many of these adjustments as early on as possible.

Creating a Designer Kit

We know we want to set up standards, try to test them and make adjustments very early on and make sure to stick with these under all circumstances. One of the best ways to make sure you stick with these standards and have an easy way to test is to create a designer build kit. It also allows you to make really quick iterations when testing.

VERTEX


FRIENDLY ART

26

The few pieces in the image could, with a large dose of creativity be enough to prototype a whole level. Of course depending on the engine and tools used, you will most likely want quite a few more pieces. Creating various sized/ shaped walls and floors is a good example. You will probably also want to cover up some of the most common prop sizes, different types of add-on parts, common railings, windows and such. A lot of studios already apply this, and it’s somewhat spread to some of the hobby developers. The Source engine SDK already conveniently contains a designer kit, so the idea is fairly widespread within the Source community. However I definitely recommend you create such a kit even if you are making scenes/levels for fun in your spare time. You only really have to create and set it up once and it will help you block out your scene incredibly fast. I often do this in a very iterative way where I try to block out the whole space, no matter if it’s a whole level or a smaller scene. Even if I plan to put most of the focus on the art side I will still try to create a kit. There are just a ton of advantages to having a kit like this, both design and art wise: Standardizes everything you build and acts as a great guideline for anything new. Rapid prototyping. Helping you imagine a space and making sure it’s easily built once switching out to “real assets” because you already have everything laid out before hand. Great for paint overs. Perfect as filler for missing objects in your scene that hasn’t yet been created. You don’t have to limit such a kit to only be the most basic block pieces either. It may help with the transition from prototype to real art if you have some more detailed pieces to place around in addition to basic block out pieces. It can help give the player a better understanding of what the area is all about.

VERTEX


FRIENDLY ART

27

The designer kit shouldn’t be too large as it can get out of hand and defeat the purpose of having a quickly adjustable kit if design is changing, but having enough shape and size variation in these more detailed block outs will almost ensure you to have something the designer needs so no further requests are needed. It will also help when replacing any of the block out art with real art. In my experience these kinds of designer kits have been helpful, if not essential, to the entire development team. It makes both design and art more confident that what they are creating will actually work. After some time using a designer kit I always feel like all the measurements and rules kind of stick to me and I know them all in my head which also makes me a lot more confident when I create new stuff. To me, if you have a solid set of basic rules to follow it’s actually easier to be creative than if you have absolutely nothing to start from.

Is your art user friendly?

This is a big one, and it involves numerous topics. It can range from pivot placement and how consistent you are with them to how optimized, readable and reusable your art is. I will start with the simplest one.

Pivot Placement

It may sound silly to bring this one up, but it really makes a huge different how consistent you are with where you place your pivots/root points of your assets. It’s definitely worth giving this a fair bit of thought before you start creating your assets, especially if you’re part of a team and other people will use your assets in their levels. Agreeing and testing out the most efficient system for you will help speed level creation up a lot. Another reason why you may want to spend some extra time in the beginning to agree on a good set of rules for pivots is that the later you start standardizing this the more painful it will be to go over old assets with all kinds of rotations and center points. In the image on the next page you can see this simple railing piece having it’s pivot in the bottom center of the object (left in image) vs. at the bottom corner (right). The latter one will make it a lot easier to create corners and make it easier to offset while having it in the center of the object will force you to always move your object a lot more. Even if it may just be duplicating, rotating and moving your object to create a 90 degree corner, any time saved for any of those actions will add up to a lot of saved time in the end.

VERTEX


FRIENDLY ART

28

I don’t think there’s any right answer to how you always want to place your pivot, but it is something that should come out of discussions with the people who will use your art assets the most (typically a level designer of some kind). If you as an artist can reduce the time designers have to spend re-arranging placement of objects just because of inefficient pivot placement, the more time they will have to make sweet levels.

Player Collision

Again this may vary quite a bit depending on the type of game you’re working on. Assets with strange player collision can sometimes be very distracting, and in worst case totally piss you off. This is one of those things that you won’t notice or think twice about until that one time it actually is off. This is handled differently by different engines. A lot of the time you can split up player collision and other types of collision. Personally I don’t think that the player collision should be anything but a very rough representation of your model. If it’s a complex model with a lot of small protruding parts the player collision should definitely be a lot smoother. You can often also gain a lot of performance by creating very simple and basic collision meshes for your models.

VERTEX


FRIENDLY ART

29

On the previous page is an example where you’d probably want to stay away from having small protruding parts that could interrupt the player if they accidentally get stuck between two of those details. This can be solved by simply altering the player collision slightly to allow for smooth movement. In an FPS (especially multiplayer) the slightest obstacles like these could be pretty devastating. Try to avoid letting the player get stuck behind anything that isn’t clearly large enough to be used as cover.

Readability

As I said in the beginning of this topic there’s also the actual readability of your art. This obviously is both a big part of actual art direction and style as well, but I wanted to bring it up from a design and gameplay point of view. There are already tons of great books, tutorials and talks about leading the player with art and lighting in both single and multiplayer games, so I won’t go into that really. I wanted to go in a bit on readability from a player perspective. I think most people will agree that a game (single or multiplayer) where you have to fire at any type of target, it’s really important that you can clearly see the targets you’re trying to take down. I’ve seen this solved in a lot of different ways that don’t actually involve having to make your art assets any more readable. From having enemies glow, a strong rim-light/outline, various toggle render modes for the player to see better (these can of course be a big part of a game mechanic as well and may not have anything to do with trying to make up for poor readability in the game), heavy fog or depth of field blur to hide things getting too cluttered further away. Personally I think it’s very important regardless of art style to make sure the game is very readable from an environment art point. It doesn’t mean you can’t have a lot of details in your art and have parts be very busy looking, but be careful where you have it. The density of it, and maybe most importantly, how often is it used in the game should be taken into account. It’s very easy to get lost in looking at one isolated asset and try to make it look good enough to work as a portfolio item by just adding tons of stuff to it. Say you’re working on a wall piece, you know it’s going to be used a lot in game, it may very well be repeated a lot as well. Here’s a potential to really make the level/game very hard to read just because this one asset had too much stuff going on. Here’s an example of a very dull and plain wall, this example will just show extremes on both ends to get the point out more clearly.

VERTEX


FRIENDLY ART

30

This one is packed with stuff and repeated, just a few times, but it becomes very clear in this example even if it’s obviously very exaggerated and flat from an art point of view.

Even if you’d never just have this in a level (either of the examples), I think if you imagine having a full level in any of these styles it’d become very clear that the last one would probably be very difficult to play in compared to the extremely simplified example. You’d have a much harder time differentiating between enemies and some random wall detail. You could also run into issues with leading the player to the preferred routes or points of interest as it’d be more difficult to spot things like doorways amongst the rest of the noise. Instead I recommend beginning too simple and play it early to see how it plays. If it’s really fun then you probably want to be really careful about what you add to it art wise, in my opinion it’s totally ok to keep some assets very simple just for this sake. You definitely have a problem if a level plays well and is very fun with temp/block out art and then becomes less fun when it’s actually “artified”. Other good things to think about when it comes to guiding the player to certain areas is the use of stronger accent colors/different brightness values and lighting. In a shooter multiplayer map I even try to imagine the playable space as some kind of an arena area, almost like a TV game show where you have a “track” or “play area” standing out from anything around it. Maybe not the best example, but I think the idea can be carried on to a lot of game types. My point is that you as a player should never have to think twice about if you’re looking at an enemy or a fuse box or if you can jump over those rubble piles and get to that (perhaps too interesting) backdrop art, just because it looks more fun than the actual level area. Last thing, while on this subject, I wanted to just show a really quick example where I added a couple of add-on models to the first image here with the simple walls. Obviously nothing spectacular, but by doing these kinds of small additions to something that seems too simple, you’ve actually made it look a lot more interesting while maintaining the readability.

VERTEX


FRIENDLY ART

31

Conclusion

My intention with this article is to bring up the importance of letting your artwork be more than something nice to look at. There are a lot of things that all weigh in on making the production of a game/level/scene faster, more fun to play and visually read clearly. Generally I’d say you as an artist have a lot to gain by trying to work closely together with any design oriented people. It will give you some great insight to the whole design aspect of the actual game you’re creating. Seeing how other people use your art pieces first hand can help you understand how you can improve things the next time around and it hopefully makes your art both easier to use and more fun to play with. A lot of work goes into making your art look great, you should make sure it also plays great and is as easy to use as it can be. In the end good art in a game is sadly pretty pointless if the game doesn’t deliver on the gameplay side of things. Whether you are an Environment Artist who has been in the industry for years or if you just started working on your first hobby game I hope this article could inspire any of you to think about how your artwork directly and indirectly has a huge impact on so many different parts of a game.

About Me

I’m currently an Environment Artist at Blizzard Entertainment working on the NextGen MMO. I have enjoyed playing games since I was a small kid. My first contact with level editors were for Duke 3D, Quake 1 and Command & Conquer where I tried to learn the as much as I could with my basic primary school English and no tutorials to read. My first on site job in the industry was as a Level Designer at GRIN in Stockholm, Sweden, where I also grew up. At GRIN I spent a bit more than 4 years, where the first year was mainly as a Level Designer, but then transitioned to becoming a Texture Artist for a while. I hope to be able to stay in this industry for a long time to come and I can’t see myself getting bored of it anytime soon.

Philip Klevestav

w w w . p h i l i p k . n e t

VERTEX


32

Bryan Lee

www.ninnjapizzaburgers.blogspot.com


33

Yuri Alexander

www.yurialexander.com


Render Targets

34

Render Targets

Render Targets in the Unreal Development Kit By: Alexander Dracott

Through the following pages we are going to be taking a look at utilizing some tricks with tools built into the UDK to create a custom bloom post effect that looks like an anamorphic lens flare. In this session I will be covering three things: -What is a bloom post effect? How it is normally made? -Step by step instructions on how to create your own custom bloom in the UDK. -Why this technique is important, and what it allows you to do with custom post effects. I set out on my own just over a year ago to create my own custom bloom within the UDK. I had seen some fancy lens flares in different games (like the Mass Effect series and Battlefield 3) and wanted to do something similar. Not as a static actor placed in front of objects, but as a post effect that could look at an entire image and create its own lens flares. Unfortunately I ran into some major roadblocks while working within the UDK that prevented me from creating anything performance appropriate. Figuring out a way to create multiple render targets was my solution, and it is what I am going to talk about at lengths today. While it can be used to create blooms, it has many applications and opens up lots more. Let’s get started with some basic bloom information! A pixel based image bloom is a post effect applied to a rendered frame made to simulate camera lens imperfections that show up when a light source is incredibly bright. This effect is usually made by extracting the brightest spots of an image, blurring it, then adding it back on top of the original image.

VERTEX


Render Targets

35

The most complex part of this process comes down to the different ways to blur an image. For pixel shaders, the basic idea is taking one pixel, looking at nearby pixels, adding them all up, and dividing that total by the number of samples that you took. You can also apply weighting to those samples as you add them up to make a blur appear more soft and natural. The example I will be covering is called a Gaussian blur, which in its original form is a complex equation to decrease the weight of samples as you go farther from the source. We will be approximating those weighting values for increased performance. A technique we will be using here is separating out horizontal from vertical blurs. While it is possible to blur in every direction at once, it can become quite expensive to do so. It is cheaper to instead blur in one direction, then another. You can stack these blur passes on top of each other to achieve different types of shaped blurs.

Keep in mind that this per pixel operation can get very expensive as the number of pixels you sample increases at high resolutions, even with the double pass blur I mentioned above. 30 samples on either side of your source pixel is not very big when your resolution is at 1920x1080. Fortunately we can get around this by down sampling an image a few times using a factor of two before blurring the image. If we sample the image down step by step using a factor of 2, the bilinear filtering which occurs on images as they change resolution helps us preserve detail as we go down in resolution. Then it helps us soften things as we go back up. Using all of these tricks is vital to helping us create a really soft shape for our blurs, but for a very cheap cost.

Let’s talk about what I ran into when I wanted to do all of these things in the UDK and why it creates a roadblock for us. Currently the UDK post process chain is linear. Each post process chain node accepts the current render target from a camera as a texture with 3 color channels and 1 alpha channel containing depth. The output of that post effect feeds to another, but only the color channels. The alpha channel is reset to the depth render in between different effects.

VERTEX


Render Targets

36

Normally in a custom post effects pipeline you could create your own texture which you could write to, or read from, and save out for later use. In this case we would need to do that multiple times (first to capture the bright parts of our scene, then later before and after the blur passes). Unfortunately, even with custom HLSL nodes within the UDK Material editor, we only have access to things within the pixel shader, and cannot declare new textures which happens outside of it. On top of that, to my knowledge there is not a mip chain to allow us to access lower resolution images of the default scene render. Let’s talk about why this is a problem. In HLSL, to get the value of a pixel near or around the original correct pixel (in this case for a blur), you need to shift the entire image in either the U or V direction by 1 pixels worth of space. You then have access to the value of a new pixel as well as your original (so shifting the image down 1 pixel, gives you the value of a pixel 1 up from the original). Now because we want to achieve cheap blurs with multiple passes, we need access to the results of our previous blur, so that we can blur it again (vertical, then horizontal). Because the UDK post effects pipeline is linear, we cannot save out a blurred copy of our threshold (the bright spots which will get turned into bloom) without overwriting the original image (which we need to add our blurred threshold back too). This prevents us from any kind of multi-pass blur on anything other than our original image. For a long time this was a stopping point for me, since without a proper licensed version of the Unreal Engine, you cannot go in and alter the code to give yourself access to this. It is possible to do your bloom blur at default resolution, but the cost of doing so is beyond doable. At this point I have to give credit to a real time graphics programmer Kris Lang at Sony Online Entertainment. Kris had been helping me for some time understanding complex rendering techniques and when hearing of this dilemma, reminded me that you could in fact render textures and access them real time in the UDK. Normally these textures are used for reflections on flat surfaces, but what if you could render them to flat walls and recapture the image in real time with a camera? It looks like now we have a solution!

VERTEX


Render Targets

37

So let’s talk about technique. The basic idea is using the Texture Render Targets of the UDK to store the textures mid post effect. To do this we will be capturing our scene with a camera actor other than the main one, and writing that out to a texture in real time which we will display on a mesh somewhere in the scene you are working on. We can then recapture that image with another camera. Repeating this process gives us a way to access multiple textures. Also custom camera capture resolutions allow us to fake the down sizing I previously mentioned. As I mentioned before, we cannot use the normal camera for this (since it doesn’t have a render output). Instead we want to use a SceneCapture2D Actor which can be found in the content browser under Actor Classes. Since this is your normal camera you will want to increase your view plane, and enable fog and certain post processes. Let’s also name this camera “Cam_InitCap”. This camera is what is going to be capturing your actual render. Its output will be what is referenced for the final image composition, and your bright spots in your image. Check out the image attached to see what settings to use.

HINT: You can preview your camera as your main camera, and fly it around like a normal camera by creating a new matinee in kismet and adding your Cam_InitCap as a camera track, then previewing it. You also need to make sure Cam_InitCap’s movement physics are set to Phys_Interpolating so it can be animated. HINT: In the settings for my Cam_InitCap I plugged the render results into a temporary post effects chain so you can see what the camera is seeing (Cam_InitCap → Tex_InitCap → Mat_InitCap → MainCamPostProcessChain). Now that we have our main actor, we need to create a new texture for it to write to (and plug it into the Texture Target) of Cam_InitCap. Right click in your content browser and create a new RenderTarget2D. You will want to make sure that you create it in floatRGB format, and that you set your resolution to be what your final image output will be. HINT: From here on out, resolution makes a huge difference. In this example I will be working at 1280x720. If you want to go higher, just make sure you keep the math in mind when we start cutting the resolution in half. After your TRT (TextureRenderTarget) has been created, you will want to double click and change some settings. Here you can adjust the size if you need to, as well as turn off the check boxes (specifically the render once option, since this will be a real time render).

VERTEX


Render Targets

38

We also need to make sure the RTT tile is flipped, so that if there is any image bleeding when we blur, it blends better. Finally we need to set the address Y and X to “mirror” so that if there is any kind of offset as we blur, the seams won’t be super huge. Check out the image for more information. Not including the size, all TRT’s from here on out should have this format. Let’s call this TRT Tex_InitCap.

Next, we need to make a material to display this image. This material is going to be where we separate out the things we want to blur. Make a new material and set it to an unlit lighting mode. We want these display materials to be as cheap as possible. Let’s call this materials Mat_InitCap. With this naming convention we can keep track of what texture is displayed on what material, and it will also match up with the name of the camera. This way we know that Cam1 → Tex1 → Mat1. Inside the material, we want to first call in your Tex_Initcap, and then extract the bright spots. The easiest way to do this is to just subtract your image threshold from your main texture sample, then clamp it (to prevent any negative values and weirdness). I also throw in some custom desaturation parameters and value parameters to give me more control. Finally I divide by (1-Threshold Value) to balance out the brightness. Make sure this material is set to the unlit lighting model!

VERTEX


Render Targets

39

HINT: These values can be switched and played with later. There are many ways to do this part. The important part is the subtraction, and the clamping. We also need a 3D plane for Mat_InitCap to be displayed on. In any 3D program make a simple flat plane. The only important part about this plane, is the need for the aspect ratio to match the resolution you will be rendering at. Make sure you unwrap it to take up the full 0 to 1 space. Position this plane out somewhere in your scene, and put the Mat_InitCap on it. After this create a new Scenecapture2D actor. Let’s call this camera Cam_HalfRez. We are now working down the resolution chain. We do this, instead of jumping straight to lower resolutions, because it helps keep individual pixels represented. If we were just to jump from full resolution to 1/8 resolution, small parts of the image would get completely lost. The settings for this camera need to be slightly different since we are now starting to stack real-time cameras. We want make this camera capture as cheap as possible. You can look at the image of the settings to use, but the most important thing is making sure the far plane is very close, and that the camera is just capturing an unlit version of your scene.

VERTEX


Render Targets

40

Here comes the tricky part. You want to get your camera to line up perfectly with the capture of the plane. The easiest way to do this is to put something bright and vibrant behind the plane, and look through your camera as you move it. I recommend making a temporary TRT and hooking it up to Cam_HalfREZ so you can see if any part of the bright background bleeds into the image from the edges indicating your camera is not correctly lined up. The unfortunate truth of the matter is it’s almost impossible to be 100% accurate. You will have to just get it as close as you can, as this part is very “hacky”. If you start to notice your images not lining up as we move down the chain you can nudge your cameras physically by tiny amounts. We will also do some work to attempt to make up for the lack of accuracy of this technique later on.

Now we need a new TRT (call it Tex_HalfRez). Use the settings from the previous TRT here, but lower the resolution to ½ of what your Tex_InitCap was at. We also need a new material (Mat_HalfRez). This material is just a simple transition material, so it can be unlit, and just plug the Tex_HalfRez straight into the emissive slot.

VERTEX


Render Targets

41

The next few steps are pretty repetitive so I won’t go over them in detail. You need to duplicate your camera and plane and drag it over in 3D space, and rename them to recreate the down size. Instead of full resolution to half, you will be going from half to a quarter resolution. Let’s jump ahead to the material that you are creating to display the quarter resolution image, since this is where we are going to be starting our blurs. Our first blur, is going to be a vertical Gaussian blur. If you followed the naming convention previously set, the material we want to be looking at is Mat_QuarterRez. Instead of just plugging the Tex_Quarter straight into the emissive slot, we need to blur the image. We will be doing this part with a custom HLSL node, with some custom inputs. We also need to use a Custom Texture node instead of a texture sample to make it easier to use in the custom HLSL node. Create said node, and select it in the material editor. You want it to output a float3, and accept 4 inputs. One of those inputs should be a UV coordinate node, so let’s call that “tex”. The 2nd is your texture input, which we can call SceneColorTexture. We also need a value to dictate how far away each pixel sample for the blur will be (called Factor), and finally we need a float2 containing the X and Y size of our image (to know how far we are offsetting the image in each sample). Call that node PIXEL_SIZE. Check out the image for how I set mine up.

HINT: Lots of these blur methods take testing. I recommend throwing in test images instead of your Tex_* TRT’s so you can clearly see what is happening to the image. Now for some HLSL. I’m going to just copy the code below with some comments explaining what’s going on. It CAN be copy pasted into the custom HLSL node: //we need to have a variable that we can add the blur totals up too //float4 sum = 0.0f; //we are creating an array of gaussian weight approximations float BlurWeightsGaussian[] = { 1.0f / 4096.0f, 12.0f / 4096.0f, 66.0f / 4096.0f, 220.0f / 4096.0f, 495.0f / 4096.0f, 792.0f / 4096.0f, 924.0f / 4096.0f, 792.0f / 4096.0f, 495.0f / 4096.0f, 220.0f / 4096.0f, 66.0f / 4096.0f, 12.0f / 4096.0f, 1.0f / 4096.0f, }; //declaring variable for our loop float k; float i;

VERTEX


Render Targets

42

//First for loop for blurring pixels //keep doing the loop for 13 steps for (i = -6.0f; i <= 6.0f; i += 1.0f) { //for each step, offset the image a tiny bit to the left or right (depending on the input of the loop) //and add it too itself. Because its weighted, we dont need to divide it by itself after sum += tex2D(SceneColorTexture, tex + (float2(0.0f, i) * Factor * PIXEL_SIZE.y)) * BlurWeightsGaussian[k++]; } //returns the float3 return (sum); Congratulations! You now have a vertical blur. Continue the Camera Render chain to the next material, but this time do not down scale the resolution any farther. We want to do another blur here, but instead of using a vertical blur, we want do a horizontal blur. The material setup is almost identical for this step, but with some minor adjustments to the code. Look carefully at the code below for changes to the for loop. for (i = -6.0f; i <= 6.0f; i += 1.0f) { //Notice the changes in the order of the the Uvs getting shifted. Instead of rotatiing through float2(0.0f,i) we are //rotating through float2(i,0.0f) //This changes the direction of our blur. //We also changed the part of the PIXEL_SIZE float2 to read the width value, instead of the size. sum += tex2D(SceneColorTexture, tex + (float2(i,0.0f) * Factor * PIXEL_SIZE.x)) * BlurWeightsGaussian[k++]; } After that blur, we want to blur it one more time, again in the horizontal. You can just copy the exact same setup, just remember to change out your materials and textures. Now it’s time to move forward, and start up-scaling our resolution! HINT: The factor variable that we plug into our custom blur nodes can be changed for each blur. To get that anamorphic quality, I like to lower the first vertical blur factor, then REALLY increase the horizontal blur factor the first time, and find a middle ground for the second. Let’s get up-scaling. There are not really any tricks to be had at this part. By now you know how to continue the chain, so just repeat the process, but going up in resolution. You probably don’t even need to upscale the resolution to full, but instead stop at half (since the image is nice and blurred you won’t notice the difference). The last step in this process is your final compilation material, where you take your Tex_InitCap and add it to your half resolution to make your final image.

VERTEX


Render Targets

43

This material needs to be set to a translucent blend mode (so we can put it in a post effects chain). In it, we want to just add our blur on top of our Tex_InitCap texture. Unfortunately, the bilinear filtering does not always work with this hacked method. To counter this I discovered if I add up all of my TRT’s that I saved out as I was working up my resolution back to half (in our case only 2), then weight them individually to soften the effect I was able to remove any weird pixelization that occurs. I also added in some basic exponent control, and saturation and tinting features (for those of us who think anamorphic flares should be blue). The last step in this long process is hooking this material up in a new post effects chain, and opening world properties and hooking it up! Now as you fly around while in preview mode of your kismet camera, you should have the bloom effect up and working. Once you have hooked this up, you may have noticed that the final effect seems very delayed in editor. I don’t honestly know why that is, but I have a feeling it does have to do with the cameras. When I made builds however the delay was gone. Using Intel’s GPU Frame analyzer, you can break down an individual frame of a build with this effect in it and check to see that the down scaling of the textures and everything works as intended. It’s a lot of work so maybe you will just have to take my word for it. I know that this effect is not the ideal way to get a lens flare in game. The UDK has a GREAT lens flare editor already in, and if you want cheap, then I recommend you go with that more than anything. What is really important to take away from this though, is the actual technique of saving textures. It lags in editor, but performs as expected in game. This is big because it means so many post effects tricks that are deemed insanely expensive within the UDK are now doable. Tricks like Kawase bluring techniques, light streaks (like the bloom found in Kane and Lynch 2), or multi-sized and weighted sharpening and blooms. It’s very possible to use that bloom texture and mask in dirt on the screen from any source that has a bloom, or even follow Unreal 4’s route of image based lens flares. Below is a snapshot of my own custom bloom. In closing, I hope everyone who stuck through this large amount of technical talk has learned something. It has been a really long journey trying to figure this out, and sharing it with the rest of the industry is something I have wanted and planned to do for a very long time. I know personally, that the journey isn’t done, as there are always ways to improve, optimize, and show new tricks. I also wanted to credit all of the 3D assets in the above pictures to Epic (they are from the Unreal Development Kit) and some of my code to the guys working on Studio Post-Effect. Thanks for your time and maybe I’ll have an opportunity to share more in the future!

About Me My name is Alexander Dracott and currently I am employed as an environment artist at Sony Online Entertainment in San Diego, CA. I was born in Phoenix, Arizona but quickly moved to, and was raised in Portland, Oregon. There I attended the Art Institute of Portland where I had a chance to push myself by working on various projects with many talented students and faculty. I have always been interested in games, ever since I started playing Word Munchers in early grade school. That interest slowly turned into a passion for the industry itself, and the process of making games. These days I have been studying more and more technical effects, and how they can be integrated into pushing the quality of both art and storytelling. At work I’m helping with Planetside 2, which has proved to be an amazing opportunity to learn and work with a brilliant team. I can’t say what’s in my future, but I’m sure it has some form of 3D art or shaders in it. Maybe even a lens flare or two.

Alexander Dracott

w w w. d i g i ta l d ra c o tt . c o m

VERTEX


44

Tsvetomir Georgiev

www.pstchoart.cghub.com


45

Rayph Beisner

www.rebelconcept.blogspot.com


Glass Tunnel

46

Rapture

CryEngine 3 Bioshock Homage By: Scott Homer

If you’re reading this your jaw is probably firmly resting on your desk having feasted on the high poly mechs and sci-fi goodness that gratuitously litters these pages, and have stumbled onto this for a cold shower. Well... grab a cup of tea, pause Tor’s live stream and settle down whilst I breakdown how I achieved my Bioshock homage using CryEngine 3.

Why In the wake of many personal projects that fizzled out during the early stages of 2012, the project blossomed from a desire to do some casual high poly modelling. I found myself enjoying recreating the world of Rapture so much that I kept finding more inspiration. Why Bioshock? Awe-inspiring visuals, intricate decor and industrial architecture... what’s not to love?! In this breakdown I’ll go through various workflows I used to create the assets in the scene, highlighting techniques I employed to recreate the Bioshock atmosphere. I’m trying to write this with useful information for both students and professionals (easier said than done!), but beware, this isn’t necessarily the quickest or even best way of doing things; it’s just how I do it.

Planning

Let’s get started!

It’s good to decide the scope from the start in order to assess whether the project you’re embarking on is realistic with the time you have available. Remaking the entirety of Bioshock in the hours that fall between when I get home from work and when I drag myself to bed would take 10 years or more. So my aim was to create a large interior and then a couple of subsequent areas that best represented the atmosphere of Bioshock. I would, of course, be using CryEngine; as I was keen to showcase some of the features that I hadn’t had much opportunity to use during my day to day duties at work.

VERTEX


Glass Tunnel

47

With scope in mind I constantly had to remind myself that the focus was quality and not quantity. Several areas ended up being cut allowing me to focus on pushing the quality of the Main Hall, the Post Room and the Tunnel. After deciding the scope of the project, the next step was to collect reference images which would help me to plan out the environment.

I gathered references from Bioshock, of course, but also from across a broad spectrum of Art Deco inspired architecture and interior design. I watched a collection of documentaries and got my hands on some really useful books (you can see a full list of these at the end of the breakdown). I found it inspirational to boot up Bioshock and run around taking screen shots. Just flicking through a collection of a few hundred images taken during a play through allowed me to ‘dive’ (har har) back into Rapture after spending the day in the Crysis universe. At this point I was ready to get stuck into blocking out; I will quickly go through a few things to bear in mind during this process.

VERTEX


Glass Tunnel

48

The Block Out

For this project I made a fairly detailed block out for each area with simple geometry to scale (on the grid!) so that I could be sure that I had no nasty surprises lined up for me. I found it useful to setup each shot before I began production. I did this by dropping a camera into the scene and flying around to see what looked interesting. This helped me focus my attention on where I wanted detail. Past experience tells me that without doing this you’re likely to spend a week making something look good that isn’t even visible! At this point it’s useful to drop some lights into the scene to get a feel for how the scene is going to work atmospherically. This also helps during the texturing phase, especially when setting up my specular maps.

Lighting and Atmosphere

This is where I set up my “Time of Day” and also add a global environment probe (cubemap). If you can get the lighting working reasonably well at this point it will help greatly with asset production. This isn’t to say the lighting has to be final, but often a fairly interesting solution is a great way to see if the environment reads well during the blockout stage. Creating moving refraction on the glass to give the feeling of the level being underwater was important to the final look of the scene. I also added volumetric lighting and ground fog to enhance the atmosphere and add depth to the composition.

Environment Probes

Environment probes in CryEngine are similar to Mirror Ball probes used in pre-rendered CG. These are used to capture the environment around a certain point and create a flat image which can then be used to light your scene and add reflections. They are extremely useful for creating localized specular highlights and also for realistically lighting spaces. Setting them up is easy and they instantly bring your scene to life.

VERTEX


Glass Tunnel

49

To set up an environment probe in CryEngine, you must first drop an environment probe into your scene (located under EnvironmentProbe in the Objects - Misc panel of the Rollup Bar), I find it is best to drop a global cubemap into the middle of the entire environment with a radius for 9999 for the global specular values of the entire level. This will create an overall cubemap of your level, which whilst being inaccurate will help to maintain a level of conformity in your specular highlights throughout. For areas that can benefit from stronger or more accurate localised reflections I tend to go through the environment adding smaller cubemaps with much smaller radiuses for better results where the global cubemap isn’t working well.

To generate a cubemap you must first disable all cube maps in the scene, and then click either “generate cubemap” or “generate all cube maps” to capture the environment surrounding the probe. To see the result, reactivate all cube maps. Theoretically, turning the probe off before capturing the cubemap should prevent issues with the cubemap multiplying itself by itself and give the most accurate results possible.

VERTEX


Glass Tunnel

50

Contrast

It is important to have good contrast between light and dark areas in lighting, and the same can be said about architecture. Soft curves contrasted with strong lines can create areas of focus. This can be seen in the strong vertical columns of the Main Hall which are contrasted by their curved tops. This is also echoed in the curved roof which contrasts with the straight vertical walls.

Noise

Detail draws the viewer’s focus in the same way that contrast does. Therefore noise in the form of detail across an entire scene can make things very hard to read. Noise is something that is often most evident when placing objects in a scene, however you need to be aware that to balance an image you must create areas where the eyes can rest. I tried to create pools of noise complimented by more sparse areas to focus the player/viewers attention. One way to cut back on noise was to have large bare walls with minimal detail so the eye is drawn to the focal point of the environment.

Texture Creation

“If you make sure the scene looks good with just floors, walls and ceilings, adding props and detail should only make it more awesome”- I have always found this advice really useful. If the walls and floors aren’t blocked out, textured and lit at the start of an environment, the likelihood is that you’re going to run into a wealth of issues further down the line when you find that the environment as a whole doesn’t really work. With this in mind, my first priority when it came to building the actual art was to create these base textures. I’ll go through in depth how I created the walls, and then illustrate some useful processes I used to create some of the other textures.

VERTEX


Glass Tunnel

51

Main Hall Walls

For the walls of the Main Hall area, I wanted to create a dark, cold stone slab, based on a mixture of polished concrete, slate and basalt. I wanted the worn edges and damage that is inherent to the porous quality of concrete, the dusty chalkiness of slate, and the dark flat nature of the basalt. Anything is possible in Rapture no? The wall material is a blend shader, mixing together two separate textures using a height map and vertex colors to define the areas that are affected by each texture in the blend. When creating blends I usually try and create two textures that represent extremes; a clean version and a destroyed version so that I am able to blend between the two and get a result that can be used for multiple applications; destroyed, partially destroyed and intact. For the wall texture I created a fairly clean (but overall worn) concrete plate and then a heavily damaged concrete plate.

Base Mesh

I started with the clean version of the blend, this way I can layer up the damage on top of this when I came to texture. To begin I created a back plate to the size of the texture, this was at a ratio of 2:1 (1024x512). This is used for the mortar that fills the gaps between each concrete plate and also as a low poly mesh to bake from. I snapped the plane’s vertices to the grid and dragged out a rectangle at 1 meter x 2 meters. I then rotated it 90 degrees so that in the front orthographic view the plane is upright, facing the camera. I tessellated this mesh in order to ensure it is subdivided equally, so that in ZBrush the plane maintained its shape and dimensions. The graphite modelling tools includes a great “subdivision� rollout that I used to tessellate my meshes without having to do it manually.

VERTEX


Glass Tunnel

52

From this I created the geometry for the actual wall tile; this is simply a second plane of almost the same size with a shell modifier to give it some depth. I aligned this to the back plate so that they intersect each other; this prevented the tile from floating above the mortar and creating strange shadows when the Ambient Occlusion (AO) is baked out. These meshes were then both exported as .OBJ files using the ZBrush preset in the .OBJ exporter.

After loading this mesh into ZBrush, I divided it up a couple of times to make sure that mesh is dense enough to support sculpting the edge damage. I separated my mesh into its respective subtools to prevent accidentally sculpting on the wrong area of the model (click “Groups Split” in the Subtool panel). I also added some polish and relax deformation (deformation panel – Polish 80 – Relax 80) to relax the tile’s edges and give it a softer look. From here the concrete plates were ready for sculpting. Subtlety is key; the clean mesh didn’t need anywhere near the same amount of detail as the damaged version. I was quite conscious that pushing the clean texture too much would create a lot of noise throughout the entire scene.

VERTEX


Glass Tunnel

53

For sculpting edge damage I used a mixture of the Clay, Clay Tubes and Trim Dynamic brushes, these gave a good balance of edge noise and smooth chamfering of edges. I then exaggerated this so that the wear was obvious at a distance in the scene.

High frequency detail I grabbed a concrete texture from CGtextures and dropped it into Photoshop; this texture has the slight surface pitting noise (caused by the air bubbles in the concrete when it is poured) that I would like to use across the concrete tile. Firstly I created an alpha for use in ZBrush, to do this I selected the pitted areas in the concrete texture using the “Select Color Range� tool in Photoshop (Select-Color Range) and then used the color picker to select the black areas, I had to tweak the fuzziness of the color range in order to pick up some of the micro-details. I then selected inverse of this (Select-Inverse) and then deleted the rest of the texture, leaving behind a white background with the pitted details on top. In order to use this as an alpha in ZBrush, I simply inverted the canvas (Image-Adjustments-Invert) giving me the inverse result. Now, in ZBrush, I divided the mesh a couple more times to around 1.5 million polys. I created a new layer (so I could adjust their intensity (Layers panel - +)), I then loaded my new alpha into the Brush alpha slot of the Clay tubes brush. Using the DragRect stroke function, I simply dragged my detail onto my mesh using a rectangular lasso type application. By varying the size and tweaking the z-intensity of my brush strokes I was able to add some more variance to my sculpt.

VERTEX


Glass Tunnel

54

To finish off, I added some slight large scale, low frequency noise to the mortar between the tiles. This is only visible in the areas where damage to the edges is severe between the plates of concrete. From here the rest of the work comes in the texture, so I merged these meshes together and exported the high poly plate (To do this, go to ‘Subtool-Merge Visible’ and select the merged mesh from the ‘Export panel’). You can also use “Subtool Master” which is included in the newer versions of ZBrush (and available from http://www.pixologic. com/zbrush/downloadcenter/zplugins/ for older versions of ZBrush) to export each subtool as a separate mesh.

I then returned to 3ds Max and exported out my back plate to use as a low poly and then baked it all in xNormal. As you can see on the next page I generated the AO, normal and height map from xNormal. I used the CrazyBump to create a diffuse map which can be used for slight edge highlights. To do this, in CrazyBump select “paste normal map from clipboard”

VERTEX


Glass Tunnel

55

The resulting “diffuse” map is then tweaked to taste using the various sliders, I tend to try and make the contrast as high as possible so it’s easier to separate the highlights from the mid-tones.

Putting the Texture Together At this point I had all I needed to make my clean texture, so it was time to get started putting it together in Photoshop.

PSD File structure:

First off I loaded up a 2048x1024 document in Photoshop, (twice the eventual size of my texture) and created a group within this for each of my textures; - Clean diffuse, - Broken diffuse, - Overlays (general layers shared between both diffuse textures), - Clean specular (to be pasted into the alpha channel of the diffuse), - Broken specular (for the alpha of the broken diffuse), - Clean normals, - Broken normals, - POM Height Map (for displacement) - Blend Mask (the height map used to mix the 2 textures together). - Junk folder for layers that I didn’t want to delete in case I needed them later.

VERTEX


Glass Tunnel

56

I find it useful to do this, and to also name my layers wherever possible to keep everything neat and tidy. I always create my textures bigger than my intended size so that if I ever need to upscale them I can easily do this without having to recreate the texture.

The diffuse: As mentioned previously my main concern was ensuring that the clean concrete plates didn’t become overly noisy, I planned to use the texture extensively so hiding that the concrete was so heavily tiled was vital. In order to mask repetition, I rotated the UV’s of a number of the concrete plates; unfortunately the downside of this is that any details in the texture must be readable even if the plates are flipped vertically. The clean diffuse consists of mainly the AO overlaid onto a good concrete texture sourced from CGtextures, combined with slight highlights using the CrazyBump diffuse map. I used monochromatic noise and motion blur to create a vertical directional “run” layer and overlaid that on top also with a low opacity. For the grout, I sourced a rough concrete texture and painted this into the areas around the edges of the tile. This gave the effect of rough mortar holding the concrete plate in place. Finally I tweaked the brightness and contrast values to reduce the noise in the texture and bring it into the right range for the scene.

The normal map:

The normal map required very little work; I generated a simple normal map using CrazyBump and masked this out using the mortar layer in the diffuse group.

VERTEX


Glass Tunnel

57

Creating the damaged concrete plate: Once the clean version of the concrete plate was completed I had a base to work with for generating the damaged portion of the shader. The idea is to take the clean mesh and work into it to create a destroyed concrete plate. My technique to achieve this varies. Often I just look at reference and free-hand sculpt the detail and other times I create a template and work from that. The easiest and most realistic method involves gathering a number of textures with the correct amount of damage and then merging these together to use as a guide in ZBrush. I have used this technique time and time again to create damage throughout the project, some examples of which can be seen here.

VERTEX


Glass Tunnel

58

Using a template in ZBrush discourages your brain from forcing your hand to draw patterns in the concrete cracks as this will break the effect completely. I tend to avoid using any one image, as often only a portion of a reference image has the high frequency details that will both tile well and look interesting. For this example I quickly grabbed three good textures and merged them together in Photoshop to use as a rough template, as shown below.

PROTIP – Removing Light Information from Photos

This is a really useful technique for any texture or reference image. On something this “rough” that I will likely throw away it isn’t THAT important; however for final textures I always use this to remove light information from my base textures. I do this by using high-pass to bring the tonal values roughly into the same range (Filters-Other-High Pass-255) using a Radius of 250 pixels.

And then fade this by going to Edit-Fade-High Pass, setting the opacity to 100%, and set the mode to “luminosity”, removing the hot spots from the lighting and bring everything into the same tonal range.

VERTEX


Glass Tunnel

59

(In this case I de-saturated the image but it is not necessary) Back in ZBrush I grabbed a copy of the clean concrete tile (always keep the original!), and applied the concrete template as a texture. This will serve as the basis of the sculpt. This presents the chance to get creative; I started tracing some of the more interesting lines and bridging them together using the Clay tubes brush, digging out areas to create some depth. It is good to think of cracked concrete as subtractive damage. Cracks take volume away from the material so I usually try to avoid adding any outwards detail to the concrete as this is not how the material naturally reacts to damage. It is useful to toggle the texture on/off occasionally to see how things are looking; I often play around with the material too in order to better see what I’m doing.

VERTEX


Glass Tunnel

60

As the sculpt progresses I often try to refine areas as the bigger picture becomes clear, digging deeper in certain places and just generally revisiting traced areas to add detail using a mixture of the “Clay-Tubes” and “Dam-Standard” brushes. During this process I often try and walk away from the screen to see if the concrete is looking noisy from a distance. If this is the case I often remove some of the smaller crack details.

And here’s one I made earlier! This one has had a lot of the noise stripped out.

Baking

Here are some of the maps I find useful to generate from my high poly sculpt to put together a convincing blend. The height map generated will form the basis of the blend mask; it is also useful for creating extra depth in crevices using POM.

VERTEX


Glass Tunnel

61

Cracked concrete texture breakdown:

For the diffuse of the broken concrete texture, I worked on top of the clean texture; keeping this group visible below the cracked concrete layer and then began working on top of that. I dropped my AO and CrazyBump diffuse on top and began working into these to see what looked good. At this point I multiplied the height map on top with a low opacity to increase the depth of the cracks between concrete chunks. Another great way to make more interesting concrete chunks is to select a few random pieces and start darkening or lightening them in different places to increase the contrast in the texture and make the concrete look more separated. In order to emphasize the chunks of concrete, I darkened the edges and used white highlights from the diffuse texture around each piece to make them pop. For the gaps between the concrete chunks I used my height map as a mask and started to paint in noise in selected areas to make it look like crumbled concrete. I worked into the cracks with a black standard brush to polish up any areas that would benefit from some deeper crevices.

VERTEX


Glass Tunnel

62

Normal Map Breakdown:

Now for the interesting stuff! My goal here was to add height variance and add better definition in any cracks that could benefit from a little extra love. First of all I created a noisy, pebbly normal map that added that little bit of detail to the larger crevices, I did this by running a decent mud/dirt/ground texture though CrazyBump, and then overlaid this. I masked out this noise in order to confine it to the cracks. I often do this a couple of times to get some variation in the normal map’s deepest crevices, overlaying several normal maps (using the above technique) to increase the depth.

PROTIP – Overlaying Normal Maps

Normal map A is on the bottom, normal map B is on the top. In order to combine these two normal maps, first select normal Map B’s blue channel and press CTRL-L (or Image-adjustments-levels) and change the output levels to 128 (or 127), this will take the details out of the blue channel and allow you to use the “overlay” blending mode to combine the normal maps without breaking the normal map.

From here things get more complicated, in order to add variance to the way that the texture receives light, I overlaid normal map gradients on selected chunks of concrete. This forces the surface to pick up light differently across the broken surface. A subtle effect that often makes surfaces look much more dynamic than they would normally look, on the next page you can see how the normal map looks with (left) and without (right) this effect:

VERTEX


Glass Tunnel

63

Here is how to achieve this effect.

PROTIP – Creating Light Variance in Normal Maps:

First I grabbed my normal map straight out of xNormal, and a normal map of a sphere. With this I start making normal map swatches from opposite sides of the normal map sphere.

This gives us normal map gradients from left to right, up to down etc that can be then overlaid on top of our normal map to fake the concrete chunks being angled slightly. I do this by grabbing chunks of concrete and dragging the gradient across several pieces at once. Like so:

VERTEX


Glass Tunnel

64

This can then be combined with our original normal map by using the overlay blending mode. Adjust the opacity of this layer and...Voila! We have a quick and easy way of creating normal map variance.

Creating the Blend-Mask

From here I needed to create the blend mask. This will tell CryEngine how the two textures should blend together. It is a black and white image similar to a height map; however I tend to work into this heavily in order to get decent results.

VERTEX


Glass Tunnel

65

Blend masks are a controversial subject. Artists have their own methods of creating them so there is by no means and a right and wrong way. I tend to try and ensure that my blend mask falls in a mid grey range overall as this will give more flexibility in the blend. Too much contrast will mean that the blend isn’t a smooth gradient between clean concrete and broken. For this mask, I inverted my height map and added a clouds filter as an overlay. This meant that the material’s blend had more variance; using a straight out of the box height map would give a very forced “on and off” type blend, whereas a low frequency noise will allow the materials to blend together more realistically. The whiter cracks meant that cracks will be the first part of broken concrete texture to come through in the blend.

Final Texture Breakdown:

On top is the clean diffuse,with the specular in the alpha slot, and the clean concrete normal. In the middle is the half-sized blend map (this texture doesn’t require the same resolution as the other textures) On the bottom there is cracked concrete, with specular map in alpha. The cracked normal map and height map (for POM Displacement)

VERTEX


Glass Tunnel

66

< Default values, all diffuse and specular are set to 186,186,186. <Glossiness value is set to taste, 125 is somewhere between being “shiny” and reflective. < Clean textures are placed in diffuse and Bump map slots. < The detail map is a high frequency normal map tiled independently from the materials’ normal map. < The blend mask goes into the opacity slot, this controls the falloff between each part of the blend. < In the subsurface slot I placed the height map; this will add POM to our broken concrete, adding to its volume. <Custom + [1]Custom contains the broken concrete diffuse and normal. < The blend Factor and blend Falloff defines the severity of the falloff, these values often need to be fine tuned. <The detail map values can be tweaked to taste, I have tiled the detail map twice so we get small high frequency bump detail on the concrete. < Typically Fresnel scale and power should remain at their default settings and Bias should be the value tweaked for each material. <POM displacement and Height Bias are both linked to the displacement of the cracked concrete material, tweaking these values is case of trial and error. < Shader Generation Params – specular mask in alpha means that the shader uses the alpha channel of each diffuse for the specular map of each half of the blend. <Detail mapping enables detail normal map parameters. <Vertex colors, these are required for the blend as its placement is defined by our Vertex alpha colors in 3ds Max. <Parallax occlusion Mapping enables POM displacement. <BlendLayer – Blend properties won’t be available until this is activated.

VERTEX


Glass Tunnel

67

Hitting the Tiles. Some Useful Tips for Creating Smashed Tile Floors

So, after breaking down in detail some of the techniques I used for the high poly concrete, I thought it might be useful to go through some of the different techniques I used to achieve the broken tile effect used for the Main Hall’s floor. As before it is a blend, however this time I have employed a few more tasty little tricks to get more out of my material. I’ll break these down into a few pro-tips to illustrate some of the craftiness I’ve employed to achieve this effect.

VERTEX


Glass Tunnel

68

PROTIP – Creating High poly, Broken Tiles:

To create high-poly smashed tiles (used in the damaged part of the blend) I created a high poly mesh to bake from. This isn’t always easy, but I have a few methods which are very versatile and can be used for many different types of damage. First of all, use the high poly base mesh from the clean tiles as the basis of the damaged tiles. Making sure that the tiles are tessellated as much as possible, even subdivisions will make it easier for the tile shape to hold up once they’ve been smashed.

Next, I use the Fracture Voronoi script (available from: http://www.scriptspot.com/3Ds-max/scripts/fracture-voronoi) to break up my tiles into randomly sized chunks. To do this, select each tile using the picker at the top of the tool and enter random values into the iteration/count inputs allowing the tiles to be broken up into multiple pieces with each one different to the next.

VERTEX


Glass Tunnel

69

Repeating this process for all of the tiles leaves randomly generated breaks through the tiles. The problem now is getting smooth edges using turbosmooth. Fracture Voronoi outputs meshes that are not quadded and are quite messy (which are not suitable for turbosmooth). In order to make them suitable for turbosmooth add a “tessellate� modifier to all of the pieces and experiment with values (in this particular case these values work well). These tiles can now be turbosmoothed! Now onto the offset!

VERTEX


Glass Tunnel

70

At this point the mesh is smoothed correctly, but does not look particularly smashed, generally when tiles are smashed up they displace and become scattered slightly. A quick method of doing this procedurally is to use “MassFX” to simulate dropping them back into place, which should subtly offset each tile. Firstly, raise the tiles about 1 ft from the ground, then remove all instances of turbosmooth from your tiles (this will speed up the simulation). In the modifier drop down select “MassFX rigid body” and apply the modifier to all of the tile meshes. In the Physical Meshes tab, select the mesh type “original” (this will generate collisions using the actual mesh tiles as the proxy).

In the MassFX Tools rollout, click the “Bake All” button to simulate the tiles collapsing to the ground, they should all bounce slightly, displacing one and other realistically (as above). Create mesh copies of these using Max’s snapshot tool (tools-snapshot-snapshot mesh) and hide the MassFX meshes in case you need to re-simulate these meshes in the future. Add turbosmooth on top of this when baking.

VERTEX


Glass Tunnel

71

Tada! Smashed tiles with turbosmooth in a flash!

PROTIP – Large scale tile variance using unified detail mapping in CryEngine:

VERTEX


Glass Tunnel

72

In order to break up the repetitiveness of the floor’s tiling textures, I created a small 256x256 texture like the one on the previous page which is used as a detail map. This texture simply contains a 4x tiled version of the tiles, (the original tile texture has only 4 tiles!), and is tiled in the shader by a factor of 0.25, this means that for every 4 tiles of the diffuse texture, the detail map is tiled once. The detail map contains normal information on each tile, these are chosen from a normal map sphere and crudely paint bucket filled in each block. When applied to our tiles they will simply slightly alter the brightness of our tile breaking up large floor spaces with random variation across the tiles. Using the powerful unified detail mapping technology in CryEngine the detail map can also contain AO and gloss to add further variation. This is a reasonably ‘cheap’ method of hiding our tiling textures by simply breaking up the surface using a similar technique to the ‘creating light variance in normal maps’ technique from above. In order to get the gloss, AO and normal map into CryEngine, the texture needs to be merged together in a specific way. To do this, create a copy of your normal map and select it in the layer panel, navigate to the channels tab and paste the AO in the blue channel. In the alpha channel paste your gloss map.

To save the detail map out, select “MergedDetailMap” in the CryTiff exporter panel; this will then compile your .dds file for use in CryEngine as a detail map.

VERTEX


Glass Tunnel

73

PROTIP – Wet glass effect: The effect that has received the most interest in the environment is that of the wet-look glass used in the Tunnel connecting the Main Hall the rest of Rapture. I will break down how this effect was achieved.

CryEngine boasts one of the most powerful glass shader systems that I have used, and with a little care and attention it is possible to create some really impressive effects. For the interconnecting tunnels within Rapture I wanted to add that little bit of extra detail and fake the look of condensation on the inside of the glass. Realistically the water outside of the tunnels would be extremely cold and the inside would (presumably) be much warmer, the result of which would be condensation formation on the glass. To achieve this effect I had to carefully tweak the diffuse, alpha and normal to achieve a visible refraction effect caused by beads of water on top of the glass. To do this, I used a technique which fakes refraction in CryEngine’s glass shader, the “bump scale” slider effects the severity of any normal map applied to the glass and increasing this effect increases the strength of the normal applied, thus creating refraction in our glass.

VERTEX


Glass Tunnel

74

Using a normal map to fake refraction is a useful way to get more dynamic results from glass. Once again subtlety is key (it took me a year or so before I realised this!) but a combination of a large scale wavy normal map and a normal map generated from a condensation texture will give the effect of glass with beads of water on top. This can be further emphasized by adding white highlights from the condensation into the alpha of the glass.

The texture set up is quite simple, the refraction and highlights in the diffuse does all the work making the glass look realistically wet and the normal gives the condensation refractive distortion.

Reference material

VERTEX


Glass Tunnel

75

At Crytek we have a yearly “learning development budget” that we are able to use to purchase materials, courses or subscriptions that will further our abilities as artists. As part of my LDB for this year I purchased several books to use as reference for the Bioshock project, these helped me grasp the historical impact of the Art Deco movement and were invaluable sources of inspiration and reference during the project. These included: -Welcome to Big Biba: Inside the Most Beautiful Store in the World - ISBN-10: 1851496645 -Art Deco: The Golden Age of Graphic Art and Illustration - ISBN-10: 1847862799 -American Art Deco: Architecture and Regionalism - ISBN-10: 0393019705 -Art Deco Architecture: Design, Decoration and Detail from the Twenties and Thirties - ISBN-10: 0500281491 -London Art Deco - ISBN-10: 0956444873 -Deco Devolution: The Art of Bioshock 2 -Beauty in Decay: Urbex: The Art of Urban Exploration - ISBN-10: 0955912148 -Erte’s Fashion Designs: 218 Illustrations from “Harper’s Bazaar”, 1918-32 - ISBN-10: 048624203X -Designs by “Erte”: Fashion Drawings and Illustrations from “Harper’s Bazaar” - ISBN-10: 0486233979

Conclusion

So yeah... I guess to wrap this up all I can say is how much fun I had making this project; getting the opportunity to add my own spin to the Bioshock universe was a great learning experience for me. I tried many techniques I haven’t used before and hopefully expanded my skill set somewhat as a result. I hope that by putting together this breakdown I have managed to pick out some of the more interesting techniques I used to create the art in my Bioshock Homage project, and that some of you feel that you have learned something from reading this! I really owe a lot to the awesome people I get to work with each day, I have learned a lot from them over the last 2 years and I do feel incredibly grateful for their insights. I owe a huge thanks to the Polycount community (<3), and also a massive thanks to Ryan for taking the time to put together Vertex for us all to enjoy/drool over!

About Me My name is Scott Homer, I’m 23 and I have worked for almost 3 years as an Artist at Crytek UK. I live in Nottingham with my awesome girlfriend Jos. My favourite games are Half-life 2, Bioshock (duh!), Crysis 2 and Tomb Raider 2. I grew up in a small town in the midlands with varied interests that included tattoos, gaming, Japanese cars and graffiti. I first began exploring the world of 3D art shortly after finishing school. During my final year of University I was unexpectedly offered an interview at Crytek UK, I had always been a massive fan of Crysis and this was an incredible opportunity I wasn’t about to pass up. After completing my degree, I graduated from university with a First Class Honours and immediately began working at Crytek UK. I am looking forward to contributing to many more projects in the future and ploughing countless hours in my personal work too. Well what else am I going to do? Go outside? LOL.

Scott Homer

w w w. s c o t t h o m e r. c o . u k

VERTEX


76

Simon Kopp

www.simonkopp.de


77

Joshua Stubbles

www.ivassago.com


MARS

78

The Making of MARS

Creating Hard Surface Designs By: Darren Bartley

Hey everybody, this is a walk-through of my usual work process when it comes to concept design. This particular guide shows the specifics of how I go about creating hard surface designs but I use the techniques for pretty much all aspects of my work, whether it’s hard surface, characters or even environments. It’s important to remember that these are not hard and fast rules, it’s just what works for me. Let’s get started. My process is pretty straightforward and can really be broken down into 4 simple steps:

Thinking Thumbnails Refinement Finalization

Thinking This part of the process is usually the most important. A good bit of mental work in the short term can save hours further down the line. This usually consists of me taking the brief and just thinking about it. For this piece I decided to create a heavy sci-fi utility vehicle. This is my brief and these few words are what I’ll use as a springboard for most of my ideas. During this phase I’ll just let my mind wander and start to look up random reference, slowly letting things build until I feel ready to commit to sketching. This stage sometimes takes only a few minutes, sometimes it can take a few hours, however I feel it’s a very important part of my work flow.

VERTEX


MARS

79

Thumbnails This is where the fun begins. The way I approach thumbnails is to make them fast and to make them loose. As a rule I tend to spend no longer than five to ten minutes on each sketch. If I’m taking longer, I usually scrap it and move on. I design in a very graphical way, looking for big bold shapes which I can then further refine.

An example of my thumbnails.

What I’m aiming for when doing these is to get a decent first and second read. The first read is the silhouette and it needs to be recognizable and cool. The second is the major shapes within the silhouette and just like the first, they also need to be cool and recognizable. The third read, the details, are also very important, but for me this usually comes more towards the end of a design cycle. When considering the brief for MARS I did a quick first round of sketches which looked like this.

VERTEX


MARS

80

I knew I wanted to have six wheels and a top heavy look to the whole thing. I kind of liked the middle left so I developed it a little further in the bottom three, making it look less like a toy and more functional. It soon became apparent to me that the curved shapes that I had primarily been exploring were not what I wanted. Curved shapes generally suggest elegance. I wanted a more rugged, almost aggressive feel so I went back for another round of sketching.

You’ll notice that I tend to do these from side profile, this is to keep my mind focused purely on finding shapes and not worrying about perspective or anything else. At this point I have a pretty good idea in my head about where this is heading. I prefer the more angular forms as they suggest strength and also a little bit of aggression. You can see that I have started to fix on one lower half/wheel set up with variations on different upper sections. When I start to naturally do this I know I’m favouring a direction and this is usually what I will stick with. At this stage I go back for a final set of sketches.

VERTEX


MARS

81

This is where I’m really starting to narrow it down and get a feel for the vehicle. When I start to branch off exploring different views I know I’m ready. The sketch at the very bottom of the page is the one I like the most and the one that I’ll take to the next stage. It’s worth noting that what I have at the end of each stage is just a springboard for the next, just because I like this thumbnail here in 2D does not mean I will religiously stick to it in the refinement stage, it’s purely a good starting point.

Refinement Enter SketchUp. SketchUp is an invaluable tool for me as it is very fast and pretty intuitive, allowing me to build fairly complex 3D prototypes in an hour or two. Being able to view and change my design from any angle is too good to pass up and having a rough model also gives me instant ortho views and instant perspective, two things which can be labour intensive. The trick to getting good results fast in SketchUp is not to approach it like any other 3D software, we are not looking to build watertight meshes here. There will be barely any connecting geometry, everything will be pretty much floating and the topography is a mess but this doesn’t matter, the model will be remade properly by a modeler far more talented than me further down the line. From a design standpoint, I use this stage to establish the major proportions, silhouette, secondary details and tertiary details. I love being able to tweak a design in quite dramatic ways in SketchUp and throughout this whole section of my process I will experiment with new forms and ideas. Ultimately I like to leave this section at a stage where I’d be happy with the design no matter what, everything else added afterwards in the finish would just be extras on top.

To start with, like with all of my art, I do a very rough block out to establish the major forms from my last sketch.

VERTEX


MARS

82

As you can see I start very basic, building up volumes almost abstractly. Whenever I make a new shape in SketchUp, be it the wheel or even the simple block out of the main body, I always save it as a component. This way, if I edit one wheel, it will edit them all at the same time. This allows me to create quite complex shapes quite quickly. To mirror your components so you can work on a model symmetrically (like ZBrush) simply copy it then flip it on whatever axis you want the symmetry to work on.

I just keep adding forms and building up proportions, trying to get a right feel for the vehicle. As you can see in this example, literally every shape I create is its own component, absolutely nothing is joined. I keep adding layers and layers of shapes until I am reasonably happy with the general progress.

VERTEX


MARS

83

The way I detail this wheel is basically a microcosm of how I do everything in SketchUp. You create a relatively simple shape, in this case the actual wheel itself. You then create some sub sets of smaller, more complex, yet still ultimately simple shapes. You then copy them around the said object (hold CTRL whenever dragging or rotating an object it to copy it), creating something that is more than the sum of its parts. Alone they are neither interesting or complex, yet together, they form an intricate set of shapes. My whole process in SketchUp doesn’t deviate from this. I just keep adding and modifying shapes, building up forms until I am pleased with the general overall look.

VERTEX


MARS

84

All along I am experimenting with different elements, adding suggested functionality (or removing it) such as the exhaust system between the wheels.

At this point I am relatively happy with the way it is going. I feel that the initial first read is good, it has a nice strong silhouette and roughly matches the spirit that my initial thumbnail sketch suggested. I’m not convinced by the second read yet though and continue experimenting with different shapes and rhythms within the secondary details. I like the armour plating but not enough to keep it plastered all over the vehicle. This is not a tank, it’s a utility vehicle.

VERTEX


MARS

85

I simplify some of the shapes and add some storage capabilities to the rear of the vehicle. I feel the balance of details versus places where the eyes can rest is very important in good design and this simplified version is a step in the right direction. All too often I see things that are totally plastered with needless details that are superfluous to the design’s needs.

VERTEX


MARS

86

After some final tweaks, re-introducing some elements from earlier iterations, adding some simple camera systems and some very simple windows I’m ready to call this stage done. The vehicle looks cool, functional and has a nice balance of details which also leaves me with some nice surface area to play with in the final stage, the paint over. At this point I could take a simple screen grab and paint over it but in this case I will do a very simple render and paint on top of that. The reason for this is simply time. In the concept field its all about getting good results quickly, I could paint everything from scratch but it could add an extra day onto the schedule when it could have easily been avoided.

Finalization

This final section is, surprisingly, usually the quickest. The designing is the hard part and that has been done already and it is now just a case of going through the motions and making it look nice and presentable. For this I decided to grab a render from a nice low angle to make the vehicle feel large and powerful.

VERTEX


MARS

87

This is a great base to start painting on top of, to really nail the concept as a whole. To start with I grab a wireframe only screen grab from SketchUp and overlay it on top of the render. I change the color of the sky to red as I had liked it in that very early initial set of thumbnails that I did and I also started to slightly darken the shadows with an overlay layer and a soft airbrush.

VERTEX


MARS

88

Next I added some dark values to the wheels and the body of the vehicle (a rubber type material that keeps the metal plates together) using multiply layers as well as starting to block in some of the panelling and cut lines. At this point I’m looking to add lines that look functional as well as aesthetically pleasing.

Now, much like in SketchUp I just keep adding details and reinforcing forms with subtle lighting adjustments. I use a solid standard round brush with size set to pen pressure and basically just color pick using the ALT key. Slowly but surely things start to take shape.

VERTEX


MARS

89

Now it’s time to introduce a bit of atmosphere to start to tie the whole thing together. This is done by simply using the airbrush on a separate layer and erasing out where it overlaps unnecessarily. I also decide its time for the SketchUp scale woman to die and paint her out, replacing her with a simple spaceman style figure to lend scale to the whole thing.

VERTEX


MARS

90

VERTEX


MARS

91

About Me

I have been heavily into movies and games for as long as I can remember and I consumed them at a ridiculous rate. I loved the world building, the characters, everything about them. I have also been into drawing since I was a toddler too but I never thought I could combine these things into a career until I saw some Feng Zhu artwork in an issue of Edge magazine (his Battle Realms stuff, it’s laser burnt onto my brain). That was it, after that I knew. I wanted to do what he did and there would be nothing else. Cut to now and I’m a self taught concept artist with around 7 years of experience. Concept artist is a bit of a misleading title as I don’t consider myself much of an artist at all, I’m more of a designer. I try to be a generalist and I love the initial stages of creation, the ideation and the sketches but I get bored pretty quick with the boring stuff, rendering sucks. I have worked on a few titles, one MMO for 5 years which was cancelled and will never see the light of day and most recently RYSE for Crytek. I still love movies and games.

Darren Bartley

www.fightpunch.blogspot.com

VERTEX


92

Damian Buzugbe

www.omend4.cghub.com


93

Carlos Ortega Elizalde

www.stroggtank.cghub.com


FARCRY3

94

Far Cry 3Ubisoft - Massive Entertainment Multiplayer Visuals By:

This article was written by yours truly, Chris Radsby, but most importantly the input from the Level Artists, Level Designers & Concept Artists of Massive Entertainment – A Ubisoft Studio gives some insight to the Art and the thought behind the levels of Far Cry 3 MP. Massive started working on Far Cry 3 in 2009 and by the release in 2012 the team ended up with almost 80 people working together. It has been a long journey with lots of twists and turns but in the end Massive created five game modes, ten MP maps, six COOP maps, six new characters, recorded in total 14500 lines and the FC3 team successfully managed fit all this onto the single disc.

CONCEPT ART & CHARACTERS “The Concept Artists main task working for multiplayer and cooperative of Far Cry 3 has been to support the rest of the art team by providing the Prop and Level Artists with concept work for props and environments. One key element through the production of the project has been producing “paint-overs” of different areas of the existing maps to improve their visual appeal and mood.” - (Miguel Iglesias - Lead Concept Artist) No game development team is complete without concept artists and even though we worked on Far Cry 3 MP, we still had dedicated kick ass concept artists to help us reach the visual bar that was set for the game.

VERTEX


FARCRY3

95

When working with the levels it’s very easy to get stuck thinking mostly about gameplay and performance, even though we’re artists and want to make things look awesome we also need to remember that we’re making a game. Placing rocks, roots and bushes everywhere can quickly make the experience annoying for the players. The concept artists really helped us out though, with their minds free of gameplay and optimization they could just come in with their keen eyes and give us critique and paint overs as to how we could make things look more beautiful, and what a great job they did. “ We are pretty happy with the final results in general, environments and characters. We managed to produce tons of material to help the rest of the artists improve the final visuals of the maps. The maps look awesome! “ (Miguel Iglesias - Lead Concept Artist)

VERTEX


FARCRY3

96

“The process for the characters was a very long and challenging one from a visual point of view. The biggest challenge was to come up with a strong visual design, recognizable and with personality but fitting within the boundaries of a realistic setting and the requirements from game design. It was a hard balance to find. We started by having many brainstorm sessions to get some initial ideas trying to be as crazy we could and from there I started to create a series of thumbnails with many different suggestions. Then we started to narrow the options by selecting those we liked the most and continued working on those and developing them more deeply depending of the needs until the final result. “ (Miguel Iglesias - Lead Concept Artist)

When playing the co-operative mode you play as one out of four social outcasts: We have Callum the Scottish chef, Mikhail the Russian hitman, Tisha the ex-combat medic, and Leonard the crooked cop. They all have their reasons for being on the ship, but once the captain teams up with the islands’ pirates to raid the ship, it doesn’t take long for them to band up and go on a wild chase across one of the Rook Islands to hunt him and their money down. “I think we have some cool coop characters with a lot of personality. Even though I think in general we could have gone a little bit more crazy when it came to pushing the limits of realism toward a more “designed look”, we arrived at a great end result. That’s something you always have to deal with and compromise during production depending on the needs from other fields with in the game team.” (Miguel Iglesias - Lead Concept Artist)

VERTEX


FARCRY3

97

VERTEX


FARCRY3

98

DIFFICULTIES of LEVEL & ART Far Cry 3 uses streaming, the world is divided into Sectors and the rule is that the player loads 7x7 sectors around him at (almost) all times. The world is also divided into Biomes, for example: If you’re on the North Island you’re in the North Coastal and Jungle Biome and if you’re in the south island you’re in South Coastal and Grassland Biome. On top of that the game is also divided into Thematics (Generic+Village, Town, WWII, Temple, Mines, Native) Generic covers the whole world then you’ve got an extra thematic to put on top of that. Each thematic has their own textures and props to go with it and the general rule was that there should be enough space between the thematics that the player never loads two thematics at the same time. This is all to be able to control the texture-memory usage for the consoles.

VERTEX


FARCRY3

99

This method works fine for single player but in multiplayer this posed a lot of issues. The engine still calculated a 7x7 sector grid around each player-position for all players, so in the extreme case players could be standing on the far end of each map, loading two or more different thematics into memory at the same time and therefore crash the console. This officially closed the discussion regarding making an open-world experience for the co-op. There was not enough time to make the tech work the way we wanted it so compromises had to be made. The decision was to go for a tight and controlled co-operative experience instead. “One of the big challenges we had to deal with was the fact that we were a co-development studio following the lead of another studio, in this case Montreal. There were dependencies for direction and assets in many cases. The biggest impact this had on us was that it took a longer time to understand the details of how the tech worked and as we progressed we realized that we hadn’t built our demo level in the optimal way – we would never achieve target performance with that version and had to redo it.” (Lee Brimmicombe Wood - Lead Level Designer)

The goal was ultimately to make sure the art-direction was consistent with single player but cram in more objects in smaller maps and still have decent frame rate with 14 players running around shooting RPGs at each other. “All the other production maps had to go through big revisions to hit our FPS targets. That proved disruptive, and we lost a little time, but at the same time it was an opportunity to revisit the layout and make big improvements to the gameplay.” (Lee Brimmicombe Wood – Lead Level Designer) One of the big challenges was Mudslide. The map has a town that has been ruined by a massive landslide laying half of the map in ruins. It is not like anything you’ll find in the Singleplayer campaign so there were sacrifices that had to be made to get multiplayer running. On the consoles we had to ditch the SSAO and Depth Of Field but the majority of the performance came from clever occlusion. One of the major game modes is Firestorm. Firestorm is an attack & defend game mode where you try to burn the enemies supply depots. If you succeed to burn both of the depots at the same time you initiate a firestorm. The firestorm puts the whole map on fire and pretty much changes the flow of the level by cutting off routes with big walls of flames.

VERTEX


FARCRY3

100

The level and technical artists knew that it would be a great challenge to even do this. The maps are already filled with grass and vegetation alpha and now we needed to be able to have smoke and fire all over those areas as well. We had to strategically place the fire-walls where we could have them but it was still dictated by design where they should go. So compromises had to be made in those areas in terms of how much vegetation we could have there. The same goes for our visual effects artists that pretty much had to make the best looking fire they could make for as little cost as possible.

VERTEX


FARCRY3

101

DESIGNING MULTIPLAYER MAPS

Since we have a community dedicated to the creation of multiplayer maps I thought it would be a good idea to gather our level designers thoughts about some of their designs as well as our fine level artists to give an insight to what makes the maps look good. The production of the maps was an iterative process constantly bouncing between level design and level art, but let’s start with the level designers role in the production and then onto the process. “A Level Designers work on Far Cry 3 MP consists of three main pillars. - Mission Design : The flow of the mission, pacing and to some degree story. - Level Design: Ultimately responsible for how the map actually plays. - Scripting: Implementing the mission design in practice using a visual scripting system. The process of making co-op started out very humbly, with a simple mandate document. This would be a theme or a set of requirements for the end result. What would then follow was a written design document outlining the rough beats of the level, accompanied by a rough sketch of the layout. At this point in the project, the visuals were still not set, and art resources spread very thin, leading to their direct involvement at this point being small. The level designer would then go off and implement a first rough height field from scratch, followed by a first implementation of the scripts. We would then iterate on this and develop the design further. At some point later in the process art resources would become available and assigned to the maps. In some cases, this late entry lead to some fairly drastic changes to level layouts being needed, what with level designs heavy focus on gameplay rather than visuals.” (Magnus Jonsson - Level Designer)

There were cases where the level artists laid the groundwork for level design by going further into the art-pass before a proper level-design pass. This came to be because one of the biggest gripes that level art had with some of the original designs were that they were flat and therefore lacked an authentic feel. Few of the original six maps played with verticality. Rush Hour would be the one map where you’d actually travel up the side of some beach cliffs but none of the maps were really taking it to mountain heights allowing the players to really see their destination from high up. “Level Design for Rush Hour was actually done on an art pass. This was so the town & village layout along with the topology of the terrain was more authentic when starting out. Whilst big changes occurred with the placement of the village structures, where the road went and props for cover were added and moved, it meant the overall feel of the map always felt somewhat authentic.” (Stephen Hawes - Senior Level Artist)

VERTEX


FARCRY3

102

“Level Art working closely with Level Design means you get the most out of the visuals and gameplay, it’s sometimes great to have design do their thing, and then build the art into that. Other times, art will present new design opportunities to the map, for example: landmarks, navigational help, or even allowing for scenarios to take place and look relevant to the surroundings. ” (Stephen Hawes - Senior Level Artist) The level designers allowing the artists to come in and mess up their designs was very generous however there were times when the level artists would go in and do their thing and break the maps completely. You would find AI spawned inside of rocks, big bushes covering important objectives and even around the end of the production we would find things floating 10 meters below the terrain-surface somehow forgotten in some crazy art-pass to make things more beautiful. “With the initial level design pass being focused on gameplay, the eventual first art pass had to be quite extensive in some cases. However, when we were all directly involved in the production of the maps, things would be fairly problem free*, and I am very proud of what we have made.” (Magnus Jonsson - Level Designer)

VERTEX


FARCRY3

103

VISUAL ADVICE FOR MAPPING

The team learned a lot during this experience with Far Cry 3 MP so I sent a mail out to the team asking them for some advice on how to achieve the Far Cry 3 look for use in the in-game editor and here we’re going to share some of the simple techniques we used to make the maps. Big rocks are always popular when creating environments. They fulfil the basic needs of gameplay, they’re big enough to be cover and big enough to make the environment look more interesting. However big rocks placed in the environment will always look unnatural unless you go all the way and apply the rest of the recipe to make it look good. “Surround big rocks with smaller pebbles to integrate them better in the environment, use a small pebble texture as well to help the blending into the sand of the beaches.” (Benedikt Podlesnigg - Level Artist)

VERTEX


FARCRY3

104

When doing this it’s also important not to go too far with the medium sized rocks. The problem we encountered is pretty basic, big rocks are natural cover having too many rocks around important covers creates stickiness for the players therefore in some cases on the multiplayer maps we had to go for the pebble texture only or in some cases use rocks that the players can’t collide with. Here is a shot of “Fishing Village” showcasing the beach and how the rocks are used to integrate the bigger rocks more naturally into the environment. Even the small cliffs have smaller rocks blending into the pebble texture and then into the sand. This type of recipe is applied on most levels since it helps make things look more natural. It’s already quite tricky to spot people on this beach-area and as you can see together with level-design, level-art has compromised by putting vegetation on top of the smaller cliffs to improve the scanning in this area leaving the beach with straighter lines and easier to spot if someone moves in or out of cover. This also helps performance by putting all that see-through vegetation higher up than the players field-of-view making it so that the game doesn’t necessarily have to render all those alpha-bushes on top of each other. So in this case it’s a win-win for the level artists and the level designers.

VERTEX


FARCRY3

105

Building up Rocks & Cliffs and integrating them into the terrain: The most used objects in Far Cry 3 MP is probably these cliff and rock assets (also available in the in-game editor). After the main terrain pass was done we used these assets and pushed them into the terrain to make small to medium sized cliffs. We also made sure to blend the terrain into the cliffs by sloping the terrain into the cliff-asset so that we never ended up with straight lines. Doing this we ended up with a lot of repetitive objects throughout the environment but we made sure we added more vegetation to make it look more natural such as placing bushes and grass along the edges of the cliffs. “To create the feeling of lushness we had to be very creative with our foliage placement. Moving palm trees and plants with big alpha leaves close to the playable area and small leaf trees outside helped us to reach the lushness we needed together with the 30 FPS target on consoles without sacrificing the overall look.” (Benedikt Podlesnigg - Level Artist)

Another thing to mention is the use of props, just like the rocks props, can look out of place unless they have other props to support them. Just like we integrated rocks into the environment we also spent time making sure that we did the exact same with the props. The simple rule we followed was to make sure that all bigger props had complementary medium-sized and small-sized props to create small compositions out of each area. In the case on the next page, Rush Hour, we have the house and the car (out of frame) acting as the big props, the dumpster and the barrels as the medium-sized props and the rest of the debris as small props. It’s also complimented with a garbage/debris ground decal and a pebble texture underneath it all so it all comes together nicely. It’s a lot of work just making sure that every little area looks good even though most of the artists knew that players never would notice the difference but subconsciously it all adds to the visual experience. It’s also a good thing that we had the functionality to allow us to “drop” props into the environment using physics. Just placing three barrels hanging in the air, drop them and they would fall into interesting compositions by themselves, perfect for when you want to set up a scene with a bit more randomness than hand placed objects.

VERTEX


FARCRY3

106

BREAKING DOWN A MP VISTA

Let’s talk a little bit about setting up certain vistas. One of the pros of working with multiplayer maps or cooperative maps like this is that you know what angles the players will view certain vistas. This allows us to focus more on the creative process of making things beautiful outside the gameplay areas. This beauty image here is a breakdown of a certain area on “Hideout”. This breakdown pretty much shows the workflow considered when working with these types of vista environments for multiplayer. The first thing a multiplayer level-artist did to make things more beautiful was to consider the playable area and to make sure the terrain looked realistic enough for the type of vision the Art Director and the concept artists had in mind. The goal of this was to make sure that the terrain had an appealing composition before even going into more detail and adding rocks and trees so that we could achieve more epic and fluid shapes. The time spent on the actual terrain as the base of the scene is very important since it’s the base for the entire scene. It should not end up looking too blobby, but come together beautifully with lines crossing each other giving us the parallax effect and feeling of depth we were looking for.

VERTEX


FARCRY3

107

During this first step most of the terrain texture work was also done. We were allowed/limited to having four ground textures max in each sector of the map. In essence the texture slots would be reserved for: “Grass, Pebbles, Cliff_Y and Cliff_X.” The reason we have the same cliff textures in Y and X is because they are projected those directions, allowing them to tile properly without stretching when you have really steep terrain mountains. In areas without cliffs the two reserved slots for the cliffs could be used for other ground textures like mud or sand. The same technique of building up cliffs using terrain is used here, pushing the cliff assets into the terrain then blending the two by smoothing the terrain out and sloping it into the cliffs made it so that they looked more natural and integrated into the topology of the vista. We also made sure all cliffs were blended properly with the terrain using a gravel/pebble texture. The next step was to add vegetation and more interesting objects to the scene, hand placed trees mixed together with the Dunia Engine/Editor zone-generated trees and foliage. The generated vegetation in this case was used further back whilst the hand placed trees were used in the front allowing the artist to have more control over the composition of the scene. In the end it’s the level artists job to be responsible for the visuals of a map. Take it from blockout and iterate on the feedback provided by the Art Director, Concept Artists and Level Designers whilst keeping track of memory budgets, frame rate, gameplay and hopefully by the end of it you come out with something that is beautiful but also plays well. Well that’s it! This article started out as something really tiny to give some advice and insight into the development. The article however ended up expanding a little bit and I ended up wanting to show off some more work done by the Far Cry 3 MP-team. I hope it has been an interesting and pleasant read!

Christoffer Radsby - Level Artist http://christofferradsby.com

Magnus Jonsson - Level Designer http://www.linkedin.com/in/magjonsson

Miguel Iglesias - Lead Concept Artist http://www.linkedin.com/pub/miguel-iglesias/2/254/825

Lee Brimmicombe Wood - Lead Level Designer http://www.linkedin.com/in/leebrimmicombewood

Benedikt Podlesnigg - Level Artist http://www.guriamo.com/

We also want to thank the whole Far Cry 3 team for contributing to the game and the article. Far Cry 3 wouldn’t have been possible without you. Ubisoft Montreal Ubisoft Reflections Ubisoft Shanghai

Stephen Hawes - Senior Level Artist http://www.linkedin.com/in/stephenhawes

VERTEX


108

Debbie Tsoi

www.echoparading.tumblr.com


109

Arnab Roy

www.sagiarts.com


Double Team

110

DOUBLE TEAM Alexandre Diboine Concept Art Tips & Tricks By:

I’ll be honest, when Ryan came to me to ask if I would be interested in doing a breakdown of a picture of mine, I was at the same time really proud and a bit anxious, as I have never done that in the past. With the previous sentence costing me ten minutes of intense reflection, I realize that it is for me easier to draw than to write, especially when I have to describe a process which is sometimes very hazy, even for me. Fortunately, creating a picture with the aim of explaining every important stage of it was a good way to help me organize my workflow. It helped me to create a cleaner and more effective way of working and allowed more time for reflection when it came to composition and graphic impact.

VERTEX


Double Team

111

The Idea and the Line

Being a big fan of vintage sci-fi pictures, propaganda posters and in a more general way very graphic compositions in plan by plan, I opted for a classical “ team up “ placement : the two main characters in the foreground, and what they are going to fight in the background. Finding the theme was not too complicated, I stayed in a domain in which I feel comfortable: children and robots.

VERTEX


Double Team

112

I thus have made a very simple line sketch in ten minutes to have a global sight of the scene. I used just enough detail to understand silhouettes and show a bit of the universe. I never detail my lines, the simple and good reason being I am not going to paint under it all the time or respect every millimeter of it.

Color Blocking

From there I put the general colors without painting any lights. Simply rendering the ambient occlusion and certain drop shadows (like if I only had an HDRI render in a 3D scene) which allowed me to have a better sight of the volumes. I already know that I am going to apply a lens blur on the background, thus I begin to set up a hierarchy in order to have an easier time when doing post effects. I began with the sky, then the giant robot, then the houses and the floor, and finally the two characters, each of those elements on a different layer.

I then removed the lines, because the overall scene looked good without it. Sometimes I keep them visible in a reduced opacity and paint over them, it depends on how I feel about the painting at the time.

VERTEX


Double Team

113

Lights and Mood Then it was time to set up the lights, I already had an idea where the light was going to come from, thus no problem on that side. I wanted a rather soft spot on the characters, and I wanted to avoid hard lights to create a dramatic feel. As the sky is cloudy, it should look like a light peaking through the clouds. It also had to be a pretty warm light to contrast with the coldness of the background in order to make the characters stands out. I created two adjustment layers above my main characters (a levels and a color balance) and bound them with a clipping mask to the characters’s layer (Alt+click between both layers), this way, the adjustment layers will affect only the characters and not the overall scene. The only thing remaining is to settle the adjustment layers to obtain the desired intensity of light and to erase the light in the necessary places with the use of a mask.

I did the same thing with the same adjustment layers for the background, and created an overall color balance on top of everything to find a good atmosphere and to bring all the color into more harmonious tones. From there I had a solid base to begin to detail the piece. I also cleared a bothering graphic knot, the giant robot’s leg (let’s call him Crabby) was in the continuity of the child’s head. This hampered the reading of the different elements, which is never a good thing when you want a clear composition.

VERTEX


Double Team

114

Define the Lowest Level of Detail

I already know that the background will be blurred, but I nevertheless need information on crabby to help clearly define its different pieces. As it is the most distant element, the level of detail that will be applied to it will be the lowest in the picture. This implies that no other element can contain fewer details. To detail mechanical pieces, I proceed with a simple and easy 3-steps process:

From the base, I draw the part’s limitation and holes in a dark color (not pure black, but something rather close), then I add some lights and reflections which are bouncing on the newly created elements. I also can add some new values to introduce a more vivid and a less “out of the factory� feel. The last stage consists of adding in scratches and dirt to sort of damage the places where some friction happens (usually on the border of any piece).

VERTEX


Double Team

115

Once this technique is applied to Crabby, the image on the bottom of the previous page is what we got. It is simple yet effective and there are enough details to have a good comprehension of the overall character. I also softened the lights on the left hand and put a highlight on the right hand so it stands out a little more. You might realize that the arms cannot bend, which is not very important, and kind of serves my purpose. It is monolithic and disturbing. Its mask and its clumsy blocked arms give Crabby an awkward and rather stupid look, which is what wanted. I then started to work on the houses. Trying to be a little more precise but keeping in mind that I have to keep a low level of detail. If I start going crazy on details in the house plan, I’ll have to be even more crazy about them in the foreground. I wanted to keep an overall rough feel, so I had to be careful with that.

Define the Higher Level of Detail It was then time to work on the big part of the piece, the main subject. It’s what people are going to look at first and is the part which will have the most detail and information in it. As I still want to achieve a rough feel, I then decide to polish things using the same brush I used before, but at a smaller scale rather than using large soft brushes.

VERTEX


Double Team

116

For the robot I started by cleaning the shape of the head, filling the volume and adjusting the perspective of the neck piece, cleaning up the border of some mechanical pieces. I also started to give a defined volume to the sleeves and worked more on the design, using my initial sketch as a reference, especially for the shoulder part which gave me a hard time. I made three or four versions of it without succeeding in any way. Using the initial line made me realize that my first idea was fresh and dynamic enough and that I just needed to paint straight from it. Sometimes it’s the contrary and you realize that your first idea was bad. This is the fun thing about painting, some things need to be changed, and some don’t. For the rest of the process, I think the pictured steps are clear enough.

Halfway through detailing the robot I felt that the kid was a little off. I checked my values by looking at a black and white version of the painting (using a hue and saturation adjustment layer in top of everything) and saw that he was indeed not light enough. I thus did some adjustment layers again, only on him to correct this.

VERTEX


Double Team

117

For the kid, the process is the same, except for the fact that I use a softer approach, especially for the fabric, to contrast with the hard robotic shapes his friend is made of.

VERTEX


Double Team

118

For the soil, everything is explained on the pictures.

Compositing and Final Effects

This is the funny part, and for me the most enjoyable, because the goal is basically to make a picture more attractive and gorgeous only by adjusting some sliders and curves.

VERTEX


Double Team

119

For this picture, I used a very classic adjustment layers combo of mine; I always start with a slight levels, to pump the contrasts a little, then a curve only on the blue channel, then leveling it down in the yellows. This creates a harmony of warm colors by softly decreasing the blue in a picture. It should be with caution, but it can really help the image. I then used a chromatic aberration to give a focal effect (in CS5: filters > lens correction > custom) and then you have three chromatic aberration panels, it’s up to you to find the one you like the most (I did a cyan magenta one). Using the layers I created at the very beginning, I used a rather strong aberration on the robot/sky layer, a less strong one on the houses layer, and a really soft one on the characters. I then do the same but with a lens blur, except I didn’t put any on the characters. This is why it was useful to do four different layers in the beginning, I didn’t have to do awkward layer masks to choose where the effect will be applied, everything was already done. I finally use a really subtle smart sharpen on the characters, and it was done!

About Me My name’s Alexandre Diboine, also known as Zedig on the internet, I’m a young aspiring rough, chara and color key artist, trying to find my place in the great family of concept art. I work exclusively with Photoshop when it comes to 2D, for it is a software I love and understand. If it was a woman, I would marry it. I also do some 3D whenever I feel like it, or when it’s needed in my studio here in Paris. I hope one day I’ll be able to work at Disney Animation, or Pixar Animation, this is one of the many goals I set for myself, this and being able to do 15 pushups in a row, but that just sounds unreal.

Alexandre Zedig Diboine w w w. z e d i g . d e v i a n t a r t . c o m

VERTEX


120

Annex Labs

www.annex-labs.com


121

Karen Stanley

www.kazperstan.co.uk


HUNTRESS

122

THE HUNTRESS Jonathan Fletcher Texturing Tips & Tricks By:

Hey! My name is Jonathan Fletcher, and in this article I will be covering various texturing tips and parts of my workflow for creating my recent ‘Huntress’ character. I decided to not set myself any real limitations for this character, using a 4096x4096 texture sheet for the body, a 2048x2048 sheet for the head and an extra 2048 for hair. The reason being that I wanted to try texturing at a higher resolution than I am normally used to, with a larger emphasis on smaller details putting that resolution to use. I feel like I failed in this regard with the high poly as I really skipped out on a lot of details that could have been sculpted, however I was able to make up for it with the textures. So without any more rambling, let’s get stuck in!

VERTEX


HUNTRESS

123

The value of your bakes

This seems like something that 90% of game artists are fully aware of already but it’s worth stressing the importance of just how much you can get out of your bakes. Some people may still live in the mind-set that all you need is your AO and Normals, but you can generate so much more from your high poly, which is why tools such as DDO and CrazyBump are becoming so valuable. I haven’t had much experience with curvature maps so I won’t pretend to explain them. I’m a big fan of cavity maps and the well-defined edges it creates in your textures. You can use CrazyBump to generate a cavity map but personally I am always happy with the result I get from a Photoshop action I made, demonstrated below:

VERTEX


HUNTRESS

124

By copying the red and green channels from the normal map, running an emboss filter on each of them with appropriate angles, you can quickly generate a cavity map. This isn’t exactly mind blowing or new to anyone, but the benefit of doing it this way and recording the above into a Photoshop action means you can quickly generate clean cavity maps with 1 button without having to open another program or tweak a bunch of settings. For the most part I never feel the need to tweak the settings for my cavity map.

Edge masks

Edge masks are a nice way to quickly and accurately mask off areas where you will want to focus certain details like dirt, wear and shifts in color. Cavities will gather dirt over time and the more exposed edges, depending on the material, will be worn down and lack color. I will cover some of these material properties later on! For now, let’s look at a way we can generate masks for these uses. There are a number of ways to do this but here is a simple way that you can record to create another automated Photoshop action:

VERTEX


HUNTRESS

125

Using your normal map you can get a quick edge mask with a few adjustments, clean and simple. Use this mask to apply wear and discoloration layers to the edges of your model. The examples here show use of an edge mask to assist in material definition. The leather has been worn and matted around the edges from the stitching, and is darkened in the specular by a blurred edge mask, the result is a soft gradient in the specular. The cloth example shows how an edge mask in the diffuse map can be used to give the parts of the cloth that are exposed and repeatedly folded a worn, desaturated look, as wearing would cause the cloth to lose its dye color. These quick subtleties that can be generated from your normal map alone speed up the process of texturing a great deal.

Ambient Occlusion Mask

It seems obvious but it’s worth mentioning. Your ambient occlusion bake is a perfect, accurate mask for all sorts of adjustments in your textures, inverting it and adjusting the curves can create a nice base for an overall dirt layer or color adjustments. Sometimes to break up the repetitiveness of texture overlays I will have the ambient occlusion bake adjust the opacity of it in a very subtle way, it helps to make your larger texture overlays feel a little more in place.

VERTEX


HUNTRESS

126

RGB / Material Masks While there are always going to be situations where you have to mask out your basic colors with a paint brush you can easily shorten this tedious task by baking out material masks directly from your high poly. If you work smart when creating your high poly, and separate the meshes where you expect there to be a switch in material in your low poly (say, from a cloth shirt to a leather belt) you can assign colors to these separate elements before baking and extract that color later on in Photoshop. The result will be near pixel perfect masking for all your base material colors, which will save you a lot of time. Because I had a lot of materials and elements I wanted to mask out from the get go I used the slightly less clean approach to doing this. Normally you would bake out the R, G, and B values and use the channels in Photoshop to extract the masks, but I just used random colors with no anti-aliasing in the bake. This way I could have as many masks as I wanted and I would just have to use the magic wand tool and right click, select similar to acquire each individual selection mask which I then gave to a base color at the bottom of my PSD. Here is the baked material mask for the body. You can create one by simply baking out a diffuse map in 3ds Max with nothing but colors.

World Space Normals

Use a world space normal map bake to create a directional mask (usually just the up/down vector) by just copying the Blue channel to a mask. Because light is almost always going to be from above, it’s a nice simple way of masking out areas more exposed to light.

Base Colors

As soon as I have all my bakes and masks set up I like to start finding my base colors. Even when texturing at a high resolution it’s important to not forget the basic principles and not lose sight of the big picture. This is the time to focus on your color scheme, gradients and values. Making sure the texture reads from distances, has contrast and a color scheme is more important than any amount of detail. It is important to remember that nothing is set in stone and as you progress with detail in your texture you can always tweak your base colors to be more fitting. This is a problem that I run into regularly but it tends to just work itself out as I move forward. I have a habit of working at a much lower contrast to begin with and as I introduce more detail to the texture I will adjust my base to add more contrast without screwing up my detail pass, which is easier to work on without such extreme values.

Texture Overlays There is a lot to talk about regarding texture overlays as it a very large portion of what makes the texture. Applying layers and layers of photo grunge for the sake of having texture is obviously the wrong way of going about this. The key thing to remember when using photo sourced detail for your textures is subtlety. These overlays are part of your texture’s composition, not all of it.

VERTEX


HUNTRESS

127

As a rule of thumb, overlays are usually more intensive in the specular map than the diffuse. The overlays used in the specular map are very often what defines a material the most. Whereas clean, subtle details and base values are what makes the diffuse map. The image here shows a leather portion of the character’s clothing, where using an overlay I was able to achieve a nice cracked, old leather texture to it. The leather has a subtle blue-ish green specular to give a rubbery feel.

Take only what you need!

The great thing about sourcing details from real life is the unique, imperfections of the material and the ways it can be applied to your texture. Leather is a great example as beneath its rubbery, shiny exterior is a very rough, scruffy surface that makes for awesome contrasting details on your exposed edges. For example, in this image you will see an edge at the top of the boot that has been scuffed and worn to expose this lovely beige color.

VERTEX


HUNTRESS

128

You could use your exposed edge masks to do this, and can, but doing something unique with an overlay looks so much nicer to me. This photo from CGTextures is one of the textures I used for a lot of the leather imperfections. I only want the bright yellow/beige parts, so I need to remove the darker portions of the texture. The simplest thing to do here is duplicate it, desaturate and adjust the curves to create a grayscale mask which you can use to extract from the original texture. You can also use blending options to exclude a range of values from the texture, and then merge it to a blank layer to apply the transparency.

VERTEX


HUNTRESS

129

Placement

For certain materials, such as the knitted scarf, the cloth texture needs to follow the curvature of the model. In an ideal world everything would be straight in the UV’s but it’s not always possible. A good way of positioning your overlays is to use the warp transform tool in Photoshop to accurately account for curves on your surface when using large scale overlays and patterns.

VERTEX


HUNTRESS

130

This may seem incredibly obvious, and I don’t mean to imply that using warp transform is a ground-breaking thing but it’s the difference between just slapping a cloth texture on something and taking the time apply the texture properly that will make the result so much better, and believable. This is a situation where it would be easy to hide this behind noise or by using a low scale overlay but choosing to apply things properly pays off in quality. I was happy with the result of the scarf and the nice ribbed pattern I got around the bottom edge.

Specular Contrast

As mentioned earlier, the details in your specular map are usually more intense. This harsh contrast of detail is what will give a surface its materialistic look, and not just end up looking like plastic. This also applies to your specular exponent (gloss) map.

In this example, I show the difference between the diffuse and the specular of a leather portion of the knife holster. Everything about the diffuse map is subtle and more attention is paid to overall values. The specular map has very dark contrasting scuffs of wear around the edge, where we want to avoid specular. To do this you can use simple scuff brushes and masks that you can create yourself or find online for free. Don’t overdo it though; simple large scale wear that is appropriately placed as well as the generic overlay for the surface detail is usually enough.

VERTEX


HUNTRESS

131

Skin and High Pass

High pass is a Photoshop filter that takes a sampled image and removes certain high values from it whilst preserving finer details. Using High pass with photo sourced textures can create some very interesting results. It is very useful for creating skin overlays with good middle values useful for nice discolorations and imperfections. You can pretty much take a photo of skin, run the filter over it and get an instant result. Choosing a radius that is too low will lose too much of the discoloration, so a radius of around 20-30 usually works best.

When creating the specular map, take into account the areas of the face that become oily/wet over time from exposure and hand rubbing such as the tip of the nose and parts under and around the eyes and forehead. These areas are rubbed often, are oilier and require a higher specular value and discoloration to appear more realistic. Intensify the overlays in the specular map to make the details more prominent, such as the cracks in the lips, and skin wrinkles around the eyelids. It’s hard to notice and often a wasted effort shooting for subtleties in Unreal but it’s worth mentioning none the less. While it’s nice to go into detail don’t forget the face’s skin colors and values at a base level, having more red/warmth in the nose and cheeks, darker blue/purple colors around the eyes and colder blue and yellow tones around the lower areas of the face. Don’t go overboard with it though, keep your base colors subtle. With a few good high pass layers, skin becomes much easier!

VERTEX


HUNTRESS

132

Stitch Brushes

While it is common to sculpt stitching in the high poly, there’s nothing stopping you from also using the easy method of just creating stitch brushes in Photoshop. It’s a very quick way of adding more detail and really helps sell the materials. It’s one of the small things that takes very little time and can really push the quality of your texture. Start by creating a simple alpha for your stitch, whether it’s just a line, a cross or whatever pattern you feel like. Create a single segment like so and define the image as a new brush.

Then, by changing the shape dynamics to allow brush stroke direction, as well as spacing to align each stitch segment perfectly, you now have an easy to use stitch brush! One of the advantages to using these stitch brushes in Photoshop as opposed to sculpting them is that you don’t have to worry about masking them all out after your bakes. Simply save the brush preset and paint away! The fact that they are a separate layer allows for more control over intensity, color and placement.

Fur

Fur is something that should be kept very simple, with an emphasis on the overall color and gradient from the root to its tip. Adding any contrasty strand detail will just make it appear noisy. Some fur is interesting not for its miniature detail but the large clumps it forms, layer these clumps with a gradient and you can achieve some very nice soft, mottled fur.

VERTEX


HUNTRESS

133

For the larger gradient, I used vertex colors to multiply the diffuse, creating darker layers as it goes down. Creating the alpha masks themselves is easy. Photo sourcing can once again help you extract a decent alpha, which you can use as a brush to create your clumps. Just remember to keep the finer details at the tip and try to keep most of the root and middle portion of the clump solid. You want the root of the layer underneath to be more visible to provide a nice backdrop for the layer above. The diffuse should be a very simple gradient with almost no texture detail, which just becomes noise after it is repeated many times. The softer and cleaner the mask and diffuse is, the more believable the fur will be.

VERTEX


HUNTRESS

134

Conclusion

I feel like there should be more to cover in this article, but when it comes down to it, texturing is a fairly simple process once you start to use all the tools at your disposal. It’s good to always think about how you can simplify processes by creating and adjusting masks. You may be surprised by how much you can accomplish in your textures from just base colors, simple overlays and edge masked details. Anything you can source from your bakes will help you immensely. Not only is it a massive time saver, but the results are incredibly accurate. To sum everything up, my main advice is to just not go overboard with your textures. A lot of artists resort to throwing layers upon layers of grunge onto their textures that either appear too noisy or cover up the lack of material definition to appear realistic. For some styles of games, it may work but you should aspire to be able to define materials as cleanly as possible in your textures before worrying about how dirty things should be.

VERTEX


HUNTRESS

135

This character model was an extremely iterative process for me. I learned a lot but it is not necessarily shown in this piece. My overall view on this is that it was not as good as I had hoped, for a number of reasons. A lot of these reasons are to do with the design and execution of the character itself, as well as poor decisions made whilst creating the high poly mesh. A lot of mistakes were made, and a lot of mistakes had to be corrected at very awkward times. It was always a case of changing things that were sometimes past the point of changing, and toning things down in places. It is good practice to look at what you have and always focus on the big picture. Ask yourself what you can change to improve things, whether they are simplifying texture details and removing noise, adjusting the low poly mesh or balancing your base colors. My point is that it’s best to not commit to anything in your texture until you are truly happy with it. Feel free to adjust anything at any point because everything you do will affect how you view your art and choose to improve it. Anyway, I’m sure there is much more to cover but hopefully this article has helped you in some way and that you found it worth your time to read. I enjoy the opportunity to help whenever I can and appreciate the opportunity to share my thoughts here.

About Me

Hi, I’m Jon. I work as a Character artist at the London based studio ‘Splash Damage’ with some of the best artists I know (which can be pretty daunting at times!). I have been working here for almost 1 year now and it has also been my first job in the games industry, excluding bits of contract work on the side beforehand. I’m a big fan of stylized, painterly art in games, and do my best to work well in that field of game art. It is something I enjoy tremendously and have adopted as a personal style. Other than my job, I’m a pretty normal chap!

Jonathan Fletcher

w w w. a r t p a n d a . c o . u k

VERTEX


136

Chris Sears

www.ccsears.cghub.com


137

Mike Hill

www.mikehill.cghub.com


Single Render

138

Single Render

Single Render Environment By: Rense de Boer

In this article I would like to share my experiences creating a single frame, rendered environment. The goal of this render was to get a better understanding of high level environment art. To stop seeing it as a dynamic world for a moment and use the 3D space like a canvas instead. Building this scene helped me to better understand how an image can be viewed and what contributes to it. This includes how big of an impact differences in volume, shape and lighting can have on the composition. To avoid confusion; a single render is an environment built around a fixed camera, where you do not grab multiple screenshots or view the scene from multiple angles. Instead it can only be viewed from one angle and all aspects of the scene are tuned to enhance that shot.

Thoughts and Goals

Most of my experience lies in creating more organic forms of environment, but I wanted to test my abilities by building a complicated, hard surface, SCI-FI scene in Crytek’s CryEngine 3. Since these objectives were largely foreign to me, I needed to work out a plan and get a better understanding of some of the basic principles before I started. For instance, how do I mix unique parts of the environment with the reuse of modular assets? How does the engine handle what I want it to do, and what kind of pipeline setup would allow me to experiment with different ideas efficiently? I decided that building a single render would be a time efficient way to learn about these things. By choosing one static camera angle I only had to build the environment visible from that one spot rather than a complete detailed environment that would be needed for a multi-angle or moving shot. In order to keep this exercise simple I decided to avoid creating many unique looking details such as high poly meshes or polished textures, and instead focused on the key elements of the scene.

VERTEX


Single Render

139

Here is an image of what the scene looks like in 3ds Max. It gives a good overview of how compact the area is.

Getting Started

The scene I built takes place inside a corner of a human spaceship in the Halo Universe based on a concept by Bungie Studios Concept Artist Frank Capezzuto.

VERTEX


Single Render

140

From this concept I built a simple block out. It was just a set of rough shapes to represent the large to medium volumes in the scene. This was enough to help me figure out what dimensions I had to work with. From here I decided what could be built using modular pieces and what should be unique geometry. In many cases modular parts would be a great way to minimize the amount of work and quickly create the main surfaces. Because I reused tiling textures it was very easy to create unique surfaces without having to worry about their UV’s and details, making this approach very efficient. Next, I wanted to figure out how to put my environment pieces from Max together in the engine. Since these were all exported as separate objects from Max, they should fit together in Cry and update as I continued to work on them without a problem. I quickly ran into trouble doing this. The alignment between what I had set up in 3ds Max and the engine caused some issues when I would step off the grid. I was not able to snap the environmental objects into place to create the same scene I had set up in Max. The solution I used was to snap all my pieces in 3ds Max instead, not just making single pieces but creating the entire environment and then exporting that as chunks to the engine.

To ensure my placement in the engine was precise, I snapped the pivot point for each part to the origin while still in Max. This way after I imported a part into the engine I could just add it to the scene, type 0,0,0 for the coordinates and never worry about it being out of place. Getting this problem out of the way was a big step in making progress. I could now start building my environment knowing how it would transfer between software.

Customizing

I used a lot of customization in order to simplify some of the steps needed to create an environment. As well as adjusting keyboard shortcuts I made use of my own custom tool bars. In these tool bars I can gather my most used options for what I feel fulfil my current needs. I have found that I rarely enter the modifier tab and I no longer spend time searching for options. To add one of these tool bars, go to “Customize User Interface-> Toolbars, New” and simply drag and drop options from the list into your menu.

VERTEX


Single Render

141

I highly recommend browsing through the options when creating these tool bars. Max offers a ton of useful functions that do not show up in the interface by default. They are there, but hidden. If you come from a different software package like Maya, some of the options you might be looking for could be hiding in these customization panels. The Transform Toolbox is a menu from 3ds Max. It allows you to quickly manipulate the pivot of an object, or the object in relation to its pivot. I have it added to my most used options to quickly call up the menu when needed. Another great way to customize 3ds Max is to change your Quad menus, the panels you control with the mouse. To do this, go into “Customize User Interface-> Quads” and here either manipulate the default settings or add a new menu. I cleaned out the main panel and placed some of my most used options there. On the second panel I placed actions such as Bevel and Extrude, and on the third panel I set my snapping options. I use the “S” key for purposes other than snapping. All keys within this area should be for your most used actions.

Building the Big Picture

Now that I had the basic setup for the scene it became easier to know what direction to take to finish it. I started adding more shape to areas I was confident with, going from spot to spot until I was satisfied with the results. For this scene, the equipment on the wall section was a good place to start. By blocking this in further and moving on to other areas I could more accurately measure how my parts were going to look. I did this by looking at the concept for “landmarks”, key elements in the image which I could draw connections between. For instance, there might be an extruded element on 1/3 of the length on a wall panel, so I knew where to place this extrusion. From this point there could be a ground panel that is the other 2/3’s wide going across the room and so on. However, at this point I did not add full details. As I mentioned earlier, I was treating the render like a canvas, and just like drawing or painting, you don’t want to dive into details before the whole image is sketched out. From there you work by adding more and more detail into the big shapes. After I had updated a lot of the existing geometry I continued to add things that would help me see the big picture. Things like the pipelines, grids and handles, but also materials and lighting. By taking a step back from creating the geometry for the scene I was able to start focusing on the materials, and applied a generic metal shader to the scene to give it a rough representation of its color and specularity.

VERTEX


Single Render

142

Beneath is my favorite metal texture that I use as a base for a lot of materials. Feel free to download it and give it a go.

Lighting

From the concept I had a general idea on how to do the lightning. By creating a shadow mesh I prevented most of the external daylight from entering the scene. It is a simple shape bigger than the scene with its normals facing outwards so it casts a big shadow over the scene. Since most of the surfaces in the scene have its normals facing inwards the sunlight would otherwise come through. By tweaking the time of day the ambient light that did affect my scene became a base for the rest of the lighting. Next I added various light sources to create a mood. Something that helped me do this was assigning a shadow map to act as a filter to cast a more broken up, random form of light.

Minespot.dds can be found under Game/Textures/Lights

VERTEX


Single Render

143

By selecting your light source and going into Entity properties you can assign a texture to act as your shadow. The texture works just like an alpha mask, where it is white the light comes through, where it is black it stops casting light. With this you can create light effects, ambience or create the illusion of something being in front of the light. For my scene I use it to add the feeling that light gets hindered and distributed by various cables and equipment that can be found in a ship. The texture used can be as simple as some brush strokes to filtering out elements from environment photos. I would recommend trying various textures for this setting to see how it reacts, and what happens when you start moving or rotating the light source.

The majority of the bevels and line work in the image above was modeled in because there were some benefits to doing so. My initial reason was to not have to rely on normal maps to create these shapes and modeled geometry would react well to the light sources and render out nice and sharp. This also allowed the textures for these parts to no longer be unique because there was no layout specific normal map. UV´s did not have to be unwrapped in a specific way but instead could be a lot more simplistic. It also now supported tiling of the texture, allowing a high texel density to create a nice sharp surface. All of this saved me a significant amount of time. Now that I had all of this set up I began trying out other things I knew I needed like text decals, alpha planes with dirt on the floor, light rays coming from the ceiling and lingering smoke from the corridor.

VERTEX


Single Render

144

Because the perspective never changed I could add static effects, a single image out of an otherwise animated or dynamic effect. The image here shows the mask I used on an alpha plane to create the lingering smoke for the corridor. I added a sense of direction and falloff making it a perfect fit for my scene.

Normal Map Decals

Since I was using tiling textures, and was not able to make use of the 2nd UV channel with a node based shader as I had planned, I was motivated to think outside of the box. In order to use smaller normal mapped shapes I had to add them separately. The decal system was perfect to project these on the surfaces and not just have them floating. By cloning the material of the underlying surface I could make it look like it matched up and by applying an alpha mask I could get rid of any pixels of the normal map that were not used. This made sure the diffuse left no real obvious seems. I took the process one step further and made a sheet of unique normal map shapes as well as a paired diffuse and specular map. Now with some dirt and scratches complementing these shapes, the transition would feel rather natural. The benefit of having all these shapes separated from the main model is that they can have a high resolution and be easily copied around the scene, quickly adding detail. An example of adding decals and complimenting contours by using vertex colors.

VERTEX


Single Render

145

Making Passes

At this stage I had modeled a fair bit of my scene. But since I had avoided creating unique textures that contained a lot of details, I was forced to find them elsewhere. It was a real challenge to figure out what to add and where. I was able to refine the look of the scene by creating differences in geometry, changing materials, adding more detail through decals and using lights in different ways. I took my time making iterations with this trying to figure out what worked well and what wasn’t effective because that is where I found the greatest room to improve my techniques. How I would handle these aspects and get the most out of them. For instance, I had two types of wall panels that used a specific pattern in the normal map. I redid the pattern on the maps over and over. I was finally able to get it right without it being too chaotic or too uninteresting, but found it a challenge even without a unique diffuse map. Another thing I did was to create specific highlights by making use of hard surfaces and rounded shapes in combination with light sources to help the scene read better. This brought out a lot of detail and by doing this I got a way better understanding of how these two work together. The example beneath shows three corners. The first corner is a hard 90 degrees, the second is chamfered with hard edges and the third is round and smooth. Every time I build something now, I use this example as part of my building process because they all react different to the light they receive.

VERTEX


Single Render

146

The first corner is so harsh that one side catches light and the other is in shadow. The second corner handles light a lot better. The chamfer in the middle is actually angled towards the source and becomes bright. Having these highlights come forward can be a huge advantage when building content, it makes the scene feel more detailed and realistic. The third corner is rounded and picks up an even bigger range of light. You can see it has falloff light information. Early in the process of creating my scene I had too many angles and not enough round or organic shapes. This resulted in the scene reacting poorly to light sources. By only having hard angles, I was missing a lot of information and it read very differently than what I wanted. Once I started adding in softer edges I found the opposite to be true as well. With too many rounded shapes my scene felt blurred and soft. Once I started using the round shapes to catch light and the harder lines from the chamfered edges to add detailed lines and sharpness to the image I found a much healthier balance in my composition. In the previous example, the chamfer and rounded edge are very broad and cover a large surface. In the scene I used very small chamfers to get highlights and add detail without having an impact on the actual shape of the object.

Composite Lighting

What I tried to do with the render was to make sure light caught the subjects in a way that brought out more details. In most cases this can be achieved by building a more photography inspired light setup. When I played with the lights and shadows I emphasized details and shapes that were already there, making shapes more readable with tiny hints of light and making the specular map jump forward. It would be a shame to put a lot of effort into an art piece and then not do it justice in presentation. The image below gives a good impression of what sort of details can be accentuated by using lights and shadows correctly. For this shot I tried to look at every part of the scene as if it has its own studio lighting. I placed small light sources that did not disturb the global lighting.

VERTEX


Single Render

147

For rounder shapes I preferred to have multiple light sources reflect on it, as it revealed more of the geometry. Also note how the shadow in this case makes the turret feel more “grounded”. Here is a good example of what multiple light sources can look like on an organic surface.

Since scenes built in 3D can lack ambient lighting, faking it by adding more light sources can be a huge help improving the image. Ambient light does not always appear in a 3D environment as it does in real life. We might be using a clean light setup where just a hand full of key lights are influencing the scene with no bounce or random sources that have any impact on how the surface looks. When I did this environment there was no performance limitation, and because I had a fixed camera angle I didn’t have to worry about the lighting changing. This allowed me to create the optimal lighting for the one rendered shot and not worry about anything affecting the image in a negative way. By adding and trying out all kinds of extra lights I was able to enhance the quality of the image through iteration. I found it good to break my scene down into multiple layers of lighting. I let a few key lights do most of the work for my global lighting. I had a layer with medium sized lights to compliment specific areas, and lights to fake ambience which complimented single shapes.

Large Key Lights

VERTEX


Single Render

148

Medium Lights

Small Detail Lights

VERTEX


Single Render

149

Put Together

Don’t overdo it though. You do not want these layers to disturb each other too much. It is very easy to create light pollution. I noticed that my scene became a bit of a Christmas tree with all the lights I had added so I scaled them down a bit.

Creating the Final Image

The following image shows the settings I used to grab a render from the engine. There are a couple shadow settings used. ShadowsAdaptScale needed to be tweaked to 1.1 for this scene to get rid of the striped shadows. HDRBrightOffset was changed to clamp the bloom effect. For the final image I used a few adjustments in Photoshop to get to the end result I was aiming for. I rescaled the image and sharpened it after which I applied a Color balance of -20/2/2 to give it more of a greenish tint. I could have done this in the engine, but I preferred to work with true colors in case I wanted to take the post processing into another direction. I desaturated the image by 25% and added a hint of chromatic offsetting to the far left of the scene. It gave a nice touch of realism, but I was careful as this effect is quickly overdone and the image gets blurred. Besides adjusting the render itself an image of lens effects with dirt was added. I set the mode of this layer to “Screen” at 15% opacity, which made it noticeable but did not disturb the image.

VERTEX


Single Render

150

In the last step I add an anamorphic effect to the larger light sources. For this I set it to “screen� and scaled the opacity down again to make it present but not too dominant.

As this article was not much about the actual creation of content, I hope my rant will give you some more ideas of what you can work with. No matter what you work on, keep trying things out to find all the available options and what can be learned from it. I really enjoyed building this and the fact that a simple scene could offer me so much practice really amazes me. 3ds Max

Straight from CryEngine

VERTEX


Single Render

151

The final image.

About Me

Battlefield 3 “Aftermath” Environment

One of my favorite quotes regarding games is from when I played Zelda, A Link to the Past in the living room. My dad mentioned “Don’t those guys playing the trumpet ever get tired?” Which was him hinting at the fact that the sound had been on for a while and the soundtrack had been looping over and over. It was when Final Fantasy 9 and Legend of the Dragoon came out that it sparked the question of how video games were created. I had such a great time playing those games that I had to know more. I started learning most from image based tutorials since video was not there and technical talk could be hard to grasp at the time. By trial and error it taught me patience, English, and a rather in depth view of the software. When the realization came that I could do this as a career, Halo has always been there to fuel my passion and desire to create. It has done so ever since. Over time the Polycount community has helped me shape who I am and given me many friends. With their help I am self-taught and ever so motivated to learn more. Combining my passion for creativity and technical interest I am currently at DICE building environments and handling tech from an art perspective. I have had great support to get where I am and for what I achieved, thank you.

Rense de Boer

w w w. a r t b y r e n s . c o m

VERTEX


152

Richard Gardner

www.ichii3d.com


153

Lasfargue Léo

www.leolasfargue.com


MATERIAL GUIDELINES

154

MATERIAL GUIDELINES Shader Management Guidelines By: Ali Mayyasi

CHALLENGE

Image Copyright © 2001-2012 Epic Games, Inc

Materials play a huge role in the visual quality of video games. They define the look of the world, effects, characters, weapons, vehicles… As material creation tools become more powerful, artists are more empowered to create their own materials without needing Graphics Programmers or Tech Artists. However, without some guidelines, oversight and management, materials can become a performance and organization problem.

SCOPE

Materials often need to be handled by multiple departments at varying stages of development: ● Graphics Programmers, Tech Artists and Art Leads typically create the material library. ● Tech Artists and Art Leads usually maintain the material library. ● Graphics Programmers and Tech Artists optimize it. ● Artists hook up textures and fine tune parameters to fit the art direction, lighting and postprocessing of the game. ● All the different departments often prototype new material functionality, especially Visual Effects and Game Design. ● Engine Programmers review and modify materials when implementing new engine features. As such, materials can be handled by more than their authors, at different stages of development, sometimes months or years after their creation. This is especially true when a project suddenly requires outsource partners. Having materials managed, organized and built in a standardized manner can really pay off. In my experience, having a small centralized set of managed configurable materials has been much better to deal with than having a large unmanaged decentralized set of custom materials. Having Tech Art oversee and maintain the material library has been quite valuable. Below are some of the benefits.

VERTEX


MATERIAL GUIDELINES

155

DEVELOPMENT TIME

In an unmanaged material development environment, materials are created in isolation, without proper visibility to other team members. Multiple developers then sink nontrivial amounts of time hunting for and failing to find suitable materials. They end up recreating material functionality that already exists elsewhere, unknown to them. Similar functionality gets partially and inconsistently duplicated across multiple materials. This not only wastes valuable development time, but ends up with redundancies, inefficiencies, inconsistencies and considerable maintenance overhead. It also perpetuates disorganization.

MAINTENANCE

Materials can and should be built in a parametrized way to allow for instancing, where possible. Most materials should serve as general templates, with the more specialized versions of those materials instanced hierarchically. Having a centralized set of templates allows for quick functionality updates: additions to one parent material will automatically propagate to all material instances, and their referencers. This saves developers from reimplementing the same functionality in multiple materials, reducing human error, and saving time. Changes at the material template level always come up. Design, Art or Programming may change at any point in production, and you should be prepared. New engine features may come online late in the project’s lifetime, long after content creation has started. For example:

● Adding lit particle support to all particle materials ● Adding fade out support to all decal materials ● Updating skin tinting functionality of all playable character materials ● Adding detail normal tiling support to all phong masked materials ● Reworking all terrain materials to leverage a new engine technology Propagating such changes to all the necessary game content suddenly becomes a huge undertaking if your materials are scattered and not set up hierarchically.

PERFORMANCE

The fancier the material, the heavier the performance overhead. If material usage is not managed in a scene, GPU performance can quickly become an issue. It usually falls of Tech Art to investigate and optimize GPU related performance hot spots. To minimize reactive optimization, it can pay off to have some measure of preemptive optimization. Here are some performance considerations: ● It is very common for artists to have “corrective” shader math that can be trivially applied to the source texture for free. For example: Multiply, Power, Clamp... If the instruction count of a shader is a bottleneck, such math can be stripped out of the shader, and applied to the texture. ● It is very common for artists to have multiple textures, each having a single channel being sampled. If the texture lookup time of a shader is a bottleneck, such channels can be packed into a single texture, reducing the number of texture lookups. ● GPU efficiency is especially important for particle materials, which often involve a lot of overdraw. Persistent particles such as fire, smoke, mist, etc... stay on screen longer, and can stack up in long view lines. Such materials should be optimized more aggressively than nonpersistent particle materials. ● Depending on your engine, similar materials will result in redundant shaders. Switching between redundant shaders while rendering incurs unnecessary performance overhead. With Tech Artists overseeing the material library, they can ensure that most materials are free of performance inefficiencies. They can also educate artists to avoid inefficiencies in the future. If a particularly expensive material is needed for a scene, Tech Art can work with the artists to balance the scene’s material usage, keeping it within the overall performance budget.

VERTEX


MATERIAL GUIDELINES

156

QUALITY/STABILITY

Having a core set of managed materials keeps the quality and usage of those materials consistent. ● Parameters: Materials parameters can be used for texture lookups, vector and scalar inputs. Since these parameters are exposed to developers for tweaking in the material instance, they should be named consistently for readability across multiple departments. Without any oversight, similar parameters end up being named inconsistently across different materials. For example, a specular vector multiplier can be named any of the following: “SpecularColor”, “Tint Spec”, “SpecMultiplier”, “Color_Shine”… Similarly, inputs should be normalized to behave consistently. For example, a “PanSpeed” parameter should behave the same in all panning materials. ● Functionality: Occasionally, obscure inhouse material nodes can be created for special functionality. Take dynamic decal fading for example. It is normally better for dynamic “combat” decals to fade out than pop out. Fading out is normally perceived as higher quality than popping, as it is less jarring. If a developer is not familiar with a special inhouse material setup for fading, and they create a new dynamic bullet scorch decal, the decal will not fade away during gameplay. This will result in a hard to find, quality reducing bug. Even if the developer is generally aware of the feature but isn’t aware of the obscure material node needed for the setup, the material may not get properly created. ● Usage: When a material is used by different asset types, different shaders need to be generated by the engine before the assets can render correctly. For example, a material that is flagged for static mesh usage will not work on skeletal meshes unless it is explicitly flagged for skeletal mesh usage. Configuring these usage flags properly can be rather technical. Setting incorrect usage flags not only results in rendering bugs and runtime warnings, but can also generate unneeded shaders. ● Blendmode/Lighting Model: Nontechnical developers may not be aware of the limitations of certain material lighting models and blendmodes. For example, if an engine is a deferred renderer, and a material is flagged to be lit translucent, then it will be forward rendered and inefficient.

AUTOMATION

Having a managed material library allows for enforcing conventions and standards under the hood. Tech Art can work with the Tools department to establish rules and checks for names, settings, usage flags and parameters. Tools can also be developed for validating materials with questionable values. For example: if an environment map multiplier value is below a preestablished minimum, then the environment map contribution is too little to justify its GPU cost. As a result, the environment map should be disabled via static switch.

MEMORY

While shader memory hasn’t been a big issue in my experience, it’s still something to be mindful of: ● Having many redundant materials wastes memory. ● Each material created can result in several shaders auto generated by the engine, based on material usage, static switches, etc... ● If instead of having one material with one texture parameter, you had N equivalent materials, each with a hard coded texture, the result will be N times more shaders. ● More shaders mean more shader cache memory; more data to load when levels stream... Every megabyte counts on the consoles, so you should keep memory overhead as low as possible.

BACKEND

More materials means longer shader compilation times, which means longer build turnaround times. Specifically, the Xbox 360 takes significantly longer than PC/PS3 because it has a better shader compiler that produces better shader code.

VERTEX


MATERIAL GUIDELINES

157

PROTOTYPING

I always encourage developers to prototype and create new materials. However, it is always worth it for Tech Art to do a quick follow up in order to: ● Determine if the materials can be easily consolidated with any existing ones. ● Determine if any optimization is needed. ● Confirm correct usage flags, blend modes, lighting models... ● Verify that the materials leverage parameters where possible. ● Verify that parameter input ranges are normalized. ● Verify that naming is standardized. ● Check for missing functionality, such as fading, tinting... ● Update any documentation. ● Send any memos. Even during a busy day, it is worth a quick sanity check. It will, at least, start a dialog between Tech Art and the developer, and will give an opportunity for both parties to understand the full scope of the addition. It informs Tech Art of the needs of other departments, which is a basis for future improvements.

CONCLUSION

While managing a centralized material library is hard work, it ultimately facilitates production for the whole team: ● Well organized and well named materials are self-documenting. ● Developers know where to go, and what to look for. ● Missing functionality is easily identified. ● New functionality is quickly integrated. ● Propagating changes is automatic and risk free. ● Standardization allows for automation and validation. ● GPU performance offenders are proactively triaged. ADDITIONAL READING http://udn.epicgames.com/Three/MaterialsAndTexturesHome.html http://udn.epicgames.com/Three/MaterialsCompendium.html http://udn.epicgames.com/Three/InstancedMaterials.html

About Me

I’m Ali Mayyasi, and I’m from Lebanon. Growing up with limited access to video games, I was blown away when I first saw Donkey Kong Country on the SNES. I knew then that 3D was my calling. I graduated with a Computer Science bachelor’s in Beirut, and landed my first job as a Tools Programmer at the Jim Henson Company in Hollywood. Working closely with the content developers there, I was increasingly fascinated with 3D, so I signed up at the Vancouver Film School. There, I experienced the full breadth and depth of the 3D pipeline, and I knew without a doubt that I wanted to become a technical artist. After graduating, I was hired by TimeGate as their first Technical Artist, there I stayed, and eventually became their Lead Tech Artist. It has been a remarkable journey, and I look forward to the fun problem solving to come. I now am a Technical Artist at Bungie on Destiny.

Ali Mayyasi

w w w. ps i o n i c p i xe l s . co m

VERTEX


158

Andrew Maximov

www.artisaverb.info


159

Andrew Indrikson

www.alien-impact.com


FACIAL ANIMATION

160

FACIAL ANIMATION Marcus Krautwurst Tips & Tricks For AAA Video games By:

INTRODUCTION

Š 2013 UBISOFT All Right Reserved

Facial animation is a crucial field for successful character-driven storytelling and while rigging is just a part of the machinery it is a fundamental one. In this article I want to share some of the experience I gained within in my professional career and hope that you can benefit and implement some of those ideas on your own. The content needed for describing a full facial animation pipeline is enough for a whole book. In this article I will show you an example of how you can streamline your pipeline and reuse a skeleton for different proportioned faces. There are a lot of exciting new technical solutions to achieve quality facial animations. But, unlike Hollywood, most games are still using bones/morphs. This is due to the limitations of current hardware, but also because we have to produce a lot more content than a 90-min movie, often lip synced in different languages whilst maintaining a consistent level of quality. The next generation of consoles looks promising, 4D capturing is an interesting tech and will probably get more exposure. However bones will still be the base of it, because they are flexible, cheap and good results can be achieved with them.

A GOOD START

When designing an efficient pipeline the first steps are obviously based on the projects needs. Make sure you have the answers to important questions like how many characters you will have, how different they are from each other or if you need to be able to share animations between those. Quality is also an important factor, of course we want to achieve the best possible results but depending on your situation this is often held back by budgets, resources and time frames.

VERTEX


FACIAL ANIMATION

161

This approach is based on a situation with a lot of characters and a lot of dialogue that needs to be shared between different characters. It requires the use of the same base topology for every character. In terms of quality it is absolutely no problem to have the same topology head for male and female faces and different races.

The Template Rig

The basic idea is inspired by a talk from Jeremy Ernst on GDC 2012. His solution also supports different topologies but requires user input to create new face rigs, even if the topology is identical. If you need the flexibility, both approaches can be used simultaneously. The base of this approach is a rig that will allow you to transform your base head into all your target head meshes. Using the same topology for your heads has a lot of advantages, depending on what information you want to store on the mesh, it will transfer those for free, whether it is skinning, vertex colors or any custom data for later use in the game. Since all our heads are using the same topology we can blend-shape the template head to our target heads. As mentioned before this action keeps all mesh information intact. The only thing we need to worry about then is to adjust joint positions to fit the new character. This is where our template rig comes into play.

VERTEX


FACIAL ANIMATION

162

We want to blend our base-mesh to our target head and transform all joints relative to the blend-shape change. In other words we want to “skin” the joints to the mesh. There are a few ways for you to do this, in my approach I created a small python script that creates a locator for each face and aligns it with them. We don’t have to do this on the whole head, it’s enough to do it on the front face shape because these will only drive our “skinned joints”. Something like shown in the picture below.

Now we need to make sure that each locator follows its assigned face appropriately. The best way I found to do this is the PointOnPoly constraint in Maya. In 3ds Max this would be the attachment constraint. Since we don’t want to do this for each face by hand, we just change our python script to do this work for us as well. Making the PointOnPoly constraint work properly in a script is a bit tricky because you need to provide it with UV coordinates to align to (this way you can constrain it to the surface and not just to a face, vertex or edge. Here is a small code snippet to achieve this:

VERTEX


FACIAL ANIMATION

163

Once you have finished this step you can test it by changing the model a bit, the locators should all follow the surface correctly. If this is not the case you most likely assigned the wrong UV coordinates.

The next step is to point-constraint the joints to those locators. We will not use orient constraints, since you want to keep your existing joint rotations. Here it takes a bit of practice and trial and error to find what works best. The key here is to use a few locators to average the desired position.

As an example with the eye joints, you want to constraint to the whole “inner eye loop�. This way we get the perfect average position on where the eyeball joint should be positioned. On the nose-pull joint you need accuracy, so I suggest constraining these to very few locators.

VERTEX


FACIAL ANIMATION

164

But, will it blend?

Once you have found your perfect settings and finished your constraint setup you can put the rig to its ultimate test. Set up your target head as a blend-shape target and blend the template head to that. Hint: It’s a lot faster with the locators hidden.

We now have repositioned all our joints to the new face. Instead of manually placing every joint by hand, the model has done the job on its own. Even asymmetric faces work like a charm, no human interaction needed. Of course this requires your original bone positions to be perfect. Now all we need to do is to load the skinning. The good news is, we got it for free because we are still using the same head as before. We just have to load it based on UVs with Maya’s own tool or the better solution would be per vertex ID. I strongly suggest having a custom tool in your pipeline for this. If you head over to my blog (www.marcuskrautwurst.com), I posted an article there a while ago on how to do that in PyMEL. After you have loaded the skinning just delete all constraints and the bone setup is finished.

VERTEX


FACIAL ANIMATION

165

Code It!

This works perfect, even if the proportions are significantly different. Now that we know how it works, we can script a tool to do the blending part automagically. In my case the tool syncs all necessary files from perforce, does the blending and loads the skinning files that are stored on perforce as well. Keep in mind that you will have to redo the rig as soon as the topology changes. So make yourself a tool to do that quick and easy as well. Of course setting up the bones is just one step, depending on your main animation solution, but with this method we can build a reverse rig that transforms all of our control objects or create a script that creates a control rig based on the joint positions.

About Me

Servus! My name is Marcus Krautwurst and I’m currently working at Massive – A Ubisoft studio in Sweden. I am originally from the beautiful Bavaria in Germany. After a few years of moving from city to city trying to figure out what I like doing most, I eventually came back to video games, something I always loved. I graduated from the Games Academy in Berlin in 2008 and went on to Crytek in Frankfurt. After 3 years Crysis 2 was finally shipped and I moved on to new adventures

Marcus Krautwurst

w w w. m a r c u s k r a u t w u r s t . c o m

VERTEX


166

Maxim Revin

www.maximrevin.blogspot.com


167

Joshua Brian Smith

www.udlokken-art.com


World Machine

168

World Machine Ryan Smith Creating High Fidelity Terrains By:

INTRODUCTION

World Machine is a node-based, procedural terrain generation tool that creates terrain height maps and textures that you can use with your terrains in a real time engines such as UDK or Crytek. The best way to use World Machine, in my opinion, is to make a test terrain, and then set up your texturing network until you get the best representation of what you’ll want your in-game terrain to look like. Once this is done, you can go back and work with the various layout generation nodes and flesh out your terrain. I like this way because as I lay the basic shapes of my terrain out, World Machine will update a preview of the final result with all of your colors being generated procedurally. This allows you to see a much better representation of what the final terrain will look like. So how does World Machine work? It’s quite simple, really. You use Generator nodes to lay in basic shapes such as a circle or spline, then add detail to those with procedural noise generators. Once you have these in place, you can run the output of these generators into several different Filter nodes that World Machine provides you. You then take the output of these nodes and plug them into an Output node. Output nodes are what you use to save your height maps and color maps in whatever file format you need. The networks you build can get quite complex, so world machine has a set of “Build” buttons that process all of the nodes and presents it so that you can view what your full resolution terrain will look like. You can find these buttons on the main tool bar on the far right. They are represented as a green circle for “Build”, a yellow circle for “Build to Current Device”, and a green circle with a plus in it for a “Tiled Build”. We won’t be working with the Tiled Build button at all for this tutorial, but we’ll be using the other ones to build our terrain whenever we want to preview it at full resolution. If we don’t do a full build, world machine will give us a low quality preview of our terrain, which doesn’t always look like the high res version.

VERTEX


World Machine

169

Interface Crash Course

When you start up world machine you’ll be defaulted to the Device View which shows your node network, a bunch of tabs that contain all the nodes you’ll be using, and a tool bar on the left that has a preview window where you can view your terrain in 3D or 2D. You can also view the outputs of any node here. Below that is a device navigation window that will list all the nodes you are currently using in the device view. This is great for organization and quick navigation, and it persists through all the different views that you’ll be switching in and out of as you build your terrain. The shortcut key for this mode is F5 by default. If you want to change the properties of your terrain, you’ll need to click the “World Extents and Resolution” button, which is represented by an icon that looks like a mountain being measured. In this window you’ll see properties such as Width and Height of your terrain, which is defaulted at 8.00km by 8.00km. If you want a larger terrain, set this to something like 16 km by 16 km, which is what I’ve done for the terrain I’ll be making in this article. You’ll also want to change the Resolution slider to about 1025x1025. If you’re using the demo version, you won’t be able to move the resolution past 512x512.

The Layout View (shortcut: F6) is the interface used when working with Layout Generator nodes. We’ll go over this view later in the article. The Explorer view is where you can preview your tiled builds in really low resolution. We aren’t doing tiled builds though, so don’t worry about this view. It’s fun to play around in though. The 3D View (Shortcut: F8) Is where you can see a high fidelity version of your terrain. If it looks really low res, chances are you haven’t done a build yet. So go ahead and click the Green Circle “Build” button that I talked about earlier that’s located at the top right of the main tool bar. After it finishes building, you’ll see your terrain in high detail. Protip: The 3D Viewer shows the output of whatever node you have selected in your Device Navigation list found at the bottom left hand side of the UI. If you click the “Lock Preview” button, you can select and edit the properties of the other nodes, while seeing the 3D View update in real time.

VERTEX


World Machine

170

Building a Terrain

Here’s a very basic example of a world machine terrain network and the terrain it outputs:

Which when built gives you:

VERTEX


World Machine

171

Lets take a look at what’s going on here. I’ve divided the network into 4 major categories. Terrain Creation which deals primarily with generator nodes, Filters where you use World Machine’s powerful natural filters, such as Erosion and Snow. The Color section is where we’ll be using selectors and other utility nodes to put together a color map for our terrain. And finally the Output section, where we can export all the stuff we just created. I’m going to talk about the different types of nodes that I’ve used in this example, because in my opinion these are the most important nodes for you to be familiar with in order to create something decent. I can’t go over all of the nodes because that would be outside the scope of this article, however the nodes I don’t cover will be pretty similar in functionality and self explanatory once you play around with them a bit.

Generator Nodes

The first node in this sequence is called “Layout Generator”, and it can be found in the Generator Tab while in the Device View. If you double click the node, it will take you into “Layout View” where you can lay down different shapes. This is a great way to come up with a rough base for what you want in your terrain.

VERTEX


World Machine

172

In the image above, all I’ve done is draw a line shape using the “Lines” tool, and turned on “Use Breakup” which is located in the main properties panel on the left side of the screen. This adds a bit of irregularity and noise to the final result of the line. If you select the line object in the Layout View, you can adjust several sliders such as Height, Opacity, and Falloff. There are also some options to adjust the curve that the generated height values follow. This is really useful for laying out mountain ranges. The above example yields the height map to the left.

And this is what it looks like in the 3D Viewer:

It doesn’t look that great right now, but as I keep adding generator nodes that enhance detail, I’ll start to get something that looks fairly realistic..

Advanced Perlin Generator

The Advanced Perlin Noise Generator, which is found in the Generator tab of the Device view, is a great way to break up terrain into more natural shapes. I think that it’s most powerful when you use it in conjunction with a mask, so instead of rolling with the above height map as a base, I’m just going to use it as a mask for the Perlin Noise node. To do this, I’ll just take the output from the Layout Generator and plug it into the purple colored mask input slot of a Perlin Noise Generator node. This tells the Perlin Noise node to use the above black and white height output as it’s mask, which breaks up the original layout generator output into more natural looking shapes.

VERTEX


World Machine

173

The properties of the Perlin Generator gives me great control over several options. I can play with Elevation Center and Steepness to control the height and intensity of the generator. To change the scale, I use the Feature Scale slider at the top left.

Voronoi Noise

I now have a decent base for our mountain range in the background, but I’m still left with a large flat area that isn’t going to look too great if I leave it like that. So I’m going to add in some more noise elements to fill that part of the terrain out. I’m going to accomplish this by using the Voronoi Noise generator, which can be found alongside the Advanced Perlin node in the Generator Tab back in the Device View. Previewed by itself, the Voronoi noise will look something like this:

VERTEX


World Machine

174

The above preview is just the Voronoi noise. To combine it with our previous terrain, I’ll need to use a new type of node called a “Combiner”.

Combiner Nodes

The Combiner node can be found in the “Combiner” tab in the Device View. It simply takes input A and combines it with Input B based on a specified combination method.

VERTEX


World Machine

175

In this case, I’m using the Add method to add the Voronoi noise to the Perlin Noise at a strength of 0.26. This gives us the following terrain base:

Natural Filters

Natural filters are very important in creating realistic terrain, as well as any layer masks that you’ll use for colors. You can find these in the Natural Tab in the Device View. There are four types of Natural Filters: Erosion, Thermal Weathering, Snow, and Coastal Erosion. We’re going to be focusing on the Erosion node for this article.

Erosion

The Erosion node takes a height map input and runs a powerful algorithm that simulates how terrain erodes over long periods of time. With the right settings, you can transform your base terrain into something that looks extremely realistic and convincing. Furthermore, the node provides several output maps that you can use for masks when texturing. Here is what my terrain looks like after I’ve applied an Erosion node and tweaked the settings a bit.

VERTEX


World Machine

176

Lets take a look at this node’s properties. In my opinion, the most powerful property of this node is the Geologicaltime Enhancement section. This is like pushing the terrain forward in time several million years. You can see in real time how your terrain features will erode from their tallest mountain peaks to a flat, featureless plain. When using this node, it’s best to think about what type of planet you’re on. If you’re generating terrain on some sort of alien world that has no water, you’ll want to turn off Channeled Erosion. Channeled Erosion will cause your terrain to look like water and other sediment carved channels down the side of the mountains that ends up puddling up in the lower parts of the terrain. You can tweak other variables like how far the sediment gets carried, how hard the rock is, and other things that help you fine tune your final result. Once I’m done tweaking these values and am satisfied with my result, I’m done with the actual modeling of the terrain and can now focus on writing a network that procedurally colors my terrain based on the different output channels the Erosion filter gives me. Lets take a look at what we have to work with.

VERTEX


World Machine

177

Generating a Color Map

World Machine provides us with several node outputs as well as filter tools that we can use to procedurally generate realistic color maps based on height information. The workflow that I like to use for testing out what my final terrain looks like is to use a special type of Output Node called an “Overlay View”. The overlay view takes two inputs. One (the top one) is your landscape height map, the other is a mixed input that can take a height map, or a bitmap that represents your landscape color. When you have everything plugged in and you select it, you’ll be able to view your terrain with the bitmap overlaid on it.

VERTEX


World Machine

178

Color Generators

At the heart of color map generation is a node simply called a “Color Generator”. You can find the Color Generator node in the Generator tab under Device View. They are pretty straightforward, all you do is double click them and set a color. That color gets output as a bitmap that you can combine with other colors via a “Chooser” or “Combiner” node. The first steps to creating my color map is to bring out a color generator node and select a base terrain color that I like to refer to as the “Earth” color. Then I grab another color generator and select a “Rock” color. The next thing I need to do is use a Selector to generate a map that will blend these two colors together.

Selectors

You can find various Selector nodes in the Selector tab in the Device View. There are 5 different Selector nodes, all of which take a height field for an input and use it to generate a new height field that can be used as a mask in a Chooser node. The five types are Select Slope, Select Height, Select Angle, Select Convexity, and Select Color. I’m going to use a Select Slope Node to generate a height field that I can use as a mask. I do this by inputting the height field that my Erosion node gave me. After that, I can double click the node to bring up it’s properties to adjust what the slope range I want to select will be. I used the following properties:

Choosers

Now that I’ve used Slope Selector to generate a mask for the two colors we chose, I’ll need to use a Chooser node to put it all together. Choosers are really simple because they only have 3 options: They can choose between input A and B based on a height map, where higher values of the height map will choose input B. Also, you can do the opposite, where higher values of the height field will choose input A. The last option simply adds B to A based on the height field.

VERTEX


World Machine

179

The Chooser node outputs the following bitmap:

Which when overlaid with our terrain looks like this:

The color of my terrain is starting to come together now, but it still isn’t done yet. There needs to be a lighter color because as the terrain erodes over thousands of years, pebbles, dirt, and sand get deposited along erosion flow lines and at the base of mountains and hills. To help attain a natural and interesting look, I’ll blend in a sand color using the Flow Map and Deposition Map outputs from my Erosion Node to create a mask which I’ll use for my lighter sand color.

VERTEX


World Machine

180

If you look at the network closely, you’ll see that I’m multiplying the mask I created with my erosion node with a Constant node that I renamed as “Sand Density”. I use the Sand Density slider to control the intensity of the sand layer blending. If I didn’t use this method, I wouldn’t have a way to control the “opacity” of my sand. The only problem with this method, is that the Constant is measured in terms of “Height” rather than a number from 0 to 1.

VERTEX


World Machine

181

To finish off the terrain, I’m going to use the height map from my Erosion node, and plug it into a Selector called “Select Convexity”. In the Select Convexity properties, I’m just going to leave the strength at 1.0. What this node does is highlight all of the convex areas of the terrain based on their angle. So the sharpest edges of my terrain will have the strongest highlights. I can then take the output from this node, and use a combiner node to add it to our color map for some extra detail. In the example I’m adding it with a strength of .25. This is a really great way to accentuate the sharp points of your terrain, without doing anything too complex in your network.

Output

So now that I’m done with my color map, how do I export that out of world machine? There are output nodes that do that for me! I’m going to go to my output tab and grab a Bitmap Output, and a Height Output, and drag those guys into my network. The Bitmap Output takes a bitmap input, which is the color map that I just generated, and the Height Output takes a height map input, which I’ve just dragged over from the erosion node output. You can double click on the nodes to bring up the export options, which are pretty self explanatory. However, just because I like you, I’m going to mention that if you’re exporting a height output that you’re going to be using as a displacement map, you’re going to want to export it out as a 16 bit height map. You’ll get much more accuracy, and less banding that way.

VERTEX


World Machine

182

Tweaking

Now that all that setting up is out of the way, this is where the fun starts! I can now go back to the layout generators and natural filters and tweak properties, and see the final look of my terrain in the preview window without changing anything on my color map! Try going into the erosion node and changing the geological time slider back and forth, and watch in wonder how you can see your terrain moving back and forward in time.

VERTEX


World Machine

183

VERTEX


World Machine

184

Like I said at the beginning of this article, once your network is laid out and your color maps are set up to work with you, editing your base terrain becomes much more fun because you can quickly see what your final terrain output looks like after a quick build. At the end of the day, World Machine is a fantastic program that excels at creating high fidelity base landscapes that can be used either at a distance or as a gameplay terrain. The only issues that you’ll run into is the inability to make fine tuned custom edits using a terrain brush directly in the program. However, this is solved by just making those type of edits directly in whatever game engine that you bring it in to. I really hope that you learned something from this tutorial/demonstration of World Machine!

Conclusion

So lets recap the workflow.

- Start with broad shapes by using Layout Generators. - Add noise to those broad shapes with Noise Generators - Further refine terrain by subtracting out areas you want for valleys, rivers, etc using more Layout Generators and Combiner nodes. - Erode your base shapes with Natural Filters such as Erosion, Coastal Erosion, and Thermal Weathering Use the various output channels from the natural filter nodes in combination with your height map and selector nodes to create masks for your terrain layers/colors. - Once your node network is built, go back and fine-tune. Doing this step after generating the procedural color map will give you a much better glimpse of what the final result will be. - Output the results using output nodes!

VERTEX


World Machine

185

About Me

My name is Ryan Smith. I’m currently working at Gearbox Software as a Technical Artist. I’ve recently worked on RAGE, Borderlands 2, and Alien: Colonial Marines. I was born in Youngstown, Ohio, and grew up there until I moved to Pittsburgh when I was 18 to attend Art Institute of Pittsburgh. Three years later, I earned a bachelor’s degree in Game Art and Design. Since then I’ve worked at studios such as Digital Extremes and id Software, and of course, Gearbox.. I’ve also done multiple training videos for 3DMotive.com such as “Advanced Mesh Paint With UDK” and “Tiling Textures With ZBrush”. Ever since I can remember I’ve been someone who loves to build things. Every Christmas and birthday I would always get a new Lego set and spend hours putting them together, then destroying them, and then rebuilding them into my own bizarre structures. If I wasn’t building Legos, I was drawing or doing something else just as creative. I started modding for Unreal Tournament when I was in the 7th grade, and I soon learned that I wanted to make games professionally when I realized I spent more time making levels than I did watching TV or playing video games. Since I’ve started in the industry, I’ve been constantly trying to teach myself new techniques and workflows and skill sets. I feel there is much value in understanding multiple disciplines’ workflows because it helps me understand all the facets of game development, and enables me to complete challenging technical tasks. I love being a Technical Artist because every day presents a new challenge, and each task I work on offers a new learning experience that helps make me a better developer at the end of the day. I really hope you’ve had fun exploring what world machine can do. Hopefully this information can set you off on making really cool landscapes for your future projects!

Ryan Smith

www.technical-eden.blogspot.com

VERTEX


186

Bianca Draghici

www.biaconcept.com


187

Jan Urschel

www.hendrix-design.com


Stylized

188

Stylized Characters Leslie Van den Broeck Sculpting Stylized Characters By:

INTRODUCTION

As a kid I was lucky enough to grow up with some of the most amazing 2D animated movies ever conceived. I also got to experience the birth of 3D animated feature films, So needless to say it was an inspiring experience and partly the reason why I’m such a sucker for cartoony characters. As much as I like stylized/cartoony characters I was always wary of them. Why? I associated cartoony with bad/wrong anatomy and I was afraid it would stunt my growth as an artist by relying on the same old stylized anatomy features instead of knowing how the body and face really are constructed in real life. In a way I still feel I was partly right, of course not in terms of all cartoony characters having bad anatomy, there are enough amazing stylized characters out there that have a very good anatomical buildup. It’s just that copying cartoony characters from other artists will only get you so far, from the moment you start to combine your knowledge of real life anatomy and know where all of these stylized features are derived from you’ll be able to create your own distinct style. It will also become a lot easier to translate existing 2D characters to a 3D sculpt.

VERTEX


Stylized

189

So lesson one would be, do anatomy studies. Every good cartoony character is backed by good fundamental understanding of how the real life equivalent works, be it human or animal.

Original images are property of Walt Disney Animation

This brings us to the second point, reference/research. Have as much reference as you can, try to know what you’re creating before you even start sculpting. Have as many angles of reference so you can determine shapes better. Aside from the character’s visual traits you should also try to determine the personality of the character. If you’re sculpting an overall happy character you don’t want to sculpt it with an angry face. If it’s an existing character it will reduce the recognizability towards the audience since they’re not used to seeing it in such an emotion.

VERTEX


Stylized

190

So now we have that out of the way it’s time to start the actual sculpting. I’ll be using different sculpts I have done before to clarify certain aspects of my working methods. This won’t be a step by step tutorial but rather a general workflow overview with some tips, tricks and explanations of why I do a certain thing in a certain way.

Basic Proportions

First of all the most important thing you need to do is get the basic big shapes to look right. Each and every object can be broken down into big volumes that enclose the shapes.

Original images are property of Creaturebox, Disney, Studio Ghibli The first thing we need to do is capture these big volumes and make sure they are the right size in relation to each other. A common mistake beginning artists make is to subdivide and start adding in detail right away. You shouldn’t do this since a higher amount of polygons means a lot more points you need to manage, as a result you end up with a mesh full of bumps and dents and that’s the last thing you’d want unless you’re sculpting Danny Trejo of course. So what you need to do is try to achieve those basic volumes with the least amount of geometry it needs while not having to stretch polygons either. Now with the addition of dynamesh this process has been simplified a lot. Dynamesh converts the mesh you are working on in a mesh with the same shape but without stretched polygons, the resolution of the new mesh can be determined by the resolution slider. You can start out by putting the slider on 8 , get those basic volumes in there and re-dynamesh once polygons are getting too stretched while retaining the overall volume.

VERTEX


Stylized

191

Personally I start out with 8 and work my way up gradually by doubling the number each time, so if I start with 8 I put the slider on 16 once I feel I’m reaching the maximum silhouette the resolution of 8 could handle without stretching polygons or losing volume when I dynamesh. Once I reach the maximum of that 16 resolution I double it to 32 and so on. I generally start with a sphere and use the move brush to manipulate the shape; if the concept you’re trying to recreate has a cylindrical shape it’s more logical to start from a cylinder. Just start of with the basic shape that’s most suited for the model you want to make.

If the character has attributes that are separate pieces I also try to keep them separate as subtools. You can easily append new basic shapes by pressing the append button or you can extract them by masking of shapes and pressing the extract button in the subtool palette. The benefit of this is also that you can dynamesh these pieces without it affecting your other subtools. Make sure you check the silhouette of your sculpt while capturing these big volumes. You can use the Flat material combined with a black RGB color to check your silhouette without the distraction of the shapes within.

VERTEX


Stylized

192

In the example image with the SCI-FI armor you can see it’s easy to add in simple shapes and manipulate them towards your design. The new insert brushes make it even quicker to add details without having to append and merge subtools. If you want really clean hard surface shapes you can retopologize either in ZBrush or another 3D software like 3D coat. As far as ZBrush has come in terms of hard surface sculpting it’s sometimes easier to put some clean sub-D topology over a block out mesh without having to spend hours on polishing the surface into the clean surface you want.

VERTEX


Stylized

193

Brushes

Now that you have the basic volumes nailed down it’s time to start looking at how they interconnect. Before I go into the actual sculpting, I’ll first make a small list of the brushes I use and for what purpose I use them.

Clay

This brush I use as my standard sculpting brush. It’s able to add subtle transitions between forms without leaving too much of a distinct alpha shape behind on your sculpt like the Clay tubes does.

Clay Tubes This brush is great for blocking in shapes and working rough. It keeps you from trying to go into detail too early.

Move

This brush is obviously for moving shapes around. I use this mostly for bigger proportion changes.

Snakehook

This brush is also great to move things around with but has a certain elasticity to it that can give some good results. Its also great to extract things like horns and other extrusions.

Magnify This brush I use to bulge up things, it’s a nice way to add extra volume to parts. You can also use inflate as an alternative to this brush.

Pinch

This brush I use the least of all but sometimes there’s a need to pinch creases tighter together and this brush is very useful for that.

Orb Cracks This is a custom brush I use made by Michael Vicente, it’s an alternative to the dam standard brush. I use this one since it doesn’t pinch geometry and gives a nice sharp edge when I carve. If I do want things smoother all I need to do is smooth it out where I want to. Download it Here: http://orbart.free.fr/Orb_Cracks.ZBP

VERTEX


Stylized

194

HighPolish This brush is great for flattening surfaces and defining planes on your sculpt, it can both be used in the block out stage of sculpting and for finishing a sculpt.

Smooth This brush I use to smooth out shapes; there are two smoothing algorithms you can use, the best one being the least known. You can smooth with less pinching by holding the shift key, start brushing and then releasing the shift key while you’re sculpting.

LazyMouse

This can be applied to all brushes and is quite handy to achieve nice long flowing lines. The way to find out what brush works best for you is by experimenting with them and not just in the conventional way other artists use it. Sometimes a brush can be good for a different thing than it was initially made for. An example of that would be the Orb Cracks brush was created for sculpting cracks on environment pieces but I ended up using it as my carving and cloth brush on all of my sculptures, I even sometimes use it to add volume to shapes like the tear ducts on eyes. Having brushes that serve multiple purposes saves you time and keeps things easy for you.

Customize

There are a lot of tools hidden in a lot of different places inside ZBrush. You could start assigning hot keys for everything but another useful thing to do is to make a separate panel with all of the features you use and organizing it in a way that makes sense to you. It saves you time looking for buttons and that is always a good thing when you want to get work done. The way to do it is by going to the preferences menu, hitting the Enable Customize button and then pressing the Create New Menu button in the Custom UI Tab. Give this menu a name, dock it to the side and start dragging custom pallets and function buttons in it by holding ALT and click dragging them into your tool bar.

VERTEX


Stylized

195

Form

Here’s where the real sculpting comes into play! There’s no cheating in this part only observing and applying your own knowledge of anatomy. This is what makes or breaks your sculpt just like bad perspective would make a drawing look funky. The process to sculpting form is by first marking the key reference-points (e.g. mouth, nose, eye-sockets) on the basic volumes block out and matching the rest of the features according to those. Again, first sculpt the volumes and then start on the details. Think about what lies beneath the part you’re sculpting and apply that knowledge. First I use the Orb Cracks brush to mark these areas; this can be just a simple line to indicate their position. It doesn’t need to be perfect since you’re constantly evaluating your sculpt and you can always adjust things later on but it’s a good idea to get it as close as possible from the beginning.

Masking off shapes like the eye sockets and then pulling them inwards with the move brush helps to keep shapes hard around the edges. If you already have that hardness in the beginning stages of the sculpt it might be less sculpting work in the end if the stylization requires it for the final sculpt. By using the High Polish brush you can already start defining the facial planes that are most noticeable in the concept. These most likely correspond with the traditional facial planes.

VERTEX


Stylized

196

For good reference on planar breakdowns of anatomical features look up the books of Andrew Loomis and George B. Bridgman.

Even though you’re trying to keep the structural buildup realistic don’t forget to exaggerate it. You want to find that balance between the two to hit the sweet spot. It will take some trial and error to get an eye for this but once you get it right you’ll notice. Also don’t be afraid to use the new see-through function of ZBrush if you’re having trouble matching the silhouette and structure by eye. One thing you can do is put your reference sheet behind your ZBrush working file and put the see-through slider to somewhere around 20%. Now match the rotation and scale to that of the reference and pull the shapes to match those of the reference. I wouldn’t recommend doing this all the time though, training your eye to see silhouettes and shapes will help you a great deal and makes you faster.

VERTEX


Stylized

197

The main thing to do is look at your sculpt from all angles, all the time. Using orthographic views only will give a wrong impression of your sculpt so it’s key to rotate around your sculpt while working on it. Once you have all the basic facial planes defined you can start to add more mass to the areas that need it. You can do this either by using the Clay brush or by using magnify to bulge up the forms. Watch out with using magnify though, if you use it too much you might end up with a sculpt that looks like a collection of balloons pasted together instead of natural shapes flowing into each other (example at the bottom of the page). Apart from shapes flowing into each other there’s also a thing called overlap, this is another aspect that will give believability to your sculpt. Everything in the real world has to obey to the law of gravity, so does form. So naturally once you have bigger lumps of form near each other they will start to interact and one form will start to overlap the other one.

Clear examples are fat bellies and real breasts, they will hang over the forms that are below them unless they are pumped up with air or silicone. But it can be found in more subtle things like wrinkles of older people or with extreme facial expressions like you often have with cartoony exaggerations. So instead of just carving in a line to suggest wrinkles formed by smiling, what you can do is mask of the lower form then bulge up and overlap the higher one. You can also use the inflate modifier on the entire mesh or masked areas to get some extra volume and overlap without any effort but watch out not to overdo it because you can lose your hard surfaces easily this way.

VERTEX


Stylized

198

Hair and Fur

Hair and fur in 3D can either be done the sculpted way or by using things like fibermesh. I prefer sculpting it because it’s easier, faster to get the overall look right and to makes it match the rest of the sculpt. Like anything 3D what you need to do first is get the overall volume blocked out. On this block out you suggest the flow of how you want the hair to move. This is an important step since it can either make your sculpt look more dynamic or just dull.

For detailing the hair I generally use the same shape language , namely an S shapes furpiece. This is more of a personal preference/style but it works for me. I carve these details in using the Orb Cracks brush with lazy mouse enabled on it and bulge up the individual thick strands with the magnify brush.

Colors

Once you’re pleased with the result of the sculpt it’s time to polypaint. Most of the cartoony character sculpts I have done so far where fairly easy to paint. First of all you need the right materials to start polypainting on, both the skinshade4 material or the Basic material with an increased ambient are good candidates. A polypaint material should not have a colored matcap, it should just be white. That way the colors you polypaint on the material are the exact same ones you’ve color-picked.

VERTEX


Stylized

199

The brush I use for polypainting is the Standard brush with zadd disabled and RGB on. By shifting the RGB intensity you manage the amount of color you add. The first thing you do is add a basecolor to all of your subtools, you can determine these colors by looking at the 2D concept. Apply color to the entire object by going to the color menu and pressing the Fill Object button. You can also use the RGB intensity in this stage. Let’s say you picked a basecolor that’s too light and you want to darken it but don’t know exactly by what amount, you can pick a darker version of that color, put the RGB intensity slider to a low amount and then press the Fill Object button X amount of times until the color on your subtool is to your liking. Since the colors in 2D don’t always work in 3D you need to make sure that the entire sculpt with basecolors still looks visually appealing. When that’s done I first start adding reds to the skin tones of the sculpt, there are a few areas that can use this to add a fleshy feel to the skin. Cheeks, lips, nose tip and back of the ears are the areas that are most affected by this. So pick a color that’s slightly a bit darker and a bit less saturated than a 100% RGB red, put the RGB intensity to a low value and brush those areas until you get the fleshy look you want the sculpt to have. This again is something that depends on your personal preference.

Gradients To increase readability on your sculpt it’s a good idea to brush in gradients to guide the viewers eye in the direction you want it to go. Usually the bottom of your subtool will be a darker color than the top. For this darker color you don’t just pick a darker tone of your subtools basecolor but you also need to shift the hue to make the gradient more pleasing to the eye.

VERTEX


Stylized

200

You can also add some painted ambient occlusion with these darkened colors to areas you want to be darker all the time regardless of the lighting conditions like the inside of the mouth , nose cavities and ear cavities. Apart from these steps there isn’t much to polypainting unless you want to start adding in textures and color variations but that totally depends on the style you’re trying to recreate. To paint the iris of the eyes there’s a nice little trick you can use to get some nice results. If you already have a set of eyes what you can do is disable symmetry and mask off one. Enable Solo mode so it only shows that subtool and enable Local Symmetry . Now enable Z symmetry, Press on the (R) Radial button and up the Radial count. Now you can easily paint a round iris and pupil. Try to create a gradient in the iris so it has and dark / light/ dark transition . Once you have this disable the symmetry, mask of the bottom half of the eyeball , re-enable symmetry and add some darker tones in the top part of the iris.

Once you’re done you can disable the Radial and Local symmetry , put the symmetry back to X, unhide the other eyeball and use the mirror and weld function on the X-Axis found in the geometry tab of tools to copy over the eyeball to the other side with the polypainting.

Rendering With the rendering you can go as far as you want but I like to apply the KISS principle since most of my cartoony sculpts so far have been 3-4 hour tribute sculpts that needed to be presentable in a short amount of time. I’ll explain the few steps I do to render my sculpts.

VERTEX


Stylized

201

To fill objects with materials you can put the mode to M instead of RGB and use the Fill Object function just like you did for the color but this time it will fill the object with the material without affecting color. For the eyes the ToyPlastic material is a good candidate since it has a tight specular highlight to it that resembles the glossiness of eyes. For everything else you can use the Basic Material and up the ambient to your liking. I also like to enable the Wax modifier on this in the material setting to get a slightly faked SSS going. Not too much or it will make your sculpt look too soft but if you keep it at 20/30 amount of strength it won’t do this. For the lighting I only use 1 light. The position of this light is either left or right upper corner depending on what side of the sculpt is facing the camera. You want the part facing the camera to catch more light. Go into the Render menu and in the BPR shadow tab and play with the shadow settings. I like to lower the GStrength to somewhere around 0.6 so the shadows aren’t too dark when I render. You can always make it darker later on while compositing. Upping the ray will increase the rendering quality but will also increase your render time. Hit the BPR button to render the final result and save away the passes that are shown in the BPR Render pass tab in the Render menu.

Compositing

Now that you have separate passes you can import these into Photoshop, Use the mask to apply a nice smooth mask on the passes and put the depth pass above your shaded view in overlay mode. You’ll see it lightens up the front and gets darker towards the back, it increases the readability some more but you can tone it down to your own preference. You can also put the shadow pass above that one and put the layer mode on multiply and tone that down to your liking. It might also help to use colorbalance on that pass to color your ambient some more.

This is my entire process boiled down to these key points , I hope it was informative and I can’t wait to see the stylized sculpts you guys come up with.

VERTEX


Stylized

202

VERTEX


Stylized

203

Conclusion

Once you’ve done all of this you’ll have a nice presentable image of your model. These were my steps to creating a stylized character sculpt, this process works for me but of course there’s a lot of other techniques out there to experiment with to achieve results to your personal taste. Thanks for reading and have fun!

About Me

My name is Leslie Van den Broeck , I’m from Belgium. I’m a character artist with 2 years of game industry experience. I’ve been interested in everything that involves the creation of games from early on, both technical and artistic, and I have been influenced by a lot of artistic styles over the years. Meeting other artists and seeing their work drives me to better myself and I hope to continue doing so for the many years to come. My goal is to become the best artist I can be and to work on a lot of awesome games with awesome people.

Leslie Van den Broeck

w w w. l e s l i e v d b . c o m

VERTEX


204

Jieanu Dragos

www.jieanu.com


205

Olivier Cannone

www.rahan.cghub.com


Mech Texturing

206

Mech TexturingAlan Van Ryzin Texturing Tips and Tricks By:

Color Block-in

I use this part for prototyping color schemes and designs. This is super important before starting on the rest of the texture since if I get too far and decide I hate the color choices, it would be a pain later to change if it’s too big of a change. I try to experiment a lot in this stage with color ideas and block outs. I usually start by doing selections from 3ds Max or Maya on mesh parts where I want separate colors. I then bring those selections into Photoshop and do a color fill to fill in those areas. This stage is pretty important since I usually try to make sure the colors are working before starting on any wear/dirt/detail. It’s super important to block out your colors before doing anything else. It’s a pretty simple process, and quickly allows me to see where I’m at color wise. I highly recommend doing this for anyone texturing, it makes things much easier down the road. In this case I blocked out the subtle pale greens, tans, some of the decals, where I want all the dark greyish blue values for wires, pipes, etc. I also worked in some subtle camo and discoloring to areas just for extra variation.

VERTEX


Mech Texturing

207

Separating

After I get my colors blocked out and mostly in an area where I like them, I move onto the other parts of metal work, dirt wear and etc. I break this process down quite a bit to speed things up. I try to think of this type of metal texturing as a simple breakdown of wear, dirt, and color variation. If you think of any metal surface it has some dirt, some signs of wear being it rust, paint chipping, scrapes or scratches, and then it has variations of color either caused by the prior, or even environmental lighting which I try to bake a little of just for extra interest.

Base Textures

I first lay down a couple base textures. These are usually very gray and midtone-ish maps I source from photos, these help with the smaller details so I can focus on the parts that matter. Picking good source textures for base maps is mostly about finding interesting shapes, but also not picking a source that’s too contrasty as you want subtle stuff and not a lot of crazy contrast. I use CGTextures a lot, and they have a pretty kickass library of base metals and base textures. Below is a pretty nice one, it has some detail that needs to be removed but you can see the subtle shapes that are pretty nice. I usually will do a color range selection on something like this, or even just use it straight up and do some noise reductions on it. The key the base textures is very low noise and low contrast. I mostly use overlay blend mode for these and they sit just above my base color layers but below all the other stuff.

VERTEX


Mech Texturing

208

Wear and Tear

I think of this as anything that is essentially damaging the material. I try to think of what the material is that I’m trying to sell visually and observe in real life how it damages, i.e. painted metal chipping, bare steel oxidizing, rusting, etc. The key I find to doing good edge wear is about doing as little as possible but doing it in the right places. We are trying to communicate that it’s worn, not actually wear it out. To communicate that I put it in areas that are most commonly worn and areas that I feel tell a story about where it’s been or how it’s used. Thinking in this way really helps me break the process down and not overdo it.

I create this through a combination of photo sourcing and hand painting. I hand paint what I can’t photo-source or what I can hand paint quick enough. Photos are good for some stuff, painting is better for others, in the end I want a stylized real, meaning it has the benefits of photo with the style and beauty of painted. Too much of either for this genre and the look and feel would be bad for this. While this model didn’t have a ton of wear, you can see it subtly mixed in.

VERTEX


Mech Texturing

209

I usually create the wear pass by using a very fine brush with a middle gray or white (sometimes a dark value depending on the base colors) with a combination of shape and color dynamics that are mapped to pen pressure on my Cintiq. In doing this, while I’m painting the edge wear I can vary the shape and size of the paint chips or scratches on the fly which speeds up my process quite a bit.

VERTEX


Mech Texturing

210

I try for an overall mix of scratches, paint chips, and edge wear to give the look of being worn out. For this model, there wasn’t a ton of edge wear but enough to imply that some surfaces are freshly worn. I try to keep the wear to the most commonly worn out areas such as edges of shapes and corners. It’s best to study reference for where to place it. I start by painting all the local edge wear that I can’t photo source first, then going back and adding some use of photos for the extra realism. I do this by using select color range a lot when working with photos. This allows me to grab pieces of photos and use them pretty quickly. I then erase what I don’t need. Again this model I chose not to have a lot of wear, and focus more on the dirt and grunge.

VERTEX


Mech Texturing

211

VERTEX


Mech Texturing

212

Dirt/Grunge/Drips/Weathering This is similar breakdown to wear, although I try to think of all the places dirt accumulates. I also think about where I can put it to tell the viewer it’s dirty. Sometimes dirt accumulates in areas in real life you wouldn’t think to have. I try to push this so the viewer sees it as dirty, it’s more mind’s eye dirty. This is also a combination of painted and photo. Some dirt is just a pain to hand paint and takes a long time, so why not use real life to your advantage? I try to find the most interesting shapes, artistic looking, and visually appealing dirt in photos. Then I hand paint the rest. Again, it’s the benefits of photo and benefits of painted combined. Simple brushwork and layering works well here. I start with a watercolor type brush in this scenario, also using shape dynamics and color dynamics with a warm value mixed with a dark value in my color swatch for the color dynamics. I slowly build it up with multiple passes, this allows me to (based on pen pressure) create soft dusting or dark muddy type dirt. It’s a careful mixture between the two when painting to get the right effect. You want some dried dirt, and some wet dirt to create the look. Placement is very important here. Areas like the legs get more dirt since they are in more contact with the ground.

VERTEX


Mech Texturing

213

I start with a similar brush to the wear brush, but it’s more about the placement than brushwork. I go in and hand paint all the crevices and fill them with a nice warm value, slowly building this up ending up with nice imperfect shapes that look natural. Next, I’ll go in and photo source some dirt to add realism and an extra even of natural look. It’s a careful balance of photo and hand painted. Certain things like drips or other weird shapes can be time consuming to paint so I try to use photos to my advantage.

VERTEX


Mech Texturing

214

Rethinking Final Color Theories

Once I do a base pass of wear, dirt etc, I rethink the coloring to try to make sure they are reading well and design wise are the colors I want. I try to compliment shapes with color, and areas where I want the viewer to look more I emphasize. Things that are touched by human interaction are sometimes important to express more. Things like door handles or doors since it’s where a human might interact with the object. Since this isn’t a car, it’s not obvious where to accentuate sections like that, so I chose to bring out the details that people are used to seeing such as wires, springs, etc. These kinds of things the viewer can relate to since they are used to seeing them around them in real life. This is important since it gives the viewer a sense of the object being understandable and digestible. I go back and adjust my varying color layers saturation, brightness and hue to get the right look. In this case I wanted some subtle blue in the black values, and I desaturated the red tones a bit. The color work on these mechs is a bit of a design process within itself. I try to combine what I feel looks good with the concept reference, but also just what looks appealing. Some colors just look ugly together, so even though we are making something beat up and dirty, I still try to keep it appealing with coloring. Another big part of color is how shapes read from a distance. This this is a mech game, a lot of times you are seeing them far away so I wanted the larger shapes to be obvious.

Detail/Photo-work

This is where I go in and add the stuff I chose not to hand paint or manually model in the high poly stage. I do this on purpose for flexibility. This way I can work on the detail while texturing and experiment a lot. Some of these concepts are not fully fleshed out, and so I like to leave some of the texture detail up in the air to decide later. When I’m photo sourcing for detail, I usually pull small parts from all over the place, things like aircraft, military helicopters, etc. work well for this subject matter. I also will pull from random sources; just anything I feel makes sense mechanically but also looks cool. I experiment a lot, allowing myself to make happy accidents. I try to be sloppy, it may sound stupid, but I do it on purpose so I can allow myself to make mistakes because a lot of times the best ideas I’ve found are from the randomness of placing detail and seeing how it looks. I try to think of this as a bit of a design process within itself.

VERTEX


Mech Texturing

215

In the end, the diffuse on this stuff is pretty important, and it’s all about combining wear, dirt, detail, and a mix of all of this from both photo and hand painted. Again I wanted stylized real here, so not too painterly and not too realistic photo generic.

VERTEX


Mech Texturing

216

Specular

Specular for this was followed from reality but mostly a stylized approach. I wanted it to look interesting and not necessarily photo real. In real life, painted metals don’t reflect much so I pushed it a bit to give it some extra detail and interest. I start by duplicating my diffuse layer group or PSD depending on how it’s setup, and going back in and adjusting values for all the work I did earlier. For things like dirt, mud, etc. I will usually darken, while with edge wear I’ll try to bring out more to give it a nice dynamic look. It’s also important to add extra detail dirt etc. that’s not in the diffuse so that the texture looks dynamic enough in motion. Things in real life have a lot of information that is only seen in specular, so the idea is to replicate that here. I also usually accentuate my cavity map to bring out some of the nice detail.

I also try to accentuate areas that would realistically have a good amount of specular, so plastic stuff or shiny metals, etc. When I’m all done I bring all of this into UDK since Hawken runs on Unreal Engine 3. Although in this case I ended up going back and adjusting my diffuse and specular to make it look good in engine. I also take a lot of the detail that I added in my diffuse and place it in my normal layer group and run a height to normal conversion to combine it with my baked normal map. In the end I try to capture the concept, but also to expand on the concept. I make sure the color is working; the specular isn’t too bright, etc. This is pretty important since sometimes the post in game can wash stuff out too much, or even over darken things with too much ssao, so I try to tweak as much as I can.

VERTEX


Mech Texturing

217

VERTEX


Mech Texturing

218

I usually put all this in a test map or make a custom map with some lights to do some final shots of it, I try not to rely too much on lighting to make it look good. I want the textures to do their jobs. The baked normal map combined with the 2D one helps sell the surface details when light hits them, since I didn’t model that stuff into the high poly, this is important.

VERTEX


Mech Texturing

219

Sometimes I’ll place the model in a test map that comes with udk just to see it in some post FX setups and see how the color is working and how the spec is working in a variety of environments. The idea here is to kind of average all the looks so that it looks good no matter where it is and the specular isn’t getting too hot or the colors aren’t too dark. It’s a good idea to test this stuff. I also look at the model in UDK with just diffuse only to get an idea as to where it stands value wise, this one was on the dark side but it ended up working out in the Hawken build.

VERTEX


Mech Texturing

220

VERTEX


Mech Texturing

221

Conclusion

In summary, it’s all a careful balance, and the main thing I try to remember for my own workflow is experiment like crazy. I do that because I look at experimentation as the R&D of texturing. I also try to break down what I’m trying to achieve with textures and how I can better communicate it to the viewer. I think of what people are used to seeing and how I can closely show them the story I’m trying to tell them through the use of color, all without being too loud in the texture style in order to allow them to digest it visually and observe the subtleties. I hope this has helped bring some insight into my process. There is so much to show when it comes to this stuff, but these are some of the highlights. I’m constantly learning myself and perfecting things. Always keep iterating and don’t be afraid to try weird approaches for stuff, you never know what might work well. In the end I find you can’t really invent anything without making a bunch of mistakes along the way.

About Me

My name is Alan Van Ryzin. I’ve been in the game industry for about 9 years, I got started as a kid working on mods for BF1942. I’m a self-taught artist and what started out as a hobby for me turned into a job. I worked painlessly on mods creating content trying to get better and eventually someone noticed me. I worked at a couple studios on mobile games and eventually FPS titles. I learned a lot in the process about this industry and with that knowledge I decided to pursue freelance because it allowed me to work on many things at once and keep myself artistically stimulated. I now have freelance but also started a company which I co-own called Art Bully Productions. I hope to continue making art that people enjoy, but it’s more about learning and getting better for me. I love CG art because it’s the marriage of art and technology, both of which I love.

Alan Van Ryzin

w w w . p o l y g o o . c o m

VERTEX


222

Marco Di Lucca

www.evilmaul.cghub.com


223

Luces

www.luces.cghub.com


Cloth Fundamentals

224

Cloth Fundamentals Emil Mujanovic Tips and Tricks By:

I remember when I first started creating characters in 3D, how hard it was to get believable and natural looking cloth folds. This was a few years before sculpting and normal maps became common use so it all had to be hand painted or photo sourced. Texture sizes were relatively small so you only had a handful of pixels to play with and I found it difficult to find relevant resources to help me understand cloth folds. So I turned to the game-art community , places like Polycount, and I found myself just looking at other artists to see how they were achieving their results and trying to emulate their style and techniques. However, I was only able to learn their workflows for creating the end results, but it didn’t bring me any closer to understanding cloth folds. Once I had a better grip on the tools and workflows, I found myself heavily relying on photo reference when trying to create natural folds. This only got me so far as I was just copying the reference and still no understanding of why it was behaving the way it would flow. In the past year I’ve just been obsessed with cloth folds and wanting to finally master it once and for all. I’m still a long way from being a master, but I’m starting to see repeating patterns, structure, flow, and began to look for consistencies in amongst different materials. My focus was to understand how different cloth behaves, how it bends, how it warps, how it folds, how it creases and the best way I found to study this was by 3D scanning. It will give you a full three dimensional view of your subject without any lighting or colour interference. Hopefully in this article, I’ll be able to share some of these simple observations I have made in the past that have helped me understand cloth a whole lot more. Also, to provide you with access to a simple entry level 3D scanner that is extremely affordable and some general tips for converting the raw scan data to a final, polished, production ready sculpt in ZBrush.

Fundamentals

I’ll start things off by focusing on some basic core fundamentals for cloth. Most are relatively simple and common sense, but are generally overlooked. Some are guidelines you can follow to help you block in your forms and get a more natural and believable flow.

TENSION AND COMPRESSION A Tension point is a point where a cloth fold will originate from. It usually comes from an area where the cloth is being held up by something. A great example would be holding up a bed sheet, your fingers would be the tension point. Compression is where the cloth has enough weight and looseness to it that it sags and begins to fold in on itself.

VERTEX


Cloth Fundamentals

225

CLOTH THICKNESS This will help determine if the cloth folds will be broad or tight, sharp or soft, if there is much weight to it or not and whether there will be much creasing (memory folds) that remain in the cloth when it’s stretched out.

CLOTH FIT Tighter folds will generally have more of a horizontal type flow where loose folds will have more of a vertical flow. So for tighter cloth, the stretching doesn’t allow the weight of the cloth to sag very much, so it will run in a sideways flow instead of downwards if it was more loose and flowing.

VERTEX


Cloth Fundamentals

226

ZIG ZAG / DIAMOND FLOW The more you look at how cloth behaves and flows, the more you’ll notice the zig zagging pattern emerge. It’s far more obvious on cloth with a lot of compression and when it’s in a cylindrical form, such as trouser legs or long arm sleeves. The zig zag flow will move in a downward direction and generally stem from a point of tension in the cloth. As it moves down the cloth and begins to intersect with other folds, it will create a diamond shape. The diamonds can vary in size and can get quite flat as well in areas of high compression to the point where they no longer resemble a diamond shape. The zig-zag folds can also have deep and shallow folds depending on the fit of the cloth. Like in the example of the two T-shirts above, the white one on the right has really shallow folds, while the darker shirt on the left has deep folds.

CREASES / MEMORY FOLDS Creases or memory folds are details left behind when cloth has been folded consistently in the same position numerous times. It can also be created by folding the cloth and applying some weight or pressure onto it while it is folded, so when it is unfolded the crease remains.

VERTEX


Cloth Fundamentals

227

They commonly occur in areas of severe compression, such as behind the knees and the inner side of an elbow joint, because of the force applied to the cloth when these joints bend. It also occurs on the back area from having the cloth fold when you’re seated and the weight of your back against a surface wrinkles your clothing. Adding these small details will give your sculpt that extra level of realism and also some visual interest to a potentially flat surface.

3D SCANNING - ENTRY LEVEL 3D SENSOR 3D scanning seems to be becoming a common occurrence within the games industry these days with a lot of studios relying on the technology for in-game production as well as for pre-rendered cinematics.

There are quite a lot of mixed feelings among 3D artists regarding 3D scanning and its place within our industry. You have your purists who really dislike using 3D scans and prefer sticking to hand sculpted methods, then you have the other side of the coin where artists really embrace the technology and utilise it as best as they can within their workflow.

VERTEX


Cloth Fundamentals

228

As a character artist myself, I think I fall somewhere in the middle, where if I don’t need to use them in production, I won’t, because I’d like to feel confident in my own abilities. However, there are quite a lot of benefits: Educational purposes Great reference material Gaining the muscle memory from refining the folds from the scan base during clean up Free block out mesh that will help with saving time from the early stages of sculpting Realistic folds for free. Time saving I have explored a variety of 3D scanning methods, both high and low end and have had great and terrible results with both. One of the very first methods I tried was using a Microsoft Kinect for XBOX 360, which is one of the cheaper solutions. I’ll give you a basic run down of the process of how I would use a 3D scan made with a Microsoft Kinect and get it to a state where it’s production ready. WHAT YOU WILL NEED - Microsoft Kinect (either for XBOX 360 or for Windows - The Kinect for Windows sensor is slightly better and allows you to get closer to your scanning subject) or equivalent - Scanning software: ReconstructMe (the software I’ve personally used the most), Kinect Fusion SDK, Artec Studio, etc - Zbrush 4R6 SCANNING YOUR SUBJECT I’m not going to go into too much detail about the scanning process, because there are quite a lot of tutorials, instructions, etc, that come with the software you choose to use. Instead here are a few notes you should consider when you do your own scanning. Scan time: Build time: Textures:

10 – 60 seconds (depending on the complexity of your subject) The geometry is captured and saved in real-time, so it should be good to use immediately (outputs to common file types: OBJ, FBX, etc) Some software will also export colour information via vertex colour, which can be beneficial for base texture maps. If this important for you, check with the software capabilities first.

Detail:

Some software will claim that they can do some high detail, but from what I’ve found is the high detail stuff is only possible if you use a small scan area (50cm x 50cm x 50cm). Also it doesn’t seem to pickup details smaller than 2 – 3mm. So using a Kinect for facial scanning is actually quite horrible.

Live model vs Mannequin

Live model - The person you’re scanning will always have subtle movement from breathing, light swaying and/or other factors and this will always result in more clean up. - Cheaper and easier to have access to. - Accurate human forms and easier access to different body types. - Can get any pose from the subject you’re scanning. Mannequin - No movement with the mannequin so you’ll have a much cleaner scan (less movement jitters). - Requires a mannequin (either homemade or professionally made) so there is an additional cost. - Limited body types and poses. Looking at the raw scan data you can see that there are quite a lot of artifacts, surface noise, holes in the mesh and generally a lot of unwanted detail. This is fine because there are still quite a lot of things in the scan that I can use. Primarily the main forms and bulk, the underlying anatomy, cloth folds flow and some minor micro detail.

VERTEX


Cloth Fundamentals

229

In the past I would have had to make a base mesh to project this scan data onto so that way I can have a cleaner file to work with. One without any holes and cleaner topology. However, in recent times ZBrush has some really sweet tools that allow artists to do most of their work within ZBrush and without having to go back and forth with a 3D modelling package. In this instance I’ll be using Dynamesh to do a lot of my geometry patching, re-topo and clean up. It’s incredibly simple to use and very effective for a variety of sculpting needs outside of basic clean-up and re-topo. DYNAMESH AND SCULPT PREPARATION In this case, I used Dynamesh because I needed to plug some of the holes in the geometry where the scan data failed to capture anything. The trick is finding the right Resolution value so that way you don’t lose the detail you have and also so it’s not too high to where it will be difficult to smooth out all the surface noise and artifacts, which will leave you with a blobby mesh. The only default setting I changed for this instance was the Resolution value. I set it to 512, but it probably could have been a little lower. I found it was a good balance because it gave me the right density for a base sub-division level and was able to project all the details without any noticeable difference. Following Steps 1 - 3 will generate a new mesh with cleaner topology, no more holes in the geometry and we are ready to start the clean-up phase.

VERTEX


Cloth Fundamentals

230

CLEAN-UP This next process is the clean-up stage. Here we’ll clean the sculpt by smoothing out all the unwanted surface noise, jitters and errors in the scan data as well as any unwanted scan data such as additional clothing, badly captured straps and buckles, etc. You’ll have to be careful not to remove and/or smooth out the smaller forms because they will be great guides during the second pass and polish stages of the sculpt. Just be sure not to disable Dynamesh during this clean-up process, since we will need to re-run it a few times (refer to step 4 in the image above). First we’ll focus on the unwanted scan data. In this instance, it’s the bottom of the shirt, the phone in the pocket and the shoes. This is where Dynamesh really shines because I’m able to re-topologise my mesh on the fly. I use the Clay Build-Up brush predominantly during this phase. I’ll do my best to flatten/unify the shirt with the jeans so that the geometry overlaps each other, then run Dynamesh to re-topo to clean the geometry and then gradually move around the mesh until it’s all smooth and clean.

Next, I moved onto removing all the surface noise, movement jitters. This is one of the more crucial steps in the entire process, because I had to preserve as much of the fold details as possible while smoothing out all junk in the scan. The two brushes I used most in this process are the Smooth brush (sculpt while holding down SHIFT on the keyboard) and the Clay Build-Up brush. There will be times where I will use the Damien Standard (Dam_Standard) brush, but that will be to define some of the weaker forms before smoothing that area. It will help preserve some of those details that would otherwise be lost, such as the micro folds and pinches in the cloth, as well as stitch lines, pockets and overlapping cloth.

VERTEX


Cloth Fundamentals

231

After I had gone through the entire model and smoothed out most of the surface noise, reinforced some folds and plugged any holes, there was one part that was left before I could start sculpting and refining my sculpt. That is the waist area of the jeans where the shirt used to be. This was fairly simple to clean, but took a little bit of time to shape it just right without using any underlying base body model for reference. Essentially all I did was use the Move brush to get the shape and Damien Standard brush to refine some extra shapes for better scale reference.

VERTEX


Cloth Fundamentals

232

REFINEMENT Now onto the fun stuff! This part in the process didn’t take me very long since I had a clean base to work from and all I had to do was refine the edges and bring back the details in the areas that were missing.

I started out by defining the edges of the main folds/creases, such as the legs and the knees. The technique I used was tracing along the contours of the folds using the Damien Standard brush which defined the peaks of the folds a lot more. It’s fine to be a little overzealous with your brush strokes, because you’ll need to go over them again with the Smooth brush to soften them back up again ever so slightly.

VERTEX


Cloth Fundamentals

233

VERTEX


Cloth Fundamentals

234

Once I got to a position where I was mostly happy with the larger forms, I would move to the smaller forms, such as the creases/memory folds as well as defining the stitch lines and pockets. This is the first time that I felt that I needed to go up in a sub-division level because the smaller details were looking too jagged. In my workflow I find it important to never go up in sub-division levels too early. I will do whatever I can in the current sub-division level until I feel like I can’t squeeze any more detail from it. This will allow you to focus on the whole model and get it evenly detailed without getting too caught up in one particular area. It will give you less blobby results and you’ll spend more time focusing on the larger forms and have a stronger silhouette because of it.

And the major clean up and refinement is done, which leaves only the final polish and adding little details like the button for the jeans, small rivets at the edges of the pockets and the belt loops that sit around the waist line. As a personal taste, I would create all the pockets as separate sub-tools and project them. This will give the pockets cleaner lines and you have more control by changing their shape and size without having to re-sculpt the areas you want to change. TOTAL TIME SPENT Scanning: 1 minute Scan prep: 5 minutes Clean-up: 30 – 60 minutes Refinement: 5 hours Total: Approximately 6 hours

VERTEX


Cloth Fundamentals

235

About Me I’m a Character Artist at Massive Entertainment – A Ubisoft Studio currently working on Tom Clancy’s The Division and I have been in the video game industry since 2006 and have worked at studios in Australia, Singapore and Sweden. I have always had an interest in video games at an early age, mostly playing them rather than developing them. But once I discovered that I could mod my favourite games with my own maps, skins and models, I was hooked. I started out with making my own deathmatch maps for Duke Nukem 3D so I could play with my friends at school as well as some custom sprites for Grand Theft Auto. I stumbled onto Polycount while looking for Hammer Editor tutorials to make my own maps for Half-Life/Counter-Strike and was introduced to a world of 3D art and game development and it all moved on from there. I got my first break in August of 2006 at an independent game development studio in Melbourne, Australia called Big Ant Studios where I was hired as a Junior Environment Artist for Spyro The Dragon: The Eternal Night. Since that time I’ve been involved in 6 projects ranging from budget titles to AAA projects, I was also an Editor and Administrator at Polycount and helped with community competitions and challenges such as Team Fortress 2 Polycount Pack Contest, BRAWL and many others.

Emil Mujanovic

w w w. a r t b y e m i l . c o m

VERTEX


236

Stefan Morrell

www.stefan-morrell.com


237

Tyson Murphy

www.gardenturtle.blogspot.com


Outsourcing

238

Outsourcing

Outsourcing Tips & Tricks By: Peter Kojesta

Running an outsource studio has its good times, and it’s difficult times. The one constant is passion for the work. The fact is you can’t survive without passion; we don’t clock in and clock out. The trouble comes from trying to find a nice balance between life and work, since this industry can more than consume you if you let it. This article relates to a few lessons learned while operating Exis, an outsource studio established in 2003 that generally works on AAA titles; but the lessons contained herein are good for all freelance artists. It’s important to remember that this is a business. Publishers and developers, regardless of their love for the art, are faced with that fact all the time. If your intention is to be a freelancer, you too must be aware of the business aspects of game development. Some considerations:

Workflow

Your work as a freelancer is 60% art, and 40% administration. How you deliver files, when you deliver files, how you invoice clients, deal with customer needs, and ensure security are all things to consider. Developing a written ‘standard operating procedure- SOP’, or a team/company bible, is a great way to spell out your work ethos. This document will serve as your ‘go to’ on how things must be done, and can also serve as a checklist for delivering quality to your clients. It’s important to be concise, as this document will provide the standardization you need to become a reliable art developer for your clients. You can even share this SOP with clients so they understand you’re serious about the other 40% beyond asset/art creation.

Charging Clients

This is a question I hear all the time. What should I charge a client for my work? The reason the question keeps coming up is because there isn’t a simple answer. Clients are as varied as the projects they develop, as are artists. The most important thing to consider is what you’re able to work for and use this as a basis. Keep in mind that you should never work for the bare minimum you need to “get by”; this only screws you. Companies who hire outsourcers are saving money on a large variety of things related to hiring an employee: health benefits, buying you a computer, paying the electric bill associated with your machine, furniture, heating a building, buying hardware and software, providing snacks, hiring HR, and all of the other infrastructure that is needed to maintain an employee (do you have any idea what it costs to heat 50,000 sq.ft?). So given this knowledge, understand that your value is beyond simply your survival rate. If your skill and quality is beyond the norm, feel free to charge for that. That said, don’t leave money on the table for pride. Keep in mind that the freelance business can be feast or famine, so sometimes a lower paying contract with higher work volume/longevity can really be a benefit.

Payment

It’s also important to remember that many clients won’t pay you right away. Many larger companies require at least a NET30 pay schedule. Which means they pay you 30 days after the invoice date; and you generally invoice when the model is accepted, not complete (though this is loose). When confronted with a company you’ve never heard of, nor have reason to believe is 100% reliable, you may ask for a % up-front, and the remainder on delivery of the assets. Once you establish a rapport with the company, and they prove they are as reliable in payment as you are with asset delivery, you can establish new payment guidelines if you so choose. First and foremost, don’t EVER work without a written contract.

Communication

This is the number one most critical thing you need to be aware of. The fact that you’re good enough to be an art freelancer is a given (if not, go practice); But your ability to communicate with your clients is paramount. Communication is a two way street, so you need to make sure to engage your client about their needs, about their source materials, and about their expectations. If a schedule or deliverable is unrealistic, you need to communicate that to your client without making them feel dumb or disrespected.

VERTEX


Outsourcing

239

Matt Hawkins from Top Cow comics (an awesome leader) gave me one amazing piece of advice that I’ll pass along to you now. As obvious as it may seem, if you embarrass someone, they won’t do business with you. That said, you can expect some clients to treat you like the help; and you’re going to have to decide if you’re alright with that. Aside from this, you need to make sure your client knows what’s going on with the work at all times. If you think you’re going to be late on delivery, you need to let the client know immediately so they can plan for it, or around it. If you ever wait until the last second to tell a client, you’re not only an idiot, but chances are you will lose the faith that client has placed in your ability to deliver. If your client has an outsource manager, this person will be your primary contact, but often some places will designate a producer or a line artist to guide your development or deliver. Make sure to keep this person informed.

Common Pitfalls

It’s okay to say no to a contract if you don’t think it’s up your ally. Do so respectfully, and if you have a contact who can perform the contract, direct the client to them. When the client does have a need that fits your skill set, they will think of you for it. Lastly, reputation is king. If you have a reputation for delivering quality work on time, you will be able to trade on your good name for future work. If you make sure to communicate well with your clients, even some missed deadlines are forgivable. Art tests can and should be done for some clients, and others use it as an unscrupulous way to garner assets. Understand that the latter is VERY rare, and it should really be obvious to you what category a potential client falls into. That said, your portfolio is often enough of a calling card to warrant hiring you, and those artists that don’t use their own work are often exposed soon enough. Late payments. Some clients may pay you late, some may drag you around for quite a while. Nearly every client will wait until the last few days on a NET30 invoice to pay you. Understanding what money you’re owed and following up with clients is your job alone; do it poorly and you won’t have a job for long. It can seem like a full-time thing to get paid sometimes, but this comes with the territory, and you should expect it.

Conclusion

Hopefully these few hints will give you a better understanding of the freelance market. If you make a name for yourself by delivering quality work, make sure to charge reasonable prices for yourself and for clients, you can have a nice career and work on some great projects.

About Me

I started my career in 1997 as a contract artist on a tiny little game called Cthulu Rising. I continued to teach myself 3D art as I progressed and finally graduated from college in 2003 with a degree in computer science. Upon graduating I was hired at Breakaway games, where I stayed for the next two years. I worked as a contract artists on the side; and in 2005 I went to work on Exis full-time. Since then I’ve had the pleasure to lead our team on projects like Xcom, Bioshock infinite, Fear 3, and Civ 5. I’ve worked with companies such as Firaxis, Irrational, Lucas Arts, Game loft, and Warner Brothers on various games across all known platforms, and also defense contractors such as Northrop Grumman and General Dynamics on serious simulations. In 2012 my company Exis released its second game, Majestic-12 for the PC (a 3 year labor of love). We’re working on new things, and still delivering top quality art and code assets to our clients! I’ve enjoyed every minute of this game dev thing these last 16 years, and I can’t see myself doing anything else.

Peter Kojesta

w w w. e x i s i n t e ra c t i v e . c o m

VERTEX


240

eat3d.com


241

eat3d.com


HARD ON

242

Hard On

Modular Hard Surface Design By: Elijah McNeal

Hi! I’m going to give you some know-how about Modular Hard Surface Designs. I prefer to think of these things as Legos. At the end of the day they kind of are, at least for me that is. Modular assets are objects that can be used throughout an environment, or at some points are literally a part of an environment, multiple times. Think of a hallway with lots of cool stuff in it. Take that stuff and break them into particular groups of like/unlike objects that can be added to another hallway or a room later. Now we’ve got some basic modular assets. In the case of these assets, the hallways themselves are modular assets. At cursory glance, some of these things can seems pretty boring. Wires here, broken glass bottles there. At the end of the day these things give our setting it’s character. That’s not to say that materials aren’t important, they are. They can make or break and environment too, but we want to push the grey enough to where a naked grey shaded hallway looks pretty damn cool. Before I even begin designing the environment; I think about my materials. Often these include metal because of a personal preference. That preference is derived from my own desire to create Sci-fi settings. If it were a more historical setting; Things such as wood and stone would be much more dominant. Since I’ve decided what I want to make and what it will be made out of I can move on to what this is for. For this demo I’m going with the industrial deck of a space craft. This means I will want things such as pipes, older computers, wires, cables, knobs, switches, vents, etc.

Three Layer Attack

VERTEX


HARD ON

243

Ground, wall, ceiling. This is where it all starts. How interesting can a wall be? Plenty interesting. That interest is dependent upon it’s design purpose; Who or what is it for and what is it made out of? I don’t want to get too crazy, but I do want to lay out the essence of what is occurring with the geometry. When I say “essence” I’m referring to what the shapes are doing in terms of their language. Morphing shapes, or 2D clay as I think of it, is the name of the game here.

Internal to External Design elements like insets, lights, ropes, wires, cables, pipes, small vents, etc. Now we’re getting to things both inside and outside of the base design’s structure. These elements are typically the lower level stuff that is scattered throughout sections of the scene to give certain areas a unique quality.

Environment related elements like A/C units, computers, girders, rails, machinery, phones, etc. This is where the environment really claims it’s identity from others. Not only do the large shapes vary, but their details and alignment do as well. While I have shapes that move up and down, the dominant guide is horizontal because these are designed for hallways to guide the player.

VERTEX


HARD ON

244

VERTEX


HARD ON

245

As we go deeper into the vessel, we begin to see more signs of wear and tear. Duct tape is being utilized to keep wires into place along the floor. The tubing is getting less fancy and worse from wear. Hydraulics and pneumatic handles adorn the large mechanism and older phase technology lines the corridor walls. Computer consoles that resemble heavy duty construction machinery panels hang from the ceiling and monitor systems pressure. The pipes are getting larger, moving greater amounts of material that may be dispersed or collected. And the shape language is becoming more simple, but with a great abundance to give our viewer a sense of primitive technology.

VERTEX


HARD ON

246

VERTEX


HARD ON

247

Now for something...a little different. Here is a good exercise to execute that goes across spectrum. Shape design, material design, and structural design. The wonderful thing about this is that you can use the same shape, with the same purpose, and give it varying levels of coolness...and they’re all modular. Each of these things is a crate. Our first set is made with traditional wooden crate material, but with different shapes that facilitate different uses. Some lay down, some stand up. Even though a crate is a sort of box, different shaped boxes are intended for different object storage. Are we storing guns and bombs, or just apples and oranges? For these I was thinking about things such as various foods, including small livestock. The second column consists of modern materials that are mostly found at construction zones, military shipping areas, and industrial warehouses. They are likely for grenades, guns, and tools or sorts. This last set is the more imaginative of the bunch. Huge crates that are mechanically integrated into the bulkheads and floors can quickly get attention over the standard. Notice though that the shapes haven’t changed and their overall purpose is the same. They hold stuff. How they hold it will be more interesting, and the animations for these would surely be cool, but at the end of the day they just hold stuff. What do they hold? I’m not quite sure. I’m under the illusion they hold futuristic goods across the spectrum; food, weapons, tools...jetpacks.

VERTEX


HARD ON

248

I hope you’ve enjoyed a quick look at my process for creating modular hard surface disigns. Taking some time to plan out how your various forms work together can really pay off in the end! Here I’ve brought some recent work I was allowed to release for Star Citizen. Following more along the lines of the short walkthrough, these are corridor tiles created for the Bengal Carrier vessel.

VERTEX


HARD ON

249

About Me

Elijah started drawing at a young age. As a kid he loved drawing cartoon characters, cars, buildings. For hours he would draw anything he could get his eyes on that interested him. His first taste of drawing in a professional manner was tattoo design for sailors, marines, and even foreign studios while serving in the US Navy is Japan. As time grew on, Elijah realized he had to engage his childhood dream of drawing machines and buildings. Elijah McNeal is a recent graduate from Art Institute of Dallas, majoring in 3D Animation and Modeling. Elijah has worked for Picture Plane Imaging, where he did work for franchises such as Skylanders Giants, Transformers, and Ben Ten, Austin Dermagraphix, and the highly anticipated Star Citizen game from Cloud Imperium Games.

Elijah McNeal

www.elijah.cghub.com

VERTEX


250

Mikael Lugnegard

www.lugnegarddesign.com


251

Andrzej Sykut

www.azazel.cghub.com


ZBRUSH TRICKS

252

ZBrush Tricks

Designing and Concepting Mech & Tech Characters By: Furio Tedeschi

I will show a basic approach and thought process of how I would go about designing and concepting mech/tech characters in ZBrush for video games, 3D prints or film work. I will start by going over some new methods and techniques I have been using with ZBrush for doing fairly quick concepts. I like to start my concept in ZBrush mostly using Dynamesh. I find using 3D concepts allows the director or client to see the concept from multiple angles at a rough stage. Photoshop is used to add final touches, quick VFX, lighting and fine tuning to get the images ready for presentation. Using 3D to create your concepts can be a longer process in the beginning but will be faster and more versatile later on during the project. Further assisting the project, the base meshes from the 3D concepts can assist previs teams with character block outs, and ZBrush sculpts can assist the 3D modelers for reference to create the final product both for video games or film. Having said this nothing beats the quick suggestive lines of 2D concept so it’s always good to play with these methods as well. I will often do some really loose sketches before jumping into any 3D application.

BLOCK OUT

I start with a Dynamesh sphere and build up the parts and rough forms using the low resolution Dynamesh. I’ll use clay tubes and trim brushes to block out shapes I like and complement each other. This stage is a very iterative process and I focus on getting the character’s volumes and constantly check the silhouette to maintain forms and shapes I’m after.

VERTEX


ZBRUSH TRICKS

253

2D CONCEPT

From this stage I will take a screen grab into Photoshop and do a really quick paint over, no longer than 20 mins. Just loose strokes to suggest ideas I want to recall – my memory sucks and this helps. Keep the 2D concept loose, don’t get stuck in the details and it’s okay if it looks bad as these are only meant for your own viewing. In this mech’s case I wanted to allow him to use tank and heavy ammunition in combat. The mech has interchangeable hands to interlock into tank barrels and other heavy artillery weapons. The mech’s structure is built to resist high impact fire recoils. These ideas end up dictating and assisting how the mech looks by adding visual landmarks. I also wanted it to be a highly manoeuvrable unit so I try to get these rough ideas into the concept. Also take a look at some modern day robotic joints if that’s the vibe you are going for and they are usually pretty straight forward mechanics. Don’t copy just borrow where you need and just try to get an understanding of how certain joints need to move – again keep it simple.

REFINING BLOCK OUT

I Jump back into ZBrush and start blocking in some of the forms from the concept and any major landmarks I want in the sculpt. Again keep it loose and don’t get precious with your design. If something looks good but doesn’t fit in with the rest of the design, don’t fight it just change it and if unsure make a save. Remember 3D is very versatile don’t let silly hiccups slow you down. This also helps me prevent myself from spinning round the model for hours pointlessly like a tool - I often fall into this trap.

VERTEX


ZBRUSH TRICKS

254

Refining certain areas and using the standard insert brushes to block in joints and add volume. The TrimDynamyic, Hpolish, DamStandard, Standard and Claytubes brushes are used for the more organic structures. So as you start defining shapes you like, start increasing resolutions on Dynamesh and refining parts further.

DETAIL PASS

When adding detail make sure it is nicely balanced with some flat areas without detail. I think of traditional art theory and how you would like to find a nice balance of negative and positive shapes in a composition. I try think of the areas where the detail and flat spaces would be on the sculpt. Generally I tend to add detail closer to joints and manoeuvrable areas, leaving areas that would remain static as larger flat areas. Design is a really iterative and personal process, getting a good knowledge of military, space, sports and even RC cars/chopper designs will give you a good reservoir of material to pull from when going about constructing these kinds of things. There are methods and formulas to make things more pleasing to the eye and balance stuff out but in the end it comes down to what you like and dislike. The mech construction is still a work in progress and I would still do another pass to all the areas to make everything nice and clean or you could use this as a base and retopo further refining in another app, it just depends on the purpose of the model. In this case it’s just a personal piece for me and keen to see how far I can push the surfaces in ZBrush. Follow me on http://smokeflames.blogspot.com/ or http://blaze.cghub.com to see the further progression of the mech.

VERTEX


ZBRUSH TRICKS

255

Photoshop Effects

VERTEX


ZBRUSH TRICKS

256

DYNAMESH TRICKS

Here I will go over some really basic tips that are available elsewhere on the web but that I have found invaluable as well as some blatantly obvious tips. I hope you find something useful.

ReDynamesh: Alt drag anywhere on the open doc-

ument – not on the model this will only make a mask. As mentioned pretty obvious.

Polygroups:

Checking the Group button will allow you to keep any polygroups separate and combining separate meshes as polygroups will keep your meshes more organized. I will usually have this on while working, very helpful when needing to edit or move any polygroups around.

This will help you keep things more organized and make it easier for you to work on secluded parts of your subtools. Masking is also very useful in this case as you can mask out certain areas of your subtool to avoid sculpting over those areas.

Insert Brushes: A very powerful feature is the ability to clip off any part of your mesh and turn it into an insert

brush or by using the standard insert brushes supplied with ZBrush. Some of the navigation is a bit backwards but once you get comfortable it will be like 2nd nature. By holding ALT while inserting an insert brush you will cutout/boolean from the dynamesh. Also holding down shift while using Move transform will constrain your move Axis making it easier to keep things centered across your polygroups.

Dynamesh: Is very dependent on the scale of the subtool. If you are finding your meshes are too dense at low resolutions try lowering the scale. You are also able to take your dynamesh to 2048 resolution in the new ZBrush 4 r2 as opposed to the 1024 res of previous update.

VERTEX


ZBRUSH TRICKS

257

Start at a low resolution and build up your dynamesh resolutions just like you would have worked in ZBrush previously with the standard Subdivide Mesh method.

Polypaint: Will transfer across when using Dynamesh, again dependent on resolution and matcaps will be reset. Project: Project in the dynamesh menu will try keep as much of your detail as possible but will take a beefier pc to handle the detail projection and calculations will be slower. I would suggest using this at later stages in your work when most shapes/volumes have been worked out.

Subtools: To separate polygroups into separate subtools the easiest way I find is to use the Split functions in the Subtool menu. You can separate polygroups either by splitting the hidden parts or all. Using the split hidden gives you control over what you want to separate.

Some older works and approaches, AC00 and Plugs sculpt was really a test a couple years back, the process used on this was a mixture of stencils and flat brush which was previously used in ZBrush to its predecessors Trim, Hpolish brushes and so on.

VERTEX


ZBRUSH TRICKS

258

The T8000 head was a second try using the same techniques with stencils and Flat brushes My approach has changed slightly due to some of the new features in ZBrush but most of the same methods apply when doing a concept for a character. The design for Amod went through some variations but I had a pretty good idea in mind for the character. It’s still very useful to do a really quick 2D concept to block out the idea on paper as it does make some of the designing easier down the line. I like to treat nothing like it’s set in stone and try to never get attached with any area of my design. As long as you save regularly and incrementally, by adding more you will always have something to go back to if you do not like what you have.

AMOD

VERTEX


ZBRUSH TRICKS

259

So from the 2D sketch phase I would move onto the modeling. The Amod mesh parts started in 3ds Max. I try to just get the major forms in as they can easily be edited and reshaped in ZBrush. So 3ds Max is used for blocking in shapes and to start to get an idea of size and form as opposed to the new dynamesh option. Images below show some early block outs from Max

In ZBrush I started to work on the mesh to achieve the desired forms and shapes, clay tubes was used to add quick stokes to indicate denser detail areas versus larger flat panel areas and some refining has started as well. I tend to work on different areas of the model first, if I like the direction a certain area is taking form I tend to run with it and land up refining some areas before others. This can sometimes be a benefit as it helps set a standard for the detail pass on the rest of the model. The more refined parts end up becoming the bench mark for the rest of the model.

VERTEX


ZBRUSH TRICKS

260

Keep the main subtools in visible as much as possible if your pc can handle it, this will help in keeping the detail balanced throughout the model by constantly having visual reference. The rest was mostly just polishing up. The more time you spend the better it will look but I was running really late for the deadline and a lot of areas where rushed – I would like to do a second pass on Amod or version 2.

VERTEX


ZBRUSH TRICKS

261

Conclusion

There are various ways of cleaning up the sculpts either by continued refining in ZBrush using trim and clipping brushes or by reconstructing or retopo of your mesh in another app. This really depends on what your needs are for the work you are doing. Again when designing mechs, or any character for that matter, it can be a very iterative process which will revolve around your likes and dislikes. Initially you might suck a bit but with practice and patience you will find your own style and workflow. I would say practice makes up 90% of any talent. Some might pick things up quicker but the more you do anything the better you will get at it. I want to thank Ryan Hawkins for offering me the opportunity to contribute to vertex mag, the best mag around imo. I have learned a lot from artists that shared their workflows and techniques through the years and hope this was informative or useful.

About Me

My name is Furio Tedeschi and I currently reside in South Africa. With over 10 years in the industry, My work has been a mixed bag. Ranging from TV Adverts to Video games, Military Weapon Simulations and Motion pictures. I have worked as a Digital Sculptor/character artist and Concept Artist for Clients such as – Gameloft, Lucas Arts, Microsoft Studio 343, Guillermo del Toro(Pacific Rim), Paul Anderson (Resident Evil Retribution)and Krome Studios.

Furio Tedeschi

http://smokeflames.blogspot.com

VERTEX


262

Jae Cheol Park

www.paperblue.net


263

Marcel Haladej

www.vsha.cghub.com


COMPRESSION

264

CompressionChris Cockburn Tips & Tricks By:

1024Diffuse_2048Normal_close

2048Diffuse_1024Normal_close

2048Diffuse_2048Normal_close

With demand for high fidelity in graphics, texture budgets have become very tight. Not only have texture sizes doubled, increasing the memory footprint by about four times, additional textures beyond the standard diffuse, like normal maps, have added to the problem. The amount of video memory available has grown but hasn’t kept pace with the memory requirements of all the desired textures. In a perfect world, carefully authored textures produced by a team’s artist would fit perfectly into memory without any fuss, unfortunately this is rarely the case, and this is where compression comes in. There are basically two types of compression, lossless and lossy. Both behave pretty much as they sound, lossless compression means that given the compressed output, you are able to recreate the original exactly, while lossy compression means that you are unable to reproduce the original input exactly from the compressed data. An example of lossless compression for images is run length encoding for tga’s, conversely, and example of lossy compression is the S3TC algorithm better known as DXT1 through DXT5. Why would we use a lossy compression over a lossless one? Typically a lossy compression has a higher compression ratio then a lossless one, that is it’s much better at making the size smaller. Ideally what we want for the best results is a lossless compression scheme, after all if we’ve spent a lot of time authoring a texture we’d like to see it appear exactly the same when it’s used. For normal maps there is a very easy way to achieve this, that involves adding a few simple math instructions to our shader. In a texture the red, green, blue values represent the x,y,z of the normal inside tangent space. Imagine tangent space as a coordinate system with the x and y axis running along the surface of the polygon and the z as the “up” from the polygon surface. To calculate the length of a vector is very easy, length = the square root of ( X*X + Y*Y + Z*Z). Using some simple high school algebra when can rearrange this as Z = the square root of ( 1 - X*X - Y*Y ). From this we can see that we don’t need to include the blue channel in our normal map as we can reconstruct its value from the other two just fine in the shader. This makes the shader slightly more expensive instruction wise, but in practice this expense can be ignored as modern GPU’s can process far larger numbers of math instruction than texture sampling. Congratulations, you’ve just saved one third of your total memory footprint for normal maps with this simple change, or the extra channel can be used for something else like a specular map. One final trick that is easy to achieve and falls between using and not using compression. With the event of shaders becoming common place, a lot of the detail and appearance of the polygon surface comes from its interaction with the light sources in the scene. This means the normal map is going to have a larger effect on the final lit pixel then the diffuse texture. Because of this, if we have to reduce texture sizes because of memory constraints try dropping down the resolution of the diffuse map instead of the normal map. You may be surprised at how little fidelity you lose. Of course this works better on things that have don’t have too much detail in the diffuse maps like background props and environments.

VERTEX


COMPRESSION

265

If the above trick doesn’t drop you below your texture budget or doesn’t give acceptable results, then its time for lossy compression. Typically this means using the DXT file format. Unfortunately for us these formats while pretty good for diffuse textures, introduce unwanted blocky artifacts in normal maps. This is because the algorithm is optimised for a color texture and not for something that represents a direction in space, after the texture has been compressed the normals are no longer normalized, that is they no longer have a length. Fortunately there is a format for compressing normals. 3Dc otherwise known as FourCC or DXN. It’s an open standard that was originally implemented by ATI but is now supported by both NVidia and ATI. It builds on the DXT5 algorithm taking into account the fact that the data you wish to compress may not just be color data. If the 16 bit version of the compression is used it still achieves the 4:1 compression ratio of the DXT1-5 formats but produces less block artifacts in your normal map. One last final tip for improving the appearance of compressed normal maps in game is a bit more involved as it involves changing the tool pipeline slightly. When a texture is loaded in game, most of the time mip maps of the texture are generated automatically from the loaded texture. The problem with this should be clear straight away, if the loaded texture has been compressed with a lossy algorithm, the artifacts will be included in all lower levels of the mip map. To avoid this a better solution is to generate all the mip levels from the original uncompressed source texture. At runtime the texture plus its mip levels can be loaded instead of automatically generating them. This gives a small but noticeable improvement to the appearance of the normals in game.

Conclusion

Today’s video cards and shader languages give the artists a wide range of options to create anything that springs to mind. Unfortunately the limitations of the same hardware can have a large effect on the visual quality. Understanding those limitations and learning to work around them will help improve the final result. Thanks for listening and I hope this casts a little light on what happens between creating the texture and seeing it in game.

About Me My name is Chris Cockburn, I’m currently living Sweden working at Massive as a gameplay programmer on The Division. I’m originally from a small town in Far North Queensland Australia that nobody has heard of and as a result I’m a self taught programmer. The demo I was working on with some great help from my artist friends Jon-Troy and Steph landed me my first job in the game industry in 2004 with a start up studio called U235. Since then I have worked at Fuzzyeyes (Edge of Twilight) and Team Bondi (LA Noire). Although in recent years I’ve tended towards gameplay programming, my entry into the industry was as a graphic programmer and I’ve had the pleasure to work closely with many talented artists. While my skill in art is limited to drawing stick figures, I’ve helped the artists on the technical side to achieve the look they were after. To me, working as a programmer in the games industry is the best job in the world. There are new challenges almost every week, from figuring out how to code a game mechanic a designer has dreamed up or the balancing act between keeping a character responsive to input while still having smooth realistic movement from the animations. There is always something new to learn.

Chris Cockburn

w w w.enginecoding.net

VERTEX


266

Efgeni Bischoff

www.bischoffart.com


267

Jesse Sandifer

www.chickwalker.com


TEXTURING

268

TEXTURING

Using ZBrush for stylized textures by: Fanny Vergne

Most people consider next gen texturing and hand painted texturing to be two radically different processes. I have to admit I started using ZBrush with the intent to make next gen assets, but my favorite textures have definitely been the stylized ones, so I tried to combine my two favorite processes to create a new one. I decided to use ZBrush as the foundation for a method to create stylized textures while maintaining the hand painted feel. I didn’t see a lot of tutorials or articles about ZBrush sculpting for environmental textures and even less on using the program to produce stylized textures. I would like to use this article to share the process I developed while working on World of Warcraft . I will go through all the steps required to create a stylized, tileable texture along with some tips and tricks. This article assumes some familiarity with ZBrush and is aimed at people who already know a little bit about the program.

Preparation in 3ds Max

When making a tileable texture I always use a 3D software package to prepare my tile before importing it into ZBrush and sculpting. I use 3ds Max to ensure it will tile correctly and it is not too repetitive. If I were to do this directly in ZBrush it might be hard to see if the tile looks good. I build some very simple box primitives without worrying about topology as I plan to dynamesh it later in ZBrush. The goal here is to create a perfect wireframe that will be easy to sculpt on.

VERTEX


TEXTURING

269

One very important thing to do at this point is to keep things similarly spaced. For example, if I decide to make one slab bigger than the others, I will put another slab of the same size at about the same distance away. This helps to ensure that the tile doesn’t appear to repeat as much. When everything seems good to me, I export my base mesh from 3ds Max into ZBrush. To avoid having several subtools in ZBrush I export all my slabs in one export, but I keep each slab as a separate object in Max. This will cause each slab to become part of a different polygroup in ZBrush.

This way it will be easier to work and you won’t have to deal with a bunch of subtools. You can sculpt the individual polygroup slabs by pressing CTRL + shift and clicking on the slab you want to select. (And CTRL +shift to deselect)

VERTEX


TEXTURING

270

Preparation in ZBrush

Since the dynamesh tool appeared in ZBrush the workflow for a lot of artists changed. I apply dynamesh to my slabs so they have good topology to sculpt on even though I imported them as very low poly objects. To do that, I just need to split my polygroups into individual subtools, apply a dynamesh to each one and then merge everything back to recreate my original polygroups. Be gentle with the resolution you choose for the dynamesh, this is just to create a basic topology.

At this point, every slab has been “dynameshed� and everything is back in one subtool again with different polygroups for each slab.

VERTEX


TEXTURING

271

Sculpting

Define the edge Particularly for slab textures, I always start sculpting the edges of the slabs. The most important thing to remember is to keep the square aspect of the slabs. Don’t sculpt them too much and make them flabby.

VERTEX


TEXTURING

272

Morph Target One of the things I like in ZBrush that allows me to modify my sculpture when I want is the Morph target. After you store the initial shape by clicking on the button, you can use the Morph brush to soften or revert any changes you make afterwards to the initially stored shape. It is important to note that you do not have to necessarily revert everything.

Adding Details Now that I have my edges sculpted I start adding in some details. I decided to add some runes on this texture while still keeping in mind that this is a tileable texture. So like the bigger slabs previously mentioned, I place the runes so they are equally spaced on the slabs. I used two alphas created in Photoshop to accomplish this and applied them with a standard brush.

VERTEX


TEXTURING

273

After placing them I just refine them a little bit using the flatten brush. Then, I put the stone details on the slabs. I used some custom brushes and custom alphas to be faster with my sculpting. I encourage you to do the same and find the perfect sculpting process for you. I always try to keep in mind the repetition of the tile and add an evenly distributed amount of detail.

To sculpt stone slabs and rocks, I generally use the Move brush to create an effect of layered stone. To do that, I start by masking an interesting area with the Mask lasso (1) and I use the Move brush to push it a little bit and create a layer (2). I often use the Morph Brush (like previously mentioned) to soften the shape created (4). I always use the Flatten brush to refine almost after every step (3; 5; 7) I alternate this technique with some custom brushes to work faster (6).

To create my own custom brushes I use a tool called MRGBZGrabber. With this technique, I’m able to create new alphas I can use with the standard brush and I can modify in the Alpha tab. When I’m satisfied with the sculpture for my alpha, I click on the MRGBZGrabber button to switch in 2D mode and I can select the area for my alpha with a square selection. My new selection appears directly as the current alpha used and I can save it to use it later. In this way, I can put my custom alphas in the Standard brush with a drag stroke to create a new custom brush.

VERTEX


TEXTURING

274

Make it tileable! We are going to duplicate the subtool of slabs three times and move each of the new subtools created with the transpose tool. In this way, you can check if the tile looks correct and it will help you to properly create a basic texture to put in Photoshop .

VERTEX


TEXTURING

275

If I have too many polygons after doing that and it becomes “laggy”, generally I merge every subtool into one and I use the decimation master. With this plug-in, you will be able to reduce the number of polygons without changing the appearance of your sculpture. Then you can export the subtool as an .obj to bake it later and generate some useful maps.

Baking and Rendering

So technically, I use two different processes to create my maps. I do several renders in ZBrush with different materials and I put them in Photoshop to composite later. But I also use my ZBrush high poly to bake an ambient occlusion map, a normal map and sometimes a height map. I have to admit I’m currently thinking about reducing my two processes into one and render those baked maps directly in ZBrush to be faster. But I will show you what I’m currently comfortable with at this time. Rendering with ZBrush Because my final resolution for a texture is generally 512X512 (sometimes 1024X1024), I generally use some print screens from ZBrush to make my different renders. For me, each texture is different because, depending on what kind of material it is supposed to be (wood, stone, metal…), my ZBrush renders will be different too.

VERTEX


TEXTURING

276

But, most of the time, I use the same bunch of ZBrush materials as a basis for the texture and I add some others to create the different materials. My render parameters are very simple because I don’t change a lot of things compared to the default parameters. I encourage you to create several custom Matcaps for what you need exactly. I generally use: - A version of “Matcap red wax” but colored in grey. - A Matcap called “Matcap white” because it’s very contrasted and the light is from the top. - A black and white custom Matcap with an ambient occlusion and cavity information. - A custom Matcap with very visible highlights - Some other Matcap that simulates the material of the texture.

MatCaps

VERTEX


TEXTURING

277

I put all the print screens in Photoshop and I apply some guides to define the tile of my texture.

As you can see, it’s not perfectly a square texture but I will resize it. My goal resolution for my texture is 512X512, and I can easily resize it without to be too worried about the result. Baking Like I said previously, I also use my ZBrush high poly to bake some different maps. I use xNormal to bake them because I think it’s really easy to use and you can get some good results with it. After exporting my high poly to an .obj in ZBrush, I will use it in xNormal to generate my new maps. But I also need a low poly model. Because this will be a flat texture, I will use a simple square plane created in 3ds Max. I have to be sure UVs are correctly made and the plane is placed correctly. So, I import my high poly (previously decimated) in 3ds Max and I just create a plane on it. I check to see if the UVs are good and I export my plane as an .obj.

VERTEX


TEXTURING

278

Next step is to put all those .OBJs in xNormal. So I put my high poly in “high definition meshes”; my plane in “low definition meshes” and I check the baking options. I generally bake a normal map, a height map and an ambient occlusion in 1024X1024 to be sure to have enough resolution.

VERTEX


TEXTURING

279

Texturing Create a Composite Basis Now, I just have to composite everything in Photoshop to create a nice base texture to paint over. I simply match the baked maps with the print screen maps. Every texture is different and I just play with my maps differently for each texture but there are some rules though. I usually start to work with my print screens from ZBrush and create a first pass. My AO map and my “white” are generally in multiply (or overlay sometimes). For the rest of the maps it’s essentially just a feeling of what I want to have.

Concerning the baked maps, I start to add some colors. I always use the channels of the normal map (blue/green/red) to give some light information on my texture. I also use my normal map to generate a cavity map with nDo. I generally put my cavity map in overlay but it’s also very useful to enhance your highlights with the layer modifier “levels”. My height map helps me to enhance the depth of my texture and you can put it as a mask (inverted or not) to colorize your depth. I use my ambient occlusion map in multiply and I generally color it by adding the layer modifier “hue/saturation” on it. For every step I always check the tile of my texture in Marmoset by applying it on a plane with a repetition on UVs. In this way I can easily check that nothing is too specific for the tile.

VERTEX


TEXTURING

280

Give the hand-painted feeling! To give this feeling, I just have to paint over my composite base. So, this part is different for each texture but for a slab texture here are few tips. I start by using an offset on it to check the borders and I correct it if necessary. Then, I reduce the contrast of my texture because for me a stylized texture should never have a perfect black on it. So I put a color layer in “lighten” to colorize the dark spots of my texture. I also add some small color variation on the slabs and some small details. I enhance the highlights on some parts. I try to give a hand-painted feeling by painting over shadows and lights and let the mark of the brush sometimes show. The sculpture in ZBrush already gave me all the light and shadow information that I need, so it’s very easy to follow them.

VERTEX


TEXTURING

281

For a slabs texture, I always add some slight color variations on different slabs. It has to be very light, because with the tile everything will look more significant.

When I’m satisfied with everything, I always finish by adding an unsharp mask on my texture to sharpen it a little bit. One thing I really like with this process is I can modify exactly what I want in Photoshop. Unlike a full next gen process, even if I’m not entirely satisfied with my sculpting, I can change it by painting over it.

About Me

I have always loved to play video games but my true love was drawing and digital art in general. I did some studies to become a 3D artist in animation for movies but when I was hired for my first job in a video game company (Ubisoft), I knew I wanted my career to be in this industry and in this culture. Unlike the rendering process, I really like the ability to play directly in the environments I created and enjoy the gameplay that is involved in it. I was born in France and I have worked in two companies in France before coming to America to working for Blizzard Entertainment. I’m currently working on World of Warcraft as a dungeon artist and I’m glad to use ZBrush to do my textures on this mythic game. I love the stylized art in video games and I have always tried to improve my own art in this way. I very much enjoy working on environments because I like thinking about creating an ambience and developing different atmospheres with the lighting, modeling and texturing. I’m always glad to meet new passionate people and I have learned a lot from them at every company I have worked.

Fanny Vergne

w w w. f a f a r t . b l o g s p o t . c o m

VERTEX


282

Dmitriy Rabochiy

www.zxcman.cghub.com


283

Jon McCoy

www.jonmccoyart.com


Wrecked Apartment

284

Wrecked Apartment Wiktor Öhman Workflow & Pipeline Breakdown by:

When starting out this project I had a clear set of goals. This was to be a project which challenged and taught me things, which it truly did. I had decided to, almost exclusively use Quixel’s tools NDO and DDO for the texturing, which proved to be a huge time saver as well as quality-booster. This was my first contemporary environment and with that came a whole array of things I haven’t had to give as much thought to before, such as scale issues become really glaring very easily and also the small things that give it away. Seeing as it’s an environment which is very familiar to us, unlike SCI-FI which I usually work with, even the smallest things can look out of place if not properly handled, such as out of scale props, poor material definition or lighting that looks off. So with that in mind I had to take precautions, which might seem totally obvious to most of you, such as an in-depth breakdown and a floor plan for the outside hallway (for the light!). Usually when I work on personal environments I usually, and I’m rather ashamed to admit this, don’t make a proper block out before starting out. Instead I usually just make the final-ish wall tiles, make a couple of props and then, after all of that, I start making block out props, environment features etc. to check scale with. This has worked pretty well for me so far but I do see the huge advantage you get by actually spending the time creating a block out or greybox map before jumping into proper production now, and it’s definitely something I will keep doing from now on. Lesson learned! So what I did when creating the block out was to match it up as closely to the concept as possible, as well as taking FOV into consideration. This was pretty easy seeing as the layout of the apartment is rather straight forward. The rooms to the left and to the right were pretty difficult to make out, so I had to find photo references for rooms that I both liked and seemed to fit the style. I also adjusted the heights of the doorways, as I thought they looked way too tall. As for the room to the left, I decided to make it rounded, as I thought it’d allow for a more dramatic feeling, both in terms of lighting and for composition, and I do think it worked out really well!

VERTEX


Wrecked Apartment

285

Once the block out was made it was time to start modeling the actual assets. I started out with the walls, seeing as it’s such a huge part of the environment. What I did here was that I made a very simple high poly with shapes and bevels for the trims. I could’ve done it without a high poly, but it was such a quick model to make so I did it anyway.

VERTEX


Wrecked Apartment

286

As soon as the wall was baked, with xNormal, I went into Photoshop and NDO to detail it. For this asset it was a very quick pass with NDO, but I think it made a huge difference. What I did was I found a base photo of rough paper that resembled the texture of wallpaper a lot.

I then generated a photo normal with NDO. First the large, soft and subtle shapes (very subtle!), then I built my way up to the fine and very small details like the fibers.

Layering details like this really does help create a believable material definition, and it’s one of NDO’s greatest strengths, seeing as it allows you to completely separate the different features, such as cracks in rocks, the fine gravel inside those said cracks, the fine texture of the rocks themselves and so on, and allowing you to change those features any time you like, non-destructively.

VERTEX


Wrecked Apartment

287

When the material definition for the wallpaper was done I found a nice pattern that I like, tiled it up and edited it and applied it to the model. I then saved this out as a base diffuse with nothing else than the wallpaper on it. This texture I later used as a pre-made diffuse base for DDO.

This allows me to add details on top of it, such as subtle stains, miscolouration and so on. The DDO pass on the wall was pretty short. As I just mentioned I simply added some miscolouration and grime to it, mainly in the spec and gloss maps.

VERTEX


Wrecked Apartment

288

I also came up with a pretty cool effect when browsing the detail browser! I used the detail called Smear, reduced the diffuse, specular and gloss opacity to around 10 and increased the height opacity slightly (making the color white). This created a really cool effect, emulating a clumpy, sloppy paint job which is often seen in old apartments such as this.

Using that effect as a base I created a DDO preset for all white-painted surfaces in the scene, which saved me a lot of time. After using DDO a lot since it was released I’ve learned a lot about texturing by looking at what it does with my input maps and how it reads them. I’ve also learned a lot about basic material definition by looking at its stock presets. Material definition was, as it usually is, a huge part in this project and I had to tweak the values very carefully to make them read well. That is also something that’s a lot easier by using DDO, seeing as DDO allows you to control the base reflectance of both the diffuse, specular and gloss, as well as the reflectance values for the details by just changing the opacity or color value of the detail/material without having to switch back and forth between documents or groups.

VERTEX


Wrecked Apartment

289

An example in which I had to use DDO’s reflectance values a lot was the door. It has several different kinds of metals and wood on it, all which has their own reflectance value and details.

The first thing I needed to do was create the fine normal details for the wood. I used the same technique as I showed you on the wall. Found a base photograph, placed it and scaled it properly all over the door and then converted it to a photo normal. It’s all about finding the sweet spot where it reads well, without being too over the top, but still exaggerating it slightly to actually make it visible from far enough away.

VERTEX


Wrecked Apartment

290

I also did a pass where I added some scratches here and there using NDO’s sculpt mode and just painting out the scratches using a white brush. Once the normal was done I created a quick color map which DDO will use to split the texture up into material groups, each which has its own reflectance values and details.

After the correct reflectance values were assigned to the corresponding material, I added the details. This is probably the most worn asset in the scene, with the motivation that it’s most likely the only thing that hasn’t been renovated the last 40 years, plus it’s more exposed seeing as it’s facing out into the hallway. Since the door is very repetitive in its panels, shapes and so, the details became pretty repetitive as well. The way I solved this was to click the mask icon, paint out the details where I didn’t want them and then CTRL-click the mask icon to propagate all the changes I made to all the other maps (spec, gloss and height).

VERTEX


Wrecked Apartment

291

Certain props, like the computer, were made entirely using NDO. What I did was I made a very simple mesh – pretty much just a beveled cube, UV mapped it as straight as possible, baked an AO Low -> Low using xNormal and then opened the UV wires in Photoshop.

Using the UV wires as a guide I started adding features such as the floppy drive, CD-ROM drive and other details. Once the normal map was done, I generated an AO map using NDO’s convert module and combined it with the AO map I baked before. This would’ve been possible by creating a high poly and baked, but it saved me a lot of time doing it with NDO. All-in-all, creating the computer took me about 3 hours, with the texturing included. Like the other props in this environment, I decided not to go over the top with wear and tear, and instead go for an old and used look with miscolouration and slight edge wear, which DDO handled excellently. I used the details plain edge, miscolouration and color fill extensively.

VERTEX


Wrecked Apartment

292

About 25% into the project I decided to change engines from UDK to CRYENGINE after trying a few props out there for fun. I really loved the way CE3 made the props look, and how easy it was to define the materials. Not saying that you can’t do the same in UDK, but it was just easier in CE3, which saved me even more time.

Image Rendered in UNREAL ENGINE

Image Rendered in CryEngine 3

VERTEX


Wrecked Apartment

293

In retrospect, it probably would have been wiser to place the apartment inside a NoVis area (blocks out environment, sun, sky etc) and used spotlights and point lights as sun and ambient light, but lesson learned. I used the Time of Day settings to light my scene. I rotated the sun to the right position, then changed the time so that the light came through the door like I wanted it. Then, the rest was more or less only a matter of adding fill lights wherever they were needed, utilizing both diffuse-only and specular-only lights to accentuate reflections and specularity where needed. There is really nothing to it, other than looking at the scene from a couple bookmarks, toggling back and forth and trying to see what needs to be more prominent, or less for that matter. In order to help me with the lighting and to help me guide the eye through the scene, I had a couple of things I checked now and then. The first was to desaturate the scene in Photoshop to see if things were nicely separated and defined without being distracted by their respective saturation or hue. This can be taken even further by squinting your eyes or blurring the image slightly.

The second thing I did was to take a screenshot into Photoshop, select a bar and average its values (Filters -> Blur -> Average). I did this all across the image until it was filled with flat-colored bars.

VERTEX


Wrecked Apartment

294

What I strived for with this was to have a nice, smooth gradient, peaking towards the middle of the scene, where the corner is without anything sticking out too much. To the right there’s a pretty bright line, which is the kitchen, but I thought that was fine and actually contributed to making the composition even more interesting, so I didn’t do anything about that. As a last check I did the same, but vertically.

Pretty much the same thing goes here – I wanted it to be a nice, smooth gradient, peaking towards the middle of the image. The brightest parts are more 75% towards the top, but it was difficult to avoid with the white ceiling and trims, and it was even further up before I darkened the ceiling and tweaked the lighting, so these checks really did help. I kept tweaking the lighting and textures until I was happy with the gradients and with the color palette. Related to this is something called Color Grading. In a nutshell, what it does is that it allows you to grab a pre-made color chart consisting of different gradients (the appearance depends on the engine!), which is called a Look-up-table (LUT) that you can add on top of a screenshot of your environment in Photoshop. Then you can add adjustments on top of that, such as levels, curves, brightness/contrast and hue/saturation. Make sure the adjustment layers are on top of the LUT! Once happy with the appearance, simply specify it in the engine you’re using and those adjustments you made in Photoshop will be transferred to the engine. Such a simple thing, which can really help make your scene pop.

VERTEX


Wrecked Apartment

295

The difference isn’t huge, but it still makes a noticeable difference, which affects the mood a lot. The final adjustment I wanted to do before calling the environment done was to add depth of field. I set it up through the Track View, which allowed me to set up a different DoF setting for each ”shot” for the presentation, without me having to adjust it each time I switched views.

VERTEX


Wrecked Apartment

296

In retrospect I might have gone a bit overboard with the DoF, but it does add that level of realism I was looking for. A reoccurring part of my workflow in this scene was to make simple high poly models which I then baked down, just as I did with the wall I wrote about earlier. Then use NDO to apply a nice, crisp material definition pass. One good example of that is the teak table. The separation between the wooden segments were made in just a minute or two by painting lines where I wanted the separation and converted to a normal detail, then on top of that I used NDO to get the wood definition in. The wood normal was simply a photo which I extracted some details from. I made sure to save the base photo I used for the normals as a base diffuse for DDO, just as I did with the wallpaper. Using the updated normal map and base diffuse I was able to add even more wear on the table, such as subtle scratches, miscolouration and sun bleach.

All-in-all, this was a really educational project for me. I got to use NDO and DDO in a way I hadn’t used them before (clean, subtle and photoreal-ish stuff), and I also learned a lot about how to tackle an environment with a large number of props and assets, by closely looking at a concept, and looking at what you can skip and what you can add in order to save time and to make it look even more interesting.

VERTEX


Wrecked Apartment

297

About Me

My name is Wiktor Öhman, or maybe more known as Disting online. I’m working at Quixel, mainly working with 3D art, promotional art and also learning material. I’m born and raised in Malmö, Sweden where I’ve lived most of my life. I’ve worked at a couple game studios and also studied game art here, and it’s a very good environment when it comes to the games industry, and art in general. I’ve always seen myself a creative person, and I’ve always looked for ways for me to best express myself. I started playing the guitar, started making electronic music, website design, web development, drawing, 2D design and photo manipulation. It wasn’t until 2007 when I stumbled upon a flyer from the School of Future Entertainment at school that I finally realized I could do what I’ve always wanted to do. Game art! I hadn’t touched any 3D applications back then and I barely even knew anything about games other than the fact that I loved playing them. I got accepted into the school and I haven’t looked back since.

Wiktor Öhman

w w w. d i st i n g . c g h u b . co m

VERTEX


298


ALEX ALVAREZ Founder/Director, Gnomon School

299

IMAGE CREATED WITH MEGASCANS


The End

300

Well folks we have done it again, we finished yet another addition to the library. Thanks to all of our supporters and those who contributed their time to create content for the book. I would also like to thank friends and family for putting up with us while we created this in our free time. All of this would not be possible if it was not for you the entertainment communities letting us know that there is a valid need for something like this out there. By sharing our workflows and tips and tricks with one another it can only make our industries stronger and the content we create that much better. It is also important to know that all the content created by the artists was done entirely in their own spare time set aside from their jobs and social lives to contribute VERTEX. On top of that, none of artists and contributors asked for any financial compensation for their time and effort spent putting this together and were willing to donate this content to better the game-art community as a whole. I apologise in advance if you find any errors within the book, whether they are grammatical errors or formatting errors. But bear in mind that some of the content was written by non-native English speaking artists and in some cases the articles themselves weren’t originally written in English and required translations as well. Thanks to our friendly editor Derek Burris for spending his nights reading and editing text. Lord knows that would drive anyone bat shit crazy hah :). I really hope you enjoy all the content that in the book and we have done the best that we can in such a limited time and with limited resources. However, if you do spot something, please share it with us via email on our website. To those of you who have gone above and beyond by supporting us with a donation I would like to thank you. It means a lot to us and the money will go to keeping this going and alive. When you donate to VERTEX the money is never used for personal gains or salaries of any sort. We are not creating these books for monetary gains and do this for free because we love it. All donations go directly to the VERTEX PayPal account and sit and get spent on things when we need them like servers and bandwidth and other things. Thank you again for supporting us with a donation. DONATIONS FROM: Jonathan Johnson John Wise Darren Horrocks Saxon Dixon Andrew Indrikson Peter Frey Gavin Eastwood Dmitry Pedyash Scott Homer Alvin Chung Dylan Brady Jens Brandenburg Sebastian Włoszek Chris Campbell Edward Ferguson Denis Oudalov Edwin Bolscher Andrew Davies Simon Labreche Dmitry Pedyash

Matthias Rottländer Greg Schneider David Bailey Guzeev Anton Eric Brown David Bailey Simon Kopp Conor Bell Eric Vanic Bradley Harris

Stephen Stone Charles Vernier Mikael Kivi Paul Packham Joe Wilson Timur Ariman M Van den Berg Jonathan Shelley Ondřej Holan

Wesley Mackinder Meinte van der Spiegel Karen Stanley Rodrigo Figueira Magnar Jenssen Tamara Bakhlycheva Sarah Quek Ping Sian Paul Nasdalack Rhett Mason

IF YOU WOULD LIKE TO SUPPORT US BY SENDING US A DONATION PLEASE USE THE LINK BELOW!!

DONATE NOW To all of our readers I would like to thank you for downloading this or spreading it to friends or co-workers. We are still a new thing to the entertainment industries and a great number of people still do not yet know we exist or that they can download this for free. Please continue to help us spread the word by either sharing the books with people or sending them to our site or just bring it up in conversation. PLEASE VISIT AND LIKE US!! Facebook Page: https://www.facebook.com/artbypapercut Main Website: http://www.artbypapercut.com CONTENT CONTRIBUTION!! If you would like to contribute to creating an article or would like to have a pimp page of your work we are always looking for new content for current and future books. Please visit our website and send us your information and we will review your material or content and see about putting you in the next VERTEX. Thanks for yet another awesome book, VERTEX 3 TO BE CONTINUED......... Ryan Hawkins Editor ryan@artbypapercut.com

VERTEX


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.