« Posts tagged Zbrush

[Game] Combat Cross Final

Castlevania Combat Cross

Combat Cross WIP 1 (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2014/04/combatCrossWIP1_001 NULL.jpg)
After a bit of a later night I’ve finished my submission for work. Most of the chains are ran along a CV curve, with a few being placed in post. I rendered out each element so that if needed I could rearrange the composition. I tried to keep the rendering fairly simple as I just didn’t have enough time to model and render the cross with proper materials. This limitation almost made it more fun as a project though. Instead of locking down the composition before rendering I could play with it in any way I chose after. This felt like more of an artistic approach which is in with the spirit of the project. I used very simple MIA materials and an ambient occlusion pass when composting everything. The original was rendered at 300 DPI as it was to be printed.

Castlevania Combat Cross (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2014/04/terrancematthes_artsub NULL.jpg)

[Game] Combat Cross WIP 1

Combat Cross WIP 1

I’m a sucker for gothic and macabre games. When the Castlevania: Lords of Shadow 2 came out last month I new I had to play it. Lords of Shadow 2 is a lot of fun in it’s own right, but I really missed the awesome whip animations in the original reboot. Now Dracula uses his own blood as a type of magic whip and the splashy nature of this doesn’t feel as solid as the chain whip in the last game. Work is starting to get busy as we near the end of a project and there has been a company wide call for art submissions. There’s a raffle with prizes to be won based on all the entries they receive. We have just over a week until we have to submit our art and that’s a little less of a heads up than I would like. To make up for the short time I’ve decided to do a prop instead of a scene.

My final submission will be a rendered shot of the Combat Cross laying on a cracked marble floor aged and covered in cob webs. The first step was to model the basic shapes of the cross. For most of this I started with primitives in ZBrush. If a shape was made of multiple primitives I would merge them, create a dynamesh with the new merged tool and then ctrl drag to connect their topology as a single dynamesh. I haven’t decided if I want to do a low poly cage over the entire mesh, or just export the decimated parts into Maya and then group them all. The leather rapped handle was created in Maya by making low res polygon rings and placing them up and down the shaft of the cross. The next step for them will be to smooth them out in ZBrush and using the move tool to make them overlap without penetrating strangely.Combat Cross WIP 1 (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2014/04/combatCrossWIP1_001 NULL.jpg)
I’m not 100% sure, but I think I’ll be chosing to render this with VRay instead of Mental Ray. I know I’m going to want a layered material for the dust over all the surfaces and Mental Ray drops the ball entirely on this. There is a layered shader, but it doesn’t make it all the way through the rendering pipeline unscathed. VRay also seems to be a lot faster in general. I’ll be posting more about the cross this week as the submission is due this Friday (April 11th 2014).

[Game] Snowy Turn Table Final

Freshly fallen snow on a grave

Another day and another piece done :) I had a great time putting together this snowy turn table and trying out all sorts of different methods in ZBrush for creating snowy surfaces. For some extra fun I even threw in some “Matinee” animations using Unreal’s animation system.

The snow covered assets in the scene use what is basically a layered material to map the snow, ice, and base materials over their surface. This is done through using the “Lerp” node in the material editor. If you’ve ever tried to create a layered material in Mental Ray you will appreciate what the lerp node does. Using an 8 bit (gray scale) map the Lerp node transitions values. Think of it like a mask. You can use a bunch of these Lerp nodes in a single material to create a layered shader. There are other ways of getting more than one material on an asset in the UDK though.

When exporting your assets as “FBX” files in Maya you can assign up to six (as of Unreal Engine 3.0) different materials per mesh. This is done through simply creating up to six different Lambert materials and applying them on a per face basis. This is a very convenient way to assign materials to your meshes, but it does have it’s downsides. Firstly, you are adding extra draw calls for each new material you assign your asset. This differs from using the Lerp node because with Lerp method all your different surface types are constructed within a single Unreal material and consequentially, a single draw call. Secondly, the borders of your materials must lye along the edges of their assigned faces. This can end up giving you abrupt transitions that won’t look as smooth as painting a mask for a Lerp node. Going forward I would like to expand on what I’ve done in Matinee and produce an animated character with some dynamically driven accessories.

Oh yeah, I almost forgot to mention that I’m moving to Montreal Canada. I’ll be heading out November 5th and my first stop will be their Independent Game Developers Association. I’m super excited to meet fellow developers and check out all the wonderful studios in Montreal.

 

 

Graveyard Scene WIP 1

Scene Snippet

Just before I left for Montreal I was able to snap some pics of my graveyard scene. I’ve got most of the modeling done, as well as the sky and rain systems. The Ivy on the foreground grave still needs to be skin weighted for wind movement, whereas the Ivy on the background grave is using a vertex offset to animate the ivy.

Scene Snippet (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2013/06/SceneSnippet NULL.jpg)

I’m quite happy with the look of my high detail tree, but I still have to tweak the leaf cards a little as some of them don’t line up with the branches I’ve painted on the branch cards. Speaking of vertex weights the trees also need this. I’m going to use the same material wind network the grass uses so they move together. Painting up the trunk and branches in Zbrush was fun and eventually I saved out a surface noise setting for the bark so that I could apply the same look across the entire tree without having to sculpt each notch in the bark. This setting can also be loaded up for any other trees I might create to help things look consistent from tree to tree.

High Detail Tree for UDK (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2013/06/mayaTree NULL.jpg)

Sky Material Network (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2013/06/skysetup NULL.jpg)Vertex Ivy Material Network (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2013/06/ivySetup NULL.jpg)Vertex Coloured Ivy (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2013/06/vertexIvy NULL.jpg)Graveyard WIP paintover (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2013/06/paintover NULL.jpg)The material networks are purposefully obscured as they aren’t final and I wouldn’t want anyone to follow them as they are not yet complete. When I’m done I’ll post a better breakdown of the these. I’ve also included a quick Maya shot of the foreground tomb’s ivy and it’s vertex weighting. The base of the leaves are black to keep them from shifting and the weight falls off to red towards the edges of the leaves. You don’t have to be too meticulous with the weights as you can manipulate them in the UDK treating them just like any other RGB value.

After all is said and done I think I’m the most excited about implementing torches on the fence in the background. I apologize for the crushed levels in the video. When I get back to Winnipeg I’ll re-compress it with adjusted settings. If you visit my Youtube (http://www NULL.youtube NULL.com/user/DelightningVFX/videos) channel you’ll see the pyre tests (http://www NULL.youtube NULL.com/watch?v=w2k-J_Bhme4) I’ve made in the past and I’m going to turn these into “flipbook textures” (video game GIFs) to be used in conjunction with particles to make a really believable torch. I’ll post more towards the end of next week.

 

 

Wish me luck fellas, I’m really happy with how everything is coming together and I can’t wait to show everyone the scene when it’s complete.

[Game] A Grave Affair

Grave Texture Mapped UV Islands

I’m creating a cemetery scene so you can imagine that I’m going to need some tombstones. I have sculpted another since my last WIP and thought I would share it. As I was breaking down the scene I was trying to think of ways I could maximize my work time. I wanted to make sure I wasn’t sculpting more assets than I needed to make the scene look full. From that point on I decided that all the tombstones were going to have a different design on each side. This would let me cut the number of tombstones that needed to be created in half.

Just like the last mesh I started in ZBrush my sculpting the general shape. With hard objects like this I like to start by smashing together basic geometric shapes with Dynamesh. After I have the basic shape it’s time to save a copy and start sculpting wear and tear. I was able to use the noise profile that I saved from my last sculpt to break up the noise on this one as well. Saving out the noise and other commonly used elements will also help me to keep things artistically cohesive throughout the production of the scene.

(http://www NULL.terrymatthes NULL.com/wp-content/uploads/2013/01/gravesculptL NULL.jpg)

Dynamesh is your best friend in ZBrush while creating game assets! Maybe it’s because I started working with 3D before ZBrush was around, but I just love the ability to kit bash with ZBrush while staying largely ignorant of topology. Gone are the days of matching up verts and integrating meshes before they can be treated as a single surface. With  the tombstone here I was able to take a human skull I had modeled for a previous project and insert it into the top of the grave. The book sculpted the same way, but I created the book within ZBrush as a separate subtool. If you’ve never merged dynamesh objects before it’s actually quite simple. Start by making sure both objects are dynameshes themselves and then use subtool master to merge all visible subtools. They aren’t quite the same yet though. They should be one sub tool, but you’re going to have to ctrl drag and empty marquee selection to have ZBrush retopologize your dynamesh subtool once more. Bam! It should be all one surface now. If the objects look to crude then you need to turn up your dynamesh resolution before dragging to retopologize.

Like most of the assets in the scene I’m trying to keep the poly count around 1K. And speaking of polygons I wanted to address a common misconception about them. A lot of people fret about poly count in-game design. Whether its triangles or quads less is not always better. We’ve gotten to the point on mid level hardware where poly count isn’t the limiting factor it used to be. “I spent a solid few months of optimizing polys, lightmap UV channels, collision meshs for everything in UT and the act of stripping 2million polys out of a level generally improved the FPS by 2 or 3 frames.” – Kevin Johnstone (http://www NULL.polycount NULL.com/forum/showthread NULL.php?t=50588). Texture maps represent modern geometry more than polygons do at levels of high frequency detail. We are using lots of texture memory to affect and displace geometry. Stripping down the polygons to an absolute minimum is going to cripple the ability of a normal/displacement map to affect the perceived detail of your asset. If you need a few more verts to make an edge look better just do it!

If textures are the new limiting factor then what you should be aware of is “draw calls“. Your video card can only do so many of these per rendered frame and keeping this low is going to have a big impact on performance. A draw call is done for each material on a mesh every frame.  One mesh doesn’t equal one draw call. A lot of engines will actually limit the number of materials you can put on a single mesh.  The 600 series Nvidia cards can do roughly 600 draw calls per frame and that’s pretty good. When you think about how many textures that is you might that’s a lot, but each of those calls is slowing down performance.  One last thing worth mentioning is that even instanced meshes with the exact same materials will require separate draw calls. This means that if you have a metropolitan city full of instanced buildings each individual building is adding another draw call. If you have more than one material on heavily instanced assets you can see how this would start to adversely affect your frame rates. Just try and keep the number of materials on each mesh as low as possible :)

Just like our last tombstone mesh I broke out the damaged bits and strong surface changes into their own “UV Islands”. These islands are keeping xNormal from casting seams along the edges of those areas. The key is to break out UVs where the geometry sharply differs from the continuity of the surface around it. In the following diagram I’ve outlined the UV islands in blue on both the mesh and UV editor. You can see how these areas differ from the geometry surrounding them. Doing this with your light map UVs as well as your texture UVs will help shadow fall across your object with less error.

(http://www NULL.terrymatthes NULL.com/wp-content/uploads/2013/01/GraveUVL NULL.png)

During the initial baking of normals I produced two errors outlined in below. These particular errors were not from UV mapping, but from floating vertices that weren’t connected with an edge. Retopologizing in ZBrush is awesome, but now without its downside. I find the vertices you lay down quite hard to see and the cursor snapping can give you errors if you’re backed to far out by not connecting your edges. On closer inspection of the erroneous areas I was able to find the floating geometry and correct it. Now you can see how this got rid of those errors on the updated normal map texture. Always inspect your errors thoroughly. Chances are your error is coming from errant geometry at the site or flipped normals. If your normal map comes out looking like details are being projected on from the front to the back or vise versa you’re having scale issues. Your models scale is too small for xNormal to properly bake the texture map.  The UDK’s native scale in Maya is too small so you’re going to have to scale up your geometry 20-50 times its actual size to get proper normal map bakes.

Normal Map Errors on UVs (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2013/01/UVerrorL NULL.jpg)

The job I’m working has the potential for me to work on some “magic” type effects so I am going to post a couple R&D clips this weekend. These will be geared more towards film although I will try to explain the fundamentals well enough so that you may apply it to Cascade in the UDK. If your still  feeling confused about baking normals? Check out Tombstone WIP2 (http://www NULL.terrymatthes NULL.com/unreal-2/materials/tombstone-wip-2/) to learn more about game asset creation with the UDK in mind. Until then Cheers,

Terry

[Game] Tombstone WIP – Sculpting

High and Low Poly Tombstone

High and Low Poly Tombstone (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2012/11/tombstone_wip NULL.jpg)Over the past few years I have really started to feel dependent on Maya as my 3D application of choice. It’s an amazing piece of software, but when it comes to creating game assets ZBrush eventually came impossible to ignore. This is my first attempt and producing a game asset from start to finish in ZBrush. To help me get started I sat down with a friend of mine who is a character artist by trade and spends a lot of his time in Zbrush. After learning about some really important concepts such as Poly Groups and using Zspheres for retopology I was on my way. The low poly on the left clocks in at ~1K polys which is what my target was. The original on the right was about 4 mil, but that doesn’t really matter because we are only using it for baking our texture maps. The next step for me is to UV map the low poly version and then it’s off to xNormal (http://www NULL.xnormal NULL.net/1 NULL.aspx) for transferring the details from the high to the low.

The stub mesh I started with was created in Zbrush using Shadowbox and the black and white texture below. I looked at my concept art and created a Z axis portrait and a X axis portrait of the tombstone for the Shadowbox alpha. I really like this work flow as it’s incredibly fast and can save you a lot of time when it comes to creating your base to sculpt on. The cuts in the rock surface were made with the clip curve brush and then I used the Trim Dynamic brush to flatten out the sharp edges. The rocky noise was made using Surface Noise and then repeating the process after masking off certain portions of the mesh using  the Mask by Cavity function.Alpha Texture for Grave (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2012/11/grave_D NULL.jpg) One thing I found useful was the ability to save out noise profiles for later use. I have about six tombstone to make so not having to toy with the noise curves for each one will save me a lot of time. The last step was to go in by hand and carve in individual cracks with the Dam Standard brush. This mesh is going to be used in a scene I’m creating for the UDK. I’m really excited to attack this mesh with poly paint after it has UVs as I recently watched a great video (http://www NULL.cgnuggets NULL.com/collections/frontpage/products/september-2011-video-polypainting) on the subject by Jesse Sandifer. More to come soon :)

[R&D] Zbrush to Maya: Tiling Meshes

Tiling Rock Mesh

I’ve wanted to try this tutorial for a while and now that I have I thought I would share it with you guys. Creating seamless textures (http://www NULL.terrymatthes NULL.com/unreal-2/materials/seamless-textures-in-photoshop/http://) is one thing, but tiling mesh surfaces isn’t always as easy as it may seem. Osart has posted a tutorial (http://osart3d NULL.wordpress NULL.com/home-page/tutorial-creating-perfectly-tiling-meshes-in-zbrush-for-use-in-videogame-environments/) on his blog (http://osart3d NULL.wordpress NULL.com/) that walks you through the process with a couple of different paths you can take when it comes to developing your low poly version of the mesh. The process involves using Zbrush to create a tiling displacement map. The only part of the tutorial I got hung up on was the UV section. At one point he asks you to “normalize” a group of UVs. Normalizing the UVs is done by selecting the particular UV shell you want and then going to Edit UVs > Normalize under the Polygon menu tab. This scales the shell you have selected so that it takes up the entire 0-1 texture coordinate space.

The tutorial is full of really really great stuff. You should go RIGHT NOW and check it out. Below is a tiling rock mesh I made using Osart’s Tutorial (http://osart3d NULL.wordpress NULL.com/home-page/tutorial-creating-perfectly-tiling-meshes-in-zbrush-for-use-in-videogame-environments/). To make the normal and ambient occlusion maps I used xNormal. The diffuse map was painted in Photoshop. If you have any questions I would try and get a hold of Osart, or I could help you as well.

The next step I’m going to take is to bring this mesh into the UDK and create a material for it. I’ll append this post with those results over the next few days.

Tiling Rock Mesh (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2012/04/Rocks_togeather2 NULL.jpg)Weekend Update!

I’ve imported the mesh as an FBX into UDK and softened all the verts. Rocks have a funny specular pattern and it wasn’t something I could create within the UDK so I created a separate specular map. The following material uses a normal, diffuse, and specular map. Instead of explaining the whole map I thought I would just post it along with a shot of the rock mesh titled several times in the UDK.

Rocks Material (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2012/04/rocks_material NULL.jpg)Rocks UDK (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2012/04/rocks_UDK NULL.jpg)

ZSketch: The Ear

ZSketch of a human ear

ZSketch of a human ear (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2012/01/ear1 NULL.jpg)I find the ear pretty tricky to model in a standard program like Maya, but in ZBrush.. wow. It’s so much easier. Being able to just push into a surface makes all the contour changes in the ear less scary. In Maya you’re playing with curves and nurbs, or trying to match up all sorts of curvy edge verticies. I would say that the ear is definitely the most challenging part of the whole body to model. For the base of this sketch I used a standard ZBrush cube, and modeled with symmetry on. Shaping the ear was done with the move brush. I pulled out the outline of the ear first.ZSketch of a human ear (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2012/01/ear2 NULL.jpg) Next I took the rake brush and built up all the major curves in the ear on the flat surface.

The curves along the ear acted as a guidline for where to change the depth of the ear. They each surround a kind of pocket that is either sunken into the ear or elevated. Now that the general shape was there I just worked it with the rake tool for a few more minutes then cleaned the surface up with the polish and smooth brushes. If I had more time I would have liked to have curved the ear profile. I should mention there is poling on the ears edge because of the ZBrush cube I used. I didn’t make an adaptive skin and because of this I was left with tris on the top and bottom of the cube during the sculpt.

ZSketch: Eye

Eye Sketch in ZBrush

Eye Sketch in ZBrush (http://www NULL.terrymatthes NULL.com/wp-content/uploads/2012/01/eye NULL.jpg)This is the first in a series of weekly posts dedicated to quick sculpts made in Zbrush. I’ll be posting one a week over the next several months. The subject is handed out by my Instructor and the goal of the assignment is to get us as students more proficient at ZBrush. Each “sketch is limited to 2 hours. If it is relevant I will discuss the techniques I’ve used to accomplish certain features of the sculpt.