How did I deal with…?

Modeling Level Geometry for Interaction in Real Time Using 3D Studio Max

The goal of this project is to provide the player with several game levels, where they have to accomplish missions. This is what this prototype level looks like in real time at the block out stage (model place‑holders with functional programming):

Showcasing architecture Showcasing architecture
Showcasing architecture in real time level, altogether with functional gameplay programming.

The solutions I'm developing for this situation consist of the following tasks:

1. Pre‑production

These missions consist of collecting certain information items and/or make it out of the level alive, meet a counselor afterwards, and moving on to the next level. This schematic from the One Page Design Document shows the general logic of the game.

Single level on One Page Design Single level on One Page Design
Single level logic inside One Page Design Document.

Research

First of all, I need to block out the level I'm working on. At least the parts that are going to serve as interaction surface for my player character (she must be able to run, collide with walls, open doors, walk up stairs etc.). The first step is to decide what the architecture is going to look like. I'm inspiring the result of my research is an inspiration on ancient Persian architecture.

Floor plan and elevations

Only when I have a clear sight of the definitive look of my city, I am developing all buildings and prepping the environment. First, 2D shapes, floor plans and elevations, just like a regular architect (the same is also valid for characters, using orthographic views):

Floor plan layout Floor plan layout
Floor plan layout for the level.
Bath elevation Bazaar elevation Palace elevation Bath elevation Bazaar elevation Palace elevation
Public bath, covered bazaar and palace floor plans and elevations in the level.

2. Block out

Using this floor plan as a template, I'm finding out the relative sizes of the buildings. Here you can see a comparison between block out and first detail pass on the exteriors:

Block out to model Block out to model
Block out and model architecture in 3DS Max comparison.

I could use Unreal shapes for blocking out, but I want to keep the basic geometry in 3DS Max to use them as a template for the detailed versions. I'm exporting them using Datasmith, which gives me the flexibility to import them either as individual buildings or as a whole level into Unreal Engine.

Character block out

This is what this particular level looks like at the block out phase, including a block out of the player character:

Block out character inside Unreal Engine Block out character inside Unreal Engine
Block out character and architecture place‑holders inside the Unreal Engine level.

I am blocking out my player character:

  1. Using a ZSphere basis
  2. Adding some fundamental detail using Dynamesh
  3. ZRemeshing
  4. Sending into Maya
  5. Mimicking the pose of the default 3rd person character in Unreal Engine
  6. Importing the rig from Unreal Engine, and
  7. Skinning to the FK joints.
character block out process
Blocking out character process.

After that, I can export the FBX from Maya into Unreal Engine:

  • Retargeting
  • reusing mocaps
  • Using the default animation blueprints, and
  • Input Actions for my block out model.

3. Modeling in 3D Studio Max

I am always testing my block out in the level before starting detailing the buildings. In this game, every level plays with a different city and shares the same modeling strategy for low poly architecture and floor. Surfaces are non deformable, which allows me to do without quads. 3D Studio Max algorithm solves the non‑quad issues by generating its own triangle solution, like in this case:

No quads geometry No quads geometry
Geometry with auto‑generated tris after boolean operation in 3D Studio Max.

The picture above shows the triangles at face subobject level auto‑generated by 3DS Max's algorithm. I'm not caring about quads in this case, because I'm not modeling characters for animation, I'm modeling non‑deformable architecture.

Gym

These shapes are all the geometry I need to distribute on my level. I know this because I let my pre‑production do the visualization before modeling.

Gym Gym
Gym for this level.

Stacks

For the interiors and entry gates, I am using stacks. I am stacking modifiers to get the cheapest polygon count on every form, like in this case:

Stack 1 Stack 2 Stack 3A Stack 3B Stack 1 Stack 2 Stack 3A Stack 3B
Fom façade to gate and rear.

As you can see, I'm showing curvature only where it is absolutely necessary. This is an example of the stack construction process using booleans:

Booleans process demonstration Booleans process demonstration Boolean operands Boolean operands
Booleans process demonstration.

After the first detailing pass, I´m:

  1. Resetting Xform
  2. Collapsing the meshes, and
  3. Exporting selections using Datasmith

Datasmith guarantees that Unreal Engine will receive 1:1 vertices information.

Summary

This is what the geometry looks like (before UVW and texturing) uploaded into Unreal Engine:

Unreal Engine level Unreal Engine level Unreal Engine level
Importing geometry into Unreal Engine level using Datasmith.

As you can see, there are a couple of minimal optimization procedures that we can use – at least to begin with – before moving on into more detailed modeling, when prepping meshes for a level. These measures include:

  • Making a pre‑production with floor plans and elevations
  • Finding out whether and which surfaces are going to be deformable
  • Using minimal polygon count
  • Making a gym with modular pieces to re‑use whenever comes in handy
  • Adhering to a consistent, tight nomenclature, and
  • Keeping it simple.

A most important measure is uploading the block out in Unreal Engine as soon as possible, every time there is an update. This is going to be the template for all the detailed meshes later. We can test the geometry against interaction only when present in the level. The next step is texturing. For texturing environments in real time, please take a look at this case study:

Texturing buildings for real time environment
Texturing Buildings

Texturing buildings for real time environment, modeling and UVW in 3DS Max, hand painting textures, applying to materials.

For more modeling insights, please click on the following cards:

Modeling exterior environment
Modeling Exterior Env.

Modeling exterior environment for render time by drawing CAD floor plans and elevations, extruding quads in Maya.

Modeling architectonic interior
Modeling Arch. Interior

Modeling architectonic interior, drawing CAD floor plan and elevations, modeling rooms and furniture using quad extrusions and NURBS in Maya.

Sculpting human body
Sculpting Human Body

Modeling a human body using ZSpheres, retopologizing mesh and opening UVW in Maya. Sculpting micro-detail in ZBrush. Exporting normal and displacement maps.

Sculpting human head
Sculpting Human Head

Sculpting basic detail in ZBrush, applying retopology in Maya using Quad Draw and re-importing into ZBrush for micro detail.

Modeling mechanic character
Modeling Mechanic Char.

Modeling a mechanic character with automatic edge loops with ZRemesher, importing as OBJ into Maya, and sculpting detail in ZBrush.

Modeling prop asset for XReality
Modeling XReality Prop

Modeling prop glasses assets for an augmented reality app. 3D scanning, adding retopology with Quad Draw in Maya, and setting up with Python tool.

Modeling prop asset for video game
Modeling Prop

Modeling a prop hand grenade asset through references, templates, schematics, modular polygons & UVW in Maya. Sculpting detail in ZBrush.

Reconstructing photogrammetry
Reconstructing Photo-grammetry

Reconstructing, repairing, and cleaning up photogrammetry scan, using ZBrush Dynamesh and ZRemesher to open UVW and clean up textures.

For pre‑production and visual development, take a look at these workflow descriptions:

Level layout for video game
Level Layout for Video Game

Drawing a Level layout for a video game as part of the pre production process, using CAD floor plans and elevations and blocking out the level in 3D.

Character sheet for video game
Character Sheet for Video Game

Character sheet example from a video game project, including silhouettes, poses, expressions, clothes and gear, variations, turnaround and 3D block out.

Discover 3D Skills