Metroid Prime – Ruined Fountain

(minor note: dragon project is on hold until I decide if I want to bother fixing some design issues brought up in other WIP threads)

My never-ending love for the original Metroid Prime is back. I’ve done several renders before loosely based on its environments, but this time I wanted to do something a bit different. I wanted to re-create a room from the game outright, to try and see what it would look like in modern offline HD glory. I figured it would also be good practice working off someone else’s environment concepts. So I chose a standout and fairly small one, the ruined fountain in the Chozo ruins. This was somewhat inspired by this blog post. My goal isn’t necessarily for it to match down to individual details, but I’m trying to avoid major deviations as far as materials, locations of pipes and platforms, objects, etc.

So with no further ado (because I need to eat lunch¬†pretty quick here…)

env_003 env_fountain_003b env_magma_003

Zbrush, Cycles, normal map channels, and YOU.

I’ve mentioned before I’m a fan of using Zbrush’s Multi-Map Exporter (hereafter called MME) to pack up a finished sculpt for Blender/Cycles. (I use GoB to send base meshes to Zbrush initially, but I prefer settings things up my way back in Blender). MME has a normal map config panel like this (spoiler alert, rest of the post is describing why it’s configured the way it is in the picture):

Screen Shot 2015-01-04 at 5.53.14 PM

Those 6 controls along the bottom control how the channel arrangement is done. Different 3D packages expect different arrangements, and the internet is pretty vague about which one you want for Blender. I’d previously read somewhere to use flipG only, but that was looking slightly¬†weird. So I decided to¬†consult with my dragon (see previous blog post) just wtf Cycles wanted here. Sometimes, it’s hard to tell if your map is weird. Some combos (like flipB) are obviously wrong and give black or patchy-shaded meshes so you KNOW they are wrong. Other combos though, they give normals that look ostensibly correct, but depict surface features going in the wrong directions.¬†But if these features are small enough, sometimes they can get hidden under the displacement and color detail. Not this time though. I turned off the subsurf and displace modifiers, set a clay shader, and exported normal maps against lv1. We’re going to find out once and for all!

To start, this is the high-res model in Zbrush. Ideally, the surface will look as close as we can to this (shader differences aside. I didn’t bother to match the matcap):

high_res

First of all, flipG, as I’d read somewhere I can’t remember. This is obviously not it, you can see¬†scales¬†along the side of the thigh shift from raised to sunken!:

flipG

________

Ok,¬†so if we’re getting shifts from up:down, clearly R and G need to match. What does flipRG give?

flipRG

Well, shit. Now EVERYTHING is sunken!

__________

So if flipRG gives sane normals, but with sunken details that should be raised, doesn’t that imply no flips at all is correct? Let’s see:

no_flip

Yep, I think that might be it.

__________

But let’s be thorough. What about that swRG button?

swRG

Nope, mix of raised and sunken scales again!

__________

But what if we flipped AND switched??

sw_flipRG

This one gave me a bit of pause. I THINK this is still wrong, several details along the face seem sunken where they should be raised (and are in the no-flip version). So I’m going to go with no-flip is the correct way.

________

To cover some other options on MME while we are here:

FlipV/FlipU – Zbrush and Blender have opposite conventions for the V axis in texture space. Sending a mesh from one to the other will cause your textures to be inverted if you don’t flip your UVs along V. If this needs to be done, switch on flipV. Note that GoB will automatically flip V, so if you are mixing MME and GoB for your roundtripping, make sure you don’t double-flip. Blender and Zbrush (and Maya, incidentally) have the same convention for U, so as long as no other apps have touched this mesh, you can leave flipU disabled.

Tangent – This switch needs to match the “space” option on Cycles’ normal map node. Enable if using tangent space.

SmoothUV – There isn’t necessarily a right or wrong setting for this, but this switch, the corresponding one on the displacement map export, and the “subdivide UV” checkbox on your subsurf modifier back in Blender all need to match. Otherwise your UVs get distorted out from under the texture.

Dragon

What is with me posting my WIPs on CGtalk and BlenderArtists, but not here? Anyway, here’s a snake-like dragon:

standing

And here he is in a power plant (note: due to clay render, he’s missing his normal maps here):

dragon_main_wip_006

This project began life as an attempt do a realistic rendition of the pokemon salamence. I discovered after some fiddling that this is a lost cause: Salamence is distinctively not a practical body design. Trying to modify the legs and wings to look like something that might actually fly doesn’t look much like salamence at all. (the only places the wing muscles could go is exactly where the front legs are).

So I made my own dragon. With blackjack. And hookers! AND ONLY TWO LEGS

I’m trying to make the power plant environment look post-apocalyptic, like dragons came to the earth after mankind got (mostly?) wiped out, and this one has taken up a lair in the shell of an old generator facility. It was a one point a reactor containment building, but I didn’t like working with that small of a building, and I feared I wouldn’t be able to design the room accurately.

 

Also! I picked up the Substance Indie Pack during the flash sale a few weeks ago. Going to break them in properly with this project, because holyfuckballs that is going to be a lot of texturing work. (why did I try do an abandoned environment?….). Hopefully I’ll have a post here in a week or two about integrating the Substance tools with Cycles. (that will involve a new, much slicker version of Simple PBR, by the way).