Difference between revisions of "Digital technologies/Virtual reality/Unity Project Resources"
m |
|||
Line 1: | Line 1: | ||
− | = | + | = Unity Software = |
Unity is a cross-platform game engine that can be used to create games, apps and experiences in 2D or 3D. In this section, resources on the Unity Software can be found covering Virtual Reality Projects, Augmented Reality, and 3D Projects in Unity. | Unity is a cross-platform game engine that can be used to create games, apps and experiences in 2D or 3D. In this section, resources on the Unity Software can be found covering Virtual Reality Projects, Augmented Reality, and 3D Projects in Unity. | ||
− | == | + | == General == |
In this section, we will cover general Unity Information that carries across all projects in Unity. This section covers Getting Started, Scripting in Unity, Character Animations, Movements, Objects, and User Interface, Environment, Cameras, Sounds & Story Telling, and Design Day Preparation. | In this section, we will cover general Unity Information that carries across all projects in Unity. This section covers Getting Started, Scripting in Unity, Character Animations, Movements, Objects, and User Interface, Environment, Cameras, Sounds & Story Telling, and Design Day Preparation. | ||
− | === | + | === Getting Started === |
Unity can be intimidating to new users. To start, we have provided links to installation and to cover the basics. | Unity can be intimidating to new users. To start, we have provided links to installation and to cover the basics. | ||
− | ==== | + | ==== Installation ==== |
Below is a link to the Unity Products page where you can download and install the Unity Game Engine Editor. The second link is a tutorial on how to install the Unity Game Engine Editor. | Below is a link to the Unity Products page where you can download and install the Unity Game Engine Editor. The second link is a tutorial on how to install the Unity Game Engine Editor. | ||
Line 15: | Line 15: | ||
https://www.youtube.com/watch?v=DDPd2UKnoaU&ab_channel=HelpfulOnline | https://www.youtube.com/watch?v=DDPd2UKnoaU&ab_channel=HelpfulOnline | ||
− | ==== | + | ==== Unity Hub / Modules ==== |
Modules are optional components you can use to tailor your editor installation. You can limit the Editor download/install size if you select only the modules that you require. Below is a link that explains how to add or remove modules from unity installs. | Modules are optional components you can use to tailor your editor installation. You can limit the Editor download/install size if you select only the modules that you require. Below is a link that explains how to add or remove modules from unity installs. | ||
https://docs.unity3d.com/2020.2/Documentation/Manual/GettingStartedAddingEditorComponents.html | https://docs.unity3d.com/2020.2/Documentation/Manual/GettingStartedAddingEditorComponents.html | ||
− | ==== | + | ==== Unity User Interface ==== |
The Unity User Interface (UI) comprises of visual elements and controls allowing interactions between you and the game. Below is an image of the Unity UI and a link that explains the basics of using the Unity Game Editor. | The Unity User Interface (UI) comprises of visual elements and controls allowing interactions between you and the game. Below is an image of the Unity UI and a link that explains the basics of using the Unity Game Editor. | ||
https://docs.unity3d.com/Manual/UsingTheEditor.html | https://docs.unity3d.com/Manual/UsingTheEditor.html | ||
− | ==== | + | ==== Assets ==== |
Assets in Unity are objects that you use to create your game. They can be 3D models, characters, textures or 2D graphics. They can be either obtained for free or purchased from the Unity Asset Store. | Assets in Unity are objects that you use to create your game. They can be 3D models, characters, textures or 2D graphics. They can be either obtained for free or purchased from the Unity Asset Store. | ||
Line 36: | Line 36: | ||
· Installing Assets: https://www.youtube.com/watch?v=AzItMI583kY&ab_channel=Dr.AfiqahHashim | · Installing Assets: https://www.youtube.com/watch?v=AzItMI583kY&ab_channel=Dr.AfiqahHashim | ||
− | ==== | + | ==== Plug-Ins / Package Manager ==== |
In Unity, you normally use scripts to create functionality, but you can also include code created outside Unity in the form of a plug-in. Packages deliver a wide range of enhancements to Unity through the Package Manager. To help find and use these packages, the Package Manager window provides collections of packages that you can use together, called feature sets. | In Unity, you normally use scripts to create functionality, but you can also include code created outside Unity in the form of a plug-in. Packages deliver a wide range of enhancements to Unity through the Package Manager. To help find and use these packages, the Package Manager window provides collections of packages that you can use together, called feature sets. | ||
Line 45: | Line 45: | ||
· Plug-Ins Info: https://docs.unity3d.com/Manual/Plugins.html | · Plug-Ins Info: https://docs.unity3d.com/Manual/Plugins.html | ||
− | === | + | === Scripting in Unity === |
Scripting is an essential ingredient in all applications you make in Unity. Most applications need scripts to respond to input from the player and to arrange for events in the gameplay to happen when they should. Beyond that, scripts can be used to create graphical effects, control the physical behavior of objects or even implement a custom AI system for characters in the game. The language used is C# (C-sharp). The IDE used is Visual Studio Code which gets installed by default when you install Unity. | Scripting is an essential ingredient in all applications you make in Unity. Most applications need scripts to respond to input from the player and to arrange for events in the gameplay to happen when they should. Beyond that, scripts can be used to create graphical effects, control the physical behavior of objects or even implement a custom AI system for characters in the game. The language used is C# (C-sharp). The IDE used is Visual Studio Code which gets installed by default when you install Unity. | ||
− | ==== | + | ==== Scripting in Unity ==== |
Scripting Info: https://docs.unity3d.com/Manual/ScriptingSection.html | Scripting Info: https://docs.unity3d.com/Manual/ScriptingSection.html | ||
− | ==== | + | ==== Creating a New Script ==== |
Creating a New Script: https://www.youtube.com/watch?v=9tMvzrqBUP8 | Creating a New Script: https://www.youtube.com/watch?v=9tMvzrqBUP8 | ||
− | ==== | + | ==== What is C# ==== |
What is C#: https://dotnet.microsoft.com/en-us/learn/csharp | What is C#: https://dotnet.microsoft.com/en-us/learn/csharp | ||
− | ==== | + | ==== Python & Unity ==== |
· What is Python? : https://gamedevacademy.org/python-programming-for-beginners-2/ | · What is Python? : https://gamedevacademy.org/python-programming-for-beginners-2/ | ||
Line 64: | Line 64: | ||
· Python Scripting Package: https://docs.unity3d.com/Packages/com.unity.scripting.python@7.0/manual/index.html | · Python Scripting Package: https://docs.unity3d.com/Packages/com.unity.scripting.python@7.0/manual/index.html | ||
− | === | + | === NPC Characters, NPC Character Animations, Movements, Objects, and User Interface === |
In Unity we often want to introduce other characters and objects. In most cases we want these characters to move, objects to be interactable, or assign materials to items to change its appearance. Maybe we want a regular 2D menu screen. In this section, we will cover the general uses for these features that will remain the same across VR, AR, and 3D projects. | In Unity we often want to introduce other characters and objects. In most cases we want these characters to move, objects to be interactable, or assign materials to items to change its appearance. Maybe we want a regular 2D menu screen. In this section, we will cover the general uses for these features that will remain the same across VR, AR, and 3D projects. | ||
− | ==== | + | ==== Materials ==== |
· Info: https://docs.unity3d.com/Manual/Materials.html | · Info: https://docs.unity3d.com/Manual/Materials.html | ||
· Video Tutorial: https://www.youtube.com/watch?v=aiTl7B2xTmA&ab_channel=TheRealTimeEssentials | · Video Tutorial: https://www.youtube.com/watch?v=aiTl7B2xTmA&ab_channel=TheRealTimeEssentials | ||
− | ==== | + | ==== NPC Characters and Modeling ==== |
NPC Characters and other Models can be downloaded from the Unity Asset Store or other online data bases. | NPC Characters and other Models can be downloaded from the Unity Asset Store or other online data bases. | ||
Line 79: | Line 79: | ||
· Adding Character Models to Unity: https://www.youtube.com/watch?v=Q8lJpoUwaBA&ab_channel=Fui | · Adding Character Models to Unity: https://www.youtube.com/watch?v=Q8lJpoUwaBA&ab_channel=Fui | ||
− | ==== | + | ==== NPC Character Animation & Movement ==== |
· Animating Characters (Unity Animator): https://www.youtube.com/watch?v=vApG8aYD5aI&ab_channel=iHeartGameDev | · Animating Characters (Unity Animator): https://www.youtube.com/watch?v=vApG8aYD5aI&ab_channel=iHeartGameDev | ||
· Animating Animals: https://www.youtube.com/watch?v=fmp1t5Ug5CI | · Animating Animals: https://www.youtube.com/watch?v=fmp1t5Ug5CI | ||
− | ===== | + | ===== Mixamo ===== |
Mixamo is a website that you can download animations from and incorporate into your Unity project. | Mixamo is a website that you can download animations from and incorporate into your Unity project. | ||
Line 91: | Line 91: | ||
· Tutorial: https://www.youtube.com/watch?v=Vsj_UpnLFF8&ab_channel=BMo | · Tutorial: https://www.youtube.com/watch?v=Vsj_UpnLFF8&ab_channel=BMo | ||
− | ==== | + | ==== Universal User Movement (Using Mouse and Keyboard) ==== |
In most projects, it is useful to be able to control the user with the mouse and keyboard as it can save time in development. It is useful in the development phase so that you can test your game without the need of putting on/off a VR headset for example. The controls can still be implemented for 3D projects too if desired. | In most projects, it is useful to be able to control the user with the mouse and keyboard as it can save time in development. It is useful in the development phase so that you can test your game without the need of putting on/off a VR headset for example. The controls can still be implemented for 3D projects too if desired. | ||
Line 98: | Line 98: | ||
· Third-Person: https://www.youtube.com/watch?v=UCwwn2q4Vys&ab_channel=Dave%2FGameDevelopment | · Third-Person: https://www.youtube.com/watch?v=UCwwn2q4Vys&ab_channel=Dave%2FGameDevelopment | ||
− | ==== | + | ==== Menu Screen / User Interface ==== |
In all projects, you will want some type of menu screen. There are many different ways to do this. Below is a link to a tutorial to create a basic menu main screen. | In all projects, you will want some type of menu screen. There are many different ways to do this. Below is a link to a tutorial to create a basic menu main screen. | ||
https://www.youtube.com/watch?v=DX7HyN7oJjE&ab_channel=RehopeGames | https://www.youtube.com/watch?v=DX7HyN7oJjE&ab_channel=RehopeGames | ||
− | ==== | + | ==== Trigger Zones ==== |
In VR games and Experiences, sometimes we want events to occur when passing through a certain point or when an object/character passes through a point. For example, a sound effect goes off when passing through a doorway, or narration continues once user completes a task. Below is a video explaining how you can implement this. | In VR games and Experiences, sometimes we want events to occur when passing through a certain point or when an object/character passes through a point. For example, a sound effect goes off when passing through a doorway, or narration continues once user completes a task. Below is a video explaining how you can implement this. | ||
https://www.youtube.com/watch?v=p1ZgS2z-LTs&ab_channel=passivestar | https://www.youtube.com/watch?v=p1ZgS2z-LTs&ab_channel=passivestar | ||
− | === | + | === Environment === |
This section focuses on the 3D Environment in which the VR game will be taking place. This includes World Building, Skybox, and Lighting. | This section focuses on the 3D Environment in which the VR game will be taking place. This includes World Building, Skybox, and Lighting. | ||
− | ==== | + | ==== World Building ==== |
World Building encompasses everything that includes attaining assets to create your in-game world. | World Building encompasses everything that includes attaining assets to create your in-game world. | ||
Line 120: | Line 120: | ||
· Building a simple 3D Environment: https://www.youtube.com/watch?v=saa9zxgCMu4&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=3&ab_channel=ValemTutorials | · Building a simple 3D Environment: https://www.youtube.com/watch?v=saa9zxgCMu4&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=3&ab_channel=ValemTutorials | ||
− | ==== | + | ==== Skybox ==== |
The desired ambience for your game can be created using the skybox. It is the background of the world and as the name suggests, the sky. | The desired ambience for your game can be created using the skybox. It is the background of the world and as the name suggests, the sky. | ||
Line 127: | Line 127: | ||
· Manual: [https://docs.unity3d.com/2019.2/Documentation/Manual/class-Skybox.html Unity - Manual: Skybox (unity3d.com)] | · Manual: [https://docs.unity3d.com/2019.2/Documentation/Manual/class-Skybox.html Unity - Manual: Skybox (unity3d.com)] | ||
− | ==== | + | ==== Lighting ==== |
Lighting in Unity approximates how light behaves in the real world, contributing to realistic scenes. | Lighting in Unity approximates how light behaves in the real world, contributing to realistic scenes. | ||
Line 136: | Line 136: | ||
· Environment Basic Lighting (@9:30): https://www.youtube.com/watch?v=saa9zxgCMu4&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=3&ab_channel=ValemTutorials | · Environment Basic Lighting (@9:30): https://www.youtube.com/watch?v=saa9zxgCMu4&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=3&ab_channel=ValemTutorials | ||
− | === | + | === Cameras, Cinemachine, and Unity Recorder === |
This section focuses on Cameras in Unity, covering general Camera information, Cinemachine, and Unity Recorder. | This section focuses on Cameras in Unity, covering general Camera information, Cinemachine, and Unity Recorder. | ||
− | ==== | + | ==== Cameras ==== |
· Info: https://docs.unity3d.com/351/Documentation/Manual/Cameras.html | · Info: https://docs.unity3d.com/351/Documentation/Manual/Cameras.html | ||
− | ==== | + | ==== Cinemachine ==== |
Used to make cinematic trailers for game or application. | Used to make cinematic trailers for game or application. | ||
Line 151: | Line 151: | ||
· Tutorial: https://www.youtube.com/watch?v=XT6mUlpO4fA&ab_channel=iHeartGameDev | · Tutorial: https://www.youtube.com/watch?v=XT6mUlpO4fA&ab_channel=iHeartGameDev | ||
− | ==== | + | ==== Unity Recorder ==== |
The Unity Recorder is used to record gameplay in the unity editor. | The Unity Recorder is used to record gameplay in the unity editor. | ||
Line 158: | Line 158: | ||
· Tutorial: https://www.youtube.com/watch?v=-W27WCobILI&ab_channel=SpeedTutor | · Tutorial: https://www.youtube.com/watch?v=-W27WCobILI&ab_channel=SpeedTutor | ||
− | === | + | === Sounds & Story Telling === |
This section focuses on Sound Effects, Dialogue, and the powerful tool in Unity called the Timeline. | This section focuses on Sound Effects, Dialogue, and the powerful tool in Unity called the Timeline. | ||
− | ==== | + | ==== Sound Effects ==== |
· Info: https://learn.unity.com/tutorial/working-with-audio-components-2019-3 | · Info: https://learn.unity.com/tutorial/working-with-audio-components-2019-3 | ||
· Free audio files: https://learn.unity.com/tutorial/working-with-audio-components-2019-3 | · Free audio files: https://learn.unity.com/tutorial/working-with-audio-components-2019-3 | ||
− | ==== | + | ==== Dialogue / Narration ==== |
Dialogue can be useful when delivering information and guiding players throughout the game. | Dialogue can be useful when delivering information and guiding players throughout the game. | ||
Line 173: | Line 173: | ||
· Narrative story using timeline: https://www.youtube.com/watch?v=AJBb-PA-nAk&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=9&ab_channel=ValemTutorials | · Narrative story using timeline: https://www.youtube.com/watch?v=AJBb-PA-nAk&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=9&ab_channel=ValemTutorials | ||
− | ==== | + | ==== Timeline ==== |
Use the Timeline window to create cut-scenes, cinematics, and game-play sequences by visually arranging tracks and clips linked to GameObjects in your Scene. | Use the Timeline window to create cut-scenes, cinematics, and game-play sequences by visually arranging tracks and clips linked to GameObjects in your Scene. | ||
Line 184: | Line 184: | ||
· Narrative Story Using Timeline: https://www.youtube.com/watch?v=AJBb-PA-nAk&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=9&ab_channel=ValemTutorials | · Narrative Story Using Timeline: https://www.youtube.com/watch?v=AJBb-PA-nAk&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=9&ab_channel=ValemTutorials | ||
− | === | + | === Design Day Preparation === |
This section covers everything you need to prepare for Design Day to complete successfully. | This section covers everything you need to prepare for Design Day to complete successfully. | ||
− | ==== | + | ==== Building/Exporting as a Game (.exe file) ==== |
Before Design Day, we recommend building your unity project as a launchable program on all of the MakerSpace laptops. This way on design day, no matter what laptop you are using, you will be able to demonstrate your functioning game. This will complete your project. | Before Design Day, we recommend building your unity project as a launchable program on all of the MakerSpace laptops. This way on design day, no matter what laptop you are using, you will be able to demonstrate your functioning game. This will complete your project. | ||
· Tutorial: https://www.youtube.com/watch?v=7nxKAtxGSn8&ab_channel=Brackeys | · Tutorial: https://www.youtube.com/watch?v=7nxKAtxGSn8&ab_channel=Brackeys | ||
− | ==== | + | ==== Transferring Project from one PC to another ==== |
· Tutorial: https://www.youtube.com/watch?v=ozVkcEfnlwI&ab_channel=WasayTechTips | · Tutorial: https://www.youtube.com/watch?v=ozVkcEfnlwI&ab_channel=WasayTechTips | ||
− | == | + | == Virtual Reality (VR) in Unity == |
In this section we will cover Unity features that will be specific for VR projects in Unity. | In this section we will cover Unity features that will be specific for VR projects in Unity. | ||
− | === | + | === User Interface in VR === |
In VR projects, we can introduce a new way to interact with a User Interface. It is an in-game UI / menu that has a lot of different applications. | In VR projects, we can introduce a new way to interact with a User Interface. It is an in-game UI / menu that has a lot of different applications. | ||
Line 205: | Line 205: | ||
· Tutorial #2: https://www.youtube.com/watch?v=6WfowlZ51i8&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=11&ab_channel=ValemTutorials | · Tutorial #2: https://www.youtube.com/watch?v=6WfowlZ51i8&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=11&ab_channel=ValemTutorials | ||
− | === | + | === User Movement and Interactions in VR === |
In VR there are a few different ways for the user to navigate the game/experience. This can be done by teleporting or moving continuously. | In VR there are a few different ways for the user to navigate the game/experience. This can be done by teleporting or moving continuously. | ||
− | ==== | + | ==== User Movement in VR ==== |
· Continuous Movement: https://www.youtube.com/watch?v=0VowAem2aMM&list=PLpEoiloH-4eP-OKItF8XNJ8y8e1asOJud&index=4&ab_channel=ValemTutorials | · Continuous Movement: https://www.youtube.com/watch?v=0VowAem2aMM&list=PLpEoiloH-4eP-OKItF8XNJ8y8e1asOJud&index=4&ab_channel=ValemTutorials | ||
Line 217: | Line 217: | ||
· More Teleportation and Continuous movement: https://www.youtube.com/watch?v=54J_mWO_gQ8&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=6&ab_channel=ValemTutorials | · More Teleportation and Continuous movement: https://www.youtube.com/watch?v=54J_mWO_gQ8&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=6&ab_channel=ValemTutorials | ||
− | ==== | + | ==== User Interactions in VR ==== |
In VR games and VR Experiences, Users often interact with objects or other characters. In this section some links are available to explore how to interact with objects and characters. | In VR games and VR Experiences, Users often interact with objects or other characters. In this section some links are available to explore how to interact with objects and characters. | ||
Line 232: | Line 232: | ||
· Ladder, Wheel, and Lever: https://www.youtube.com/watch?v=eX-jXuMQdps&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=8&ab_channel=ValemTutorials | · Ladder, Wheel, and Lever: https://www.youtube.com/watch?v=eX-jXuMQdps&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=8&ab_channel=ValemTutorials | ||
− | == | + | == Augmented Reality (AR) in Unity == |
In this section we will cover Unity features that will be specific for AR projects in Unity. | In this section we will cover Unity features that will be specific for AR projects in Unity. | ||
· Info: https://unity.com/solutions/xr/ar | · Info: https://unity.com/solutions/xr/ar | ||
− | === | + | === Getting Started with AR Foundation === |
· Tutorial: https://www.youtube.com/watch?v=FWyTf3USDCQ | · Tutorial: https://www.youtube.com/watch?v=FWyTf3USDCQ | ||
− | === | + | === AR Setup for iOS and ANDROID === |
· Android: https://www.youtube.com/watch?v=0mpsiO2lCx0&list=PL6VJLOFcTt7awvyIGIbLLPOBrW6-Y1R-J&index=1&ab_channel=DineshPunni | · Android: https://www.youtube.com/watch?v=0mpsiO2lCx0&list=PL6VJLOFcTt7awvyIGIbLLPOBrW6-Y1R-J&index=1&ab_channel=DineshPunni | ||
· iOS: https://www.youtube.com/watch?v=eu_eG0eTFlA&list=PL6VJLOFcTt7awvyIGIbLLPOBrW6-Y1R-J&index=2&ab_channel=DineshPunni | · iOS: https://www.youtube.com/watch?v=eu_eG0eTFlA&list=PL6VJLOFcTt7awvyIGIbLLPOBrW6-Y1R-J&index=2&ab_channel=DineshPunni | ||
− | === | + | === Image Tracking in AR === |
· Tutorial: https://www.youtube.com/watch?v=o_z_Eb8Yh2g&list=PL6VJLOFcTt7awvyIGIbLLPOBrW6-Y1R-J&index=3&ab_channel=DineshPunni | · Tutorial: https://www.youtube.com/watch?v=o_z_Eb8Yh2g&list=PL6VJLOFcTt7awvyIGIbLLPOBrW6-Y1R-J&index=3&ab_channel=DineshPunni | ||
· Info: https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@4.1/manual/tracked-image-manager.html | · Info: https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@4.1/manual/tracked-image-manager.html | ||
− | === | + | === User Interactions === |
· Plane Detection: https://www.youtube.com/watch?v=uWWiYfPTUtU&list=PL6VJLOFcTt7awvyIGIbLLPOBrW6-Y1R-J&index=4&ab_channel=DineshPunni | · Plane Detection: https://www.youtube.com/watch?v=uWWiYfPTUtU&list=PL6VJLOFcTt7awvyIGIbLLPOBrW6-Y1R-J&index=4&ab_channel=DineshPunni | ||
· Placing Objects in AR: https://www.youtube.com/watch?v=xguiSueY1Lw&list=PL6VJLOFcTt7awvyIGIbLLPOBrW6-Y1R-J&index=5&ab_channel=DineshPunni | · Placing Objects in AR: https://www.youtube.com/watch?v=xguiSueY1Lw&list=PL6VJLOFcTt7awvyIGIbLLPOBrW6-Y1R-J&index=5&ab_channel=DineshPunni | ||
− | == | + | == 360 Video Experience in Unity == |
In Unity, it is possible to create 360 interactable video experiences. | In Unity, it is possible to create 360 interactable video experiences. | ||
− | === | + | === Getting Started === |
· Unity Tutorial Playlist: https://www.youtube.com/playlist?list=PLX2vGYjWbI0TifrTlupfrJeLa7c8LunUf | · Unity Tutorial Playlist: https://www.youtube.com/playlist?list=PLX2vGYjWbI0TifrTlupfrJeLa7c8LunUf | ||
− | = | + | = Physical Equipment = |
In this section, resources on the physical equipment found in the lab can be found. | In this section, resources on the physical equipment found in the lab can be found. | ||
− | == | + | == VR Headset and Controllers == |
This section mainly focuses on the VR Headset and Controllers, covering Configuration and Connecting to Unity. They can be found in the Makerspace. We will be using the Meta Quest 2. | This section mainly focuses on the VR Headset and Controllers, covering Configuration and Connecting to Unity. They can be found in the Makerspace. We will be using the Meta Quest 2. | ||
− | === | + | === Configuration === |
· Setup: [https://www.youtube.com/watch?v=tGZgJ5XtOXo&t=32s How To Setup VR Development in Unity 2022.2 with a Quest 2 (XR Interaction Toolkit 2.1) - YouTube] | · Setup: [https://www.youtube.com/watch?v=tGZgJ5XtOXo&t=32s How To Setup VR Development in Unity 2022.2 with a Quest 2 (XR Interaction Toolkit 2.1) - YouTube] | ||
− | === | + | === Connecting to Unity and Headset Plug-Ins === |
· Unity Headset and Controller Connectivity Tutorial: https://www.youtube.com/watch?v=pm9W7r9BGiA&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=2&ab_channel=ValemTutorials | · Unity Headset and Controller Connectivity Tutorial: https://www.youtube.com/watch?v=pm9W7r9BGiA&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=2&ab_channel=ValemTutorials | ||
Line 277: | Line 277: | ||
· Meta Quest 2 Set-Up in Unity: https://www.youtube.com/watch?v=tGZgJ5XtOXo&ab_channel=Meetras | · Meta Quest 2 Set-Up in Unity: https://www.youtube.com/watch?v=tGZgJ5XtOXo&ab_channel=Meetras | ||
− | = | + | = Sharing Files = |
As these projects are done in groups, file sharing is extremely crucial. Below you can find a couple ways to share files in Unity. | As these projects are done in groups, file sharing is extremely crucial. Below you can find a couple ways to share files in Unity. | ||
− | == | + | == Physical with USB == |
The simplest way to share files with group members is to transfer projects onto a USB stick and physically store the project. | The simplest way to share files with group members is to transfer projects onto a USB stick and physically store the project. | ||
Line 287: | Line 287: | ||
· YouTube Tutorial: https://www.youtube.com/watch?v=ozVkcEfnlwI&t=3s&ab_channel=WasayTechTips | · YouTube Tutorial: https://www.youtube.com/watch?v=ozVkcEfnlwI&t=3s&ab_channel=WasayTechTips | ||
− | == | + | == Digitally with GitHub == |
GitHub is a tool used to allow collaboration between people working on the same project. In this section, some resources on Cloud Sharing and GitHub repositories can be found. | GitHub is a tool used to allow collaboration between people working on the same project. In this section, some resources on Cloud Sharing and GitHub repositories can be found. | ||
− | === | + | === Setup === |
· Info: https://unityatscale.com/unity-version-control-guide/how-to-setup-unity-project-on-github/ | · Info: https://unityatscale.com/unity-version-control-guide/how-to-setup-unity-project-on-github/ | ||
Line 297: | Line 297: | ||
· GitHub desktop app: [https://desktop.github.com/ GitHub Desktop | Simple collaboration from your desktop] | · GitHub desktop app: [https://desktop.github.com/ GitHub Desktop | Simple collaboration from your desktop] | ||
− | = | + | = More! = |
· Free Course: https://academy.zenva.com/product/unity-101-game-engine-foundations/ | · Free Course: https://academy.zenva.com/product/unity-101-game-engine-foundations/ | ||
· Best Practices for UI in VR: https://learn.unity.com/tutorial/best-practices-for-user-interfaces-ui-in-vr-with-the-xr-interaction-toolkit | · Best Practices for UI in VR: https://learn.unity.com/tutorial/best-practices-for-user-interfaces-ui-in-vr-with-the-xr-interaction-toolkit |
Revision as of 19:08, 6 June 2024
Unity Software
Unity is a cross-platform game engine that can be used to create games, apps and experiences in 2D or 3D. In this section, resources on the Unity Software can be found covering Virtual Reality Projects, Augmented Reality, and 3D Projects in Unity.
General
In this section, we will cover general Unity Information that carries across all projects in Unity. This section covers Getting Started, Scripting in Unity, Character Animations, Movements, Objects, and User Interface, Environment, Cameras, Sounds & Story Telling, and Design Day Preparation.
Getting Started
Unity can be intimidating to new users. To start, we have provided links to installation and to cover the basics.
Installation
Below is a link to the Unity Products page where you can download and install the Unity Game Engine Editor. The second link is a tutorial on how to install the Unity Game Engine Editor.
https://unity.com/products/unity-student
https://www.youtube.com/watch?v=DDPd2UKnoaU&ab_channel=HelpfulOnline
Unity Hub / Modules
Modules are optional components you can use to tailor your editor installation. You can limit the Editor download/install size if you select only the modules that you require. Below is a link that explains how to add or remove modules from unity installs.
https://docs.unity3d.com/2020.2/Documentation/Manual/GettingStartedAddingEditorComponents.html
Unity User Interface
The Unity User Interface (UI) comprises of visual elements and controls allowing interactions between you and the game. Below is an image of the Unity UI and a link that explains the basics of using the Unity Game Editor.
https://docs.unity3d.com/Manual/UsingTheEditor.html
Assets
Assets in Unity are objects that you use to create your game. They can be 3D models, characters, textures or 2D graphics. They can be either obtained for free or purchased from the Unity Asset Store.
· Unity Asset Store: https://assetstore.unity.com/
· Downloading Assets Unity: https://support.unity.com/hc/en-us/articles/210112873-How-do-I-download-an-asset
· More Assets: https://devassets.com/
· Installing Assets: https://www.youtube.com/watch?v=AzItMI583kY&ab_channel=Dr.AfiqahHashim
Plug-Ins / Package Manager
In Unity, you normally use scripts to create functionality, but you can also include code created outside Unity in the form of a plug-in. Packages deliver a wide range of enhancements to Unity through the Package Manager. To help find and use these packages, the Package Manager window provides collections of packages that you can use together, called feature sets.
· Package Manager Info: https://docs.unity3d.com/Manual/Packages.html#:~:text=The%20Package%20Manager%20also%20supports,examples%2C%20tutorials%20and%20Editor%20extensions.
· How to use Package Manager: https://www.youtube.com/watch?v=gWNBzMNFTqc&ab_channel=TurboMakesGames
· Plug-Ins Info: https://docs.unity3d.com/Manual/Plugins.html
Scripting in Unity
Scripting is an essential ingredient in all applications you make in Unity. Most applications need scripts to respond to input from the player and to arrange for events in the gameplay to happen when they should. Beyond that, scripts can be used to create graphical effects, control the physical behavior of objects or even implement a custom AI system for characters in the game. The language used is C# (C-sharp). The IDE used is Visual Studio Code which gets installed by default when you install Unity.
Scripting in Unity
Scripting Info: https://docs.unity3d.com/Manual/ScriptingSection.html
Creating a New Script
Creating a New Script: https://www.youtube.com/watch?v=9tMvzrqBUP8
What is C#
What is C#: https://dotnet.microsoft.com/en-us/learn/csharp
Python & Unity
· What is Python? : https://gamedevacademy.org/python-programming-for-beginners-2/
· Sending Data from Python to Unity (TCP Socket): https://www.youtube.com/watch?v=Dm0CiAiZk14&ab_channel=Conor
· Python Scripting Package: https://docs.unity3d.com/Packages/com.unity.scripting.python@7.0/manual/index.html
NPC Characters, NPC Character Animations, Movements, Objects, and User Interface
In Unity we often want to introduce other characters and objects. In most cases we want these characters to move, objects to be interactable, or assign materials to items to change its appearance. Maybe we want a regular 2D menu screen. In this section, we will cover the general uses for these features that will remain the same across VR, AR, and 3D projects.
Materials
· Info: https://docs.unity3d.com/Manual/Materials.html
· Video Tutorial: https://www.youtube.com/watch?v=aiTl7B2xTmA&ab_channel=TheRealTimeEssentials
NPC Characters and Modeling
NPC Characters and other Models can be downloaded from the Unity Asset Store or other online data bases.
· Realistic NPC Characters: https://www.youtube.com/watch?v=va-qyFa312g&t=10s
· Adding Character Models to Unity: https://www.youtube.com/watch?v=Q8lJpoUwaBA&ab_channel=Fui
NPC Character Animation & Movement
· Animating Characters (Unity Animator): https://www.youtube.com/watch?v=vApG8aYD5aI&ab_channel=iHeartGameDev
· Animating Animals: https://www.youtube.com/watch?v=fmp1t5Ug5CI
Mixamo
Mixamo is a website that you can download animations from and incorporate into your Unity project.
· Mixamo: https://www.mixamo.com/#/
· Tutorial: https://www.youtube.com/watch?v=Vsj_UpnLFF8&ab_channel=BMo
Universal User Movement (Using Mouse and Keyboard)
In most projects, it is useful to be able to control the user with the mouse and keyboard as it can save time in development. It is useful in the development phase so that you can test your game without the need of putting on/off a VR headset for example. The controls can still be implemented for 3D projects too if desired.
· First-Person: https://www.youtube.com/watch?v=f473C43s8nE&ab_channel=Dave%2FGameDevelopment
· Third-Person: https://www.youtube.com/watch?v=UCwwn2q4Vys&ab_channel=Dave%2FGameDevelopment
Menu Screen / User Interface
In all projects, you will want some type of menu screen. There are many different ways to do this. Below is a link to a tutorial to create a basic menu main screen.
https://www.youtube.com/watch?v=DX7HyN7oJjE&ab_channel=RehopeGames
Trigger Zones
In VR games and Experiences, sometimes we want events to occur when passing through a certain point or when an object/character passes through a point. For example, a sound effect goes off when passing through a doorway, or narration continues once user completes a task. Below is a video explaining how you can implement this.
https://www.youtube.com/watch?v=p1ZgS2z-LTs&ab_channel=passivestar
Environment
This section focuses on the 3D Environment in which the VR game will be taking place. This includes World Building, Skybox, and Lighting.
World Building
World Building encompasses everything that includes attaining assets to create your in-game world.
· Using Pro-Builder: https://www.youtube.com/watch?v=Lqhn0Hl8e_Y&t=25s
· Terrains: Unity - Manual: Creating and editing Terrains (unity3d.com)
· Building a simple 3D Environment: https://www.youtube.com/watch?v=saa9zxgCMu4&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=3&ab_channel=ValemTutorials
Skybox
The desired ambience for your game can be created using the skybox. It is the background of the world and as the name suggests, the sky.
· Replacing default skybox in Unity: SMBMonth_CA_SMBPurchase_PROS_YT_Video_15s_16x9 (youtube.com)
· Manual: Unity - Manual: Skybox (unity3d.com)
Lighting
Lighting in Unity approximates how light behaves in the real world, contributing to realistic scenes.
· Info: https://docs.unity3d.com/Manual/LightingInUnity.html
· Lighting Tutorial: https://www.youtube.com/watch?v=VnG2gOKV9dw&list=PLPV2KyIb3jR5QFsefuO2RlAgWEz6EvVi6&index=20
· Environment Basic Lighting (@9:30): https://www.youtube.com/watch?v=saa9zxgCMu4&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=3&ab_channel=ValemTutorials
Cameras, Cinemachine, and Unity Recorder
This section focuses on Cameras in Unity, covering general Camera information, Cinemachine, and Unity Recorder.
Cameras
· Info: https://docs.unity3d.com/351/Documentation/Manual/Cameras.html
Cinemachine
Used to make cinematic trailers for game or application.
· Info: https://unity.com/unity/features/editor/art-and-design/cinemachine
· Tutorial / Showcase: https://www.youtube.com/watch?v=x6Q5sKXjZOM&list=PLX2vGYjWbI0TQpl4JdfEDNO1xK_I34y8P&ab_channel=Unity
· Tutorial: https://www.youtube.com/watch?v=XT6mUlpO4fA&ab_channel=iHeartGameDev
Unity Recorder
The Unity Recorder is used to record gameplay in the unity editor.
· Info: https://docs.unity3d.com/Packages/com.unity.recorder@2.0/manual/index.html
· Tutorial: https://www.youtube.com/watch?v=-W27WCobILI&ab_channel=SpeedTutor
Sounds & Story Telling
This section focuses on Sound Effects, Dialogue, and the powerful tool in Unity called the Timeline.
Sound Effects
· Info: https://learn.unity.com/tutorial/working-with-audio-components-2019-3
· Free audio files: https://learn.unity.com/tutorial/working-with-audio-components-2019-3
Dialogue / Narration
Dialogue can be useful when delivering information and guiding players throughout the game.
· Tutorial: https://www.youtube.com/watch?v=8oTYabhj248
· Narrative story using timeline: https://www.youtube.com/watch?v=AJBb-PA-nAk&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=9&ab_channel=ValemTutorials
Timeline
Use the Timeline window to create cut-scenes, cinematics, and game-play sequences by visually arranging tracks and clips linked to GameObjects in your Scene.
· Info: https://docs.unity3d.com/Packages/com.unity.timeline@1.2/manual/tl_about.html
· Video Intro: https://www.youtube.com/watch?v=G_uBFM3YUF4&ab_channel=Brackeys
· Video Tutorial: https://www.youtube.com/watch?v=42QZ3aUDnV0&list=PLmXKnJbgQ2cqGG4WwuE43L-kwmb3C0-1x&ab_channel=Unity
· Narrative Story Using Timeline: https://www.youtube.com/watch?v=AJBb-PA-nAk&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=9&ab_channel=ValemTutorials
Design Day Preparation
This section covers everything you need to prepare for Design Day to complete successfully.
Building/Exporting as a Game (.exe file)
Before Design Day, we recommend building your unity project as a launchable program on all of the MakerSpace laptops. This way on design day, no matter what laptop you are using, you will be able to demonstrate your functioning game. This will complete your project.
· Tutorial: https://www.youtube.com/watch?v=7nxKAtxGSn8&ab_channel=Brackeys
Transferring Project from one PC to another
· Tutorial: https://www.youtube.com/watch?v=ozVkcEfnlwI&ab_channel=WasayTechTips
Virtual Reality (VR) in Unity
In this section we will cover Unity features that will be specific for VR projects in Unity.
User Interface in VR
In VR projects, we can introduce a new way to interact with a User Interface. It is an in-game UI / menu that has a lot of different applications.
· Tutorial #2: https://www.youtube.com/watch?v=6WfowlZ51i8&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=11&ab_channel=ValemTutorials
User Movement and Interactions in VR
In VR there are a few different ways for the user to navigate the game/experience. This can be done by teleporting or moving continuously.
User Movement in VR
· Continuous Movement: https://www.youtube.com/watch?v=0VowAem2aMM&list=PLpEoiloH-4eP-OKItF8XNJ8y8e1asOJud&index=4&ab_channel=ValemTutorials
· Teleportation: https://www.youtube.com/watch?v=9pVdiBogmew&list=PLpEoiloH-4eP-OKItF8XNJ8y8e1asOJud&index=5&ab_channel=ValemTutorials
Note: In this video, the developer makes a mistake which he fixes in his next episode.
· More Teleportation and Continuous movement: https://www.youtube.com/watch?v=54J_mWO_gQ8&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=6&ab_channel=ValemTutorials
User Interactions in VR
In VR games and VR Experiences, Users often interact with objects or other characters. In this section some links are available to explore how to interact with objects and characters.
· Grabbing objects and applying physics: https://www.youtube.com/watch?v=apzZ5Tma7Sg
. Grabbing objects and applying physics #2: https://www.youtube.com/watch?v=0xt6dACM_1I&list=PLpEoiloH-4eP-OKItF8XNJ8y8e1asOJud&index=6&ab_channel=ValemTutorials
· Input and Hand Presence: https://www.youtube.com/watch?v=8PCNNro7Rt0&list=PLpEoiloH-4eP-OKItF8XNJ8y8e1asOJud&index=3&ab_channel=ValemTutorials
· Distance Grab: https://www.youtube.com/watch?v=nowlPXuPEG8&list=PLpEoiloH-4eP-OKItF8XNJ8y8e1asOJud&index=7&ab_channel=ValemTutorials
· Buttons and Socket Interactor: https://www.youtube.com/watch?v=pMOHX1qD2bE&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=7&ab_channel=ValemTutorials
· Ladder, Wheel, and Lever: https://www.youtube.com/watch?v=eX-jXuMQdps&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=8&ab_channel=ValemTutorials
Augmented Reality (AR) in Unity
In this section we will cover Unity features that will be specific for AR projects in Unity.
· Info: https://unity.com/solutions/xr/ar
Getting Started with AR Foundation
· Tutorial: https://www.youtube.com/watch?v=FWyTf3USDCQ
AR Setup for iOS and ANDROID
Image Tracking in AR
· Info: https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@4.1/manual/tracked-image-manager.html
User Interactions
· Plane Detection: https://www.youtube.com/watch?v=uWWiYfPTUtU&list=PL6VJLOFcTt7awvyIGIbLLPOBrW6-Y1R-J&index=4&ab_channel=DineshPunni
· Placing Objects in AR: https://www.youtube.com/watch?v=xguiSueY1Lw&list=PL6VJLOFcTt7awvyIGIbLLPOBrW6-Y1R-J&index=5&ab_channel=DineshPunni
360 Video Experience in Unity
In Unity, it is possible to create 360 interactable video experiences.
Getting Started
· Unity Tutorial Playlist: https://www.youtube.com/playlist?list=PLX2vGYjWbI0TifrTlupfrJeLa7c8LunUf
Physical Equipment
In this section, resources on the physical equipment found in the lab can be found.
VR Headset and Controllers
This section mainly focuses on the VR Headset and Controllers, covering Configuration and Connecting to Unity. They can be found in the Makerspace. We will be using the Meta Quest 2.
Configuration
· Setup: How To Setup VR Development in Unity 2022.2 with a Quest 2 (XR Interaction Toolkit 2.1) - YouTube
Connecting to Unity and Headset Plug-Ins
· Unity Headset and Controller Connectivity Tutorial: https://www.youtube.com/watch?v=pm9W7r9BGiA&list=PLpEoiloH-4eM-fykn_3_QcJ-A_MIJF5B9&index=2&ab_channel=ValemTutorials
· Unity Headset and Controller Connectivity Tutorial #2: https://www.youtube.com/watch?v=HhtTtvBF5bI&list=PLpEoiloH-4eP-OKItF8XNJ8y8e1asOJud&index=3&ab_channel=ValemTutorials
· Meta Quest 2 Set-Up in Unity: https://www.youtube.com/watch?v=tGZgJ5XtOXo&ab_channel=Meetras
Sharing Files
As these projects are done in groups, file sharing is extremely crucial. Below you can find a couple ways to share files in Unity.
Physical with USB
The simplest way to share files with group members is to transfer projects onto a USB stick and physically store the project.
· Wiki: https://discussions.unity.com/t/save-to-flash-drive/38346
· YouTube Tutorial: https://www.youtube.com/watch?v=ozVkcEfnlwI&t=3s&ab_channel=WasayTechTips
Digitally with GitHub
GitHub is a tool used to allow collaboration between people working on the same project. In this section, some resources on Cloud Sharing and GitHub repositories can be found.
Setup
· Info: https://unityatscale.com/unity-version-control-guide/how-to-setup-unity-project-on-github/
· Unity and GitHub Repository Setup: https://www.youtube.com/watch?v=tTIlDb71t2s&ab_channel=Garnet
· GitHub desktop app: GitHub Desktop | Simple collaboration from your desktop
More!
· Free Course: https://academy.zenva.com/product/unity-101-game-engine-foundations/
· Best Practices for UI in VR: https://learn.unity.com/tutorial/best-practices-for-user-interfaces-ui-in-vr-with-the-xr-interaction-toolkit