Sunday, June 21, 2015

Facades - Transparent Windows in a Solid Wall

Today I'd like to share a very old trick -- likely a bug, honestly -- in a particular texture mask that has been used in AlphaWorld for over a decade to create windows. 

Stone1m is a very useful mask that leaves the texture unchanged except when a transparent surface is placed in front of the masked object -- the rendered area of the masked object then itself is rendered as transparent. Here's a screenshot from another angle that shows this clearly:

 As I said, this is very useful to create windows on facades that are very inexpensive users of cell space.  To demonstrate, I'll share another facade for a building I completed in Elkins Beach this week.

We start with the base selection of objects:

For this facade, we want a simple wall panel to cover the entire span of the wall. This piece will contain the stone1m masked texture, and  the windows will be placed on it.  We also want a transparent object -- winb2.rwx is a rectangular window that supports the optional texture "tag" parameter:

Texture the frame:
create texture topgrey tag=1 

Texture the pane:
create texture topgrey tag=200

Finally, we'll use p1rec0005g.rwx to add some depth and break the different levels of the facade apart. So we can arrange the facade objects in the location we want:

And then add textures, masks, and scale:

For a final result of 9 objects:

# Object          Purpose        Action
1 w1pan_1000j.rwx masked surface create texture tv4 mask=stone1m
4 winb2.rwx       windows        create texture topgrey tag=1,scale 3 1 0.1

4 p1rec0005g.rwx  depth/detail   create texture topgrey,scale 1 1 5

With this base facade completed, I replicated it out into a larger rectangular building and added some additional detailing as wall dormers and some street-level shops. The street-level shops are currently complete, but the overall structure is done:

And that's that! Feel free to share your own examples of this technique in the comments! This is a very common technique in AlphaWorld and I enjoy seeing new and creative implementations of it.

No comments:

Post a Comment