C# in Unity 101. Objects perform operations when receiving a request/message from a client
|
|
- Anissa Boone
- 5 years ago
- Views:
Transcription
1 C# in Unity 101 OOP What is OOP? Objects perform operations when receiving a request/message from a client Requests are the ONLY* way to get an object to execute an operation or change the object s internal data This means an object s internal state is encapsulated (invisible from outside the object) Stats playerstats = new Stats( 10, 10 ) playerstats.getpower() playerstats.gettoughness() (We don t always adhere to this rule for performance reasons ) 1
2 OOP Why use Object Oriented Programming? Encapsulate a variety of variables and methods into a single package Reuse existing functionality or override it! Variables have names, helping humans remember what they mean Restrictions can be imposed to stop inappropriate use Allows for programming that emulates reality OOP What Is Difficult About OOP? Decomposing a system into objects During decomposition we will think about: Encapsulation Granularity Dependency Flexibility Performance Evolution Reusability While there are design patterns to help us, many situations call for different strategies (and that is where it gets complex!) 2
3 OOP A class is a data type / object type A class is a template (blueprint) used to create objects Classes are abstract models for ideas or concepts Describes how to package data and procedures this.color this.maxspeed this.efficiency start() steer( angle) OOP An instance is an object generated from a class A class is just a definition To use a class, you need to create an instance! A class = blueprint, an instance = actual car 3
4 OOP Instance attributes are UNIQUE to the instance Each instance of a car has separate values (DEFAULT) this.color = null this.maxspeed = 0 this.efficiency = 0 this.color = Blue this.maxspeed = 65 this.efficiency = 48 this.color = Red this.maxspeed = 150 this.efficiency = 12 this.color = Black this.maxspeed = 80 this.efficiency = 24 this.color = Green this.maxspeed = 200 this.efficiency = 8 OOP When we write a class we are DEFINING a class We have not created an instance of the class We have instructed C# how to create the class We are telling C# what variables a car is composed of and what methods it has 4
5 OOP - Inheritance Inheritance allows for code reuse A class can be built off of an existing class to add additional functionality without rewriting all the previous methods and attributes A child class can also override previous functionality The following slides are an example for using inheritance: OOP - Inheritance Example Lets create a class to represent different NPC or player characters in a game: Lets start with the most general thing we can think of: An entity - something that exists in 3D space Entity will be a base class for classes needing a physical location A entity has attributes (member variables): string name Vector3 position Entity name position 5
6 OOP - Inheritance Example Entity is very simple If we want a new, more complex type of Entity we can reuse Entity When designing classes, we try to group common attributes together into base classes Entity name position This allows us to build upon previously developed code We do this through inheritance Something that is an Entity but more OOP - Inheritance Example A Human is an Entity It contains everything that an Entity is + more Human adds: hitpoints power toughness item int GetPower() int GetToughness() void SwapItem(item) bool IsAlive() Base Class Super Class Parent Class Entity Human Derived Class Sub Class Child Class Human Entity name position hitpoints power toughness item GetPower() GetToughness() SwapItem() IsAlive() 6
7 OOP Inheritence Entity Human Item Zombie The Bubble-Up Effect (Monolithic Classes) Too much inheritance can be a bad thing! Original Unreal Tournament had a monolithic class hierarchy The desire to share features across dissimilar classes causes features to bubble up the hierarchy Actor Brush Controller AIController PlayerController Info Light Inventory Ammunition Powerups Weapon Example: The desire to allow objects to float on water Eventually, flotation becomes a fundamental property of everything GameInfo HUD Pawn From: Game Engine Architecture Vehicle UnrealPawn 7
8 The Deadly Diamond Multiple Inheritance - inherit from more than one class C# does not allow you to do this because of what is called the DIAMOND OF DEATH, where multiple copies of vehicle could be initialized Vehicle LandVehicle WaterVehicle AmphibiousVehicle From: Game Engine Architecture C# Versions C# was first released in 2002 and has changed greatly over the years For Unity and in general, we ll be working with C# 3.0 / 3.5 This means all the latest features of the language might not be available, so be careful if you take C# tutorials 8
9 C# Monobehavior When working inside of Unity we write scripts, not programs Unity will handle compiling and building our project by assembling its code with our scripts We do not have a Main point of entry, the game engine handles all of that C# Monobehavior All scripts in Unity derive from MonoBehavior MonoBehavior s come with methods that provide you with important times in the game engine s cycle to perform actions: Awake() When the script instance is being loaded Start() Called when the script is enabled before any updates occur Update() Called every frame if enabled FixedUpdate() Fixed framerate frame update, good for physics LateUpdate() Called every frame after all updates occur OnDisable() Called when disabled OnEnable() Called when enabled OnTriggerEnter() OnTriggerExit() 9
10 C# Class Structure C# Variables All of your favorite variable types make an appearance in C#: All of these variable names are actually aliases for.net types stored as structures in namespace System byte System.Byte sbyte System.byteSByte int System.Int32 uint System.UInt32 short System.Int16 ushort System.UInt16 long System.Int64 ulong System.UInt64 float System.Single double System.Double char System.Char bool System.Boolean object System.Object string System.String decimal System.Decimal DateTime System. DateTime 10
11 C# Variables Arrays are handled using square brackets float[] myarray = {1.0f, 2.0f}; float[] mysecondarray = new float[2]; float[] mythirdarray = new float[2] {1.0f, 2.0f}; int[,] my2darray = new int[2,2]; C# Value vs. Reference Most standard types are pass by value (they hold their actual value in its own memory space) When passing a value through a method, copies are created and changes don t persist when the method ends A reference type holds a pointer to a memory location where the value is stored Class by references include String, arrays, classes, and delegates Changes inside a method to a reference type will persist after the method ends By default all reference values have the type of null, meaning they are not pointing to any memory address 11
12 C# Interfaces Interfaces are not to be confused with classes, they contain declarations of methods & properties but not the implementation Interfaces are usually prefaced with the letter I: Interfaces allow you to extend and work with existing code by enforcing a set of methods that are needed to make it work Two difference classes can implement the same interface and be stored in the same array of that type class TestClass : InterfaceOne, InterfaceTwo, InterfaceThree{} C# Abstract Class Allows you to write in functionality that can be implemented or overridden It is an incomplete class that must be finished before it can be used abstract class ShapesClass{ abstract public int Area(); } class Square : ShapesClass { int side = 0; public Square(int n) { side = n; } public override int Area() { return side * side; } } Can use One Abstract Class, but Many Interfaces 12
13 C# Virtual & Base Keyword The virtual keyword allows child classes to override a method or property It is used in tandem with the keyword override in the child class, indicating that it is replacing the method The keyword base allows us to call the parent classes methods / constructors if we have overridden it public class Person { protected string ssn = " "; protected string name = "John L. Malgraine"; public virtual void GetInfo() { Console.WriteLine("Name: {0}", name); Console.WriteLine("SSN: {0}", ssn);}} class Employee : Person { public string id = "ABC567EFG"; public override void GetInfo(){ base.getinfo(); Console.WriteLine("Employee ID: {0}", id); } } C# Conditionals if(boolean expression){} else if(boolean expression){} else {} Boolean Expression? First : Second switch(expression) { case value1: break; case value2: break; default: break; } 13
14 C# For Loops for(int i = 0; i < somesize; i++) { do work } public class IterateSpanExample { { Span<int> numbers = new int[] { 3, 14, 15, 92, 6 }; foreach (int number in numbers) { Debug.Log(number.ToString()); } } while(boolean expression) {} C# Try Catch try { }...do something that might throw an error catch(exception e) { } 14
15 C# Methods Methods include access level, return type and parameters You are allowed to overload methods (same name different number of parameters) Methods can be declared as static so that an instance of the class does not need to exist: public static int GetInt() {return myinteger;} C# Delegates & Events Think of a delegate as a function pointer They are created using the keyword delegate with the signature of the method afterwards A delegate is able to hold a method and can use it to be called later It is the first part in creating Events, which fire off at the correct time public delegate int DelegateName(int x, float y) 15
16 C# Delegates & Events Events work with delegates to fire off when something important happens An event will notify everyone who is subscribed public event delegatetype InputRecieved; protected void OnInputReceived(){ if(inputreceived!= null) InputReceived();} void Update() { if(controllerinput.getbuttondown) OnInputReceived(); } C# Delegates & Events We can add and subtract methods to the event using the += and -= operators When the times comes, OnInputReceived calls the Event and everyone who has subscribed gets their method called Player OnInputReceived Movement Recorder Menu System 16
17 IEnumerators We may wish to wait a set amount of time before performing an action, or fire off some action and have it progress at a desired rate We can use Coroutines and methods that return IEnumerator objects to control execution based on time StartCoroutine( WaitForTime ); IEnumerator WaitForTime() { yield return new WaitForSeconds(5.0f); } Play/Pause Scene Hierarchy Scene View Inspector Project View 17
18 Play/Pause Scene Hierarchy Scene View Inspector Project View We can move around our scene using the following: Arrow keys on a keyboard Pan Middle Mouse Button Rotate Camera Right Mouse Button Rotate About Focus Point Alt + Left Mouse Button Zoom In / Out Alt + Right Mouse Button F Key Focus on selected object 18
19 Our Hierarchy shows all the Game Objects in our scene We always start with a Main Camera and a Directional Light We can add additional Game Objects by Right Clicking in the window and selecting To move Game Objects around select one and a gizmo will appear This gizmo can be one of 3 types, for: Translate Rotate RGB = XYZ Scale 19
20 We can also create Game Objects by going under the GameObject menu at the top left of our Unity Window GameObjects aren t always created at the (0,0,0) position, but instead where the camera is looking We can use the inspector to see the position, rotation and scale of the object as well as reset it Objects selected in the Hierarchy panel will have their information displayed in the Inspector panel All Game Objects have a Transform component on top We can reset the transform component by typing manually or by pressing the gear and selecting reset 20
21 Two Game Objects differ from one another by having different components attached Select the Main Camera object from the hierarchy Notice that a Light has a Light component and a Camera has a Camera and an Audio Listener component ( to hear sounds with ) We do not need to rely on the GameObjects already supplied by Unity, we can build our own from a blank Game Object Right Click in the Hierarchy and create an Empty Game Object Note it has only a Transform Component and nothing else Click the Add Component button and type in Light in the search field Press enter and now your Game Object acts just like a Light 21
22 We can add lots of components to objects to give them various abilities Select a Game Object in the hierarchy and instead of using the Add Component button use the Component drop down menu at the upper right of the Unity window Try adding random components just to get used to working with them To add our own functionality to Unity, we need to create C# scripts, which are components we can attach to game objects Right Click on your project directory and create a new folder and name it Scripts Inside the folder right click and create a script called Pulse Double-click the script to open it in your chosen editor (usually Visual Studio) 22
23 Unity will automatically include 3 very useful namespaces into your script: System.Collections System.Collections.Generic UnityEngine All scripts that are components inherit from the class MonoBehavior It will also automatically add the Start method and the Update method, which get called by Unity at the appropriate time automatically We are going to make a Sphere Game Object scale up and down (Pulse) over time Create a Sphere Game Object in your hierarchy using one of the methods specified Select the sphere to see it in the inspector Select the Pulse script in your Project window and drag it over the empty portion of the inspector at the bottom to add it as a component of the sphere 23
24 Next we will alternate the colors of the sphere by manipulating the material of the object Create a new material by right clicking in your project and selecting new material, name it Sphere Drag the new material onto your Sphere in the scene view You should now notice your material in the inspector when you select the Sphere 24
25 A 3d object like the sphere we have is made using two components: MeshFilter MeshRenderer The Mesh Filter provides the point data The Mesh Renderer draws it to the screen We will need to grab the Mesh Renderer and the material from it to change the color of the object 25
26 The method GetComponent<Class> will grab a component from the Game Object if it exists If there is no Game Object it will return null, so make sure you check to see if it exists! We grab references to the Mesh Renderer and the Material in the Start method because we will continually be using them every Update By storing away references we don t have to perform costly searches for the components using GetComponent<>, which can slow things down if used too many times and too often Now that we have created a Game Object with some complexity, we might want to store it away for the future We can make our Game Object a Prefab, which is stored in our Project folder and reuse it over and over again To create a Prefab, grab the Sphere object and drag it into the Project Window Notice that the Sphere object s name in the Hierarchy is now blue 26
27 If we select the prefab in the project, it populates the inspector and any changes to it will spread to all other instances of the prefab in your scene If you select the prefab in the scene and make changes to it, you can push those changes to the global project prefab by pressing the Apply button at the top of the inspector You can also revert back to the project prefab if you made mistakes The Hierarchy panel also works as a Parent / Child Hierarchy display Create a new Cube Game Object and drag it onto the Sphere prefab Notice it is now nested within the Prefab Scale the Cube down and move it above the sphere so we can see it Try moving, rotating and scaling the prefab and you will see that it also impacts the child object 27
28 - Debug The Console window provides output from the program as it runs such as: Errors Warnings Logs We can output strings to the console using: Debug.Log( Hi, I am a string! ); - Debug Note that we can clear the console Collapse duplicate entries so they show only once Clear the next time we hit play Pause when errors occur Do not show log statements Do not show warnings Do not show errors Be careful with not showing errors, you might forget to turn it back on and wonder why nothing works 28
29 - Input Open up the Edit Menu at the upper right of the Unity Window Click on Project Settings and then Input The Inspector will now show the Input Manager with 18 predefined Inputs You can add more inputs by increasing the size of the array at the top - Input Many times the Action being performed is more important that what button is doing it We can name our Inputs and map them in multiple ways so that we can have several options available during gameplay The Type field allows us to switch from keyboard/mouse to mouse movement to joystick axes For now we only care about the names and what buttons we need to press, we ll cover this more deeply in the future 29
30 Input Methods 30
Google SketchUp/Unity Tutorial Basics
Software used: Google SketchUp Unity Visual Studio Google SketchUp/Unity Tutorial Basics 1) In Google SketchUp, select and delete the man to create a blank scene. 2) Select the Lines tool and draw a square
More informationCS 354R: Computer Game Technology
CS 354R: Computer Game Technology Game Engine Architecture Fall 2018 What is a Game Engine? Run-time system Low-level architecture 3-D system Physics system GUI system Sound system Networking system High-level
More informationAdding a Trigger to a Unity Animation Method #2
Adding a Trigger to a Unity Animation Method #2 Unity Version: 5.0 Adding the GameObjects In this example we will create two animation states for a single object in Unity with the Animation panel. Our
More informationDamaging, Attacking and Interaction
Damaging, Attacking and Interaction In this tutorial we ll go through some ways to add damage, health and interaction to our scene, as always this isn t the only way, but it s the way I will show you.
More informationGame Design Unity Workshop
Game Design Unity Workshop Activity 2 Goals: - Creation of small world - Creation of character - Scripting of player movement and camera following Load up unity Build Object: Mini World and basic Chase
More informationGame Design From Concepts To Implementation
Game Design From Concepts To Implementation Giacomo Cappellini - g.cappellini@mixelweb.it Why Unity - Scheme Unity Editor + Scripting API (C#)! Unity API (C/C++)! Unity Core! Drivers / O.S. API! O.S.!
More informationTerrain. Unity s Terrain editor islands topographical landscapes Mountains And more
Terrain Unity s Terrain editor islands topographical landscapes Mountains And more 12. Create a new Scene terrain and save it 13. GameObject > 3D Object > Terrain Textures Textures should be in the following
More informationTerrain. Unity s Terrain editor islands topographical landscapes Mountains And more
Terrain Unity s Terrain editor islands topographical landscapes Mountains And more 12. Create a new Scene terrain and save it 13. GameObject > 3D Object > Terrain Textures Textures should be in the following
More informationIAT 445 Lab 10. Special Topics in Unity. Lanz Singbeil
IAT 445 Lab 10 Special Topics in Unity Special Topics in Unity We ll be briefly going over the following concepts. They are covered in more detail in your Watkins textbook: Setting up Fog Effects and a
More informationSpell Casting Motion Pack 5/5/2017
The Spell Casting Motion pack requires the following: Motion Controller v2.49 or higher Mixamo s free Pro Magic Pack (using Y Bot) Importing and running without these assets will generate errors! Overview
More informationGame Design Unity Workshop
Game Design Unity Workshop Activity 1 Unity Overview Unity is a game engine with the ability to create 3d and 2d environments. Unity s prime focus is to allow for the quick creation of a game from freelance
More informationIntroduction to Unreal Engine Blueprints for Beginners. By Chaven R Yenketswamy
Introduction to Unreal Engine Blueprints for Beginners By Chaven R Yenketswamy Introduction My first two tutorials covered creating and painting 3D objects for inclusion in your Unreal Project. In this
More informationChapter 1 Getting Started
Chapter 1 Getting Started The C# class Just like all object oriented programming languages, C# supports the concept of a class. A class is a little like a data structure in that it aggregates different
More informationif(input.getkey(keycode.rightarrow)) { this.transform.rotate(vector3.forward * 1);
1 Super Rubber Ball Step 1. Download and open the SuperRubberBall project from the website. Open the main scene. In it you will find a game track and a sphere as shown in Figure 1.1. The sphere has a Rigidbody
More informationGame Design Unity Workshop
Game Design Unity Workshop Activity 4 Goals: - Creation of small world - Creation of character - Scripting of player movement and camera following Load up unity Build Object: Collisions in Unity Aim: Build
More informationTutorial: Using the UUCS Crowd Simulation Plug-in for Unity
Tutorial: Using the UUCS Crowd Simulation Plug-in for Unity Introduction Version 1.1 - November 15, 2017 Authors: Dionysi Alexandridis, Simon Dirks, Wouter van Toll In this assignment, you will use the
More informationTable of contents. Introduction. Having finally realized your ambitious plans for a game, you might face big performance
Table of contents Introduction Introduction... 1 Optimizing Unity games... 2 Rendering performance...2 Script performance...3 Physics performance...3 What is this all about?...4 How does M2HCullingManual
More informationSetting up A Basic Scene in Unity
Setting up A Basic Scene in Unity So begins the first of this series of tutorials aimed at helping you gain the basic understanding of skills needed in Unity to develop a 3D game. As this is a programming
More informationANIMATOR TIMELINE EDITOR FOR UNITY
ANIMATOR Thanks for purchasing! This document contains a how-to guide and general information to help you get the most out of this product. Look here first for answers and to get started. What s New? v1.53
More informationUnity Tutorial. Fall /15-666
Unity Tutorial Fall 2014 15-466/15-666 Game World model, video, audio, interaction Often like Model-View-Controller Art, mechanics, levels, items, etc. Game Engine World model, video, audio, interaction
More informationUser Manual. Contact the team: Contact support:
User Manual http://dreamteck.io https://www.facebook.com/dreamteckstudio Contact the team: team@dreamteck.io Contact support: support@dreamteck.io Discord Server: https://discord.gg/bkydq8v 1 Contents
More informationIntroduction to Programming Using Java (98-388)
Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;
More informationPreviously, on Lesson Night... From Intermediate Programming, Part 1
Previously, on Lesson Night... From Intermediate Programming, Part 1 Struct A way to define a new variable type. Structs contains a list of member variables and functions, referenced by their name. public
More informationIntroduction to Unity. What is Unity? Games Made with Unity /666 Computer Game Programming Fall 2013 Evan Shimizu
Introduction to Unity 15-466/666 Computer Game Programming Fall 2013 Evan Shimizu What is Unity? Game Engine and Editor With nice extra features: physics engine, animation engine, custom shaders, etc.
More informationChapter 6 Introduction to Defining Classes
Introduction to Defining Classes Fundamentals of Java: AP Computer Science Essentials, 4th Edition 1 Objectives Design and implement a simple class from user requirements. Organize a program in terms of
More informationUNITY WORKSHOP. Unity Editor. Programming(Unity Script)
July, 2018 Hayashi UNITY WORKSHOP Unity Editor Project: Name your project. A folder is created with the same name of the project. Everything is in the folder. Four windows (Scene, Project, Hierarchy, Inspector),
More informationWhat are the characteristics of Object Oriented programming language?
What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is
More informationMerging Physical and Virtual:
Merging Physical and Virtual: A Workshop about connecting Unity with Arduino v1.0 R. Yagiz Mungan yagiz@purdue.edu Purdue University - AD41700 Variable Topics in ETB: Computer Games Fall 2013 September
More informationPacman. you want to see how the maze was created, open the file named unity_pacman_create_maze.
Pacman Note: I have started this exercise for you so you do not have to make all of the box colliders. If you want to see how the maze was created, open the file named unity_pacman_create_maze. Adding
More informationIntroduction to.net, C#, and Visual Studio. Part I. Administrivia. Administrivia. Course Structure. Final Project. Part II. What is.net?
Introduction to.net, C#, and Visual Studio C# Programming Part I Administrivia January 8 Administrivia Course Structure When: Wednesdays 10 11am (and a few Mondays as needed) Where: Moore 100B This lab
More informationAuto Texture Tiling Tool
Table of Contents Auto Texture Tiling Tool Version 1.80 Read Me 1. Basic Functionality...2 1.1 Usage...2 1.1.1 Dynamic Texture Tiling...2 1.1.2 Basic Texture Tiling...3 1.1.3 GameObject menu item...3 1.2
More informationTransforms Transform
Transforms The Transform is used to store a GameObject s position, rotation, scale and parenting state and is thus very important. A GameObject will always have a Transform component attached - it is not
More informationNOIDATUT E Leaning Platform
NOIDATUT E Leaning Platform Dot Net Framework Lab Manual COMPUTER SCIENCE AND ENGINEERING Presented by: NOIDATUT Email : e-learn@noidatut.com www.noidatut.com C SHARP 1. Program to display Hello World
More informationAuto Texture Tiling Tool
Table of Contents Auto Texture Tiling Tool Version 1.77 Read Me 1. Basic Functionality...2 1.1 Usage...2 1.2 Unwrap Method...3 1.3 Mesh Baking...4 1.4 Prefabs...5 2. Gizmos and Editor Window...6 1.1 Offset...6
More informationPong in Unity a basic Intro
This tutorial recreates the classic game Pong, for those unfamiliar with the game, shame on you what have you been doing, living under a rock?! Go google it. Go on. For those that now know the game, this
More informationUnity3D. Unity3D is a powerful cross-platform 3D engine and a user friendly development environment.
Unity3D Unity3D is a powerful cross-platform 3D engine and a user friendly development environment. If you didn t like OpenGL, hopefully you ll like this. Remember the Rotating Earth? Look how it s done
More informationAbout the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Unity
i About the Tutorial Unity is a cross-platform game engine initially released by Unity Technologies, in 2005. The focus of Unity lies in the development of both 2D and 3D games and interactive content.
More informationUnity Scripting 4. CS 491 / DES 400 Crea.ve Coding. Computer Science
Unity Scripting 4 Unity Components overview Particle components Interaction Key and Button input Parenting CAVE2 Interaction Wand / Wanda VR Input Devices Project Organization Prefabs Instantiate Unity
More informationUnity introduction & Leap Motion Controller
Unity introduction & Leap Motion Controller Renato Mainetti Jacopo Essenziale renato.mainetti@unimi.it jacopo.essenziale@unimi.it Lab 04 Unity 3D Game Engine 2 Official Unity 3D Tutorials https://unity3d.com/learn/tutorials/
More information.Net Technologies. Components of.net Framework
.Net Technologies Components of.net Framework There are many articles are available in the web on this topic; I just want to add one more article over the web by explaining Components of.net Framework.
More informationLesson 10A OOP Fundamentals. By John B. Owen All rights reserved 2011, revised 2014
Lesson 10A OOP Fundamentals By John B. Owen All rights reserved 2011, revised 2014 Table of Contents Objectives Definition Pointers vs containers Object vs primitives Constructors Methods Object class
More informationGame Architecture. 4/1/16: Gameplay Foundational Systems
Game Architecture 4/1/16: Gameplay Foundational Systems The Master Loop Initialize Loop: get input update world draw world Updating the Simulation Update game-driven (kinematic) rigid bodies Update phantoms
More informationCS248 Lecture 2 I NTRODUCTION TO U NITY. January 11 th, 2017
CS248 Lecture 2 I NTRODUCTION TO U NITY January 11 th, 2017 Course Logistics Piazza Staff Email: cs248-win1617-staff@lists.stanford.edu SCPD Grading via Google Hangouts: cs248.winter2017@gmail.com Homework
More informationC#: framework overview and in-the-small features
Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer C#: framework overview and in-the-small features Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer
More informationDemo Scene Quick Start
Demo Scene Quick Start 1. Import the Easy Input package into a new project. 2. Open the Sample scene. Assets\ootii\EasyInput\Demos\Scenes\Sample 3. Select the Input Source GameObject and press Reset Input
More informationPick up a book! 2. Is a reader on screen right now?! 3. Embedding Images! 3. As a Text Mesh! 4. Code Interfaces! 6. Creating a Skin! 7. Sources!
Noble Reader Guide Noble Reader version 1.1 Hi, Toby here from Noble Muffins. This here is a paginating text kit. You give it a text; it ll lay it out on a skin. You can also use it as a fancy text mesh
More informationDialog XML Importer. Index. User s Guide
Dialog XML Importer User s Guide Index 1. What is the Dialog XML Importer? 2. Setup Instructions 3. Creating Your Own Dialogs Using articy:draft a. Conditions b. Effects c. Text Tokens 4. Importing Your
More informationWorkshop BOND UNIVERSITY. Bachelor of Interactive Multimedia and Design. Asteroids
Workshop BOND UNIVERSITY Bachelor of Interactive Multimedia and Design Asteroids FACULTY OF SOCIETY AND DESIGN Building an Asteroid Dodging Game Penny de Byl Faculty of Society and Design Bond University
More informationNOTTORUS. Getting Started V1.00
NOTTORUS Getting Started V1.00 2016 1. Introduction Nottorus Script Editor is a visual plugin for generating and debugging C# Unity scripts. This plugin allows designers, artists or programmers without
More informationAbsolute C++ Walter Savitch
Absolute C++ sixth edition Walter Savitch Global edition This page intentionally left blank Absolute C++, Global Edition Cover Title Page Copyright Page Preface Acknowledgments Brief Contents Contents
More informationMobile Touch Floating Joysticks with Options version 1.1 (Unity Asset Store) by Kevin Blake
Mobile Touch Floating Joysticks with Options version 1.1 (Unity Asset Store) by Kevin Blake Change in version 1.1 of this document: only 2 changes to this document (the unity asset store item has not changed)
More informationBasic Waypoints Movement v1.0
Basic Waypoints Movement v1.0 1. Create New Unity project (or use some existing project) 2. Import RAIN{indie} AI package from Asset store or download from: http://rivaltheory.com/rainindie 3. 4. Your
More informationObject-Oriented Programming
Object-Oriented Programming 1. What is object-oriented programming (OOP)? OOP is a technique to develop logical modules, such as classes that contain properties, methods, fields, and events. An object
More informationObject Oriented Programming: In this course we began an introduction to programming from an object-oriented approach.
CMSC 131: Chapter 28 Final Review: What you learned this semester The Big Picture Object Oriented Programming: In this course we began an introduction to programming from an object-oriented approach. Java
More informationIntroduction to C# Applications
1 2 3 Introduction to C# Applications OBJECTIVES To write simple C# applications To write statements that input and output data to the screen. To declare and use data of various types. To write decision-making
More informationEasy Decal Version Easy Decal. Operation Manual. &u - Assets
Easy Decal Operation Manual 1 All information provided in this document is subject to change without notice and does not represent a commitment on the part of &U ASSETS. The software described by this
More informationJava Object Oriented Design. CSC207 Fall 2014
Java Object Oriented Design CSC207 Fall 2014 Design Problem Design an application where the user can draw different shapes Lines Circles Rectangles Just high level design, don t write any detailed code
More informationMassive Documentation
Massive Documentation Release 0.2 Inhumane Software August 07, 2014 Contents 1 Introduction 3 1.1 Features.................................................. 3 1.2 Getting Started..............................................
More informationSE 350 Programming Games
SE 350 Programming Games Lecture 4: Programming with Unity Lecturer: Gazihan Alankuş Please look at the last slide for assignments (marked with TODO) 2/10/2012 1 Outline No quiz today! (next week) One
More informationDice Making in Unity
Dice Making in Unity Part 2: A Beginner's Tutorial Continued Overview This is part 2 of a tutorial to create a six sided die that rolls across a surface in Unity. If you haven't looked at part 1, you should
More informationReference Image. Source:
Mesh Modeling By Immer Baldos This document is a tutorial on mesh modeling using Blender version 2.49b. The goal is to create a model of an elevator. This tutorial will tackle creating the elevator cart,
More informationCreating the Tilt Game with Blender 2.49b
Creating the Tilt Game with Blender 2.49b Create a tilting platform. Start a new blend. Delete the default cube right click to select then press X and choose Erase Selected Object. Switch to Top view (NUM
More informationUser Manual v 1.0. Copyright 2018 Ghere Games
+ User Manual v 1.0 Copyright 2018 Ghere Games HUD Status Bars+ for Realistic FPS Prefab Copyright Ghere Games. All rights reserved Realistic FPS Prefab Azuline Studios. Thank you for using HUD Status
More informationSoftware Design and Analysis for Engineers
Software Design and Analysis for Engineers by Dr. Lesley Shannon Email: lshannon@ensc.sfu.ca Course Website: http://www.ensc.sfu.ca/~lshannon/courses/ensc251 Simon Fraser University Slide Set: 2 Date:
More informationMassive Documentation
Massive Documentation Release 0.1 Inhumane Software August 07, 2014 Contents 1 Introduction 3 1.1 Features.................................................. 3 1.2 Getting Started..............................................
More informationBASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I
BASIC COMPUTATION x public static void main(string [] args) Fundamentals of Computer Science I Outline Using Eclipse Data Types Variables Primitive and Class Data Types Expressions Declaration Assignment
More informationUFO. Prof Alexiei Dingli
UFO Prof Alexiei Dingli Setting the background Import all the Assets Drag and Drop the background Center it from the Inspector Change size of Main Camera to 1.6 Position the Ship Place the Barn Add a
More informationCustomizing DAZ Studio
Customizing DAZ Studio This tutorial covers from the beginning customization options such as setting tabs to the more advanced options such as setting hot keys and altering the menu layout. Introduction:
More informationWorking with the Dope Sheet Editor to speed up animation and reverse time.
Bouncing a Ball Page 1 of 2 Tutorial Bouncing a Ball A bouncing ball is a common first project for new animators. This classic example is an excellent tool for explaining basic animation processes in 3ds
More informationTutorial Physics: Unity Car
Tutorial Physics: Unity Car This activity will show you how to create a free-driving car game using Unity from scratch. You will learn how to import models using FBX file and set texture. You will learn
More informationDistributed Programming
Distributed Programming Lecture 04 - Introduction to Unreal Engine and C++ Programming Edirlei Soares de Lima Editor Unity vs. Unreal Recommended reading: Unreal
More informationFundamentals. 5.1 What Will Be Covered in This Chapter. 5.2 Review
5 Fundamentals Now that we ve covered most of the basic concepts and terms that are commonly taught to new programmers, it s time to learn some of the fundamental concepts that are required to write functioning
More informationMassive Documentation
Massive Documentation Release 0.2 Inhumane Software June 15, 2016 Contents 1 Introduction 3 1.1 Features.................................................. 3 1.2 Getting Started..............................................
More informationIntroduce C# as Object Oriented programming language. Explain, tokens,
Module 2 98 Assignment 1 Introduce C# as Object Oriented programming language. Explain, tokens, lexicals and control flow constructs. 99 The C# Family Tree C Platform Independence C++ Object Orientation
More informationProgramming in C# Inheritance and Polymorphism
Programming in C# Inheritance and Polymorphism C# Classes Classes are used to accomplish: Modularity: Scope for global (static) methods Blueprints for generating objects or instances: Per instance data
More informationHardware and Software minimum specifications
Introduction Unreal Engine 4 is the latest version of the Unreal games development software produced by Epic Games. This software is responsible for titles such as Unreal Tournament, Gears of War and Deus
More informationC++ gameplay programming in Unreal Engine 4
C++ gameplay programming in Unreal Engine 4 Samuel Schimmel samuel.schimmel@digipen.edu samuelschimmel.com Office hours: Tuesdays 6-7, Thursdays 12-3 in Tesla row O Official YouTube tutorials Live training
More informationIntel RealSense SDK Gesture Sequences Implemented in Unity* 3D
Intel RealSense SDK Gesture Sequences Implemented in Unity* 3D By Lynn Thompson When configuring gestures to control assets in a scene, it s important to minimize the complexity of the gestures and the
More informationSection 28: 2D Gaming: Continuing with Unity 2D
Section 28: 2D Gaming: Continuing with Unity 2D 1. Open > Assets > Scenes > Game 2. Configuring the Layer Collision Matrix 1. Edit > Project Settings > Tags and Layers 2. Create two new layers: 1. User
More information3. Basic Concepts. 3.1 Application Startup
3.1 Application Startup An assembly that has an entry point is called an application. When an application runs, a new application domain is created. Several different instantiations of an application may
More informationPremiere Pro Desktop Layout (NeaseTV 2015 Layout)
Premiere Pro 2015 1. Contextually Sensitive Windows - Must be on the correct window in order to do some tasks 2. Contextually Sensitive Menus 3. 1 zillion ways to do something. No 2 people will do everything
More informationUI Elements. If you are not working in 2D mode, you need to change the texture type to Sprite (2D and UI)
UI Elements 1 2D Sprites If you are not working in 2D mode, you need to change the texture type to Sprite (2D and UI) Change Sprite Mode based on how many images are contained in your texture If you are
More informationThis lesson introduces Blender, covering the tools and concepts necessary to set up a minimal scene in virtual 3D space.
3D Modeling with Blender: 01. Blender Basics Overview This lesson introduces Blender, covering the tools and concepts necessary to set up a minimal scene in virtual 3D space. Concepts Covered Blender s
More informationIAP Manager. Easy IAP Workflow. Copyright all rights reserved. Digicrafts 2018 Document version Support
IAP Manager Easy IAP Workflow Copyright all rights reserved. Digicrafts 2018 Document version 1.7.0 Support email: support@digicrafts.com.hk A. Before Start In order to use the IAPManager, the following
More informationTutorial: Understanding the Lumberyard Interface
Tutorial: Understanding the Lumberyard Interface This tutorial walks you through a basic overview of the Interface. Along the way we will create our first level, generate terrain, navigate within the editor,
More informationWeek 1 The Blender Interface and Basic Shapes
Week 1 The Blender Interface and Basic Shapes Blender Blender is an open-source 3d software that we will use for this class to create our 3d game. Blender is as powerful as 3d Studio Max and Maya and has
More informationC# Fundamentals. Hans-Wolfgang Loidl School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh
C# Fundamentals Hans-Wolfgang Loidl School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh Semester 1 2018/19 H-W. Loidl (Heriot-Watt Univ) F20SC/F21SC 2018/19
More informationCE318/CE818: High-level Games Development
CE318/CE818: High-level Games Development Lecture 1: Introduction. C# & Unity3D Basics Diego Perez Liebana dperez@essex.ac.uk Office 3A.527 2017/18 Outline 1 Course Overview 2 Introduction to C# 3 Scripting
More informationUser Manual. Version 2.0
User Manual Version 2.0 Table of Contents Introduction Quick Start Inspector Explained FAQ Documentation Introduction Map ity allows you to use any real world locations by providing access to OpenStreetMap
More informationTutorial: Getting Started - Flow Graph scripting
Tutorial: Getting Started - Flow Graph scripting Overview This tutorial introduces the concept of game play scripting using the Flow Graph editor. You will set up Flow Graph scripts that do five things:
More informationRuntime Worlds and Active Grids. By Kyle Gillen (Last Updated 11/4/15)
Runtime Worlds and Active Grids By Kyle Gillen (Last Updated 11/4/15) Runtime vs Inspector Components Inspector Worlds and Active Grids are fully realized as components on active game objects in your scene,
More informationChapter 1: Object-Oriented Programming Using C++
Chapter 1: Object-Oriented Programming Using C++ Objectives Looking ahead in this chapter, we ll consider: Abstract Data Types Encapsulation Inheritance Pointers Polymorphism Data Structures and Algorithms
More informationIMPETUS-VR Documentation
2017 IMPETUS-VR Documentation CELLULAR MECANICS LABORATORY UNIVERSITY OF CONNECTICUT Table of Contents Introduction... 2 Controls... 2 Toggle Menu... 2 Move, Rotate, and Scale Simulate... 2 Menu Select
More informationBasic Principles of OO. Example: Ice/Water Dispenser. Systems Thinking. Interfaces: Describing Behavior. People's Roles wrt Systems
Basics of OO Programming with Java/C# Basic Principles of OO Abstraction Encapsulation Modularity Breaking up something into smaller, more manageable pieces Hierarchy Refining through levels of abstraction
More informationHOW TO USE THE INSTANCING LAB IN BRYCE 7.1 PRO/ A complete tutorial
http://www.daz3d.com/forums/viewthread/3381/ Rashad Carter, Posted: 03 July 2012 01:43 PM HOW TO USE THE INSTANCING LAB IN BRYCE 7.1 PRO/ A complete tutorial The Instancing Lab in Bryce 7.1 Pro is a mysterious
More informationCoin Pusher Pro Asset - README
Coin Pusher Pro Asset - README Created by DreamTapp Studios LLC This README document includes helpful hints, tutorials, and a description of how the scripts work together. If you have any questions or
More informationVisual Novel Engine for Unity By Michael Long (Foolish Mortals),
Visual Novel Engine for Unity By Michael Long (Foolish Mortals), michael@foolish-mortals.net http://u3d.as/nld Summary A light weight code base suitable for visual novels and simple cut scenes. Useful
More informationActions and Graphs in Blender - Week 8
Actions and Graphs in Blender - Week 8 Sculpt Tool Sculpting tools in Blender are very easy to use and they will help you create interesting effects and model characters when working with animation and
More informationOOPS Viva Questions. Object is termed as an instance of a class, and it has its own state, behavior and identity.
OOPS Viva Questions 1. What is OOPS? OOPS is abbreviated as Object Oriented Programming system in which programs are considered as a collection of objects. Each object is nothing but an instance of a class.
More informationProgress Bar Pack. Manual
Progress Bar Pack Manual 1 Overview The Progress Bar Pack contains a selection of textures, shaders and scripts for creating different ways to visualize linear data, such as health, level load progress,
More information