0% found this document useful (0 votes)
13 views37 pages

Game Production

Uploaded by

jekodag238
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views37 pages

Game Production

Uploaded by

jekodag238
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 37

Creating a First Person Project

When you launch Unreal Engine, you will see a screen where you can choose to open
an existing Unreal project or create something new. To create a first-person project:

1. From New Project Categories, select the Games category, then click Next.

2. Select the First Person template, then click Next.

3. Configure your Project Settings to choose whether you want to create


a Blueprint or C++ game, which platforms you're targeting, whether to include
starter content, and more. See the Project Settings documentation for more
information.
Creating a Third Person Project
When you launch Unreal Engine, you will see a screen where you can choose to open
an existing Unreal project or create something new. To create a third-person
project:

1. From New Project Categories, select the Games category, then click Next.

2. Select the Third Person template, then click Next.

3. Configure your Project Settings to choose whether you want to create


a Blueprint or C++ game, which platforms you're targeting, whether to include
starter content, and more. See the Project Settings documentation for more
information.
Flying

The flying template feature a spaceship with the camera positioned behind the ship represented by
a static mesh. The keyboard ,controller or virtual joystick controls the pitch and yaw of the ship as
well as providing a means to allow speed control of the ships forward movement the level is
populated with several clusters of boxes that block the movement of the ship.

Puzzle

The puzzle template features a simple grid of blocks. The camera is postioned overhead of the
blocks. The user can interact with these blocks by clicking using either the mouse or touch screen.
When a block is clicked its color changes and a score, which shown using a text component within
the level is increased.

Rolling

The rolling template features a physics-based rolling ball which can be rolled in any direction using
either a keyboard, controller or virtual joystick on touch devices. The camera is positioned above and
behind the ball and follows the movement of the ball. Within the level are some ramps, several
physics cubes in the level that can be knocked over with the ball as well as some

Top Down

The top down template features a playable character where the camera is positioned behind and
above the avatar at greater distance than in third person perspective. The player is controlled by
using the mouse or touchscreen to click on the required destination and uses the navigation system
to facilitate the character movement. This perspective is often used in action role playing games.

Twin Stick Shooter

The twin stick shooter template features a playable character where the camera is positioned almost
directly above the character. Control of the character is with either keyboard, controller or virtual
joystick on a touch device. Movement and firing, which are both on the X/Y axis are controlled
independantly allowing for firing in a different direction than which the character is facing. The level
contains several cubes that are affected by the projectiles and several that are not.

Handheld AR

A starting point for building Augmented Reality applications for Android and iOS devices. Includes
runtime logic for toggling AR mode on and off, debug information regarding plane detection,
example code for hit detection and handling light estimation.

Side Scroller

This side scroller template features an animated skeletal mesh character with a camera positioned at
the character's side. Movement, which can be controlled with either keyboard, controller or virtual
joystick on a touch device is limited to two dimensions: forward, backward and jumping. A number
of ledges are featured in the level and the character can jump between them.
2D Side Scroller
This is a paper 2D version of the Side Scroller template. It features a 2D sprite character that uses
texture based animation where the camera is positioned at the avatar's side. Character movement,
which can be controlled with either keyboard, controller or virtual joystick on a touch device, is
limited to two dimensions: forward, backward and jumping. A number of ledges are featured in the
level and the character can jump between them.

Vehicle

The vehicle template features a simple physics-driven vehicle. Vehicle movement can be
controlled with either keyboard, controller or virtual joystick on a touch device. The template
features 2 camera views - On is positioned above and behind the vehicle, whilst the other is
positioned inside. When using the inside view the mouse or touchscreen or a HMD device. There is
also a HUD both in and out of the car that shows the current gear and speed. The level features a
smooth ramp, a slightly irregluar one, some objects that can be knocked over and a
post which cannot.

Virtual Reality

Blueprint Virtual Reality Template using OpenXR for Desktop, Console, and Mobile. The template
features teleport locomotion, snap turning, grabbable objects, grabbable and interactive objects,
Google Resonance spatialized audio, and a VR Spectator Camera

VehicleAdvanced

The vehicle advanced template features a more complex vehicle than the regular vehicle template.
Vehicle movement can be controlled with either keyboard, controller or virtual joystick on a touch
device. The template features 2 camera views - One is positioned above and behind the vehicle,
whilst the other is positioned inside. When using the inside view you can look around using the
mouse or touchscreen or a HMD device. The vehicle itself features working double wishbone
suspension. There is also an engine sound in this template. There is also a HUD both in and out of
the car that shows the current gear and speed. The level contains a landscape with rough terrain as
well as a simple track that features bumps, ramps and loop the loops.
Textures are images that are used in Materials. They are mapped to the surfaces
the Material is applied to. Either Textures are applied directly - for example, for Base
Color textures - or the values of the Texture's pixels (or texels) are used within the
Material as masks or for other calculations. In some instances, Textures may also be
used directly, outside of materials, such as for drawing to the HUD. For the most
part, Textures are created externally within an image-editing application, such as
Photoshop, and then imported into Unreal Editor through the Content Browser.
However, some Textures are generated within Unreal, such as Render Textures.
These generally take some information from the scene and render it to a Texture to
be used elsewhere.

A single material may make use of several textures that are all sampled and applied
for different purposes. For instance, a simple material may have a Base Color
texture, a Specular texture, and a normal map. In addition, there may be a map for
the Emissive and Roughness stored in the alpha channels of one or more of these
textures.

You can see that, while these all share the same layout, the colors used are specific
to the purpose of the texture.

A Static Mesh is a piece of geometry that consists of a set of polygons that can be
cached in video memory and rendered by the graphics card. This allows them to be
rendered efficiently, meaning they can be much more complex than other types of
geometry such as Brushes. Since they are cached in video memory, Static Meshes
can be translated, rotated, and scaled, but they cannot have their vertices animated
in any way.

Static Meshes are the basic unit used to create world geometry for levels created in
the Unreal Engine. These are 3D models created in external modeling applications
(such as 3dsMax, Maya, Softimage, and so on) that are imported into the Unreal
Editor through the Content Browser, saved in packages, and then used in various
ways to create renderable elements. The vast majority of any map in a game made
with Unreal will consist of Static Meshes, generally in the form of Static Mesh Actors.
Other uses of Static Meshes are for creating movers such as doors or lifts, rigid body
physics objects, foliage and terrain decorations, procedurally created buildings,
game objectives, and many more visual elements.

Skeletal Meshes are made up of two parts: A set of polygons composed to make
up the surface of the Skeletal Mesh, and a hierarchical set of interconnected bones
which can be used to animate the vertices of the polygons.

Skeletal Meshes are often used in Unreal Engine 4 to represent characters or other
animating objects. The 3D models, rigging and animations are created in an external
modeling and animation application (3DSMax, Maya, Softimage, etc), and are then
imported into Unreal Engine 4 and saved into packages by using Unreal
Editor's Content Browser.

The Illuminating Engineering Society (IES) has defined a file format which describes
a light's distribution from a light source using real world measured data. These IES
Photometric files, or IES Profiles, are a lighting industry standard method of
diagramming the brightness and falloff of light as it exists a particular real world
light fixture. It enables them to account for reflective surfaces in the light fixture,
the shape of the light bulb, and any lensing effects that happens. This type of
photometric lighting is primarily used in Enterprise fields (such as Media and
Entertainment or Architecture and Manufacturing), but is often used in games
production to achieve realistic lighting effects, too.

In Unreal Engine 4 (UE4), IES Light Profiles are a 1D texture (gradient). However,
they are not actual texture files. The curve defines light intensity in an arc that
"sweeps" around an axis to make Point, Spot, and Rect Lights appear to be casting
light realistically based on the provided real-world data. The curve works like a
multiplier for the overall brightness of the light, as if you were projecting a texture
from a light, but without the overhead of using a texture, or the errors that can
occur at some angles.

In the examples below, the IES Profile is assigned to a Point Light and the diagram
in the top left of each panel shows the shape of the given IES Profile.

Unreal Engine 4's audio system provides tools and features to mold the sounds in
the game to give them the desired feel. This all starts with your audio source files.
Either as mono or stereo files, they can be quickly imported into Unreal Editor 4 and
begin breathing more life into your creations. Below are the basic requirements for
your audio content and a quick import guide.

NVIDIA PhysX APEX has two file types that Unreal Editor can import, .APX and .APB.
Both cloth and destructible meshes can be exported as these file types, but only
destructible meshes can be import via the Content Browser. Cloth assets will need
to be imported via Persona.

To Applying paper 2d texture setting


Paper 2D in Unreal Engine 4 (UE4) is a sprite-based system for creating 2D and
2D/3D hybrid games entirely within the editor. At the core of Paper 2D
are Sprites (which are a Texture Mapped Planar Mesh and associated Material). You
can edit Sprites inside UE4 with the Sprite Editor and create sprite-based
animations with Flipbooks (which animate a series of Sprites sequentially by using
key frames and specifying a duration in frames to display them).

Creating sprites
A Sprite in Paper 2D is a Texture Mapped Planar Mesh and associated Material that
can be rendered in the world, created entirely within Unreal Engine 4 (UE4). In
simpler terms, it's a quick and easy way to draw 2D images in UE4.

To create a new blank Sprite asset:

1. Click the Add New button in the Content Browser, then under Paper2D,
select Sprite.
You can also Right-click in the Content Browser to bring up the same context
menu.
2. Name the new Sprite asset.

3. The Sprite has been created but has not been saved yet (indicated by the
asterisk in the lower-left corner).
Click the Save All button to save the Sprite.
4. Double-click the new Sprite asset to open it in the Sprite Editor.
5. In the Details panel, you can assign a Texture to the Sprite asset using
the Source Texture property.

See the
[Sprite Editor Reference](animating-characters-and-objects/Paper2D\Sprites\Editor)

documentation for information on working with Sprites in the Sprite Editor.

Single Sprite from Texture


To create a sprite from an existing Texture asset:

1. In the Content Browser, Right-click on the Texture asset, then under Sprite
Actions choose Create Sprite.
2. Name the new Sprite asset.

Series of Sprites from Sprite Sheet Texture


To create a series of Sprites from a Sprite Sheet Texture:

1. In the Content Browser, Right-click on the Sprite Sheet Texture, then


under Sprite Actions choose Extract Sprites.

2. Individual Sprites will be automatically extracted and added to the Content


Browser.
Creating a blank Flipbook can be achieved by following the steps below.

From the Content Browser:

1. Click the Add New button, then in the context menu under Animation, select
the Paper Flipbook option.
You can also Right-click inside the Content Browser to open the context
menu instead of clicking Add New.
2. You will then be prompted to enter a name for your new Flipbook.

3. After you select a name, your Flipbook asset has been created.

The asterisk symbol in the lower-left corner indicates that the asset has not
been saved yet and will go away when you save it.

Auto-Generated Flipbooks
To create an automatically generated Flipbook, follow the steps below.

From the Content Browser:

1. Locate and select each of the sprites you would like to include in the Flipbook in
the Content Browser.

2. Right-click on any of the sprites, then select the Create Flipbook option from
the context menu.
3. You will then be prompted to enter a name for your new Flipbook.

4. After you select a name, your Flipbook asset has been created.

When you mouse over the Flipbook in the Content Browser, you will also be
able to preview the Flipbook animation.
To create a new blank Tile Set asset:

1. Click the button in the Content Browser, then


under Miscellaneous, select Tile Set.

2. Enter in a name for the new Tile Set asset.

3. Double-click on the asset to open it up in the Tile Set Editor window.


4. Specify a Tile Sheet texture asset to use inside the Details panel.

Tile Set from Texture


To create a Tile Set from an existing Texture:

1. In the Content Browser, Right-click on a Texture asset, then under Sprite


Actions choose Create Tile Set.
2. The Tile Set will automatically be created/named based on the Texture you
supplied.

You can rename the asset by selecting it and pressing F2 or Right-clicking on


it and choosing Rename.
3. Double-click on the asset to open it up in the Tile Set Editor window.

Tile Set Editor


Once you have created a new Tile Set asset, Double-clicking on the asset will open
it in the Tile Set Editor.
Above in the Viewport window (1), you will see the Tile Sheet you've specified to
use with your Tile Set. In the Tile Editor window (2), the currently selected tile will
be displayed. In the Details panel (3), you can set various settings that will affect
the Tile Set or the individual Sprites that make up the set (see Configuring Your Tile
Set below).

Configuring Your Tile Set


You will more than likely need to configure your Tile Set to ensure that you are
accurately selecting each tile within your sheet.

Inside the Viewport, Left-clicking on your Tile Sheet will display a white tile
selection box indicating the currently selected tile.
Right Mouse Button drag inside the Viewport to pan and use the Mouse Wheel to
zoom in/out on your Tile Sheet.
Above, the default Tile Width and Tile Height (in pixels) of 32 is being used
represented by the white selection box. Unfortunately our tiles are larger than the
default values and we want our Tile Width and Height to encompass our entire tile
(represented by the yellow box outline).

Inside the Tile Editor preview window the currently selected Tile and its associated
Tile Number (see below) are displayed. Just below it, inside the Details panel, you
can adjust the Tile Width and Tile Height so that it properly encompasses your entire
tile.
In our example, we've increased the Tile Width and Tile Height to 64 to match our
tile size.

Click for full view.

In the Viewport, the white tile selection box now fully highlights an individual tile on
the Tile Sheet (you may need to experiment with different values depending on how
your Tile Sheet is set up). The Tile Editor window also updates to show a single tile
from our Tile Sheet that is selected.

To create a new Tile Map asset:


1. Click the button in the Content Browser, then
under Miscellaneous, select Tile Map.

2. Enter in a name for the new Tile Map asset.

3. Double-click on the asset to open it up in the Tile Map Editor window.


Tile Map Editor
After opening a new Tile Map asset, before you can work within the Tile Map editor
you will need to assign an Active Tile Set to work with.

1. You can specify the Active Tile Set to use inside the Toolbox window by
clicking the Selection box.

Then selecting the Tile Set you wish to currently work with.

Any Tile Sets that you have created will be displayed in the window above,
allowing you to switch between the "Active Tile Set".
2. Once you have selected a Tile Set, the viewer will become updated with your
selection.
The three windows that comprise the Tile Map Editor are outlined below.

Variables are properties that hold a value or reference an Object or Actor in the
world. These properties can be accessible internally to the Blueprint containing
them, or they can be made accessible externally so that their values can be modified
by designers working with instances of the Blueprint placed in a level.

Variables are displayed as rounded boxes that contain the name of the variable:
Variable Types
Variables are properties that hold a value or reference an Object or Actor in the
world. These properties can be accessible internally to the Blueprint containing them,
or they can be made accessible externally so that their values can be modified by
designers working with instances of the Blueprint placed in a level.

Variables can be created in a variety of different types, including data types - such
as Boolean, integer, and float - as well as reference types for holding things like
Objects, Actors, and particular Classes. Arrays of each variable type can also be
created. Each type is color coded for easy identification:

Varia Color Example Represents

ble

Type

Boolea Maroo True or false value


n n ( bool ).

Byte Sherpa Whole number


blue value between 0
and 255
( unsigned
char ).

Integer Sea Whole number


green value between
−2,147,483,648
and 2,147,483,647
( int ).

Integer Moss Whole number


64 green value between
−9,223,372,036,85
4,775,808 and
9,223,372,036,854,
Varia Color Example Represents

ble

Type

775,807 ( long ).

Float Yellow Number value with


green a decimal such as
0.0553, 101.2887,
and -78.322
( float ).

Name Mauve Piece of text used


to identify
something in the
game.

String Magent Group of


a alphanumeric
characters such
as Hello
World ( string ).

Text Pink Text that you


display to users.
Use this type for
text that you want
to localize.

Vector Gold Set of three


numbers (X, Y,
and Z). This type
is useful for 3D
coordinates and
RGB color data.
Varia Color Example Represents

ble

Type

Rotato Cornfl Group of numbers


r ower that define rotation
blue in 3D space.

Transf Orange Set of data that


orm combines
translation (3D
position), rotation,
and scale.

Object Blue Blueprint objects


such as Lights,
Actors,
StaticMeshes,
Cameras, and
SoundCues.

Variables in the My Blueprint Tab


The My Blueprint tab allows custom variables to be added to the Blueprint and lists
any existing variables, including component instance variables added in
the Components List or variables created by promoting a value to a variable in the
graph.
Creating Variables
Creating a variable inside a Blueprint can be achieved by following the steps below.

1. Create a Blueprint and open it up to the Graph tab.


2. Create a new variable from the MyBlueprint window, by clicking on the Add
Button on the variable list header .

3. A new variable will be created, prompting you to enter a name for it.
Enter a name for your variable, then proceed to the Details panel to adjust the
properties of the variable.
4. In the Details panel, there are several settings that can be used to define how
your variable is used or accessed.

Private Variables
With the Private option checked on a variable, this prevents the variable from being
modified from external Blueprints.

For example, we have a variable below that is not set to private:


Inside another Blueprint, we spawn the Blueprint that contains the variable, then off
the Return Value we can access our variable.

If we were to set it Private however:


And spawn the Blueprint again and try to access that variable, we cannot.

Public Variables
To allow a variable to be modified from outside its Blueprint, make it public.
By default the eye is closed (private); select the eye to open it and make it public.
You can also select or clear the Instance Editable box to make the variable private
or public.

The Blueprint Visual Scripting system in Unreal Engine is a complete gameplay


scripting system based on the concept of using a node-based interface to create
gameplay elements from within Unreal Editor. As with many common scripting
languages, it is used to define object-oriented (OO) classes or objects in the engine.
As you use UE4, you'll often find that objects defined using Blueprint are colloquially
referred to as just "Blueprints."

Event Graph
The EventGraph of a Blueprint contains a node graph that uses events and function
calls to perform actions in response to gameplay events associated with the
Blueprint. This is used to add functionality that is common to all instances of a
Blueprint. This is where interactivity and dynamic responses are setup. For example,
a light Blueprint could respond to a damage event by turning off
its LightComponent and changing the material used by its mesh. This would
automatically provide this behavior to all instances of the light Blueprint.

Level Blueprint
A Level Blueprint is a specialized type of Blueprint that acts as a level-wide global
event graph. Each level in your project has its own Level Blueprint created by
default that can be edited within the Unreal Editor, however new Level Blueprints
cannot be created through the editor interface.
Events pertaining to the level as a whole, or specific instances of Actors within the
level, are used to fire off sequences of actions in the form of Function Calls or Flow
Control operations. Those familiar with Unreal Engine 3 should be very familiar with
this concept as this is very similar to how Kismet worked in Unreal Engine 3.

Level Blueprints also provide a control mechanism for level streaming


and Sequencer as well as for binding events to Actors placed within the level.

A Blueprint Class, often shortened as Blueprint, is an


asset that allows content creators to easily add
functionality on top of existing gameplay classes.
Blueprints are created inside of Unreal Editor visually,
instead of by typing code, and saved as assets in a
content package. These essentially define a new class
or type of Actor which can then be placed into maps as
instances that behave like any other type of Actor.

Parent Classes
There are several different types of Blueprints that you
can create, however before doing so you will need to
specify the Parent Class in which the Blueprint will be
based. Selecting a Parent Class allows you to inherit
properties from the Parent to use in the Blueprint you
are creating.

Below are the most common Parent Classes used when


creating a new Blueprint:
Class Type

Description

Actor

An Actor is an object that can be placed or spawned in


the world.

Pawn

A Pawn is an Actor that can be "possessed" and receive


input from a Controller.

Character

A Character is a Pawn that includes the ability to walk,


run, jump, and more.
PlayerController

A Player Controller is an Actor responsible for


controlling a Pawn used by the player.

Game Mode

A Game Mode defines the game being played, its rules,


scoring, and other faces of the game type.

While the above are the most common, all existing


classes can be used as the Parent Class for a new
Blueprint (even other Blueprint Classes).

For example, say you created an Actor Blueprint called


Animals and in it provided some script that all animals
share such as Hunger, Thirst, Energy, or whatever
script you wanted. Then you created another Blueprint
called Dogs and selected your Animals Blueprint Class
as the Parent Class; you can then provide specific
functionality that applies to only dogs within the Dogs
Blueprint such as Play Fetch or Roll Over while
inheriting the functionality that all animals share from
the Animals Blueprint.

Depending upon the method used to create a Blueprint


Class, a Parent Class may already be assigned upon
creation.

Working with Blueprint Classes


Refer to the sections below for information on working
with Blueprint Classes:

Creating Blueprint Classes

Creating Blueprint Classes

Editing Blueprint Classes


Editing Blueprint Classes

Blueprint Editor Reference

Blueprint Editor Overview

Data-Only Blueprint
A Data-Only Blueprint is a Blueprint Class that contains
only the code (in the form of node graphs), variables,
and components inherited from its parent. These allow
those inherited properties to be tweaked and
modified, but no new elements can be added. These
are essentially a replacement for archetypes and can
be used to allow designers to tweak properties or set
items with variations.

Data-Only Blueprint are edited in a compact property


editor, but can also be "converted" to full Blueprints by
simply adding code, variables, or components using the
full Blueprint Editor.
At first, you should create a Widget Blueprint, as shown below. With the help of
this, you will be able to start working with Unreal Motion Graphics (UMG).

1. Create Widget Blueprint. Click the Add in the Content Browser, then
select User Interface > Widget Blueprint.

You can also Right-click in the Content Browser instead of clicking


the Add button.
2. You can rename or use the default name for the Widget Blueprint you created in
the Content Browser.

3. Double-click the created Widget Blueprint to open it in the Widget


Blueprint Editor.
Click for full view.

Widget Blueprint Editor


The Designer tab is tab by default in the opened Widget Blueprint Editor. With
the help of available editor tools, you can customize the appearance of the UI. Also,
you can get the visual preview of the in-game screen, due to layout you adjust.
A Blueprint Macro Library is a container that holds a collection of Macros or self-
contained graphs that can be placed as nodes in other Blueprints. These can be
time-savers as they can store commonly used sequences of nodes complete with
inputs and outputs for both execution and data transfer.

Macros are shared among all graphs that reference them, but they are auto-
expanded into graphs as if they were a collapsed node during compiling. This means
that Blueprint Macro Libraries do not need to be compiled. However, changes to a
Macro are only reflected in graphs that reference that Macro when the Blueprint
containing those graphs is recompiled.

You might also like