A Prime Example of HCI Application

Slides:



Advertisements
Similar presentations
INNER WORKINGS OF UNITY 3D. WHAT WE ARE GOING TO COVER Intro to Unity Physics & Game Objects Cameras & Lighting Textures & Materials Quaternions and Rotation.
Advertisements

GameCamp! and Game Davis Introduction to Unity®
GameCamp! and Game Davis Creating a 2D Platformer in Unity.
Yingcai Xiao Game Development with Unity3D Inside/Outside Unity3D.
Kritsakorn Chaumpanich. Object Creation  GameObject->Create Other ->Sphere.
Unity 3D game IDE 1.  Unity is a multi-platform, integrated IDE for scripting games, and working with 3D virtual worlds  Including:  Game engine ▪
AGD: 5. Game Arch.1 Objective o to discuss some of the main game architecture elements, rendering, and the game loop Animation and Games Development.
Master Project Preparation Murtaza Hussain. Unity (also called Unity3D) is a cross-platform game engine with a built-in IDE developed by Unity Technologies.
SE 320 – Introduction to Game Development Lecture 11: Animations and GoKit Lecturer: Gazihan Alankuş Please look at the last slides for assignments (marked.
Yingcai Xiao Interactive Visualization with NUI and Game Engines.
XP Tutorial 5 Buttons, Behaviors, and Sounds. XP New Perspectives on Macromedia Flash MX Buttons Interactive means that the user has some level.
Art 315 Lecture 4 Dr. J. Parker AB 606 Today’s class: Programming! We are going to write some simple programs. We will use a tool called GameMaker –It.
EEC-693/793 Applied Computer Vision with Depth Cameras Lecture 13 Wenbing Zhao
Game Engine Programming. Game Engine Game Engine Rendering Engine (OGRE) Rendering Engine (OGRE) Physics Engine (Bullet) Physics Engine (Bullet) Input/Output.
Yingcai Xiao Voxel Game Engine Development. What do we need? What tools do we have? How can we design and implement? We will answer those questions in.
CHAPTER TEN AUTHORING.
Web Games Programming An Introduction to Unity 3D.
Yingcai Xiao Game Development Interactive Animation.
UFCFS D Technologies for the Web Unity 3D: Review of Topics and Related Concepts.
Unity 5 Visual Studio Code * Asset Store * FPS * Terrain.
Learning Unity. Getting Unity
Introduction to Flash Animation CS 318. Topics Introduction to Flash and animation The Flash development environment Creating Flash animations  Layers.
Yingcai Xiao Game Development with Unity3D. Outline IDE Engine Assets Tutorial Examples Inside.
Yingcai Xiao Game Development Intro to Unreal Engine.
UFCEK-20-3Web Games Programming Unity 3D: Review of Topics Publishing for the Web.
Introduction to Interactive Media Interactive Media Tools: Authoring Applications.
Interactive Computer Graphics
Derived from Kirill Muzykov’s Rocket Mouse Tutorial WakeUpAndCode.com.
Chapter1 The flash interface and action script 3.0.
Yingcai Xiao Event-driven Programming in Game Development Yingcai Xiao.
UFCFSU-30-13D Technologies for the Web An Introduction to Unity 3D.
Computer Graphics Imaging Lecture 13 and 14 UV Mapping.
Yingcai Xiao Game Development with Unity3D Inside/Outside Unity3D.
Angry Teapots– using the physics engine in Unity Peter Passmore.
Game Development with Unity3D
Workshop 12 atv – lower control arm
Interactive Animation
Welcome! Day1, Lesson 1.
Dive Into® Visual Basic 2010 Express
EEC-693/793 Applied Computer Vision with Depth Cameras
Quick Intro to Unity Lecture 2.
Development Environment
Game Development with Unity3D Inside/Outside Unity3D
Games Development Practices 3D Modelling
3GB3 Game Design Unity 3D Basics.
Sai Goud Durgappagari Dr. Yingcai Xiao
2D Graphics and Animations in Unity 3D
EEC-693/793 Applied Computer Vision with Depth Cameras
Adding Buttons, Actions, and Sounds
Flash Interface, Commands and Functions
Human Computer Interaction
Introducing Blender.
Computer presentation
Eclipse Navigation & Usage.
RAD Certification Checkpoint #2 Introducing RadStudio (Hello World)
Introducing Blender.
Programming HCI Yingcai Xiao Yingcai Xiao.
EEC-693/793 Applied Computer Vision with Depth Cameras
Introducing Blender.
Event-driven Programming
Chapter 2 – Introduction to the Visual Studio .NET IDE
UNITY TEAM PROJECT TOPICS: [1]. Unity Collaborate
Game Development Intro to Unreal Engine
Computer Animation UV Mapping.
Working with Symbols and Interactivity
Professional Environment
Unity Terrain Design Tutorial
EEC-693/793 Applied Computer Vision with Depth Cameras
University of Warith AL-Anbiya’a
Unity Game Development
Presentation transcript:

A Prime Example of HCI Application Unity3D https://unity3d.com/ Yingcai Xiao

Engine IDE Visual Programming Assets Tutorial Examples Unity3D Engine IDE Visual Programming Assets Tutorial Examples

Installation Download at https://store.unity.com/ Free for students and company < $100,000/y Supporting multi-platforms.

Create your first Unity3D project

Getting started with a simple Unity3D project Start Unity3D New Project (3D or 2D) File->Save Scene

Font size too small? Right-click on the desktop Select “Display settings” “Change the size of text” Default to 125%, change to 175% for Unity IDE presentations

Getting started with a simple Unity3D project Assets->Import Packages - Characters - Particle Systems - Vehicles Select components before importing each package.

Object Creation GameObject->3D object->sphere Edit->Frame Select (to show the created object) Hold onto the arrows to move the sphere or change the position in the Inspector. Note: Y is up.

Inspector and transform panel Moving, translation, rotation and scaling tools

Unity 3D: Component Select Created Game Object->Component->Physics->Rigidbody Rigid Objects: non-deformable with physical properties (gravity, inertial). Non-rigid Objects: Deformable: changeable geometry Breakable: changeable topology. Intangible Objects: No predefined shape. fire, clouds, …

Animation Window->Animation Click on the object to be animated. Component->Miscellaneous->Animation

Animation Create New Animation Clip Click on the record button (red) at the top-left. Save the new animation clip file. Click on Curves. Select Add Property->transform  position, rotation or scaling

Animation Add key frame on the timeline as many as you want. Click on the red button again to finish making the animation clip.

Animation (Unity5) Add key frame on the timeline as many as you want. Click on the red button again to finish making the animation clip.

Animation Go back to Unity window. Under Inspector  Animation , change the name of animation clip from none to the one that you have made.

Animation Event Allows you to call functions in the object’s script at specified points in the timeline. Add a new Animation Event by double-clicking the Event Line or by using the Event button.

Animation Event When you add an event, a dialog box will appear to prompt you for the name of the function and the value of the parameter you want to pass to it.

Unity 3D: Light Game Object ->Light -> Directional Light (Default) Move and rotate just like any other object.

Terrain GameObject  3D Object  Terrain In the hierarchy panel, select Terrain. In the Inspector: set x = -5, y = 0, z = -5. Click on one of the action icons in Terrain (Script) to raise/lower terrain, paint height, smooth height, paint texture, place trees, paint details, terrain setting. Adjust brush size to 1 before performing the operations. Paint Texture: Edit Texture -> Select

Terrain To place trees, you have to build tree first (Game Object->3D object ->Tree), then choose“Edit Trees -> Add Trees” first to add different types of trees. In the Add Trees popup window, you need click on the little circle at the right-most of the “Tree” row. Select, say, Palm and then click on “Add” in the “Add Tree” window. Go back to the Inspector, select “Mass Place Trees” from available “Trees” to add.

Physics Unity3D provide Physics library. - Rigidbody, collider, joint, force and etc. Rigidbody component : gravity automatically added Collision detection : box, sphere, capsule , mesh, whelle and terrain. Collision call back function : OnCollisionEnter, OnCollision and OnCollisionExit.

Player (for a third-person game) Make sure to save the scene “File->Save Scene” (Ctrl S”) and save the project “File->Save Project” Next, we need add the player. In the Project window, drag“Standard Assets->Character Controllers->3rd Person Controller” to the Hierarchy window. In the Hierarchy window, double-click on the 3rd Person Controller. Click on the “Move selected object” icon. Then move the controller to the top of the terrain. You may have to adjust your view angle by clicking on the ‘xyz” icon to see the position. Click the middle of the icon to get the perspective view.

Unity 3D: Play Now click on the “Play” icon and use the arrow keys to controll the player. You should see the player running around and make sure he does not run off the edge.

Under the Hood

HCI Programming Essentials EDP: Event Driving Programming Event generators (input devices) Events Event loop Event mapping (compile time) Event dispatching (run time) Event handlers Computation Output

HCI Programming in Unity Event generators (input devices) Unity takes input from almost all input devices: CLI: keyboard GUI: mouse, touch screen NUI: Kinect, LeapMotion, Smart Phones

HCI Programming in Unity 2. Events 2.A. Virtual Events: Horizontal/Vertical Movements 2.B. Software Events: Collision 2.C. Idle Event: for background activities 2.D. User defined events: at any key points of computation.

HCI Programming in Unity 3. Event loop Unity takes care of it. 3.A. At coding time: visual programming 3.B. At application run time: API libraries built into the application.

HCI Programming in Unity 4. Event mapping (compile time) 4.A. At coding time: visual programming 4.B. At application run time: can be done, but no API yet.

HCI Programming in Unity 5. Event dispatching (run time) At application run time: done by unity built-in runtime libraries. Visual Programming: Events distributed by the Unity IDE to IDE when coding Application when simulating (play) Debugger when in the debugging mode.

HCI Programming in Unity 6. Event handlers 6.A. Written by the application programmer. 6.B. Built-in by the Game Engine (Physics Engine, AI Engine, …) 6.C. Imported as part of the prefabricates.

HCI Programming in Unity 7. Computation 7.A. Written by the application programmer. 7.B. Built-in by the Game Engine (Physics Engine, AI Engine, …) 7.C. Imported as part of prefabricates.

HCI Programming in Unity 8. Output 8.A. Audio: sound tracks 8.B. Video: animated graphics 8.C. Haptic: force feedback

HCI Programming in Unity 8.B. Graphics Output 8.B.1. Local: OpenGL 8.B.2. Remote: WebGL 8.B.3. Others: XR: VR/AR/MR

HCI Programming Essentials EDP: Event Driving Programming Event generators (input devices) Events Event loop Event mapping (compile time) Event dispatching (run time) Event handlers Computation Output

HCI Programming Essentials EDP: Event Driving Programming Project: directory and files for a specific game project. C:\Users\xiao\Documents\New Unity Project 1 \Assets (anything you can reuse) \Library (binary files)

Unity 3D IDE IDE: Integrated Development Environment Project: directory and files for a specific game project. C:\Users\xiao\Documents\New Unity Project 1 \Assets (anything you can reuse) \Library (binary files)

Unity 3D: Assets C:\Users\xiao\Documents\New Unity Project 1\Assets (anything you can reuse) \Standard Assets \OpenNI \Scripts \_Scenes \Materials \Artwork

Unity 3D: Standard Assets C:\Users\xiao\Documents\New Unity Project 1\Assets\Standard Assets Objects: (Look) \Tree \Terrain \Charater Lights: (Look) \Light Flares \Light Cookies Code: (Feel: control, interaction, animation, …) \Scripts

Unity 3D: Objects C:\Users\xiao\Documents\New Unity Project 1\Assets\Standard Assets\Charater: Prefab: (Predefined Objects) First Person, 3rd Person \Source: \Prototype (Look) Constructor.FBX \Materials (properties) \Textures (images) \Scripts (Feel: actions) Java Scripts: ThirdPersonController.js C#: MouseLook.cs

Unity 3D: Scripts Languages: Interpreted : Java Script Compiled: C# Usages: General: under Project\Scripts ExitOnEscape.cs Objects: attached to objects ThirdPersonController.js

Unity 3D: Library cashe: for speeding up processing metadata: data that describes data previews: for previewing scenes ScriptAssemblies: compiled object assemblies for scripts

Resources for 3D model http://www.turbosquid.com Autodesk Maya http://www.autodesk.com/products/autodesk-maya/overview Blender http://www.blender.org