I'll be using this space to chronicle my latest project. In the few days I've been working on it I've already hit quite a few things I think I should document.
I don't want to jot down only what is working, but what doesn't work and why. I tend to learn more from my mistakes and maybe you will too as I write them up, who knows maybe you'll have a work around or the idea might work on something else.
I started out with this piece of concept art by
Thierry "BARONTiERi" Doizon I think it was for Dues Ex Human Revolution, either that or it was fully awesome inspired art.
Max blockout:
Using the grid and regular max units (1 max unit = 1 unreal unit) and some rough measurements from UDK (96 units = player height) I blocked in a basic room. Wall tiles 128x128 units.
I didn't account for perceived scale which is why things look pretty cramped, but I worked that out once I got everything in UDK. It was something like 1/3rd bigger for everything.
I planed out texture sheets using a 4:1 ratio, 4 pixels to every game unit and worked out naming conventions for the pieces.
FloorTile.fbx
FloorTile_D.tga
FloorWood.fbx
WallPlaster.fbx
WallPlasterCornerR.fbx
ect...
This way I could start grayboxing with the peices, work out the scale and start working on materials and lighting.
The export prep script:
Search for something like wallworm but for UDK, if nothing exists create it.
The script would, record the objects position, move it to world 0 0 0, apply turn to poly limit it to 3 sides, rename the material to match the objects name then trigger a FBX export with explicit normals and then move the object back to where it came from.
More to come...
Replies
I wanted to test out an idea I had and the globe was the perfect candidate for it because it was a fairly symmetrical piece, not just in one direction but in several. It was also a simple object to create high poly geometry for if it didn't work out all I had to do was re-unwrap and bake it again.
Splines generate UV's which are squared off and easy to pack. Also when you run symmetry on something it stacks the UV shells nicely, all you need to do is offset them 1 tile to the right when baking. A fraction of the texture space covering the entire model, sweet! (not really).
Symmetry Fail on lightmap specular! yea not so cleaver now...
I might be able to use a smaller texture with a higher textel density if I could mirror a lot of the pieces. I thought I could deal with the seams the same way I normally would if it was mirrored along one axis.
The spec seams where more apparent when you walked around the object, it also looks like the specular is using the 1st UV channel which is heavily mirrored instead of the 2nd UV channel that is 100% unique and has welds over a lot of those seams... I'm getting the feeling that people just deal with this by hiding them. Which I'll do for now.
Maybe there is a way to get around this but I only found the typical mirroring fixes with the note at the bottom: Which has since been edited...
If anyone gets seams figured out let me know.
The "Final" globe came out a little lower res, kind of blurry and I need to finish the diffuse and spec maps, but it doesn't have any distracting specular seams in noticeable places.
The high poly was a win
It was very easy to create, simple to apply the materials to the high and bake down to the low.
Splines
Spline based geometry is great I love it for everything from wires and pipes to trim around doors and even planter boxes and vases. Seriously they generate great UVs and allow for some incredibly fast efficient modeling techniques.
Here are some examples of how I work with spines.
Lathe:
Create a profile spline (point, click, point, click, or use a spine drawing tool, there is one in Graphite Modeling as well as scripts (soulburn scripts is great)
Then apply the lathe modifier, then you can refine and tweak the original profile spline and it changes the shape of the entire piece.
Applying turbosmooth to the top of the stack is a great way to get a good preview, you can then go back down to the profile spline and work on one set of verts and it effects the entire piece. Need reenforcing edges? Click refine, click two points and you're done, no chamfer, no messing with caddies or cutting in loops, just drop in two points.
You can also remove points easily which is a great way to create your low poly. I select all the verts, then choose which one are the most important to the silhouette and deselect them. Again no unwrapping because its a spline. I love this method.
Sweep + Profile Shape = Horizontal Ring
(Horiz ring high poly pic)
QuadSphere and TriSphere tag team
(Tri-Quad Sphere pic) (tri-sphere texture pic)
I used a Quad Sphere for the low poly and a higher poly Tri-Sphere for the easy diffuse material that was baked to the much more UV friendly QuadSphere. The trade off is better packed UV's but with a bit of distortion, however RTT works out the distortion for you so its painless.
Explode-o-baking (I forgot about RTT assist, next time)
Just your standard explode-o-bake. Frame 0 all together, frame 1 all apart.
Baking more than the normal and AO
I also baked the specular and diffuse from the high poly. I took a few min to unwrap the high poly very sloppy UV's but it looked good on the model with no seams which is all that mattered. Drawing a wood pattern across jumbled up UV shells and getting rid of diffuse seams could be quite maddening but it bakes seamlessly and easily so why not.
Progress shot:
(singular wall tile + corner pic)
High poly, splines
Floating geometry
(edit normals pic)
The bend, edit normals to get rid of smoothing seams
Seams at a distance, probably due to mip-maps, probably crank up the mip distance, ha.
The floor tiles:
Substance materials, baked to a plane. There are a lot of advantages to Substance materials, they tile, they have preset parameters to grudge them up, you can bake the diffuse, specular, height and normal map from them. It couldn't be any easier. It's a great base to start from and the materials are almost identical to the scene so why not.
The glass:
What a pain in the glass glow, bloom and transparency can be. I needed to figure this out for other assets and I'm still wrestling to figure it out. I haven't hit the popular sites for help yet so I might be picking a few brains soon.
Simple tile, most of the work done in Unreal Material Editor
Latest Progress:
I'd consider making the entrance way bigger, in the concept the BW floored entrance gives a lot of character to the room and it lets a lot of the natural light come in if you don't want it o be too dark. It's almost 1/6th of the space in the concept and in your 3d it's around 1/20th of all your space. When I first looked at the concept the entrance was the first thing that i looked at. Other then that it's coming out nicely ^^
that is a concept i had in my todo bin for a while but haven't even gotten to starting it yet.
and yes it is Deus Ex HR related, tehre are 2 more Vertical slice concepts too that are similar.
r_fletch_r, good point about the walls, I added some thickness, it needs more work tho.
theslingshot, I still haven't settled on the door width yet. I'll be blocking it in soon enough, I think rescaling the rest of the room helped with that.
haiddasalami, yea that script would be handy, I did some hunting and couldn't find one script that did everything I wanted it to do, so I'm probably stuck writing it, but like you said it seems like it would be easy to crank out. I'll post it if I get to it.
passerby, OOoooOOo... there are more... thanks for the heads up!
jeffro, thanks but I need to take some time and clean up some of the posts and add more pics.
cptSwing & teaandcigarettes, thanks guys but I fully expect this thread to be full of fail, if it is then, its a win heh.
biofrost, that's a good idea about a character, I'll toss one in for the next shot.
Now things are looking a bit squished, oh well I'll look at in the AM with fresh eyes -D
//Will try out RTT Assit as well, didn't know about this, nice posts
http://fuckyeahconceptart.tumblr.com/tagged/Thierry%20Doizon
ya he has a few more things in fuckya
edit:
also here is a script for maya that does a lot of what you want to do with your maxscript, http://www.polycount.com/forum/showthread.php?t=92498
http://www.polycount.com/forum/showthread.php?p=1493372#post1493372
I had a lot of trouble getting specular seams to behave across mirrored pieces, it worked fine on the diffuse, normal and light maps but the specular always seemed to use UV1 instead of UV2. It might be using whatever UV the normal map uses which makes mirroring normal maps pretty much useless. It might be a bug in UDK or it might be something people have always dealt with the same way I did, hide them as best as possible...
If anyone has any info on mirrored pieces and specular seams I would love to know. At least one other person is hitting the same roadblock.
http://www.polycount.com/forum/showthread.php?t=93063
I haven't done any UDK work in a while... so my info might lead you down the wrong path. Mirroring with anything shiny was always a real problem for me in the past. Here are a few threads/posts/pics that I've written with possible partial fixes for this issue. The main theme of my fix was to get rid of any curvature at the mirror seam which helps to reduce the specular seam. Though later I tried this with perfectly flat glass/metal windows on a large building and it turned out really horrible.
http://www.polycount.com/forum/showthread.php?t=75993
http://www.polycount.com/forum/showthread.php?t=67290&page=38
In the end though sadly I never found a magical fix for this
Good luck! Hopefully someone else has figured out a good fix for this issue.
I haven't tried it but there is possibly one more hoop people need to jump through, it popped up in the thread I linked to earlier.
http://www.polycount.com/forum/showthread.php?t=93063 I haven't tried it yet on the globe, I suspect I'll have to also follow some of the other advice you linked too also ha!
The globe could be tricky because some of the pieces are mirrored in two directions which I will probably need to adjust to be only in one direction. This leaves me wondering why the orientation of the seam maters and what happens to mirrored seams on more organic shapes where the seam might be in the shape of a S?
Thanks for the info Ben! I definitely feel like this is one of the weirder UDK quirks.
Using indirect Normal influence boost setting to 0 did seem to help tone it down.
What it does:
Records the objects current position.
Moves it to 0 0 0.
Triangulates the model by adding a turn to poly modifier and limiting the number of sides to 3.
Forces the material name to match the object name.
Triggers the FBX export and sends it to a new folder called "Exports" which is in the same place as your max file.
Moves the object back to its original position.
How To Install:
Download the script to anywhere (you can delete it after you run it once):
Open max and go Main Menu > Maxscript > Run script > FBXport.ms
It can now be found in Main Menu > Customize > Category: VigTools
From there you can assign it to a keyboard shortcut, toolbar or quad menu.
You can also drag the main body of the script (below) into your tool bar to make a button.
You can then right click that button and change its appearance. Disclaimer: I can't be held responsible if it launches missiles at Russia or harms your system in some way so use it at your own risk. If you have any suggestions or requests post them here or send me a PM and I'll see what I can do.
Progress:
Recreated the right wall tile set and worked on the diffuse a bit.
Rescaled all objects in max instead of UDK.
Worked on the lighting a bit.
Worked on the globe materials.