Unreal Development Kit Game Design Cookbook
上QQ阅读APP看书,第一时间看更新

Building a hollow room

You may have noticed there are more BSP brush creation options than we've discussed. A useful one is to create a hollow BSP with a preset thickness. This allows us to quickly create interiors.

How to do it...

  1. Start a new scene and right click the BSP cube brush icon [ How to do it... ] and set it to something like 512 x 512 x 512 and set the Wall Thickness setting to 64.
  2. Click on the tick box for Hollow. If for some reason you can't find your brush in the scene click the Go To Builder Brush icon on the left-hand side of the editor.
  3. Press CSG Add [ How to do it... ] or Ctrl + A.
  4. Turn on Unlit mode (so you can see inside the hollow box) by pressing Alt + 3.
  5. Drive the camera inside the geometry.
  6. Hold down L and click on a surface inside the box. Drag the resulting light up a bit, so it lights the scene well. Turn on Lit mode by pressing Alt + 4.

Placing imagery on BSP geometry

  1. Let's assign a Material to the geometry. Select a surface of one of the wall surfaces visible in the perspective viewport and right click and choose Select Surfaces | Adjacent Walls.
  2. Now go to the Content Browser (Ctrl + Shift + F) and filter Materials. Highlight one that would look nice for a wall and right-click in the perspective viewport and choose Apply Material. You will see the name of the Material in question there. When you choose this the geometry should acquire that Material.
  3. For the as yet untextured geometry, right-click over it and choose Select Surfaces | Matching Texture. Highlight another Material in the Browser then right-click in the viewport and choose Apply Material as before. The next screenshot is an example of surface selection using a hollow cube.
  4. Besides selecting matching textures, you can also select adjacent surfaces such as walls, floors, and ceilings. In particular, notice that at the bottom of the list is a Memorize Set command (Shift + M) and related recall and combining commands that allow custom surface control.
    How to do it...