139

Tool Creation |Asset Creation

138

Tool Creation |Asset Creation

Asset Creation

The organization of UE4 follows an object-based approach, which is similar to the OOP methodologies that were utilized within the processing prototype in Chapter 2.5. Because of this, we already have a rough idea of what we need to create within this new environment—we just need to familiarize ourselves with the local syntax.

Compared to processing, Unreal Engine has a more intuitive file-based system for handling entities within its software environment. As such, its base building blocks are appropriately referred to as objects.[1] These objects contain much of the lower-level code required to provide “under the hood” functionalities, and when sterilized to a file, they are referred to as an asset, which is a piece of content within Unreal Engine 4.[2] (Fig. 3.2.1) Of these assets, the ones that allow additional functions to be scripted are referred to as blueprint classes. These blueprint classes can then be broken down into the following generic types:[3]

Actor: “[A]n object that can be placed or spawned in the world.”[4]

Pawn: “[A]n Actor that can be “possessed” and receive input from a Controller.”[5]

Character: “[A] Pawn that includes the ability to walk, run, jump, and more.”[6]

Player Controller: “[A]n Actor responsible for controlling a Pawn used by the player.”[7]

Game Mode: “[D]efines the game being played, its rules, scoring, and other faces of the game type.”[8]

The fact that assets are objects that are serialized to a file means that they can be utilized within many different UE4 projects. Therefore, if we want to create a crowd simulation tool that can be used within many types of architectural projects, we must create an asset package. As such, this chapter will investigate the creation of these assets based on our defined methodologies from Part 2: Tool Creation. Looking back at our system model, we then need to establish two main asset types within UE4: the human agents and the architectural objects.

Game assets within project browser

Screen-captured by Author.