Reply
Reply
 
Thread Tools Display Modes
praetus's Avatar
Old (#1)
My portfolio is severely lacking any type of full on environment piece, so I've decided to work on something fun to get my feet wet. I'm recreating the final boss room of the "Stonecore" which is an instance in WoW: Cataclysm. I have a screen shot here to show what the final boss area looks like.



The Goal: To recreate the final boss area while staying in the visual fidelity of WoW while taking advantage of UDK. I also plan on documenting the process along with shader node breakdowns, texture sheets, cascade breakdowns and all around documentation so that anyone who follows along can learn from my endeavors and mistakes. I plan on disclosing any information people want so that the community may benefit from any knowledge I can give as well as if I have any questions myself, people will know where I am coming from.

Everything I create will be done with the intent of it being a game ready object that could be used in today's engines. Anything I can take advantage of to better show off the scene I will, but it must stand in line with the visual style of WoW.

So far I have created the altar on top of the stairs as well as the Twilight's Hammer flagpole. While not in UDK yet, here are some preliminary shots from marmoset to whet your appetite for more updates.






The next goal is to create the main platform, stairs and brazers. I'll be pulling these into UDK as I create more props and start blocking out the scene itself.
Michael Barrington | Lead 3D Modeller |
Portfolio
The Stoncecore!
Troll
Online , dedicated polycounter, 1,396 Posts, Join Date Jun 2006, Location Newport News, VA Send a message via AIM to praetus  
   Reply With Quote

praetus's Avatar
Old (#2)
Wall of text Incoming!

This is some of the first documentation Iíve written for a project, so if I leave out anything you are curious about, feel free to ask. I am not the type to hoard information and will answer questions to the best I can. During the week I have created some more assets and brought them into UDK. Iíd like to talk a bit about my process and explain some pitfalls I encountered along the way. Assets I have created so far are

  • Twilights Hammer Flag Stand
  • Altar
  • Broken Platform

Modeling Process




For most all the assets you see (and future assets) I followed along with Boboís weapon tutorial from the DS2 competition. The short of the process is creating a mesh in 3DS Max, enabling NURMS subdivision with the Separate by Smoothing Groups box checked. This gives a nice hard surface model which I then apply a second Edit Poly modifier to (this bakes down the high quality to a mesh) and export to ZBrush for detailing.







Once in ZBrush I can add whatever details, scratches, or extra modeling I need to. For tiling textures (the platform uses three) I would bring the high poly mesh into ZBrush and make sure whatever brush I was using to sculpt had a wrap modifier set to one. This ensures that any details I made could tile properly. Finally I decimate it down and export it as an OBJ. Back in max, I edit or create a low poly shell and UV unwrap it. It is then exporting and taken in xNormal where I create my normal, AO, cavity, and if needed the parallax height map. While I could paint diffuse in ZBrush, I am more comfortable in photoshop and prefer to set up actions to save out my individual files for testing in Marmoset.

Why Marmoset?

Marmoset is a quick way that I can test and see that my textures are tiling and lining up properly. Besides being able to show Diffuse, normals, specular, and parallax I can try out different lighting quickly and see results. While these are not 100% accurate to how UDK renders it is a quick test that makes working in photoshop go by faster and easier.






-Pitfalls
Again, because Marmoset doesnít match UDK 100% I have had some normals not behave properly down the creative road. Marmoset does not like elements that share UV space to be mirrored over. This gave me the bright idea on the altar to create the corner piece and rotate a duplicate 90 degrees three times rather than to apply a symmetry modifier. This result looks great in Marmoset but UDK apparently will wreck your day on this approach. The normals on the top of the altar had very visible seams once lighting is baked that I could not get rid of. My solution thus far was to convert the altar into an Interp actor where lighting effects it dynamically, but the light map is not baked in (at least how I understand it, I could be wrong).

UDK


The only hurdle I have hit in UDK (so far) was the idea that I did not want to create a material for every shading group from scratch. I wanted to have a master material that could drive a great deal of Instance Constants and keep my workload down to a minimum. In order to navigate this, I had to think ahead of what I wanted to achieve in my materials.

  • The ability to switch out Diffuse, Specular, Normals, Emissive, Parallax, Masks, and Cubemap sources
  • Turn off certain parameters that are unneeded to save instructions
  • Specular color via parameter
  • Specular power via parameter
  • Emissive Color and Power

Also, to save texture memory I decided to group up certain maps into singular textures. My parallax height map can be found in the alpha channel of my normal maps. Also I have my specular map, material masking and emissive mask set to the RGB of a texture. This has only proven to be problematic in that some materials do not use emissive or need a material mask necessarily and are therefore wasted channel space. I need to see if I can find an alterative way to set up my nodes around this. Perhaps via switches.

Iím not really sure on how to show off the material nodes without the photo being a ridiculous size but if people really want to see it I can try and find a way. The Instance constant it creates is pretty basic though.





The idea is that most the Twilights Hammer props can be driven off of this material without me having to create things from scratch or load multiple materials into memory. The best part is with the switches, if I donít use a certain feature I can disable it and save that much more on the backend (as it was explained to me anyways.) When I get to the stone foundations of this level I will be making another material, although this one will rely more on vertex blending.




Questions, comments, feedback? I'll be moving ahead with this and creating more of the Twilights Hammer props in the next week. Let me know what you think in the mean time!
Michael Barrington | Lead 3D Modeller |
Portfolio
The Stoncecore!
Troll
Online , dedicated polycounter, 1,396 Posts, Join Date Jun 2006, Location Newport News, VA Send a message via AIM to praetus  
   Reply With Quote

praetus's Avatar
Old (#3)


Spikes added. They also have a panner applied so the cloudiness moved along the spike in realtime to keep in how it works in WoW.
Michael Barrington | Lead 3D Modeller |
Portfolio
The Stoncecore!
Troll
Online , dedicated polycounter, 1,396 Posts, Join Date Jun 2006, Location Newport News, VA Send a message via AIM to praetus  
   Reply With Quote

Selaznog's Avatar
Old (#4)
Wow this looks incredible! I'm for sure following this. Love your hand painted texture work
Offline , polycounter, 994 Posts, Join Date Mar 2012, Location British Columbia, Canada Send a message via MSN to Selaznog Send a message via Skype™ to Selaznog  
   Reply With Quote

Dnna1's Avatar
Old (#5)
I like the texture paintings. They are

very beautiful, very perfect.
Offline , null, 22 Posts, Join Date Apr 2012,  
   Reply With Quote

Joopson's Avatar
Old (#6)
Really looking forward to seeing more! And, of course, thank you for transcribing your workflow here. Super helpful, and very thoughtful.

Looks good so far.
Andrew Leslie - Environment Artist @ Plastic Piranha
Joopson.com - My Portfolio
Polygeist - My Blog
Offline , dedicated polycounter, 1,493 Posts, Join Date Dec 2006, Location Los Angeles  
   Reply With Quote

MephistonX's Avatar
Old (#7)
really nice texturing - liking the workflow as well - keep at it
Offline , spline, 215 Posts, Join Date Mar 2010, Location Surrey - UK Send a message via MSN to MephistonX  
   Reply With Quote

Rhoutermans's Avatar
Old (#8)
looking very nice! I feel like the spikes have should have more 'edge-damage' tho to make em feel a little less soft and round.
*tracking*
Offline , polygon, 659 Posts, Join Date Sep 2010, Location The Netherlands Send a message via Skype™ to Rhoutermans  
   Reply With Quote

praetus's Avatar
Old (#9)
Hey guys, thanks for your comments, I really appreciate them. I'm currently creating the brazers and should have some work posted tonight or tomorrow I'm hoping. These will prove to be interesting since I haven't messed with cascade too much yet.

Rhoutermans - I definitely agree on the spikes. A coworker also mentioned that they look too soft, so I think I will be revisiting them over the next few days.
Michael Barrington | Lead 3D Modeller |
Portfolio
The Stoncecore!
Troll
Online , dedicated polycounter, 1,396 Posts, Join Date Jun 2006, Location Newport News, VA Send a message via AIM to praetus  
   Reply With Quote

Iciban's Avatar
Old (#10)
Wow thanks for the really detail workflow. I'm goign to be following this for sure. Keep it up!
Offline , triangle, 395 Posts, Join Date Dec 2010, Location Vancouver Send a message via MSN to Iciban  
   Reply With Quote

praetus's Avatar
Old (#11)


I created the brazer and started working on the flames. I should have more to post tomorrow as well as a more detailed write up on the creation. The flames are pretty placeholder right now while I try and learn how to work in cascade a bit more. I'm also going to try and make them into a mesh as the billboard just feels really flat. I'll try it out and see what the results are. As I said, more tomorrow!
Michael Barrington | Lead 3D Modeller |
Portfolio
The Stoncecore!
Troll
Online , dedicated polycounter, 1,396 Posts, Join Date Jun 2006, Location Newport News, VA Send a message via AIM to praetus  
   Reply With Quote

praetus's Avatar
Old (#12)
Aw, Larry! I <Spam3 you too.
Michael Barrington | Lead 3D Modeller |
Portfolio
The Stoncecore!
Troll
Online , dedicated polycounter, 1,396 Posts, Join Date Jun 2006, Location Newport News, VA Send a message via AIM to praetus  
   Reply With Quote

jeremiah_bigley's Avatar
Old (#13)
The seams you were getting in UDK due to your approach on building it... it, to me, doesn't sound like you made a 2nd UV Channel for a light map. So it is just using your texture UVs to bake the shadows which would give you a horrible result.

Let me know if this is the case.
Offline , polygon, 707 Posts, Join Date May 2009, Location Coral Springs, Florida Send a message via Yahoo to jeremiah_bigley  
   Reply With Quote

praetus's Avatar
Old (#14)
Unfortunately, that is not the case. I specifically unwrapped a 2nd UV channel in max so I could have greater control over it. I even made sure to stitch certain seams together so that the light map would have less pieces to bake to. The top of the altar is now one large chunk as opposed to four separate pieces and the siding is stitched together as well.

Michael Barrington | Lead 3D Modeller |
Portfolio
The Stoncecore!
Troll
Online , dedicated polycounter, 1,396 Posts, Join Date Jun 2006, Location Newport News, VA Send a message via AIM to praetus  
   Reply With Quote

Joopson's Avatar
Old (#15)
And it's all in the '0,1' space, right? (probably a stupid question)
Andrew Leslie - Environment Artist @ Plastic Piranha
Joopson.com - My Portfolio
Polygeist - My Blog
Offline , dedicated polycounter, 1,493 Posts, Join Date Dec 2006, Location Los Angeles  
   Reply With Quote

JamesWild's Avatar
Old (#16)
Use the inbuilt UV viewer in the Static Mesh Editor in UDK to make sure all of the UV sets got into UDK. Often there's no actual problem except the short stretch of pipeline between the tool and the engine.
Offline , polygon, 659 Posts, Join Date Nov 2011,  
   Reply With Quote

praetus's Avatar
Old (#17)
Both UV channels properly imported into UDK. The lightmap is totally in the 0,1 space as well. I had found a different thread where the same problem happened. It seems that when you rotate the mesh it causes the normals to not line up properly and it effects the light map baking. While I somewhat fixed this by turning the mesh into an interp actor, it looks to me that the only real way to fix the problem would be to lay out the UVs and planar map the top down as one continuous UV shell.
Michael Barrington | Lead 3D Modeller |
Portfolio
The Stoncecore!
Troll
Online , dedicated polycounter, 1,396 Posts, Join Date Jun 2006, Location Newport News, VA Send a message via AIM to praetus  
   Reply With Quote

praetus's Avatar
Old (#18)
Quick particle test on the brazers.

Michael Barrington | Lead 3D Modeller |
Portfolio
The Stoncecore!
Troll
Online , dedicated polycounter, 1,396 Posts, Join Date Jun 2006, Location Newport News, VA Send a message via AIM to praetus  
   Reply With Quote

Pancakes's Avatar
Old (#19)
I'm learning from you. Keep it up!
Offline , triangle, 351 Posts, Join Date Jun 2010,  
   Reply With Quote

JamesWild's Avatar
Old (#20)
To be honest the vertex density might be good enough there that you can get away with vertex lighting (lightmap resolution 0) worth experimenting with if you didn't know.
Offline , polygon, 659 Posts, Join Date Nov 2011,  
   Reply With Quote

praetus's Avatar
Old (#21)
Sorry for the delay, I finally got around to being able to write this up. I can only hope your body is ready for this wall of text. So, things that have been worked on since the last write up are:

  • Obsidium Spikes
  • Braziers
  • Brazier Fire and particle fx

Spikes

Before I started on the spikes I had a few things I wanted to achieve with their construction. I wanted them to all share the same UV space for diffuse, normal, spec, etc but to have different UV shells for the lighting channel. I wanted the texture to animate a cloud texture along the length of the spikes as well.

Modeling the spikes was easy. I made a four sided cylinder in max, tapered it to the top point and then did all of my UV unwrapping, texturing, and ZBrush sculpting with it being straight as an arrow. Once I was done with the basic construction I applied separate bend and twist modifiers to chunks of the spikes to achieve some interesting shapes. This worked out great because I had minimal UV stretching and I was able to re-use the texture layout on all of the spikes.



The material, while mimicking the layout of previous layouts, had to be created specifically for this item. This was mainly due to the panner being applied. Iím sure I could have just created a switch that turned off the clouds, but there were some minor tweaks I wanted to have more control over as well.

Brazier



There isnít much to say about the brazier itself. The construction followed the same workflow as the altar and even uses the same material instance. The only difference is that the coals are a separate material channel with a newly created material placed on them. I wanted the emissive channel to look as though heat was moving across the surface. This is the node chain I created to achieve the effect.



The Cosine causes the light to pulse while the constant clamp stops the color from going below a value of one. This was done so that the emissive would never go black. The cloud mask was set to a panner and then multiplied over the constant clamps output to make the brightness appear as though it were moving across the surface and not pulsing in the same location every time. The panner was set to a speed of 5,5. This was the only part of the material that really sets it apart. The rest is more or less business as usual.

Brazier Particle Effects Materials

I knew that I needed to make a particle effect for the fire, smoke and embers. First of all, I knew that I needed a tiling flame texture.

Flame-

While UDK has a tiling flame, I wanted the experience of creating one from scratch and also, I needed it to be purple to keep with the in game screenshots. http://www.cgtextures.com/ has some great shots of flames and while they are not tiling, I was able to create one in photoshop. I also made sure to create an alpha channel for transparency as well.



So, on we move to the material node creation-



First, the ďBlend ModeĒ is set to translucent and the ďLighting ModelĒ is set to unlit. The emissive channel is powered by two copies of the flame texture that are tiled at different sizes and panning in different directions and speeds. When added together this cause the fire to look really chaotic as it dances. Of course, in your case you may find better results with different values. Try it out to see what you get! Then I multiply by a scalar parameter which is to control the emissive intensity. Finally I multiply by a vertex color. This is important! If I want to change a color value over time in Cascade, it is controlled by a vertex color.

The opacity is pretty simple. Youíll see a TexCoord is plugged into a component mask (G) which is a really simple way to create a gradient in UDK. When multiplied into the moving alpha channels this ensure that the ďtopĒ of the flame always fades out. This is then multiplied by the vertex colorís alpha for the same reason I explained before.

Youíll also notice I have an unconnected node in a red box. I decided to use a mesh for my flames, however, if you decide to use a billboard effect you will need this node. If you search UDK for ďMaskĒ you will find a circular image with a slight falloff. If I set the textureCoord to 1, .5 then I get the stretched out half circle which works great for a final multiply mask. If I multiply that node at the end of my chain I will get the following effect on a billboard.

Embers-

The ember effect is simply a material that uses the circular mask I just mentioned multiplied by a vector parameter for color and a scalar parameter for emissive intensity. These are then multiplied by a vertex color so I can have animated control over the emissive power and opacity in cascade. Really simple.

Smoke-

Iíll be honest, Iím not totally happy with the smoke as of yet and I may come back to it later but as for now, here it is.



As you can see, itís really simple. Most my editing for this to look good will be done in cascade soÖON TO CASCADE!

Brazier Particle Effects Creation (Cascade)

Iím still learning about Cascade as it is so my explanations may be lacking. For some great tutorials, Polycounts very own Lee3Dee has a site called www.explosions-rainbows.com which has some pretty neat stuff on it. You can also find his Youtube channel at http://www.youtube.com/user/gizm0san . He doesnít have anything to do with this project, but he makes some damn fine tutorials. Also, 3Dmotive has bought out ImbueFX and should hopefully be releasing a cascade video set in the future (I hopeÖ)



Flames-

The flames are pretty basic as they are mainly controlled by the texture itself. The big change is that theyíre referencing a mesh instead of being place on a billboard effect. They are the only particle in this chain that does that. They have a slight randomness in size that allows them to change when they spawn and their lifetime is set between 5 and 8. There really isnít much to these.

Embers-

I had some fun making these. The embers needed to really appear as random as I could make them. Their lifetimes are set between 1 and 10 and the size is between 5 and 25. The main point I made was to create a solid range that they could move around in without them flying clear out of the path. The color over life node also makes it where they are much brighter when they spawn and they found out before they die, so that they donít disappear suddenly. The orbit is what causes them to spin wildly.

Smoke-

The smoke is by far what took the longest as well as the most amount of tweaking. Most of these nodes are self explanatory for their purpose. It was really just trial and error for the most part. I edited these nodes so that the smoke rotated as it moved upwards, the size of the clouds doubled over time, and the clouds moved upwards at slightly different speeds to break up uniformity.

Youíll also notice that even though my smoke texture was grey, it transitions from a purple to a very dark grey over its life. This is all controlled by adding that vertex color node within our material. Over the lifetime of the smoke I am multiplying a color over our texture. As it nears the end of its life, I am also animating the alpha of the vertex to fade the clouds out so they donít disappear suddenly.

If you have any questions please feel free to ask. Iím off to work on this more and get my ass kicked playing Dark Souls.
Michael Barrington | Lead 3D Modeller |
Portfolio
The Stoncecore!
Troll
Online , dedicated polycounter, 1,396 Posts, Join Date Jun 2006, Location Newport News, VA Send a message via AIM to praetus  
   Reply With Quote

praetus's Avatar
Old (#22)
Quit getting my hopes up for comments, Spambot! >.<
Michael Barrington | Lead 3D Modeller |
Portfolio
The Stoncecore!
Troll
Online , dedicated polycounter, 1,396 Posts, Join Date Jun 2006, Location Newport News, VA Send a message via AIM to praetus  
   Reply With Quote

praetus's Avatar
Old (#23)
Sorry for the long space between updates. Work has been busy and my wife and I are preparing for a move so I haven't had as much time to spend on this as I'd like. Oh, and also Diablo 3. So, I'm going to post some updates, but I won't have a huge write up this week since most of what i am currently doing is following the same workflow as previous updates.





The pillar with the stonework has a long way to go yet. I just finished baking it this morning and still need to paint all of it and import into UDK.

Edit: Also, here's the wires for the green pillar


Last edited by praetus; 05-26-2012 at 02:21 PM..
Michael Barrington | Lead 3D Modeller |
Portfolio
The Stoncecore!
Troll
Online , dedicated polycounter, 1,396 Posts, Join Date Jun 2006, Location Newport News, VA Send a message via AIM to praetus  
   Reply With Quote

cholden's Avatar
Old (#24)
good presentation on the brazier effects
Offline , veteran polycounter, 3,446 Posts, Join Date Oct 2004, Location Denver, CO Send a message via ICQ to cholden  
   Reply With Quote

praetus's Avatar
Old (#25)

Got a bit more work done. Hopefully I'll get some more done this weekend.
Michael Barrington | Lead 3D Modeller |
Portfolio
The Stoncecore!
Troll
Online , dedicated polycounter, 1,396 Posts, Join Date Jun 2006, Location Newport News, VA Send a message via AIM to praetus  
   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.

Copyright 1998-2014 Polycount