|Session Name||Building Blocks: Artist Driven Procedural Buildings|
|Company Name(s)||Epic Games|
|Track / Format||Programming|
Creating a detailed city window-by-window is a daunting task. Having to adjust every window when requirements change is even worse!
The first part of the talk describes the problem at hand - that of creating a city where buildings look very detailed, do not take long to construct, can be easily modified, and allow automatic generation of a low level-of-detail version. Existing approaches are compared, and pros and cons are listed.
This talk then proposes a new method, expanding on current academic research. The approach is to allow a designer to place very simple shapes to define the building layout, and then assign a set of rules (created by a technical artist) to decorate it procedurally. The rules work by extracting rectangular regions (scopes) from the faces of the building, and recursively breaking them into smaller regions, until finally using a library of feature meshes (doors, windows, columns etc.) to fill in that region. This approach is explained with reference to several real-world examples of buildings.
Rules then connect to form a directed graph, so it can be useful to present the 'rule set' to artists graphically in that form. Many of the rule types that we have found useful will be explained, with use-cases. This includes splitting, repeating, occlusion tests, edge-angle and height tests, and more. Specific difficulties like trim work, roofs and non-rectangular faces are discussed, and the requirements for artist-created meshes are mentioned. Some detail is also given on the general technical challenges involved in rendering a building constructed in this modular method.
The talk then covers automatically creating LOD versions of these buildings. The lowest LOD is the simple shape already defined by the designer, but the transition from high to low can happen incrementally based on special rules. An offline render process is used to texture the low-LOD buildings, with special steps to generate masks for reflective windows.