Monday, September 10, 2012

Process for Modular Building Kit

If anyone is interested here is an in depth process for the challenges I faced and problems I have solved for my modular building kit. I still have things to work on and fix, but this documents the majority of how I created the kit and scene.

The process is below the cut!

Top Three Ideas for Modular Kit

1. Parisian Style Buildings (Chosen Kit Idea)

2. Swiss (Berne, Switzerland) Style Buildings

3. St. Petersburg Canal Style Buildings



Meshes that I need to make the Parisian Alley Kit:
  • A window or wall mesh that can be repeated
    • Plain wall (x1)
    • Window wall (x1)
      • shutter mesh (x1)
      • window railing mesh (x1)
    • different texture instances to create more variation
  • A corner mesh that matches the height of the window or wall mesh (x1)
  • A few storefront meshes (x2)
    • Trim mesh for ground floor windows and plain walls (x1)
  • A top trim mesh that can be repeated (x1)
  • A corner mesh that matches the height of the trim mesh (x1)
  • A tunnel mesh that matches the length of the wall meshes (x1)*
  • Wall light (x1)*
  • Hanging lights (x1)*
  • Roofs?*


Working out the first construct!


All meshes are blocked in. The store mesh walls are still plain walls though and need doors and windows. I learned a new boolean that helped a lot, unify! It's super great for combining things!


Finally finished UVing! Slapped a texture on the plain wall and window wall models to see what would happen. SURPRISE, there are a bunch of problems! The plain walls texture seems to be reacted correctly to the light, but when the same texture goes on the window wall the colors change significantly. Also while the plain walls look good in direct light, you can see where they fit together in the shadow and they have the same problem with full sheet lighting that makes the pieces simply look like they are different colors! Problem solving time!

Problem solved! Turns out the uvs were rotated differently so the light was reacting to the normals differently! Now time to make sure all of my UVs are rotated the correct way! Learning how to UV the right way is important!

Here are some of the textures I plan on using, before any tweaks of course. I plan on doing Material Instances to get a variety of colors for different buildings. If I have time I'd like to do a tilable decorative texture in zbrush. Also Vertex Painting! Gotta set that up still and find textures for that!

Found an awesome window texturing/material tutorial that I plan on following. I was wondering how I was going to be able to get depth with the curtains in windows and this video has a great way to use bump offset to create a really convincing curtain. Also it uses masking techniques that I'd like to learn and can use for the window panes!

Some progress on the window tutorial and textures. The tutorial is a little scatterbrained, but on the upside the guy sounds like Billy Bones. In the tutorial he just uses a sky texture for the reflection, but I'd like to do a real time reflection. I remember vaguely how to do that, and the UDN documentation isn't exactly followable, so looking for a tutorial for that. Also I'm going to make this material an instance so I can change the colors of the the curtains, or remove them, change the panes if I like.

Super quick and simple step by step tutorial for Real Time Reflections! I was doing it correctly except that I was using a regular texture instead of a TextureRenderTarget2D. Now I have shiny windows that reflect the environment. They are bit too shiny right now, but I'm fixing that!

Can't really tell, but the image based reflections are working in this image! Almost done with window! Just got to set up material instance constant for it!

Store front textures are finished! I stacked the UVs for all windows of the storefronts and window wall on the window texture, saved time and space.

Tutorial on Vertex Painting, how to make the textures, how to optimize your meshes for it, and how to implement it in UDK!

So below is an image about something I learned about material instances. Jamie taught us that you need to have parameters in the material to actually be able to use the material instances you make. So now I know how to make material instances! However when I made when the dragged and dropped onto my window mesh it overrode the window material as well. So I figured I could probably individually override the materials in the properties and I was right! Under Materials in the Properties you simply press the green add button and make sure you are connecting the material into the corresponding number from your static mesh and BOOM! Only the material on the mesh you want is overridden! And you can simply select all the meshes in the scene you want to do that with and put it in and it will change for all of them!

Below is the way I added some bump to my floor texture. I created an alpha to create the bumpy look of the floor with cloud render. This was kind of a quick and dirty way to get this. Ideally, this and vertex painting together would be best, but for now it added a nice slight variation to the floor.


I'm really surprised with the amount of versatility I was able to get out of my pieces I was able to use the roof pieces as benches, window sills, a water feature (which I will probably take out), and tables and chairs (not in this construct). The window guards were also able to act as braces, railings, and bars for hanging lights. The corner trim also was able to help make the tunnel piece into a double archway and a porch.

I was planning on using procedural building, but it doesn't really give me the variety that I want in the buildings so I'm abandoning that workflow for this project. Also I had planned on doing a decorative tillable texture in zBrush, but because of how long I spent on messing around with my construct I'm going to have to ditch that too in favor of vertex painting which will help the scene much more. Maybe I will make the zbrush texture for the scene for my portfolio after the project.

Still have a lot to do, fix lightmaps in game, finish texturing lights, windows and doors, material instances, vertex painting, and get together all the deliverables! So better get to work! 

My second construct is going to be a really simple alley way with lots of hangling lights and balconies, this one kinda got away with me so I need to do a more simple construct to compensate for time. I would call the construct below my court yard construct and my second construct a simple alley.

I choose to split up my original construct into two, a courtyard and a small alleyway. This saved me time in created a whole new construct and actually worked out really well. Later I would like to do a night lighting scheme for both of these constructs.


Crit Notes 9/4

Color Key
Green: Fixed
Red: Still Needs to be Fixed

-bump up that floor
    -bump offset
-nonsensical construction
    -tunnel balcony
    -braces by the window, going through the window?

-too dark
    -use diffuse boost

-tweak/create unique post process
    -lighter shadows

-cloud composition
-use lighting to advantage
-soften edges
-material instance constant
    -add another window texture
-fix tunnel uvs
-keep composition

-smooth upwards or slow sideways motion for camera move
-split up meshes into two contact sheets
-add textures to contact sheets

Final Product

Beauty Shots

(Lightmap LODS have become a problem, working on a solution to fix this as soon as I have time)

Contact Sheet