I wanted to start the first breakdown with the prop that I started this whole project with. The floor bricks. No two props were created exactly the same way, but there is a definite flow on how I work the asset through the pipeline. Here is a little visual aid to explain how I went about creating the floor bricks. Hopefully it communicates my process in a clean concise manner, but if it is confusing I will explain more below
The following is a much more in-depth breakdown of each step.
Step 1 - The Block in - Sometime I like to start my model with a blocked in base mesh created in 3ds max. The most important thing to keep in mind at this stage is that the model is created out of as close to even quads as you can. Do not worry about polycount at this stage. There are multiple stages of polygon reduction that can occur later on. Right now we need to make something that will sculpt well in zbrush. I created the block in with this shape because I dont want tiling to be evident at all. I will have top and bottom of the bricks uniquely textured so I can flip the model upside down and get totally unique looking bricks, while still keeping only one instance for all my peices. By giving it this shape I will further reduce the tiled look. I just fit them all in together like little lego peices.
Step 2 - Subdivide - The mesh must be subdivided well to be sculpted on. Ctrl D to divide. Make sure that when you first start to divide the mesh you turn smooth off or you will get a dough ball from your geometry. I like to subdivide a few times then turn smooth on to get a small beveled edge. I find this ideal for sculpting because the brush will catch that edge nicely when it comes to the next stage.
Step 3 - Beat it Up - This is a very fun stage, maybe the funnest. This is where you just go to town on your object. For this particular prop I started off with a bit of noise (see zbrush tutorial on that). I used that noise to guide me in beating it up even more. I wanted to really push the weathering and damage on these things. This is really where you are telling the story of your prop. So much can be said non-verbally through this process. All those little details you add in here will help in creating a much more immersive environment. Brushes I tend to use here are Clay Tubes, Trim Dynamic, and Move. Maybe a little planar flatten as well to handle unwieldy areas. *protip - Learn your brush hotkeys or set up your interface to pick brushes quickly. It will save you a lot of time in the long run!
Step 4 - Rinse and Repeat - Once you get a good luck going on one of your bricks, recreate that look across each brick. What I like to do is time myself, and try to do each one a bit faster and a bit better. You will learn little tricks on each model you experiment on that will speed up the next one you do.
Step 5 - Polish it Up! - I started feeling like things were getting a bit too noisy so I started to polish up each brick. Work in layers while doing this! it will allow you to experiment more freely because you can quickly get rid of changes or change the intensity of them. This is the stage that I think shifted it from a more realistic looking brick to a more painterly one.
Step 6 - Polypaint it Up! - Now I must preface this and say that this prop was one of the first models that I ever polypainted and it kicked my ass! I was trying to figure out how to control my strokes and not have it look like a bloby mess. I dont know how successful I was. This was the goal of the whole experiment, to master poly painting. Two things that I didnt do here that I learned to do in my other props. 1 - practice painting while you sculpt, you can get some amazing results with this. I will show more on that in later breakdowns. 2 - Masking by cavity! It is amazing! You can do so much with it. Again, more on that later when I actually used it.
Step 7 - Polypaint all bricks - This stage is just repeating what you did across all of your sub-tool bricks. Pretty straight forward
Step 8 - Lower SubDs and Create UVs - This is a stage that many, including myself when I was first learning can find confusing. Lowering your sub division levels will make this process go much faster. Delete UVs if you already have some. I like Pack UVs (PUVTiles). For this asset, I did a unique unwrap for each brick. Might be overkill, but it doesnt really mater because this is just so you can export out your polypaint. Your real unwrap will come later and these packed UVs will bake onto them
Step 9 - Higher SubDs and create Texture from Polypaint - This is another potential hangup for some people. We need to get that polypaint out zbrush so we can bake it in. Crank up your res to the highest and then hit new texture from polypaint. Then clone texture. This will move it to the texture window.
Step 10 - Flip Texture in V and export - I would export this to the same folder as your geometry. Make sure that you flip your texture or else it will look like a pixalated mess. You can now export your geometry as your High Res mesh.
Step 11 - Decimation Master! - This is a critical step in converting your zbrush model an optimized game prop. Just choose how many polys you want it to be and decimate. I brought each brick from about 2.4 million to 500 tris. The beauty of this is that your decimated mesh will look almost exactly like your high res mesh! You will then export this geometry as your low res mesh.
Step 12 - Unwrap - I used headus UV Unwrapper. It is a kick ass tool that shaves off massive amounts of time when unwrapping. If you dont know about it, you should go to the site and watch the tutorials. you can get a free trial as well.
Step 13 - Add High Res Geo to X-normal - Also dont forget to add your polypainted textures to your HR meshes as well. This is how you will get them to back on to your low res mesh!
Step 14 - Add Low Res Meshes to X-Normal - You can use the ray distance tool in the tools section to get an accurate min and max distance for baking. Usually default will work pretty well because decimation is so close to your original model.
Step 15 - Bake your maps! - You can do a test back first at 512 with no anti aliasing. If you see anomalies then you can play with your ray distances. Once your 512 looks ok, you can just crank up the 2048. Bake your final at 2048 and with a 4x anti aliasing. Check Normal, Base Texture, and Ambeint Occlusion
Step 16 - Open normal map in Crazy Bump
Step 17 - Get diffuse map generated from normal map in Crazy Bump. You can use this to really pop your edges in our diffuse map later. Just multiply it in!
Step 18 - Used baked maps to generate Game Textures - Here is where you combine all your bakes to make the textures that will go on your object. On this prop I did a lot more hand painting in the photoshop file just because I was such a polypainting newb! I got it down with the later meshes though so I weened myself from needing to do that. Not that there is anything wrong with painting in photoshop. You get a great base to work from if that is the workflow you want to do!
Step 19 - Bring it back into 3DS Max and Export to Unreal! - This is the final step. Import the model back into max. You have another oppritunity at poly reduction if you would like. ProOptimizer is another kick ass tool that will reduce your polys perfectly. Just tell it how much to reduce. But dont forget to check on Keep Textures! It is off by default. If you forget, you will lose your UVs!
So that is the basic path for the bricks. I will break down other stuff this weekend. I hope this helps someone out a bit! Feel free to ask any questions!