Wednesday, July 25, 2012

A year and some change later...

Well, it's been well over a year since I've posted anything. Since then, I've begun full-time employment, went to Vegas for the first time, and gotten engaged to my girlfriend of 3 and a half years. I'm just one month away from completing my first year. It's nice having a job, but I'm still in pursuit of something that will bring me fulfillment at the end of the day.

That said, it's great to have a secure job, especially in today's economy. At the same time, it's frustrating settling for a career I'm not passionate about. Sadly, I can't expect much in this economic situation, degree or not. Working full-time is a drag, only because when I come home I'm in no mood to do more work. But, that's exactly what has to be done in order to advance my career aspirations. The drive just hasn't been there, but I'm working on getting it back...

I've been working on something that'll hopefully land me a position that's more in-line with my passions and overall skill set. If it doesn't, then I plan on cranking up my search for a new company. My biggest worry is getting stuck in South Bend for the rest of my life. This place is fine, but it's not where I want to live for the next 10, 15, or 20 years. There's just so much more to see in the world.

Well, here's hoping.

Monday, May 9, 2011

Fin!

I'm am happy to finally post my completed portfolio piece. A special thanks to Michael Dashow for letting me use his concept, and my girlfriend for helping me with the color maps. I learned so much from working on this character, and I'm busy applying that knowledge to my next portfolio piece.

Sesslyth & Ezekiel character models. Rendered in real-time via the Marmoset Toolbag

Monday, March 21, 2011

A much needed update!

It's been a while since I've posted, but I have been working on my piece. It's just about complete, finally, which is great because I really need to begin working on something new.

Some related but unrelated news first. Drum roll please... I finally built my first PC! It took a lot longer than I had originally thought, and a buddy of mine came over to troubleshoot a couple issues, but all in all she's running great. Turns out, I have a problem plugging wires and components in hard enough to the motherboard. For harboring such delicate and expensive electronics, you really have to force your components together. It's scary if you're a first timer like myself. I'll take some pictures and go into more detail in a different post.

Now, on to my update.

Rather than jumping straight into doing texture maps for Sesslyth, I decided to go back and reapply everything I had learned class wise into doing his sidekick, Ezekiel. This was a great chance to refresh what I had just spent 2 months learning through my course.

Left: Ezekiel Base Mesh. Right: Ezekiel detailing (early) in Z-Brush.
I started by creating a very basic low poly base mesh, just as before with Sesslyth, using the orthographic's provided by Michael. Then, after importing it into Z-Brush I began sculpting the details.
Final sculpt.
After a couple weeks, the final sculpt was complete. Now it was time to re-topologize the mesh. I genuinely disliked this step for my last model, and this time around was no different. I used Z-Brush again (even though I promised to do otherwise), and sure enough it became quite cumbersome towards the end.
Ezekiel Re-toplogized Low Poly Mesh shown in Maya's viewport


As I had said in an earlier post, I hate doing UV's. Most CG artist's do. It's tedious, often frustrating, and time consuming work. For Ezekiel, I wanted to test out a plug-in available to Z-Brush called UV Master to save myself some time and headache. What does it do exactly? Well, it does most of the leg work for you.

Essentially the tool analyzes your mesh, and automatically generates a UV layout based on where you tell it to preserve UV's and attract seams. Sounds weird, but it's incredibly simple to use, and only takes seconds to make necessary adjustments. The best part is that the UV map generated is perfectly spaced to allow for minimal stretching. If you'd like to see exactly how the add-on works, check out this video on YouTube: http://www.youtube.com/watch?v=kOoOh5s8RE4
UV layout generated by Z-Brush's UV Master Plug-in.
Could I have spent hours and hours allocating seams exactly where I wanted them and filling my UV space better? Sure. But quite frankly, it didn't seem worth the time, especially for a secondary character like this. This solution was perfect, and the results were more than suitable for what I needed. 

After generating the normal maps via xNormal, it was time to whip up some color maps for this little dude. I started by generating the AO maps, and with the help of my lovely girlfriend, began creating the textures and colors necessary (I'm colorblind and have trouble matching the concept art when it comes to doing color maps. My girlfriend was, and continues to be, a huge help in this process).
Ezekiel Color Map. Size: 1024x1024

Using a really nice alien-like pattern I found online, I tiled and overlaid it in Photoshop, and really liked the results. For real-time rendering, I used Maya's realtime CGFX shader, as seen in the image below.
Ezekiel running in real-time via Maya's viewport. Using CGFX shader to achieve results.
The CGFX shader library is very powerful. This particular shader has an option to use rim lighting, which helps the silhouette stand out tremendously (this technique was used to great effect in games like Team Fortress 2). I also used a glossy specular feature which gave the character a distinctly "wet" look. All in all, I think he turned out nicely.

I'm currently working on the color maps for Sesslyth, and will be posting updates soon.

Tuesday, February 8, 2011

Testing out the maps.

The best feeling after doing all this is seeing the end result. After all, this class was specifically geared towards creating characters for games. so how it looked in real-time was important.

Sesslyth running in real-time via Maya's view port. 












With all normal and AO maps applied, the model begins to take life. It's amazing the amount of detail that can be achieved on such a low-poly mesh with normal maps.

A side by side comparison of Normal and AO Maps turned on and off.











Above you can actually see the difference.. The model itself is pretty low-poly, only containing the basic shape and silhouette of my hi-res sculpt. The Normal and AO maps are what bring the details out, and most importantly, they do so at very little cost to performance.

Monday, February 7, 2011

Week 7. Unwrapping UV's and Generating Normal Maps


I'll just say this right now. I absolutely hate doing UV layout. It's tedious, boring, and quite frankly downright frustrating at times. However, I understand the importance. Thankfully, I'm a stickler when it comes to good topology, so usually my UV layout is as painless as humanly possible.

After manually retopologizing most of my mesh, I starting bringing it back into Maya for further optimization and refinement. I used Z-Brush's downloadable add-on Decimation Master to automatically generate some low-poly meshes for a few of the smaller pieces in my model, to save time. It worked well enough, but the topology was generally random. This made skinning more difficult than if I had done them manually. Luckily, the pieces I decimated were small enough to go relatively unnoticed.

Katon showed us a neat trick for saving UV space by duplicating and mirroring pieces that would be the same on either side. I'm still slightly perplexed as to how this exactly works in the computer, but sure enough it does. Any place where there was asymmetry needed to have its own UV layout, but generally speaking this saved a ton of room.

After arranging my UV's the way I wanted, I began generating Normal and AO maps via xNormal, a free downloadable software tool. Notice that I left quite a bit of space between pieces. That's because my intention is to add the UV's for Ezekiel (the Octopus character) and the Psychecept somewhere on my already laid out maps.

Normal Maps for the upper Torso. Image rendered at 2048x2048

AO (Ambient Occlusion) Maps. Rendered at 2048x2048

Sunday, February 6, 2011

Week 6. Building the in-game mesh.

Now that the detailing was nearly complete, it was time to build (or rebuild) my low poly mesh. Using my hi-res sculpt, I began building my low-poly mesh, one vert at a time. There wasn't much artistically involved here. Just a lot of tedious point placing. The key was to retain the overall silhouette while maintaining even edge flow and clean topology.

The method for doing this within Z-Brush became quite cumbersome as the mesh became increasingly more dense. There are other software packages out there for retopologizing, and I would probably go a different route on future projects. As it stands, Z-Brush's tools for retopologizing are limited and not as intuitive as they should be.

The rebuilt upper torso. The wrist guards (once separate pieces) were now part of the overall mesh.

The completed low-poly in-game mesh. I purposely kept the cloak and vest separate for animation purposes. The belt and trinkets were also done separately.

Week 5. Detailing the armor.

By week 5, I was somewhat behind. I had underestimated the time it would take to model every piece of clothing and armor. Not a big deal. By midweek I was caught up and ready to begin sculpting the details.

Essentially the process here was the same as the first couple weeks. Start with your low-res base mesh, import into Z-Brush, and begin sculpting in the details. On top of that, I started adding details and refining my character's face.

I really enjoyed detailing the belt buckle and fish. They were almost like character's within a character, which just added to the appeal and complexity.
I went back and began refining the face. I added eye place holders, refined the mouth and lip area, added small pores around the head, pulled out the wrinkles a little more, and defined the fin.

The nearly finished sculpt of Sesslyth. I was really happy with the results. My hand was very sore by this point (from constantly gripping my Wacom pen), but I felt good about the work I had done.