Hey Guys,
I've started a new environment piece that i'm going to use to dump all of my technical environment art skill into.
I've been working professionally at Digital Extremes for 6 months now, and I've learned a helluva lot from some of the most talented people I've met in the industry so far. Furthermore, I've been submerging myself into the world of advanced HLSL shading, and I've been developing some really useful techniques for adding extra levels of realism to materials that make procedural blending and variation almost effortless.
This scene will serve me as a compendium for all of my technical and environment modeling knowledge, and I hope this thread will inspire and spur many discussions on how things were made.
One disclaimer: I'm using a higher polycount on most props than would generally be accepted in the industry. It's my way of having fun with my art, and shouldn't be considered as an acceptable professional practice. One should always strive for optimization.
So I'll kick the thread off with some highpoly renders i've recently finished. I'll add more when i get home from work, and discuss layout and some of the pre-production procedures I went through.
Background on Environment
The environment is currently called "The Pit". The universe would take place in a pre-industrial era, where stone and metal was handcrafted for architectural and decorative purposes. Magic is practiced by the rare few who are able to master the complexity that it requires. The pit is an underground prison that was constructed to hold in the land's most powerful criminals and villains. However, because it's impossible to make someone "unlearn" magic, the only possible remedy for containing these dangerous mages is to lock them in a cell constructed with magical elements that will help keep them imprisoned.
The Pit will be set after a mass breakout. The goal will be to tell a story that clearly indicates that someone extremely powerful was able to break out, and leave havoc and destruction behind him.
Here are some of my first presentation renders.
I have some actual in-game shots on my home computer, so i'll post those later today, along with some new shader tech I've developed to go along with it.
Cheers!
Replies
@ A-Train: I'm really going for interesting silhouettes. Thanks for noticing!
@ Paul: I haven't really done anything in terms of 2D Concept, however i did block out a sketch environment in UDK, then i just use my imagination to fill in the rest.
Here's some more on the scene. It's going to be a circular environment to keep it from being square and boring. The prison cells will be the next layer behind the arches. I'm still working on the lowpoly for that, so it should make it into my next update.
Notice the deposit map of built into the shader. It takes any faces pointed upwards in worldspace, adds an influence from the normal map, and auto blends a texture map in. It's something that just gives it a little extra detail and realism, and is nice because it's automatically spread throughout the scene. If you want to look up more of the parameters of these type of shaders, click on the Up-Vector-Blending link in my signature.
Now, if you're wondering how I did the bricks in the above image, let me help you out with a little example below.
To avoid using 9 texture calls in my shader, i had to combine the 3 AO maps, and the 3 Height maps into 2 separate RGB maps. IF i REALLY wanted to i could have stuck 3 of the Height maps into the Normal Map Alpha, but I was too lazy.
I then made a custom entropy-shader (which is based off of the entropy shader model that I show you guys how to make in my 3dmotive.com training DVD) that enabled me to vertex paint in 2 separate layers of damage. I wanted to use the deposit map technique with this shader as well, but unfortunately you can't use a transform coordinate node as well as a vertex shader constant node in UDK due to lack of real-time interpelators (according to UDK's documentation). So to gt around this problem I realized that the material is going to be used on a mesh that is always going to be parallel with the world up axis anyways, so I could just grab the positive green channel values, and manipulate that to use as my deposit map mask.
Here's a quick HD Demo i put together to show it off, because a video is much better than a screenshot
[ame]http://www.youtube.com/watch?v=gjJyD0j6We8[/ame]
Cheers!
Isn't this kind of blending pretty expensive though, especially with the 3 normal maps?
e-freak and Bal - I took this screenshot just for you ^.^
Shader complexity reads just fine. That material is only 73 instructions right now, However, when i add a diffuse map to it, it will go up to around 76-80, but I can live with that. You have to start worrying about instruction count and fill rates when you have complex effects going on, where translucent materials overlap and blow up instruction counts in certain areas. Also, it's possible to get away with a higher instruction count if the shader doesn't take up much screen space... because remember the Video Card only has to do those extra instructions for each pixel that the mesh takes up, so if it's a smaller part of the scene, it's okay... However it would suck if it took up say, 80% of the screen, which it wont.
Edit: Addendum- Another thing you have to think about is having 5 + texture calls in a shader is kind of standard, especially when looking at Epic's shaders. Their BSP shaders alone usually have a Normal Map, Diffuse Map, Detail Normal, Tile Breaker, and often times, a specular map. Albeit tile-breakers and detail normals aren't 1024x1024 (they are usually much smaller). If worst comes to worse i'll just throw the Height Maps into the normal maps' alpha channels.
Got the cell doors in engine, thinking about making them larger and putting them on a different elevation then the floor. Was thinking making steps leading down to another level around that outside wall.
Good stuff.
Can't wait to see more.
If there was any way you could kill some of the symmetry, or the cylindrical shape, I think that will make this environment much more interesting.
I know its just the start but I thought I'd put in my 2 cents.
That shader looks really interesting and is doing a great job to break up that texture. I don't know if you've said this before but what general colour scheme and light setup are you going for - daylight? overcast? nighttime?
Good luck with this.
Paul - Color scheme will be warm. Think of a desert city, similar something like the original prince of persia. Light setup is in the air right now. I can't decide whether i want to go for more natural lighting during the day, or torch light at night. I play around with lighting more than anything, so we'll see what happens.
Jesse - Thanks man, hopefully I finish this one.
keep going!
Eyo - No problem, glad to share things here and there. The floor will definitely have some of the vertex shading stuff i've been developing. Maybe i'll put together some advanced shaders for the pitt stuff as well.
I tightened up the graphics on level 3.
I havn't begun texturing yet, i save that for later... so everything is being shown with an AO map on it.
lol i knew i'd be getting guff on the DOF! It's just for those screenshots, i wanted it to look like i was actually photographing the architectural detail. I won't have it on anymore after this i promise!
The corrosion on the outer-ring of bricks feels a bit unrealistic, with too sharp of an edge to those holes. Maybe a more collateral damage rather than individual deformation would work better, they've probably worn down over time After they've been cemented, after all.
Proximity: That depends.
I have more heathen magic for you. This time i made a hybrid between my entropy and soft sufface transition material, and i'm pleased to announce this is my first demo of these types of shaders in an actual practical enviornment.
The instruction count on the shader is 69 instructions.
[ame]http://www.youtube.com/watch?v=KwKKs6JL2YA[/ame]
Cheers
Inspiring stuff, everytime I watch one of your shader videos I want to bust out the material editor and make some feeble attempts.
:thumbup:
painting directly in UDK is a really great feature!
Would you mind posting up some wireframes of your low-polys as well?