Robotic Perception and Action - Project. State Machine Part 2. M. De Cecco - Robotic Perception and Action

Size: px
Start display at page:

Download "Robotic Perception and Action - Project. State Machine Part 2. M. De Cecco - Robotic Perception and Action"

Transcription

1 Robotic Perception and Action - Project State Machine Part 2

2 Project Modules Description Software to use Groups State Machine > Main software that manages the HMI interaction. > Main projected interface. HW: virtual buttons with retroreflective material C# - UNITY Objects Localization with AR Toolkit Skeleton acquisition > Markers placed on the objects extraction (position and location on the projector space). > Calibration of camera/projector/furnitures HW: kitchen simulated furnitures C# - UNITY > Skeleton acquisition with ToF (kinect) > Control of task execution UNITY Animations Objects Localization with ToF camera Sensor Fusion Development of proper anmations (for example with Blender) > Point cloud extraction and its use for objects recognition and localization > Sensor Fusion of Objects locations estimated with Ar Toolkit and the ToF camera UNITY - Blender C++ (PCL) UNITY Project modules to develop

3 We will create four State classes identical in structure as far as they must obey to the IStateBase interface that makes it a requirement that all the required methods are included in each State! Now let s modify BeginState and then create three more states: PlayState, WonState, LostState Creating State Classes

4 BeginState till now

5 BeginState modified!

6 Lets create the other States!

7 This for you shall be the directory State Lets create the other States!

8 In each of the three new files, make them almost identical to the code of BeginState except for the class name, the constructor method name, and the text in the Debug.Log Lets create the other States!

9 class name, the constructor method name, and the text in the Debug.Log Lets create the other States!

10 The same for WonState and LostState! PlayState

11 In order to test the State Machine we will manually switch in Unity when we press the space bar key States

12 States

13 LostState and all the others!

14 but the activestate variable needs to be able to store all of the State types. Right now it can only store a reference to a BeginState type of object!! StateManager

15 Our dilemma right now..

16 Let s see how to solve by an example Let s say that we have a potato bag. This in code would declare: Public Potato bag; So we have a variable named bag that can only store a Potato!!! The issue is shown in the following picture Inheritance

17 Inheritance

18 this is exactly the same issue we have with our activestate variable that is declared to only store a BeginState object!!! So we cannot put a PlayState, a WonState, or a LostState object in activestate How do we solve this issue? Instead of using a very specific Potato bag, what about making the bag a bit more general, like a Food bag??? Inheritance

19 Inheritance

20 Look at each class declaration right below each Food object. Each class inherits properties from the Food class. So, now that we re classifying each object in the more general class of Food, we can now declare that the variable bag can hold a type of Food! And that s done!!!!! Inheritance

21 That great!!! So we can do something similar with our classes such as create a more general StateBase class and then modify each State class to inherit from StateBase! Yes, we could do that. However inheritance does have some limitations: If we use inheritance every method that s inherited will be identical which is not what we want! Using an inherited method is optional If we created a State system using inheritance and lated wished to inherit from another class we cannot! Inheritance

22 we do not have to create another class for the State classes to inherit Each of our States are already implementing the IStateBase interface to guarantee the methods are included Now, since IStateBase acts like it s being inherited, it means each of our States can be treated as if they re an IStateBase type of object What we will have is shown in the following: Inheritance via C# interface!

23

24 Now, the IStateBase interface is providing a double guarantee that: The State objects have the required methods that StateManager needs The activestate variable, of type IStateBase, requires all States to implement IStateBase (allows to implement all States)

25 StateManager

26 StateManager

27 The following is the output to the Console as you repeatedly press the Space bar key: The machine starts with BeginState then, pressing the spacebar key makes PlayState the active State Pressing the spacebar key again makes WonState the active State Pressing the spacebar key again makes BeginState the active State never loses. Output to the Unity console

28 Let us follow the code flow!

29 1 2 On StateManager

30 3 On StateManager

31 1 2 3 On StateManager

32 4 5 6 On BeginState

33 7 On BeginState

34 On BeginState

35 3 On StateManager

36 On StateManager

37 On StateManager

38 On BeginState

39 The PlayState object is instantiated to switch to this new state On BeginState

40 PlayState BeginState StateManager PlayState BeginState - StateManager

41 PlayState

42 14 15 On StateManager

43 On StateManager

44 Summarizing the Code Flow

45 16 Adding LostState into the Game loop..

46 16

47 The IStateBase interface requires that each State class have the ShowIt() method that will also be called from the StateManager Now it s time to connect this method with the StateManager code The StateManager class needs to have Unity s OnGUI() method just the way the UpDate() method transfers control to the StateUpdate() method on the active State, the OnGUI() method transfers control to the ShowIt() method on the active State.. Adding OnGUI to the StateManager

48 17 Adding OnGUI to the StateManager

49 Unity calls the OnGUI() method at least once per frame, but it could also be several times per frame. This means that the ShowIt() method on the active State will be called to display graphics, text and buttons! nobehaviour.ongui.html Adding OnGUI to the StateManager

50

51 Our State Machine is presently changing States in the only Scene we ve created, which is called for example Scene1 However there is a potential issue that is behind the graphics of Scene1 your game will be active and you won t be able to see the action because of the fullscreen graphic blocking your view. This is not an ideal situation!

52 In Unity

53 In BeginState

54 What happens if you click on Play in Unity? The following screen shot appears with a cube that then falls down: Click Play in Unity

55 suppose your game had many things moving around, and instead of a button, you had a set of many buttons to select various games options You would see nothing behind the set of buttons Nor will you really want all that action to take place at the beginning! i.e. before you switch to the PlayState class! Click Play in Unity

56 But there is a little trick you can use to stop all the game activity while in BeginState Unity has a Time class and a timescale variable which you can set to slow down your game or stop it completely it s similar to a pause feature!

57 This makes the time in the game to Stop!!! 18 This makes the time in the game to Start!!! 19 In BeginState

58 Now, when you Play, everything in the Game is stopped When you press on the button of the interface the button disappears and the game starts!!! This without using many if statements to make things appear or disappear: each State determines the control you want and what to show on the screen!!!

59 Using a Timer to start automatically after some seconds..

60 In BeginState

61 complete with the following code: In BeginState

62

63 Code flow

64 Code flow

65 Code flow

66 Code flow

67 Code flow

68 Code flow

69 Code flow

70 Till now BeginState appears when the game starts and again after you lose Try to change WonState to switch to PlayState instead of starting with BeginState! A little exercise

71 So far the State Machine is working with one Scene to setup game control Suppose we want to use another scene or simply do not want to use the timer.. Adding several Unity Scenes!

72 Adding several Unity Scenes!

73 ??? Cosa fa il build come si usa?

74 In BeginState

75 We have still two issues: 1. Every GameObject in the current Scene gets destroyed when another Scene is loaded. 1. When the game starts in BeginningScene, the GameManager is created with the StateManager Component and BeginState being active. 2. When BeginState will switch to PlayState, the next scene (Scene1 or whatever you called it) will be loaded and our GameManager will be destroyed 2. Every time BegininngScene is reloaded, another GameManager with another StateManager Component will be created! Managing GameManager through scenes

76 This is simply what we do not want to behave! Throughout the game there needs to be only one GameManager component with one StateManager class!!! So we have to solve the two issues: 1. To prevent GamaManager from being distroyed when switching from BeginningScene to Scene1, Unity provides a method called DontDestroyOnLoad()! 2. To pevent to create GameManager a second time it is enough to detect that already exist and immediately destroying any new ones that are created! Managing GameManager through scenes

77 Both the two issues will be fixed in Unity s Awake() method Awake() is called on any component that invokes Awake() right after a Scene is loaded ss Managing GameManager through scenes

78

79

80

81

Robotic Perception and Action - Project. Augmented Reality for the Man in the Loop. M. De Cecco - Robotic Perception and Action

Robotic Perception and Action - Project. Augmented Reality for the Man in the Loop. M. De Cecco - Robotic Perception and Action Robotic Perception and Action - Project Augmented Reality for the Man in the Loop Jaakko Hyry, Max Krichenbauer, Goshiro Yamamoto, Takafumi Taketomi, Christian Sandor, Hirokazu Kato, Petri Pulli, Design

More information

Chapter 1- The Blender Interface

Chapter 1- The Blender Interface Chapter 1- The Blender Interface The Blender Screen Years ago, when I first looked at Blender and read some tutorials I thought that this looked easy and made sense. After taking the program for a test

More information

Table of contents. Introduction. Having finally realized your ambitious plans for a game, you might face big performance

Table 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 information

Topic 4 - Introduction to Metering on a DSLR

Topic 4 - Introduction to Metering on a DSLR Getting more from your Camera Topic 4 - Introduction to Metering on a DSLR Learning Outcomes In this lesson, we will look at another important feature on a DSLR camera called Metering Mode. By the end

More information

Depth Sensors Kinect V2 A. Fornaser

Depth Sensors Kinect V2 A. Fornaser Depth Sensors Kinect V2 A. Fornaser alberto.fornaser@unitn.it Vision Depth data It is not a 3D data, It is a map of distances Not a 3D, not a 2D it is a 2.5D or Perspective 3D Complete 3D - Tomography

More information

Spell Casting Motion Pack 5/5/2017

Spell 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 information

Smoother Graphics Taking Control of Painting the Screen

Smoother Graphics Taking Control of Painting the Screen It is very likely that by now you ve tried something that made your game run rather slow. Perhaps you tried to use an image with a transparent background, or had a gazillion objects moving on the window

More information

Intel Graphics Performance Analyzers Instrumentation Walkthrough

Intel Graphics Performance Analyzers Instrumentation Walkthrough Intel Graphics Performance Analyzers Instrumentation Walkthrough Contents Intel GPA Platform Analyzer Overview... 1 Leading Game Middleware Instrumented for Intel GPA Platform Analyzer... 3 Simple and

More information

Assignment 6: Dodo keeps getting smarter

Assignment 6: Dodo keeps getting smarter Assignment 6: Dodo keeps getting smarter Algorithmic Thinking and Structured Programming (in Greenfoot) c 2015 Renske Smetsers-Weeda & Sjaak Smetsers Licensed under the Creative Commons Attribution 4.0

More information

Game Design From Concepts To Implementation

Game 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 information

Intro to Animation. Introduction: Frames and Keyframes. Blender Lesson: Grade Level: Lesson Description: Goals/Objectives: Materials/Tools: 4th and up

Intro to Animation. Introduction: Frames and Keyframes. Blender Lesson: Grade Level: Lesson Description: Goals/Objectives: Materials/Tools: 4th and up Blender Lesson: Intro to Animation Grade Level: 4th and up Lesson Description: This lesson serves as an introduction to animation with Blender. The lesson begins by talking about some core concepts of

More information

Introduction to Unity. What is Unity? Games Made with Unity /666 Computer Game Programming Fall 2013 Evan Shimizu

Introduction 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 information

Previously, on Lesson Night... From Intermediate Programming, Part 1

Previously, 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 information

Object-Oriented Programming

Object-Oriented Programming iuliana@cs.ubbcluj.ro Babes-Bolyai University 2018 1 / 40 Overview 1 2 3 4 5 2 / 40 Primary OOP features ion: separating an object s specification from its implementation. Encapsulation: grouping related

More information

3dSprites. v

3dSprites. v 3dSprites v1.0 Email: chanfort48@gmail.com 3dSprites allows you to bring thousands of animated 3d objects into the game. Only up to several hundreds of animated objects can be rendered using meshes in

More information

Creating a Snowman Scene

Creating a Snowman Scene Creating a Snowman Scene By: Shane Trautsch Blender 2.72 What you will learn Basic Modeling Particle systems sculpting Materials and Textures Lighting Creating a Snow By now, you have created a snowman.

More information

ROS-Industrial Basic Developer s Training Class

ROS-Industrial Basic Developer s Training Class ROS-Industrial Basic Developer s Training Class Southwest Research Institute 1 Session 4: More Advanced Topics (Descartes and Perception) Southwest Research Institute 2 MOVEIT! CONTINUED 3 Motion Planning

More information

UNITY WORKSHOP. Unity Editor. Programming(Unity Script)

UNITY 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 information

The first program: Little Crab

The first program: Little Crab Chapter 2 The first program: Little Crab topics: concepts: writing code: movement, turning, reacting to the screen edges source code, method call, parameter, sequence, if-statement In the previous chapter,

More information

Deep Learning for Visual Computing Prof. Debdoot Sheet Department of Electrical Engineering Indian Institute of Technology, Kharagpur

Deep Learning for Visual Computing Prof. Debdoot Sheet Department of Electrical Engineering Indian Institute of Technology, Kharagpur Deep Learning for Visual Computing Prof. Debdoot Sheet Department of Electrical Engineering Indian Institute of Technology, Kharagpur Lecture - 05 Classification with Perceptron Model So, welcome to today

More information

Creating the Tilt Game with Blender 2.49b

Creating 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 information

Digital Media. Seasons Assignment. 1. Copy and open the file seasonsbegin.fla from the Read folder.

Digital Media. Seasons Assignment. 1. Copy and open the file seasonsbegin.fla from the Read folder. Digital Media Seasons Assignment 1. Copy and open the file seasonsbegin.fla from the Read folder. 2. Make a new layer for buttons. Create a button that the user will click to start the interaction. (Be

More information

Introduction to Digital Modelling and Animation in Design week 4 Textures

Introduction to Digital Modelling and Animation in Design week 4 Textures Introduction to Digital Modelling and Animation in Design week 4 Textures Thaleia Deniozou - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

More information

Game Design Unity Workshop

Game 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 information

3D from Images - Assisted Modeling, Photogrammetry. Marco Callieri ISTI-CNR, Pisa, Italy

3D from Images - Assisted Modeling, Photogrammetry. Marco Callieri ISTI-CNR, Pisa, Italy 3D from Images - Assisted Modeling, Photogrammetry Marco Callieri ISTI-CNR, Pisa, Italy 3D from Photos Our not-so-secret dream: obtain a reliable and precise 3D from simple photos Why? Easier, cheaper

More information

3.Constructors and Destructors. Develop cpp program to implement constructor and destructor.

3.Constructors and Destructors. Develop cpp program to implement constructor and destructor. 3.Constructors and Destructors Develop cpp program to implement constructor and destructor. Constructors A constructor is a special member function whose task is to initialize the objects of its class.

More information

Load your files from the end of Lab A, since these will be your starting point.

Load your files from the end of Lab A, since these will be your starting point. Coursework Lab B It is extremely important that you finish lab A first, otherwise this lab session will probably not make sense to you. Lab B gives you a lot of the background and basics. The aim of the

More information

COMP200 INTERFACES. OOP using Java, from slides by Shayan Javed

COMP200 INTERFACES. OOP using Java, from slides by Shayan Javed 1 1 COMP200 INTERFACES OOP using Java, from slides by Shayan Javed Interfaces 2 ANIMAL picture food sleep() roam() makenoise() eat() 3 ANIMAL picture food sleep() roam() makenoise() eat() 4 roam() FELINE

More information

Note: This is a miniassignment and the grading is automated. If you do not submit it correctly, you will receive at most half credit.

Note: This is a miniassignment and the grading is automated. If you do not submit it correctly, you will receive at most half credit. Com S 227 Fall 2017 Miniassignment 1 50 points Due Date: Monday, October 16, 11:59 pm (midnight) Late deadline (25% penalty): Tuesday, October 17, 11:59 pm General information This assignment is to be

More information

Logistics. Final Exam on Friday at 3pm in CHEM 102

Logistics. Final Exam on Friday at 3pm in CHEM 102 Java Review Logistics Final Exam on Friday at 3pm in CHEM 102 What is a class? A class is primarily a description of objects, or instances, of that class A class contains one or more constructors to create

More information

Textures and UV Mapping in Blender

Textures and UV Mapping in Blender Textures and UV Mapping in Blender Categories : Uncategorised Date : 21st November 2017 1 / 25 (See below for an introduction to UV maps and unwrapping) Jim s Notes regarding Blender objects, the UV Editor

More information

Game Design Unity Workshop

Game 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 information

Setting up A Basic Scene in Unity

Setting 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 information

STEP 1: Download Unity

STEP 1: Download Unity STEP 1: Download Unity In order to download the Unity Editor, you need to create an account. There are three levels of Unity membership. For hobbyists, artists, and educators, The free version is satisfactory.

More information

Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute. Week 02 Module 06 Lecture - 14 Merge Sort: Analysis

Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute. Week 02 Module 06 Lecture - 14 Merge Sort: Analysis Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute Week 02 Module 06 Lecture - 14 Merge Sort: Analysis So, we have seen how to use a divide and conquer strategy, we

More information

Programming Exercise

Programming Exercise Programming Exercise Nibbles Objective: To gain experience working with 2 dimensional arrays. The Problem Nibbles is a snake. Nibbles moves around a field, looking for food. Unfortunately, Nibbles is not

More information

Within Kodi you can add additional programs called addons. Each of these addons provides access to lots of different types of video content.

Within Kodi you can add additional programs called addons. Each of these addons provides access to lots of different types of video content. There are a lot of misconceptions in the Kodi world about what buffering is, what causes it, why it happens and how to help avoid it. So I wanted to write an article addressing some of the causes of buffering

More information

10. Animation Triggers and Event Handlers

10. Animation Triggers and Event Handlers 10. Animation Triggers and Event Handlers 10.1 Knightfall Step 14 - Introduction to Event Handlers Watch the video tutorial: IGA Lesson 09 Step 01 Once you are satisfied that your environment is exported

More information

Workshop BOND UNIVERSITY Bachelor of Interactive Multimedia and Design Beginner Game Dev Character Control Building a character animation controller.

Workshop BOND UNIVERSITY Bachelor of Interactive Multimedia and Design Beginner Game Dev Character Control Building a character animation controller. Workshop BOND UNIVERSITY Bachelor of Interactive Multimedia and Design Beginner Game Dev Character Control Building a character animation controller. FACULTY OF SOCIETY AND DESIGN Building a character

More information

Smart-Voice Invocation of Scenes in Home- Automation Systems

Smart-Voice Invocation of Scenes in Home- Automation Systems Technical Disclosure Commons Defensive Publications Series December 07, 2017 Smart-Voice Invocation of Scenes in Home- Automation Systems Daniele Midi William Schilit Tianchun Yang Follow this and additional

More information

T his article is downloaded from

T his article is downloaded from Fading Elements with JQuery The fade effect is when an element fades out by becoming increasingly transparent over time until it disappears or fades in by becoming decreasingly opaque over time until it

More information

insight3d quick tutorial

insight3d quick tutorial insight3d quick tutorial What can it do? insight3d lets you create 3D models from photographs. You give it a series of photos of a real scene (e.g., of a building), it automatically matches them and then

More information

Towards Autonomous Vehicle. What is an autonomous vehicle? Vehicle driving on its own with zero mistakes How? Using sensors

Towards Autonomous Vehicle. What is an autonomous vehicle? Vehicle driving on its own with zero mistakes How? Using sensors 7 May 2017 Disclaimer Towards Autonomous Vehicle What is an autonomous vehicle? Vehicle driving on its own with zero mistakes How? Using sensors Why Vision Sensors? Humans use both eyes as main sense

More information

The basic theory of operation of RPC is pretty straightforward. But, to understand remote procedure calls, let s first make sure that we understand local procedure calls. The client (or caller) supplies

More information

Shorthand for values: variables

Shorthand for values: variables Chapter 2 Shorthand for values: variables 2.1 Defining a variable You ve typed a lot of expressions into the computer involving pictures, but every time you need a different picture, you ve needed to find

More information

USAGE OF MICROSOFT KINECT FOR AUGMENTED PROTOTYPING SPEED-UP

USAGE OF MICROSOFT KINECT FOR AUGMENTED PROTOTYPING SPEED-UP ACTA UNIVERSITATIS AGRICULTURAE ET SILVICULTURAE MENDELIANAE BRUNENSIS Volume LX 23 Number 2, 2012 USAGE OF MICROSOFT KINECT FOR AUGMENTED PROTOTYPING SPEED-UP J. Landa, D. Procházka Received: November

More information

is.centraldispatch Documentation

is.centraldispatch Documentation SPINACH is.centraldispatch Documentation July 27, 2016 Last Edit : July 27, 2016 Page I! of XII! IS.CENTRALDISPATCH DOCUMENTATION Getting Start Write Your First Multi-Threaded Script Using SPINACH.iSCentralDispatch

More information

BONE CONTROLLER ASSET VERSION 0.1 REV 1

BONE CONTROLLER ASSET VERSION 0.1 REV 1 Foreword Thank you for purchasing the Bone Controller! I m an independent developer and your feedback and support really means a lot to me. Please don t ever hesitate to contact me if you have a question,

More information

A Kinect Sensor based Windows Control Interface

A Kinect Sensor based Windows Control Interface , pp.113-124 http://dx.doi.org/10.14257/ijca.2014.7.3.12 A Kinect Sensor based Windows Control Interface Sang-Hyuk Lee 1 and Seung-Hyun Oh 2 Department of Computer Science, Dongguk University, Gyeongju,

More information

Quick Setup Guide. Date: October 27, Document version: v 1.0.1

Quick Setup Guide. Date: October 27, Document version: v 1.0.1 Quick Setup Guide Date: October 27, 2016 Document version: v 1.0.1 Table of Contents 1. Overview... 3 2. Features... 3 3. ColorTracker library... 3 4. Integration with Unity3D... 3 Creating a simple color

More information

How to Secure SSH with Google Two-Factor Authentication

How to Secure SSH with Google Two-Factor Authentication How to Secure SSH with Google Two-Factor Authentication WELL, SINCE IT IS QUITE COMPLEX TO SET UP, WE VE DECIDED TO DEDICATE A WHOLE BLOG TO THAT PARTICULAR STEP! A few weeks ago we took a look at how

More information

How-To Story EEG + Behavior Observation

How-To Story EEG + Behavior Observation How-To Story EEG + Behavior Observation Challenge & Goal This example describes the integration of EEG data and coding results from video based observations. Using: BRAIN PRODUCTS Recorder and Analyzer

More information

C# Language. CSE 409 Advanced Internet Technology

C# Language. CSE 409 Advanced Internet Technology C# Language Today You will learn Building a basic class Value Types and Reference Types Understanding Namespaces and Assemblies Advanced Class Programming CSE 409 Advanced Internet Technology Building

More information

Chapter 1- The Blender Interface

Chapter 1- The Blender Interface The Blender Screen When I first looked at Blender and read some tutorials I thought that this looked easy and made sense. After taking the program for a test run, I decided to forget about it for a while

More information

Google SketchUp/Unity Tutorial Basics

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 information

This allows you to choose convex or mesh colliders for you assets. Convex Collider true = Convex Collider. Convex Collider False = Mesh Collider.

This allows you to choose convex or mesh colliders for you assets. Convex Collider true = Convex Collider. Convex Collider False = Mesh Collider. AGF Asset Packager v. 0.4 (c) Axis Game Factory LLC Last Updated: 6/04/2014, By Matt McDonald. Compiled with: Unity 4.3.4. Download This tool may not work with Unity 4.5.0f6 ADDED: Convex Collider Toggle:

More information

if(input.getkey(keycode.rightarrow)) { this.transform.rotate(vector3.forward * 1);

if(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 information

User Manual. Contact the team: Contact support:

User 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 information

Basic Waypoints Movement v1.0

Basic 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 information

Using Apple s imovie. 1. copyright President & Fellows of Harvard College

Using Apple s imovie.  1. copyright President & Fellows of Harvard College Using Apple s imovie 1 - To start a new project, go to the file menu and select new project. 2 - Make sure that the blue circle is set to camera as shown. 3 - Your clip area right now is empty, but that

More information

ENGR 40M Project 3c: Coding the raindrop pattern

ENGR 40M Project 3c: Coding the raindrop pattern ENGR 40M Project 3c: Coding the raindrop pattern For due dates, see the overview handout The raindrop pattern works like this: Once per time period (say, 150 ms), (a) move the pattern one plane down: the

More information

Planet Saturn and its Moons Asset V0.2. Documentation

Planet Saturn and its Moons Asset V0.2. Documentation Planet Saturn and its Moons Asset V0.2 Documentation Charles Pérois - 2015 Introduction 2 Table des matières 1. Introduction...3 2. Release Notes...4 3. How to Use...5 1. Set the scene...5 1. Set a scene

More information

Express Yourself. Writing Your Own Classes

Express Yourself. Writing Your Own Classes Java Programming 1 Lecture 5 Defining Classes Creating your Own Classes Express Yourself Use OpenOffice Writer to create a new document Save the file as LastFirst_ic05 Replace LastFirst with your actual

More information

Pong in Unity a basic Intro

Pong 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 information

Tecnologie per la ricostruzione di modelli 3D da immagini. Marco Callieri ISTI-CNR, Pisa, Italy

Tecnologie per la ricostruzione di modelli 3D da immagini. Marco Callieri ISTI-CNR, Pisa, Italy Tecnologie per la ricostruzione di modelli 3D da immagini Marco Callieri ISTI-CNR, Pisa, Italy 3D from Photos Our not-so-secret dream: obtain a reliable and precise 3D from simple photos Why? Easier, less

More information

Our second exam is Thursday, November 10. Note that it will not be possible to get all the homework submissions graded before the exam.

Our second exam is Thursday, November 10. Note that it will not be possible to get all the homework submissions graded before the exam. Com S 227 Fall 2016 Assignment 3 300 points Due Date: Wednesday, November 2, 11:59 pm (midnight) Late deadline (25% penalty): Thursday, November 2, 11:59 pm General information This assignment is to be

More information

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 31 Static Members Welcome to Module 16 of Programming in C++.

More information

Autonomous Programming FTC Challenge Workshops VCU School of Engineering September 24, 2016 Presented by: Team 8297 Geared UP!

Autonomous Programming FTC Challenge Workshops VCU School of Engineering September 24, 2016 Presented by: Team 8297 Geared UP! Autonomous Programming 2016-2017 FTC Challenge Workshops VCU School of Engineering September 24, 2016 Presented by: Team 8297 Geared UP! Autonomous in VELOCITY VORTEX The Match starts with a 30 second

More information

Dice Making in Unity

Dice 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 information

Slide 1 CS 170 Java Programming 1 Arrays and Loops Duration: 00:01:27 Advance mode: Auto

Slide 1 CS 170 Java Programming 1 Arrays and Loops Duration: 00:01:27 Advance mode: Auto CS 170 Java Programming 1 Using Loops to Initialize and Modify Array Elements Slide 1 CS 170 Java Programming 1 Duration: 00:01:27 Welcome to the CS170, Java Programming 1 lecture on. Loop Guru, the album

More information

Principle of Complier Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore

Principle of Complier Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore Principle of Complier Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore Lecture - 20 Intermediate code generation Part-4 Run-time environments

More information

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 14

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 14 Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 14 Scan Converting Lines, Circles and Ellipses Hello everybody, welcome again

More information

This lesson introduces Blender, covering the tools and concepts necessary to set up a minimal scene in virtual 3D space.

This 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 information

Iteration Preview of Coming Attractions The Need to Get Your Act Together A Process for Developing While Statements

Iteration Preview of Coming Attractions The Need to Get Your Act Together A Process for Developing While Statements Iteration Preview of Coming Attractions In this unit be sure to look for a five-step process for developing while statements tracing while statements The Need to Get Your Act Together As you probably know

More information

SPRITES Moving Two At the Same Using Game State

SPRITES Moving Two At the Same Using Game State If you recall our collision detection lesson, you ll likely remember that you couldn t move both sprites at the same time unless you hit a movement key for each at exactly the same time. Why was that?

More information

CS112 Lecture: Defining Classes. 1. To describe the process of defining an instantiable class

CS112 Lecture: Defining Classes. 1. To describe the process of defining an instantiable class CS112 Lecture: Defining Classes Last revised 2/3/06 Objectives: 1. To describe the process of defining an instantiable class Materials: 1. BlueJ SavingsAccount example project 2. Handout of code for SavingsAccount

More information

In Chapters 4 and 6 I discussed the many options

In Chapters 4 and 6 I discussed the many options Chapter 7: The Custom Menu and the Setup Menu Figure 7-1. Icon for Custom Menu Highlighted In Chapters 4 and 6 I discussed the many options available to you in the Recording and Playback menu systems.

More information

This lecture presents ordered lists. An ordered list is one which is maintained in some predefined order, such as alphabetical or numerical order.

This lecture presents ordered lists. An ordered list is one which is maintained in some predefined order, such as alphabetical or numerical order. 6.1 6.2 This lecture presents ordered lists. An ordered list is one which is maintained in some predefined order, such as alphabetical or numerical order. A list is numerically ordered if, for every item

More information

Part 1 Simple Arithmetic

Part 1 Simple Arithmetic California State University, Sacramento College of Engineering and Computer Science Computer Science 10A: Accelerated Introduction to Programming Logic Activity B Variables, Assignments, and More Computers

More information

COMP110 Jump Around. Go ahead and get today s code in Eclipse as shown on next few slides. Kris Jordan

COMP110 Jump Around. Go ahead and get today s code in Eclipse as shown on next few slides. Kris Jordan Go ahead and get today s code in Eclipse as shown on next few slides COMP110 Jump Around Fall 2015 Sections 2 & 3 Sitterson 014 November 19th, 2015 Kris Jordan kris@cs.unc.edu Sitterson 238 Classroom Materials

More information

3D Reconstruction with Tango. Ivan Dryanovski, Google Inc.

3D Reconstruction with Tango. Ivan Dryanovski, Google Inc. 3D Reconstruction with Tango Ivan Dryanovski, Google Inc. Contents Problem statement and motivation The Tango SDK 3D reconstruction - data structures & algorithms Applications Developer tools Problem formulation

More information

for Blender v2.42a Software Box Bas van Dijk v1.1 February 2007

for Blender v2.42a Software Box Bas van Dijk v1.1 February 2007 for Blender v2.42a Software Box Bas van Dijk v1.1 February 2007 Copyright (c) 2007 - Bas van Dijk You may redistribute and copy this document as long as it keeps unchanged and it is provided in its original

More information

Open GL Framework For A Computer Graphics Course

Open GL Framework For A Computer Graphics Course Open GL Framework For A Computer Graphics Course Programmer: Daniel Odle Sponsor / Advisor: Dr. Morse University of Evansville 4-26-03 Table of Contents Introduction 3 Statement of Problem 3 Design Approach

More information

Session A First Game Program

Session A First Game Program 1 Session 11.1 A First Game Program Chapter 11.1: A First Game Program 2 Session Overview Begin the creation of an arcade game Learn software design techniques that apply to any form of game development

More information

Qube Rendering at CCS

Qube Rendering at CCS Qube Rendering at CCS A guide to rendering Maya using the Qube Renderfarm 2 General guidelines for scene submission Optimize your scenes regularly. If you ve optimized it, but then worked on it again optimize

More information

Implement an ADT while using Subversion

Implement an ADT while using Subversion 1 Objectives Learn to use Subversion Implement an ADT while using Subversion In this lab, you learn about the version control tool called Subversion and you will implement a Java class given an interface.

More information

coe318 Lab 1 Introduction to Netbeans and Java

coe318 Lab 1 Introduction to Netbeans and Java coe318 Lab 1 Week of September 12, 2016 Objectives Lean how to use the Netbeans Integrated Development Environment (IDE). Learn how to generate and write formatted API documentation. Add a constructor,

More information

Blender - Python API #1

Blender - Python API #1 Blender - Python API #1 Serdar ARITAN Department of Computer Graphics Hacettepe University, Ankara, Turkey 1 Blender / Python API Blender is a free 3D graphics package 3D object modelling Materials and

More information

CS 167 Final Exam Solutions

CS 167 Final Exam Solutions CS 167 Final Exam Solutions Spring 2018 Do all questions. 1. [20%] This question concerns a system employing a single (single-core) processor running a Unix-like operating system, in which interrupts are

More information

IAT 445 Lab 10. Special Topics in Unity. Lanz Singbeil

IAT 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 information

Table of Contents. Questions or problems?

Table of Contents. Questions or problems? 1 Introduction Overview Setting Up Occluders Shadows and Occlusion LODs Creating LODs LOD Selection Optimization Basics Controlling the Hierarchy MultiThreading Multiple Active Culling Cameras Umbra Comparison

More information

Chapter 1 Operations With Numbers

Chapter 1 Operations With Numbers Chapter 1 Operations With Numbers Part I Negative Numbers You may already know what negative numbers are, but even if you don t, then you have probably seen them several times over the past few days. If

More information

Conditional statements, loops and data structures

Conditional statements, loops and data structures CODAPPS Conditional statements, loops and data structures Clément Levallois Version 1.0, last modified Table of Contents 1. Useful additions to your coding toolkit......................................................

More information

RIS shading Series #2 Meet The Plugins

RIS shading Series #2 Meet The Plugins RIS shading Series #2 Meet The Plugins In this tutorial I will be going over what each type of plugin is, what their uses are, and the basic layout of each. By the end you should understand the three basic

More information

CMSC 425 Programming Assignment 1, Part 2 Implementation Notes

CMSC 425 Programming Assignment 1, Part 2 Implementation Notes CMSC 425 Programming Assignment 1, Part 2 Implementation Notes Disclaimer We provide these notes to help in the design of your project. There is no requirement that you use our settings, and in fact your

More information

Introduction to Homogeneous coordinates

Introduction to Homogeneous coordinates Last class we considered smooth translations and rotations of the camera coordinate system and the resulting motions of points in the image projection plane. These two transformations were expressed mathematically

More information

CS Data Structures Mr. Bredemeier Traveling Salesperson Problem

CS Data Structures Mr. Bredemeier Traveling Salesperson Problem CS Data Structures Mr. Bredemeier Traveling Salesperson Problem This assignment was originally developed by Robert Sedgwick and Kevin Wayne at Princeton University (here is the link to the original assignment),

More information

Developing Desktop Apps for Ultrabook Devices in Windows 8*: Getting Started

Developing Desktop Apps for Ultrabook Devices in Windows 8*: Getting Started Developing Desktop Apps for Ultrabook Devices in Windows 8*: Getting Started By Paul Ferrill The Ultrabook provides a rich set of sensor capabilities to enhance a wide range of applications. It also includes

More information

XNA Tutorials Utah State University Association for Computing Machinery XNA Special Interest Group RB Whitaker 21 December 2007

XNA Tutorials Utah State University Association for Computing Machinery XNA Special Interest Group RB Whitaker 21 December 2007 XNA Tutorials Utah State University Association for Computing Machinery XNA Special Interest Group RB Whitaker 21 December 2007 Console Windows Supplementary Tutorial 8 Overview The majority of beginning

More information

Shutter Speed and Aperture Setting

Shutter Speed and Aperture Setting In this unit we look at the finer points of both shutter speed and aperture and how to make full use of them. Shutter Speed and Aperture Setting Ok, how did you go with the first lesson? Did you take the

More information