SlideShare uma empresa Scribd logo
1 de 25
Luis Vazquez 
Page 1 of 25 
3D Game Engine Workflow 
Introduction 
I have been tasked with the creation of a playable video game level in Unity, which I will accomplish by using a 
variety of techniques and assets, some of which will be provided standard with the Unity game engine, and 
others will be personally made by me for the purpose of using with this project. 
Standard Assets and Layout 
When I create the new Unity project to work from, I need to anticipate what varieties of assets I will need to 
use in the project and import them from storage into the project. This is done via the drop down menus, 
selecting “Assets > Import New Assets >” and then the appropriate package. For example, I intend to import 
the Character Controller, Skyboxes, Terrain Assets, Tree Creator, and Water (Basic) packages. 
After the package has been selected, a series of windows appear in sequence, showing the user that the 
package is being imported into the project:
Luis Vazquez 
Page 2 of 25 
And once the import is complete, the package and its contents will appear in the asset library.
Luis Vazquez 
Page 3 of 25 
Terrain Creation + Modification 
The first part of creating my own level is to create a terrain asset that will form the environment of 
the game level that the player can move around. To do this, I select on the drop down menu 
“GameObject > Other > Terrain”. 
When this is selected, the terrain is created:
Luis Vazquez 
To begin with, a terrain object is a flat surface with a size of 2000x2000 in Unity’s arbitrary distance 
unit. I don’t need the map to be that large so I decrease the size to 1000x1000 units in the terrain 
options. 
Now that I have created the terrain, I need to use the built in terrain editor to modify the terrain. 
Page 4 of 25 
The built in terrain editor is as follows:
Luis Vazquez 
1 – Raise / Lower Terrain. These tools allow you to raise or lower the elevation of an area on the 
terrain via brushes. 
2 – Paint Terrain. Unlike the Raise / Lower Terrain set of tools, you input a height that you want the 
terrain to be, then using the brushes raises or lowers the terrain from its current elevation to that 
level. 
Page 5 of 25 
1 2 3 4 5 6 7
Luis Vazquez 
Page 6 of 25 
3 – Smooth Height. These tools smooth the terrain to make it rounder. 
4 – Paint Texture. These tools allow you to select textures and apply them to the terrain. First you 
need to add a texture to the tools to allow you to use it.
Luis Vazquez 
5 – Place Trees. This tool allows you to add trees to a terrain, after adding them to the tools in a 
similar fashion to textures. 
Page 7 of 25 
6 – Paint details. This allows you to add other details to the environment such as grass.
Luis Vazquez 
7 – Terrain Settings. This menu includes various options to change the properties of the terrain 
object. 
Page 8 of 25 
Adding Skyboxes + Water + Lighting 
Now, to make the game level more immersive I need to add some larger details that the player can 
recognise, such as the sky and water.
Luis Vazquez 
To add a skybox, I go into the drop-down menu “Edit > Render Settings”, which brings up this 
window in the engine UI: 
Page 9 of 25 
To add a skybox, I added a material to the Skybox Material setting, as so: 
Now to add water, I need a specific object type that can be imported to Unity from the common 
pool of assets. In engine, a water object looks like this:
Luis Vazquez 
This object is essentially a flat texture with an animated normal map, so it appears to be constantly 
moving despite being completely still. The object can be edited in the same ways as other objects, so 
I increase the water objects size to cover the level below the ground level. 
Page 10 of 25 
In game, the water and skybox look like this: 
Now I need to add lighting to the level, so that the player can see the level clearly (and appropriately 
to the amount of light that is apparently coming from the sky). 
The object I want to create is a directional light, which is created by selecting the following menu:
Luis Vazquez 
Page 11 of 25 
In engine, the directional light object looks like this: 
This light has a direction, so as it hits geometry it will cast shadows as well, making the appearance 
of the level more believable. 
After some editing, this is how the level looks with lighting:
Luis Vazquez 
Page 12 of 25 
Creating and Modifying Game Objects 
To create my level, I will want to use a number of objects to decorate the level and give it some 
visual flair, as well as use it for practical purposes such as making geometry. Unity has options to 
create a number of basic objects of this type. 
For example, to create a simple cube object, I can select Game Object on the game menu, and select 
‘GameObject > Create Other > Cube’.
Luis Vazquez 
Another way to create one of the default objects to select ‘create’ on the hierarchy menu and select 
the appropriate object, such as ‘Create > Cube’. 
Once either method has been selected, a default cube object will spawn in the scene, like so: 
Page 13 of 25
Luis Vazquez 
Page 14 of 25 
Every game object can be modified in a number of ways, not just the default objects. 
First, there are the object movement tools: 
Clicking and holding on one of the arrows will allow you to move the object along the plane of that 
arrow. For example, if you click and drag the red arrow, it will move the object along the X axis. The 
green arrow affects Y, and the blue arrow affects Z. 
Clicking and holding on one of the squares shown at right angles to the arrows allows you to move 
the object freely along two of the three planes, while keeping one consistent. For example, using the 
red square will keep X consistent while Y and Z are changed. 
Next are the rotation tools: 
The coloured curves will rotate the object in a particular direction, based on the side of the object 
that the curve is over. 
The grey lines will always rotate the object based on the direction that you are looking at the object 
from. 
Finally, there are the scale tools:
Luis Vazquez 
Using the coloured tools will ‘stretch’ the object in the direction of the coloured line selected, while 
the grey cube will increase or decrease the scale of each dimension of the object at the same rate, 
simultaneously. 
Page 15 of 25 
Creating and Applying Textures 
Creating textures to use in my game will involve other programs outside of the Unity engine. The 
first part of creating a texture is to acquire an image that I intend to use, then loading it into an 
instance of an image editing program such as Adobe Photoshop. 
Once you have the image exported as a 1024x1024 pixel resolution PNG image, I need to import the 
image into Unity as a texture to use in my level. 
To put the texture into the engine itself, the image can be drag-and-dropped into the asset library to 
add it to the available textures, like so:
Luis Vazquez 
Once the texture is in the engine, it can be used in two ways. It can be added to the terrain using the 
above method in Terrain Creation + Modification, or it can be applied directly to models. 
Page 16 of 25
Luis Vazquez 
Page 17 of 25 
Importing From the Unity Asset Store 
The assets available by default in the Unity engine cover a variety of uses and are generally quite 
versatile, but are also somewhat generic and are difficult to apply to specialised use. For more 
specific objects, it is generally better to use custom made models and textures. However, in this 
project I am not tasked with creating the assets for use in the engine, so I will gather resources from 
other places. 
One example of a place where assets are available for free use is the Unity Asset Store 
(https://www.assetstore.unity3d.com/en/). 
On this website, users upload content that can either be downloaded for use in Unity for free or for 
a paid fee. As an example, I will download a free furniture pack, which is done by finding it on the 
website-
Luis Vazquez 
Page 18 of 25 
-Selecting “Open in Unity”- 
-Which will open a window in the Unity engine (if you have the application open)-
Luis Vazquez 
And then choosing the ‘download’ option. Once this has been completed the selected package will 
download like in the cases of the standard assets, and there will now be a new folder in the asset 
library. 
And the assets contained within those folders can now be used as with any other asset of the 
associated type. 
Page 19 of 25
Luis Vazquez 
Page 20 of 25 
Collision 
By default, most non-standard objects will not collide with the player, and they will be able to pass 
through each other freely. This is a problem, because it can break the immersion of the player and 
allows them to get to places that they perhaps should not be. 
There are two particular ways of giving an object ‘collision’. The first is to directly access a model in 
the asset library, and access the model’s specific options.
Luis Vazquez 
Once in this menu, selecting and applying the ‘Generate Colliders’ option will make any instance of 
that object in the game level collide with the player. 
The other option is to use a default object that has its mesh rendered turned off. This can be more 
practical for use with objects that are rather complicated or have empty space that the player might 
be able to pass through. It is also useful for objects that are based on random generation, as they are 
more difficult to generate colliders for accurately. 
Page 21 of 25
Luis Vazquez 
Page 22 of 25 
Teleporters 
In order to provide me with more creative freedom, I wanted to create a number of ‘teleporters’ 
that will allow me to move the player between disconnected areas in the level. For this I need two 
components: the script and the objects. 
The script I used is a page file of C# code that looks like this: 
Once I have this code, I can attach it to an object, which in this case is an invisible cube object 
framed by visible cube objects.
Luis Vazquez 
In the object options, the script has added a few options that I can adjust. For this case, I wanted a 
two-way teleporter object, so the exit is another teleporter that connects back to this object. 
Now, when the player collides with the teleporter object, they will be moved to the location of the 
other teleporter in game. 
Page 23 of 25
Luis Vazquez 
Page 24 of 25 
Music 
As an additional feature, I wanted to add music to the game that the player will hear as they explore 
the game level. 
First I added the music files to the asset library via the Unity Asset Store, and then I will need to add 
an audio source to the Main Camera object attached to the player controller. 
Once the camera has an audio source, the music can be drag-and-dropped into the appropriate 
location, and once the game is started, the player will hear the music. 
The audio source function has a few properties attached to it that I will need to have edited in order 
to help the audio serve its purpose. In this case, I want the audio file to function as music, so I will 
want the audio to have ‘looping’ turned on, and also have as few audio effects such as reverb and 
the Doppler effect as possible.
Luis Vazquez 
Page 25 of 25

Mais conteúdo relacionado

Mais procurados

WP7 HUB_XNA overview
WP7 HUB_XNA overviewWP7 HUB_XNA overview
WP7 HUB_XNA overviewMICTT Palma
 
Unity Introduction
Unity IntroductionUnity Introduction
Unity IntroductionJuwal Bose
 
Game Project / Working with Unity
Game Project / Working with UnityGame Project / Working with Unity
Game Project / Working with UnityPetri Lankoski
 
Unity 3D game engine seminar
Unity 3D game engine  seminarUnity 3D game engine  seminar
Unity 3D game engine seminarNikhilThorat15
 
Game development -session on unity 3d
Game development -session on unity 3d Game development -session on unity 3d
Game development -session on unity 3d Muhammad Maaz Irfan
 
Lecture 4: ITS488 Digital Content Creation with Unity - Game and VR Programming
Lecture 4: ITS488 Digital Content Creation with Unity - Game and VR Programming Lecture 4: ITS488 Digital Content Creation with Unity - Game and VR Programming
Lecture 4: ITS488 Digital Content Creation with Unity - Game and VR Programming Kobkrit Viriyayudhakorn
 
Getting started
Getting startedGetting started
Getting startedAlex Bong
 
Lecture 2: C# Programming for VR application in Unity
Lecture 2: C# Programming for VR application in UnityLecture 2: C# Programming for VR application in Unity
Lecture 2: C# Programming for VR application in UnityKobkrit Viriyayudhakorn
 
Game Engine Overview
Game Engine OverviewGame Engine Overview
Game Engine OverviewSharad Mitra
 
ITS488 Lecture 6: Music and Sound Effect & GVR Try out.
ITS488 Lecture 6: Music and Sound Effect & GVR Try out.ITS488 Lecture 6: Music and Sound Effect & GVR Try out.
ITS488 Lecture 6: Music and Sound Effect & GVR Try out.Kobkrit Viriyayudhakorn
 
Casual and Social Games with Unity
Casual and Social Games with UnityCasual and Social Games with Unity
Casual and Social Games with UnityTadej Gregorcic
 
Unity - game engine u RIA svijetu PDF
Unity - game engine u RIA svijetu PDFUnity - game engine u RIA svijetu PDF
Unity - game engine u RIA svijetu PDFDanko Kozar
 

Mais procurados (19)

Presentación Unity
Presentación UnityPresentación Unity
Presentación Unity
 
WP7 HUB_XNA overview
WP7 HUB_XNA overviewWP7 HUB_XNA overview
WP7 HUB_XNA overview
 
Unity Introduction
Unity IntroductionUnity Introduction
Unity Introduction
 
WP7 HUB_XNA
WP7 HUB_XNAWP7 HUB_XNA
WP7 HUB_XNA
 
Unity 3d
Unity 3dUnity 3d
Unity 3d
 
Game Project / Working with Unity
Game Project / Working with UnityGame Project / Working with Unity
Game Project / Working with Unity
 
Unity 3D game engine seminar
Unity 3D game engine  seminarUnity 3D game engine  seminar
Unity 3D game engine seminar
 
Unity 3D, A game engine
Unity 3D, A game engineUnity 3D, A game engine
Unity 3D, A game engine
 
Unity 3d Basics
Unity 3d BasicsUnity 3d Basics
Unity 3d Basics
 
Game development -session on unity 3d
Game development -session on unity 3d Game development -session on unity 3d
Game development -session on unity 3d
 
Unity
UnityUnity
Unity
 
Lecture 4: ITS488 Digital Content Creation with Unity - Game and VR Programming
Lecture 4: ITS488 Digital Content Creation with Unity - Game and VR Programming Lecture 4: ITS488 Digital Content Creation with Unity - Game and VR Programming
Lecture 4: ITS488 Digital Content Creation with Unity - Game and VR Programming
 
Getting started
Getting startedGetting started
Getting started
 
Lecture 2: C# Programming for VR application in Unity
Lecture 2: C# Programming for VR application in UnityLecture 2: C# Programming for VR application in Unity
Lecture 2: C# Programming for VR application in Unity
 
Game Engine Overview
Game Engine OverviewGame Engine Overview
Game Engine Overview
 
ITS488 Lecture 6: Music and Sound Effect & GVR Try out.
ITS488 Lecture 6: Music and Sound Effect & GVR Try out.ITS488 Lecture 6: Music and Sound Effect & GVR Try out.
ITS488 Lecture 6: Music and Sound Effect & GVR Try out.
 
Casual and Social Games with Unity
Casual and Social Games with UnityCasual and Social Games with Unity
Casual and Social Games with Unity
 
Getting started
Getting startedGetting started
Getting started
 
Unity - game engine u RIA svijetu PDF
Unity - game engine u RIA svijetu PDFUnity - game engine u RIA svijetu PDF
Unity - game engine u RIA svijetu PDF
 

Destaque

Creative production brief types
Creative production brief typesCreative production brief types
Creative production brief typesluisfvazquez1
 
College magazine evaluation
College magazine evaluationCollege magazine evaluation
College magazine evaluationrebeccabailey1
 
_ig5 assignment final major project 2014 to 2015
    _ig5 assignment final major project 2014 to 2015    _ig5 assignment final major project 2014 to 2015
_ig5 assignment final major project 2014 to 2015luisfvazquez1
 
Preperation Audience Research
Preperation Audience ResearchPreperation Audience Research
Preperation Audience Researchrebeccabailey1
 
Environment presentation
Environment presentationEnvironment presentation
Environment presentationluisfvazquez1
 
Who would be the audience for your media product?
Who would be the audience for your media product? Who would be the audience for your media product?
Who would be the audience for your media product? rebeccabailey1
 
Environment modelling
Environment modellingEnvironment modelling
Environment modellingluisfvazquez1
 
Ig3 task 2 annotation
Ig3 task 2 annotationIg3 task 2 annotation
Ig3 task 2 annotationluisfvazquez1
 
Drafts of my music magazine
Drafts of my music magazineDrafts of my music magazine
Drafts of my music magazinerebeccabailey1
 
Drafts of my music magazine
Drafts of my music magazineDrafts of my music magazine
Drafts of my music magazinerebeccabailey1
 
Environment construction
Environment constructionEnvironment construction
Environment constructionluisfvazquez1
 
Conventions of a Music Magazine
Conventions of a Music MagazineConventions of a Music Magazine
Conventions of a Music Magazinerebeccabailey1
 
Gta v research results and analysis
Gta v research results and analysisGta v research results and analysis
Gta v research results and analysisluisfvazquez1
 

Destaque (17)

Creative production brief types
Creative production brief typesCreative production brief types
Creative production brief types
 
Question 5
Question 5Question 5
Question 5
 
College magazine evaluation
College magazine evaluationCollege magazine evaluation
College magazine evaluation
 
_ig5 assignment final major project 2014 to 2015
    _ig5 assignment final major project 2014 to 2015    _ig5 assignment final major project 2014 to 2015
_ig5 assignment final major project 2014 to 2015
 
Preperation Audience Research
Preperation Audience ResearchPreperation Audience Research
Preperation Audience Research
 
Environment presentation
Environment presentationEnvironment presentation
Environment presentation
 
Question 1
Question 1Question 1
Question 1
 
Who would be the audience for your media product?
Who would be the audience for your media product? Who would be the audience for your media product?
Who would be the audience for your media product?
 
Environment modelling
Environment modellingEnvironment modelling
Environment modelling
 
Ig3 task 2 annotation
Ig3 task 2 annotationIg3 task 2 annotation
Ig3 task 2 annotation
 
Production log
Production logProduction log
Production log
 
Drafts of my music magazine
Drafts of my music magazineDrafts of my music magazine
Drafts of my music magazine
 
Drafts of my music magazine
Drafts of my music magazineDrafts of my music magazine
Drafts of my music magazine
 
Environment construction
Environment constructionEnvironment construction
Environment construction
 
Question 1
Question 1Question 1
Question 1
 
Conventions of a Music Magazine
Conventions of a Music MagazineConventions of a Music Magazine
Conventions of a Music Magazine
 
Gta v research results and analysis
Gta v research results and analysisGta v research results and analysis
Gta v research results and analysis
 

Semelhante a 3d game engine

Introduction to Game Programming: Using C# and Unity 3D - Chapter 2 (Preview)
Introduction to Game Programming: Using C# and Unity 3D - Chapter 2 (Preview)Introduction to Game Programming: Using C# and Unity 3D - Chapter 2 (Preview)
Introduction to Game Programming: Using C# and Unity 3D - Chapter 2 (Preview)noorcon
 
How tomakea gameinunity3d
How tomakea gameinunity3dHow tomakea gameinunity3d
How tomakea gameinunity3dDao Tung
 
Let's make a game unity
Let's make a game   unityLet's make a game   unity
Let's make a game unitySaija Ketola
 
Adobe Illustrator CS6 Primer
Adobe Illustrator CS6 PrimerAdobe Illustrator CS6 Primer
Adobe Illustrator CS6 PrimerNYCCTfab
 
unity gaming programing basics for students ppt
unity gaming programing basics for students pptunity gaming programing basics for students ppt
unity gaming programing basics for students pptKathiriyaParthiv
 
Unity Game Engine - Basics
Unity Game Engine - BasicsUnity Game Engine - Basics
Unity Game Engine - BasicsFirosK2
 
The Basics of Unity - The Game Engine
The Basics of Unity - The Game EngineThe Basics of Unity - The Game Engine
The Basics of Unity - The Game EngineOrisysIndia
 
Digital doodle 2perpage
Digital doodle 2perpageDigital doodle 2perpage
Digital doodle 2perpageSilvio Cazella
 
Adobe Illustrator CC 2018
Adobe Illustrator CC 2018 Adobe Illustrator CC 2018
Adobe Illustrator CC 2018 NYCCTfab
 
Introduction-to-Unity.ppt
Introduction-to-Unity.pptIntroduction-to-Unity.ppt
Introduction-to-Unity.pptGravityboi
 
Introduction to-unity
Introduction to-unityIntroduction to-unity
Introduction to-unityvafa3
 
VIRTUAL REALITY & AUGMENTED REALITY
VIRTUAL REALITY & AUGMENTED REALITY VIRTUAL REALITY & AUGMENTED REALITY
VIRTUAL REALITY & AUGMENTED REALITY HarsshammJeetendra
 
3D game engine work flow
3D game engine work flow3D game engine work flow
3D game engine work flowsoulsama
 
Flashworkshop 090317231102-phpapp01
Flashworkshop 090317231102-phpapp01Flashworkshop 090317231102-phpapp01
Flashworkshop 090317231102-phpapp01momayabhavana
 
Flashworkshop 090317231102-phpapp01
Flashworkshop 090317231102-phpapp01Flashworkshop 090317231102-phpapp01
Flashworkshop 090317231102-phpapp01bhavanalm
 
Image contro, and format functions in vb
Image contro, and format functions in vbImage contro, and format functions in vb
Image contro, and format functions in vbAmandeep Kaur
 
Tips and tools for creating flipcharts
Tips and tools for creating flipchartsTips and tools for creating flipcharts
Tips and tools for creating flipchartsManuel S. Herrera
 

Semelhante a 3d game engine (20)

Introduction to Game Programming: Using C# and Unity 3D - Chapter 2 (Preview)
Introduction to Game Programming: Using C# and Unity 3D - Chapter 2 (Preview)Introduction to Game Programming: Using C# and Unity 3D - Chapter 2 (Preview)
Introduction to Game Programming: Using C# and Unity 3D - Chapter 2 (Preview)
 
How tomakea gameinunity3d
How tomakea gameinunity3dHow tomakea gameinunity3d
How tomakea gameinunity3d
 
Let's make a game unity
Let's make a game   unityLet's make a game   unity
Let's make a game unity
 
Adobe Illustrator CS6 Primer
Adobe Illustrator CS6 PrimerAdobe Illustrator CS6 Primer
Adobe Illustrator CS6 Primer
 
unity gaming programing basics for students ppt
unity gaming programing basics for students pptunity gaming programing basics for students ppt
unity gaming programing basics for students ppt
 
Unity Game Engine - Basics
Unity Game Engine - BasicsUnity Game Engine - Basics
Unity Game Engine - Basics
 
The Basics of Unity - The Game Engine
The Basics of Unity - The Game EngineThe Basics of Unity - The Game Engine
The Basics of Unity - The Game Engine
 
Digital doodle 2perpage
Digital doodle 2perpageDigital doodle 2perpage
Digital doodle 2perpage
 
Adobe Illustrator CC 2018
Adobe Illustrator CC 2018 Adobe Illustrator CC 2018
Adobe Illustrator CC 2018
 
Introduction-to-Unity.ppt
Introduction-to-Unity.pptIntroduction-to-Unity.ppt
Introduction-to-Unity.ppt
 
Introduction to-unity
Introduction to-unityIntroduction to-unity
Introduction to-unity
 
Introduction-to-Unity.ppt
Introduction-to-Unity.pptIntroduction-to-Unity.ppt
Introduction-to-Unity.ppt
 
02 unity 3_d_part_1
02 unity 3_d_part_102 unity 3_d_part_1
02 unity 3_d_part_1
 
VIRTUAL REALITY & AUGMENTED REALITY
VIRTUAL REALITY & AUGMENTED REALITY VIRTUAL REALITY & AUGMENTED REALITY
VIRTUAL REALITY & AUGMENTED REALITY
 
3D game engine work flow
3D game engine work flow3D game engine work flow
3D game engine work flow
 
Flashworkshop 090317231102-phpapp01
Flashworkshop 090317231102-phpapp01Flashworkshop 090317231102-phpapp01
Flashworkshop 090317231102-phpapp01
 
Flashworkshop 090317231102-phpapp01
Flashworkshop 090317231102-phpapp01Flashworkshop 090317231102-phpapp01
Flashworkshop 090317231102-phpapp01
 
Image contro, and format functions in vb
Image contro, and format functions in vbImage contro, and format functions in vb
Image contro, and format functions in vb
 
Tips and tools for creating flipcharts
Tips and tools for creating flipchartsTips and tools for creating flipcharts
Tips and tools for creating flipcharts
 
Make a match3
Make a match3Make a match3
Make a match3
 

Mais de luisfvazquez1

Unit 67 3 d animation production log
Unit 67 3 d animation production logUnit 67 3 d animation production log
Unit 67 3 d animation production logluisfvazquez1
 
Creative brief example art project
Creative brief example   art projectCreative brief example   art project
Creative brief example art projectluisfvazquez1
 
Creative brief example study
Creative brief example   studyCreative brief example   study
Creative brief example studyluisfvazquez1
 
Creative brief example advertising
Creative brief example   advertisingCreative brief example   advertising
Creative brief example advertisingluisfvazquez1
 
Luis vazquez final major project production diary
Luis vazquez final major project production diaryLuis vazquez final major project production diary
Luis vazquez final major project production diaryluisfvazquez1
 
Ideas generation 3 d animation
Ideas generation   3 d animationIdeas generation   3 d animation
Ideas generation 3 d animationluisfvazquez1
 
Ideas generation 3 d animation
Ideas generation   3 d animationIdeas generation   3 d animation
Ideas generation 3 d animationluisfvazquez1
 
L3 gd ha12_marionette_210215_02
L3 gd ha12_marionette_210215_02L3 gd ha12_marionette_210215_02
L3 gd ha12_marionette_210215_02luisfvazquez1
 
L3 gd ha12_marionette_210215_02
L3 gd ha12_marionette_210215_02L3 gd ha12_marionette_210215_02
L3 gd ha12_marionette_210215_02luisfvazquez1
 

Mais de luisfvazquez1 (20)

Unit 67 3 d animation production log
Unit 67 3 d animation production logUnit 67 3 d animation production log
Unit 67 3 d animation production log
 
Creative brief example art project
Creative brief example   art projectCreative brief example   art project
Creative brief example art project
 
Creative brief example study
Creative brief example   studyCreative brief example   study
Creative brief example study
 
Creative brief example advertising
Creative brief example   advertisingCreative brief example   advertising
Creative brief example advertising
 
Luis vazquez final major project production diary
Luis vazquez final major project production diaryLuis vazquez final major project production diary
Luis vazquez final major project production diary
 
Production log
Production logProduction log
Production log
 
Schedule
ScheduleSchedule
Schedule
 
Schedule image
Schedule imageSchedule image
Schedule image
 
Ideas generation 3 d animation
Ideas generation   3 d animationIdeas generation   3 d animation
Ideas generation 3 d animation
 
Ideas generation 3 d animation
Ideas generation   3 d animationIdeas generation   3 d animation
Ideas generation 3 d animation
 
Schedule image
Schedule imageSchedule image
Schedule image
 
L3 gd ha12_marionette_210215_02
L3 gd ha12_marionette_210215_02L3 gd ha12_marionette_210215_02
L3 gd ha12_marionette_210215_02
 
Schedule image
Schedule imageSchedule image
Schedule image
 
L3 gd ha12_marionette_210215_02
L3 gd ha12_marionette_210215_02L3 gd ha12_marionette_210215_02
L3 gd ha12_marionette_210215_02
 
Schedule image
Schedule imageSchedule image
Schedule image
 
Schedule image
Schedule imageSchedule image
Schedule image
 
Schedule image
Schedule imageSchedule image
Schedule image
 
Schedule image
Schedule imageSchedule image
Schedule image
 
Model exporting
Model exportingModel exporting
Model exporting
 
Project pitch
Project pitchProject pitch
Project pitch
 

Último

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Último (20)

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

3d game engine

  • 1. Luis Vazquez Page 1 of 25 3D Game Engine Workflow Introduction I have been tasked with the creation of a playable video game level in Unity, which I will accomplish by using a variety of techniques and assets, some of which will be provided standard with the Unity game engine, and others will be personally made by me for the purpose of using with this project. Standard Assets and Layout When I create the new Unity project to work from, I need to anticipate what varieties of assets I will need to use in the project and import them from storage into the project. This is done via the drop down menus, selecting “Assets > Import New Assets >” and then the appropriate package. For example, I intend to import the Character Controller, Skyboxes, Terrain Assets, Tree Creator, and Water (Basic) packages. After the package has been selected, a series of windows appear in sequence, showing the user that the package is being imported into the project:
  • 2. Luis Vazquez Page 2 of 25 And once the import is complete, the package and its contents will appear in the asset library.
  • 3. Luis Vazquez Page 3 of 25 Terrain Creation + Modification The first part of creating my own level is to create a terrain asset that will form the environment of the game level that the player can move around. To do this, I select on the drop down menu “GameObject > Other > Terrain”. When this is selected, the terrain is created:
  • 4. Luis Vazquez To begin with, a terrain object is a flat surface with a size of 2000x2000 in Unity’s arbitrary distance unit. I don’t need the map to be that large so I decrease the size to 1000x1000 units in the terrain options. Now that I have created the terrain, I need to use the built in terrain editor to modify the terrain. Page 4 of 25 The built in terrain editor is as follows:
  • 5. Luis Vazquez 1 – Raise / Lower Terrain. These tools allow you to raise or lower the elevation of an area on the terrain via brushes. 2 – Paint Terrain. Unlike the Raise / Lower Terrain set of tools, you input a height that you want the terrain to be, then using the brushes raises or lowers the terrain from its current elevation to that level. Page 5 of 25 1 2 3 4 5 6 7
  • 6. Luis Vazquez Page 6 of 25 3 – Smooth Height. These tools smooth the terrain to make it rounder. 4 – Paint Texture. These tools allow you to select textures and apply them to the terrain. First you need to add a texture to the tools to allow you to use it.
  • 7. Luis Vazquez 5 – Place Trees. This tool allows you to add trees to a terrain, after adding them to the tools in a similar fashion to textures. Page 7 of 25 6 – Paint details. This allows you to add other details to the environment such as grass.
  • 8. Luis Vazquez 7 – Terrain Settings. This menu includes various options to change the properties of the terrain object. Page 8 of 25 Adding Skyboxes + Water + Lighting Now, to make the game level more immersive I need to add some larger details that the player can recognise, such as the sky and water.
  • 9. Luis Vazquez To add a skybox, I go into the drop-down menu “Edit > Render Settings”, which brings up this window in the engine UI: Page 9 of 25 To add a skybox, I added a material to the Skybox Material setting, as so: Now to add water, I need a specific object type that can be imported to Unity from the common pool of assets. In engine, a water object looks like this:
  • 10. Luis Vazquez This object is essentially a flat texture with an animated normal map, so it appears to be constantly moving despite being completely still. The object can be edited in the same ways as other objects, so I increase the water objects size to cover the level below the ground level. Page 10 of 25 In game, the water and skybox look like this: Now I need to add lighting to the level, so that the player can see the level clearly (and appropriately to the amount of light that is apparently coming from the sky). The object I want to create is a directional light, which is created by selecting the following menu:
  • 11. Luis Vazquez Page 11 of 25 In engine, the directional light object looks like this: This light has a direction, so as it hits geometry it will cast shadows as well, making the appearance of the level more believable. After some editing, this is how the level looks with lighting:
  • 12. Luis Vazquez Page 12 of 25 Creating and Modifying Game Objects To create my level, I will want to use a number of objects to decorate the level and give it some visual flair, as well as use it for practical purposes such as making geometry. Unity has options to create a number of basic objects of this type. For example, to create a simple cube object, I can select Game Object on the game menu, and select ‘GameObject > Create Other > Cube’.
  • 13. Luis Vazquez Another way to create one of the default objects to select ‘create’ on the hierarchy menu and select the appropriate object, such as ‘Create > Cube’. Once either method has been selected, a default cube object will spawn in the scene, like so: Page 13 of 25
  • 14. Luis Vazquez Page 14 of 25 Every game object can be modified in a number of ways, not just the default objects. First, there are the object movement tools: Clicking and holding on one of the arrows will allow you to move the object along the plane of that arrow. For example, if you click and drag the red arrow, it will move the object along the X axis. The green arrow affects Y, and the blue arrow affects Z. Clicking and holding on one of the squares shown at right angles to the arrows allows you to move the object freely along two of the three planes, while keeping one consistent. For example, using the red square will keep X consistent while Y and Z are changed. Next are the rotation tools: The coloured curves will rotate the object in a particular direction, based on the side of the object that the curve is over. The grey lines will always rotate the object based on the direction that you are looking at the object from. Finally, there are the scale tools:
  • 15. Luis Vazquez Using the coloured tools will ‘stretch’ the object in the direction of the coloured line selected, while the grey cube will increase or decrease the scale of each dimension of the object at the same rate, simultaneously. Page 15 of 25 Creating and Applying Textures Creating textures to use in my game will involve other programs outside of the Unity engine. The first part of creating a texture is to acquire an image that I intend to use, then loading it into an instance of an image editing program such as Adobe Photoshop. Once you have the image exported as a 1024x1024 pixel resolution PNG image, I need to import the image into Unity as a texture to use in my level. To put the texture into the engine itself, the image can be drag-and-dropped into the asset library to add it to the available textures, like so:
  • 16. Luis Vazquez Once the texture is in the engine, it can be used in two ways. It can be added to the terrain using the above method in Terrain Creation + Modification, or it can be applied directly to models. Page 16 of 25
  • 17. Luis Vazquez Page 17 of 25 Importing From the Unity Asset Store The assets available by default in the Unity engine cover a variety of uses and are generally quite versatile, but are also somewhat generic and are difficult to apply to specialised use. For more specific objects, it is generally better to use custom made models and textures. However, in this project I am not tasked with creating the assets for use in the engine, so I will gather resources from other places. One example of a place where assets are available for free use is the Unity Asset Store (https://www.assetstore.unity3d.com/en/). On this website, users upload content that can either be downloaded for use in Unity for free or for a paid fee. As an example, I will download a free furniture pack, which is done by finding it on the website-
  • 18. Luis Vazquez Page 18 of 25 -Selecting “Open in Unity”- -Which will open a window in the Unity engine (if you have the application open)-
  • 19. Luis Vazquez And then choosing the ‘download’ option. Once this has been completed the selected package will download like in the cases of the standard assets, and there will now be a new folder in the asset library. And the assets contained within those folders can now be used as with any other asset of the associated type. Page 19 of 25
  • 20. Luis Vazquez Page 20 of 25 Collision By default, most non-standard objects will not collide with the player, and they will be able to pass through each other freely. This is a problem, because it can break the immersion of the player and allows them to get to places that they perhaps should not be. There are two particular ways of giving an object ‘collision’. The first is to directly access a model in the asset library, and access the model’s specific options.
  • 21. Luis Vazquez Once in this menu, selecting and applying the ‘Generate Colliders’ option will make any instance of that object in the game level collide with the player. The other option is to use a default object that has its mesh rendered turned off. This can be more practical for use with objects that are rather complicated or have empty space that the player might be able to pass through. It is also useful for objects that are based on random generation, as they are more difficult to generate colliders for accurately. Page 21 of 25
  • 22. Luis Vazquez Page 22 of 25 Teleporters In order to provide me with more creative freedom, I wanted to create a number of ‘teleporters’ that will allow me to move the player between disconnected areas in the level. For this I need two components: the script and the objects. The script I used is a page file of C# code that looks like this: Once I have this code, I can attach it to an object, which in this case is an invisible cube object framed by visible cube objects.
  • 23. Luis Vazquez In the object options, the script has added a few options that I can adjust. For this case, I wanted a two-way teleporter object, so the exit is another teleporter that connects back to this object. Now, when the player collides with the teleporter object, they will be moved to the location of the other teleporter in game. Page 23 of 25
  • 24. Luis Vazquez Page 24 of 25 Music As an additional feature, I wanted to add music to the game that the player will hear as they explore the game level. First I added the music files to the asset library via the Unity Asset Store, and then I will need to add an audio source to the Main Camera object attached to the player controller. Once the camera has an audio source, the music can be drag-and-dropped into the appropriate location, and once the game is started, the player will hear the music. The audio source function has a few properties attached to it that I will need to have edited in order to help the audio serve its purpose. In this case, I want the audio file to function as music, so I will want the audio to have ‘looping’ turned on, and also have as few audio effects such as reverb and the Doppler effect as possible.
  • 25. Luis Vazquez Page 25 of 25