10. Animation Triggers and Event Handlers

Size: px
Start display at page:

Download "10. Animation Triggers and Event Handlers"

Transcription

1 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 properly and looks the way you want in your game, it s time to get your actors animated and set triggers for them. This section deals with event handlers, which are just script commands that handle certain conditions. The most important are the OnLeftClick, OnAnimationStart, and OnAnimationEnd handlers. There are many others. It is worth looking at these handlers in the script reference. There are a great many options and we will only be covering some of the possibilities We will begin very simply with the parchment message that the knight sees when the scene opens. The parchment is dark, but when the knight moves close to it, it brightens up. Brightening is a common technique used in games to indicate the user should click on something or interact with it in some way. Since the parchment is involved in some kind of interaction, it was exported as an actor. There are two interactions. The first is the brightening as the knight moves close to it, the second is the fact that when the parchment brightens, the user can click on it and a bitmap message will pop up. 1. Go to the Actors > Parchment Drawbridge directory and open Parchment Drawbridge_script.txt. 2. Type the following script command to enable brightening for the parchment: OnProximity name:"knight" 120 "brighten" 1

2 This is called an OnProximity handler. It tells Ignition what to do when the knight is in close proximity to the parchment. The first value indicates which actor to use. Notice the use of the name qualifier. There are two options for this command. You can use the name qualifier (name: ) or a type qualifier (type: ). You use the type qualifier when you have created several actors of type knight, and you want the parchment to brighten when any one of them gets close to the parchment. These knights would have all been created within the knight script using the create command. You use the name qualifier when you want the command to work for one particular instance of the knight. The second value in the command is the distance at which the brightening occurs. It is the distance from the pivot point of the parchment to the pivot point of the knight, which is bip1. The last value is what to do when the knight gets closer than 120 units, which is to brighten. 3. Now type the command that will pop up the bitmap message: OnLeftClick displaybitmap "Note_drwbrg.tga" This is the OnLeftClick handler, which handles the actions that occur when the user clicks on the actor. The first value is the action, which in this case is displaybitmap. The second value is the name of the texture file. At this point if you click on the drawbridge note, the message will still not pop up. This is because you have not yet created the 2D user interface elements for the level. You do that in the section on Designing a User Interface. Next consider the chalices. As the knight gets close to a chalice, it will brighten. Once it has brightened the user can click on it to transfer the chalice's health to the knight. You now set this up. 1. In Actors > Chalice, open the Chalice_script.txt file. 2. Add the following commands: OnProximity name:"knight" 80 "brighten" OnProximity name:"knight" 80 "enable" The first command brightens the chalice when the knight gets close. When the knight clicks on the chalice, it will disappear. But you do not want this to happen unless the knight is close. You therefore add another OnProximity handler that enables interactivity for the chalice only when the knight is within 80 units of it. If you leave this command out, the user would be able to click on the chalice no matter where the knight is. 3. The command to transfer the chalice health to the knight is: OnLeftClick transferhealth 100 true This is another flavor of the OnLeftClick handler. The first and second values tell Ignition to transfer 100 units of health to the player actor. The last value of true indicates that the chalice should be removed from the scene when clicked. 2

3 You now look at another common example of the OnLeftClick handler. This is where clicking on an object causes it to animate. You will also look at chaining together animations. When the knight reaches the top of the bell tower, the user can click on the bell. This causes the bell to move, and also causes the portcullis to rise in the distance and the fallen tree to disappear. Creating the following script will accomplish all of this. 1. Go to Actors > Bell and Handle and open "Bell and Handle_script.txt". 2. Add the usual brighten and enable commands: OnProximity name:"knight" 250 "brighten" OnProximity name:"knight" 250 "enable" 3. Add an OnLeftClick handler: OnLeftClick animate "bell ring" The value of animate tells Ignition that the OnLeftClick handler will animate the bell. The name of the animation is "bell ring". There are two ways to animate an object other than the one you are clicking on. You can add another OnLeftClick handler and use the AnimateOther value to designate a different actor in the scene that you want to animate, or you can use the OnAnimationStart and OnAnimationEnd handlers. There are two components to the portcullis, the portcullis itself and another actor called the portcullis block. The portcullis block is an invisible actor that was exported with Draw turned off. Its purpose is to block the portcullis as a collision mesh so the actor cannot get through it. When the bell rings and the portcullis is raised, this blocking object must move out of the way as well. 4. Type the following: OnAnimationStart "bell ring" animateother "portcullis block" "portcullis block raise" The first value is the animation that we want to use, which is "bell ring". When the bell ring animation starts, Ignition will perform the actions described in the command. Specifically the action is AnimateOther, which means another actor will be animated. You then designate which actor followed by that actor's animation. So in the case above, clicking on the bell will cause the portcullis block to perform its "block raise" animation. 5. You do the same thing for the portcullis: OnAnimationStart "bell ring" animateother "portcullis both" "portcullis up" 6. Finally, you want the tree that is blocking the knight from getting to the drawbridge to disappear. We will use an OnAnimationEnd handler: OnAnimationEnd "bell ring" removeother "fallen tree" Instead of the AnimateOther value we used RemoveOther, followed by the name of the actor to remove Setting the Knight's Attack Ability 3

4 Now that you understand the way animation handlers work, you can set the knight's attack commands. The knight must be able to attack when he is near a bunny, snake or the dragon. Each time he fights he loses some health, but he also inflicts damage on the characters he is fighting. 1. In the Knight directory, open Knight_script.txt. To enable the knight's attack animation, type the following three commands: Onproximitykeystroke g 150 type:"bunny" animate "knight fight" Onproximitykeystroke g 150 type:"snake" animate "knight fight" Onproximitykeystroke g 450 type:"dragon" animate "knight fight" The OnProximityKeyStroke command is an example of a "context sensitive" command. It says that the keystroke will only work when the knight is close enough to something. In our case these would be the bunny, snake or dragon. The letter g after the command tells Ignition that the keystroke will be the g key. You do not want to set this to be any of the navigation keys: w, a, s, d, q, or e. The second value sets the distance the knight must be for the keystroke to work. The third command specifies the actor that the knight must be close to. There are two options. You can specify a type or a name. When you specify a type, then when the knight is near any character that is of type "bunny", he will be able to attack it. If you specified the name instead, then the knight will only be able to attack the actor instance with that particular name. We obviously want the knight to attack all bunnies, snakes and dragons (although we only have one dragon). The next two values say that when we are close enough to one of the characters and the user presses the g key, the action is to animate the knight with the "knight fight" animation. 2. After the attack animation ends, the knight should go back to his idle animation. We set that action by typing an OnAnimationEnd handler: OnAnimationEnd "knight fight" "knight idle" NOTE: Recall from the end of section that the end of a walk cycle is handled automatically by Ignition for the player actor. When the player actor is finished walking (for example, when the player has released the W key), then Ignition automatically starts the actor's idle animation. Therefore we do not need an OnAnimationEnd handler for the knight's walk cycle. Additionally, all animation transitions are handled automatically for NPCs, so they never need an OnAnimationEnd handler. 3. For the knight to lose health on each attack, there is another form of the OnAnimationEnd command that we use. Type the following: OnAnimationEnd "knight fight" changehealth name:"knight" -5 This causes the knight to lose 5 units of health at the end of the attack. Notice there is a negative sign in front of the 5. You may wonder why you have the next value, which is name:"knight" since you know this is the knight's script file. The reason is that the scripting language allows for the 4

5 change of the health of any actor in the scene, so you must specifically say which one. The next step shows this. 4. When the knight attacks, not only does he lose some health, he also inflicts damage on whoever he is attacking. The next set of commands set this up: OnAnimationEnd "knight fight" changehealth type:"bunny" -150 OnAnimationEnd "knight fight" changehealth type:"snake" -125 OnAnimationEnd "knight fight" changehealth name:"dragon" -250 Notice that you use type: qualifier for the bunny and snake so that this command applies to any bunny or snake that the knight is fighting. You can use either the type or the name for the dragon since there is only one in the scene. 5. Open the Bunny_script.txt and Snake_script.txt files and you will see similar OnAnimationEnd handlers for the bunny and snake attacks. If you change the health values in the bunny, snake and the knight scripts, you can change how the game plays by making it easier or harder to win Using Actors as Structures The portcullis and portcullis block deserve more explanation. We mentioned that the portcullis block is an invisible object that blocks the portcullis so that the knight cannot walk through it. However, we know that actors cannot be put into the octree structure so how does the invisible blocker work since it is an actor? There are two issues here. The first is how an actor can behave like a structure, and the second is why we need the extra invisible blocker at all. Think about a simpler example which is a door opening. The door must be an actor since it is animated. However, the door should behave like a structure until it opens. Ignition uses a little trick to get around this. In the actor's script you include the following command: MakeStructure actors true This line of script tells Ignition to put the door's polygons into the octree even though the door was exported as an actor. The word 'actors' that comes after MakeStructure tells Ignition that the door only blocks actors. It will not block the camera. If you want to block the camera you can replace the word 'actors' with the word 'camera'. If you want to block them both you use the word 'both'. Now, the octree cannot be recalculated, so once those polygon positions are recorded in the octree when Ignition is initializing, they cannot be changed. So even though the door opens in an animation, the octree still uses the old positions. However, the trick is that although Ignition cannot change the octree polygon positions, it can certainly ignore them! So if you have a script command that tells Ignition to just ignore the door part of the octree after it animates, you essentially make that structure go away. Here's an example of how that is done: OnAnimationEnd "open door" makestructure false 5

6 This tells Ignition that when the "open door" animation ends, the octree should ignore it. Now the character or camera can get through the doorway. If you forget to include this line of script, the door will open, but you still will not be able to get through the doorway. There is one variation for the OnAnimationEnd handler that you should be aware of. If the door is only allowed to open, then stays open, you would use the form shown above. But if the door can be repeatedly clicked open and closed, you want to toggle the structure state. You do this by exporting the door animation as reversible so that repeated clicks open then close the door. Then include the following form: OnAnimationEnd "open door" makestructure toggle The value toggle simply says that each time the "open door" animation runs, the structure state toggles off and on. Since "open door" was exported as reversible, everything will work as expected. Now that you understand how to make actors behave like structures, we turn to the case of the portcullis. Why not just use the MakeStructure commands for the portcullis object itself? Why did we add the invisible portcullis blocker? There are two reasons and they are both important. They both arise because of the geometry of the portcullis, which is shown in the figure below. The first reason is something that was discussed when we described the use of collision meshes. The portcullis is like a grate, and has a lot of polygons. However, we can easily use a much simpler planar object to block the knight. So there is no 6

7 reason to include the complex portcullis in the octree. We can be much more efficient by building a planar collision mesh that has only a couple of triangles. This is a practice you should get into for many of your structures. The second reason is that when Ignition does the calculations for structure collisions it looks at the pivot point of the actor and potential collisions of the pivot point with the polygons of the structure. If the actor's pivot point wanders through any of the gap regions, there will be no collision and the actor will just walk through the portcullis. So the first reason is that of efficiency, but the second reason is because the system just won't work for the portcullis geometry at all. The image below shows the planer, invisible portcullis block in green, which consists of only two triangles. 7

8 1. To complete the bell interactivity part of Knightfall, go to Actors > Portcullis Block and open the Portcullis Block_script.txt file. 2. Type in the following two commands: MakeStructure actors true OnAnimationend "portcullis block raise" makestructure false The completed Bell and Handle_script.txt, Chalice_script.txt, Knight_script.txt, Parchment Drawbridge_script.txt, Portcullis Block_script.txt files can be found in the Step 14 finished subdirectory Knightfall Project Step 15 - Winning and Losing Winning or losing the game is triggered by an OnAnimationEnd handler. For Knightfall we want the user to win if he slays the dragon, and to lose if the knight dies. So the OnAnimationEnd handler will be invoked at the end of either the knight's death animation or the dragon's death animation. The first thing to do is to decide how you want to inform the user that they have won or lost. There are only two ways to do this. You can provide win and lose image screens, or let Ignition simply pop up a text message. The text message option works automatically if you do not supply the images. For Knightfall we use the following two win and lose screens: 8

9 To specify your images for winning and losing, do the following: 1. In the scripts directory, open the Intro_script.txt file. 2. Type in the following commands: Win "Game_win.jpg" Lose "Game_lose.jpg" Next you set the conditions where these screens pop up. 1. Open Knight_script.txt. 2. First we want to perform the die animation for the knight when his health goes to 0. This is done with the OnZeroHealth command: OnZeroHealth "knight die" 3. At the end of the die animation, the lose screen should pop up. Type the following command to enable this: OnAnimationend "knight die" lose 4. Open Dragon_script.txt. 5. To win the game, the dragon must die. The dragon script already contains the OnZeroHealth command. Type the following command: OnAnimationEnd "dragon die" win 6. Save the files. The completed Dragon_script.txt and Knight_script.txt files can be found in the Step 15 finished subdirectory, along with all the other script files that you have completed in this curriculum. Copyright Applied IDEAS, Inc. All rights reserved. 9

Damaging, Attacking and Interaction

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

2. General Game Engine Principals and Using Ignition

2. General Game Engine Principals and Using Ignition 2. General Game Engine Principals and Using Ignition 2.1 Overview Wikipedia defines a game engine this way: "A game engine is the core software component of a computer or video game or other interactive

More information

Shadows in the graphics pipeline

Shadows in the graphics pipeline Shadows in the graphics pipeline Steve Marschner Cornell University CS 569 Spring 2008, 19 February There are a number of visual cues that help let the viewer know about the 3D relationships between objects

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

Introduction to Unreal Engine Blueprints for Beginners. By Chaven R Yenketswamy

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

Navigation Mesh based Pathfinding for large crowds

Navigation Mesh based Pathfinding for large crowds Navigation Mesh based Pathfinding for large crowds Robert Lindner Introduction This paper is about methods that can be used to get as much performance as possible while simulating the pathfinding of large

More information

The purpose of this tutorial is to introduce you to the Construct 2 program. First, you will be told where the software is located on the computer

The purpose of this tutorial is to introduce you to the Construct 2 program. First, you will be told where the software is located on the computer Learning Targets: Students will be introduced to industry recognized game development software Students will learn how to navigate within the software Students will learn the basics on how to use Construct

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

lundi 7 janvier 2002 Blender: tutorial: Building a Castle Page: 1

lundi 7 janvier 2002 Blender: tutorial: Building a Castle Page: 1 lundi 7 janvier 2002 Blender: tutorial: Building a Castle Page: 1 www.blender.nl this document is online at http://www.blender.nl/showitem.php?id=4 Building a Castle 2000 07 19 Bart Veldhuizen id4 Introduction

More information

Introduction to Events

Introduction to Events Facilitation Guide Introduction to Events ( http://www.alice.org/resources/lessons/introduction-to-events/ ) Summary This guide is intended to guide the facilitator through the creation of events and using

More information

Math Dr. Miller - Constructing in Sketchpad (tm) - Due via by Friday, Mar. 18, 2016

Math Dr. Miller - Constructing in Sketchpad (tm) - Due via  by Friday, Mar. 18, 2016 Math 304 - Dr. Miller - Constructing in Sketchpad (tm) - Due via email by Friday, Mar. 18, 2016 As with our second GSP activity for this course, you will email the assignment at the end of this tutorial

More information

3D LEADS 2D: ANIMATING A 3D CHARACTER WITH A 3D STAND-IN USING MAYA

3D LEADS 2D: ANIMATING A 3D CHARACTER WITH A 3D STAND-IN USING MAYA Chapter 3 3D CHARACTER LEADS 2D CHARACTER 53 printing and pegging of the 3D assets and possible registration issues. In scenes where one character is definitively leading the other one, it is an easy pipeline.

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

Renderize Live Overview

Renderize Live Overview Renderize Live Overview The Renderize Live interface is designed to offer a comfortable, intuitive environment in which an operator can create projects. A project is a savable work session that contains

More information

Chapter 19- Object Physics

Chapter 19- Object Physics Chapter 19- Object Physics Flowing water, fabric, things falling, and even a bouncing ball can be difficult to animate realistically using techniques we have already discussed. This is where Blender's

More information

Flames in Particle Flow

Flames in Particle Flow Flames in Particle Flow In this tutorial we are going to take a look at creating some licking flames in Particle Flow. I warn you however, is that this method of fire creation is very processor intensive.

More information

[ the academy_of_code] Senior Beginners

[ the academy_of_code] Senior Beginners [ the academy_of_code] Senior Beginners 1 Drawing Circles First step open Processing Open Processing by clicking on the Processing icon (that s the white P on the blue background your teacher will tell

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

MANAGING MODS Imported mods are located in:..\[steamlibrary]\steamapps\common\purefarming \ PureFarming_Data\StreamingAssets\IMPORTER\mod

MANAGING MODS Imported mods are located in:..\[steamlibrary]\steamapps\common\purefarming \ PureFarming_Data\StreamingAssets\IMPORTER\mod IMPORTER MANUAL MANAGING MODS Imported mods are located in:..\[steamlibrary]\steamapps\common\purefarming \ PureFarming_Data\StreamingAssets\IMPORTER\mod Mods created by others also have to be placed in

More information

Working with the Dope Sheet Editor to speed up animation and reverse time.

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

Major Assignment: Pacman Game

Major Assignment: Pacman Game Major Assignment: Pacman Game 300580 Programming Fundamentals Week 10 Assignment The major assignment involves producing a Pacman style game with Clara using the Greenfoot files that are given to you.

More information

Valuable points from Lesson 6 Adobe Flash CS5 Professional Classroom in a Book

Valuable points from Lesson 6 Adobe Flash CS5 Professional Classroom in a Book Valuable points from Lesson 6 Adobe Flash CS5 Professional Classroom in a Book You are expected to understand and know how to use/do each of these tasks in Flash CS5, unless otherwise noted below. If you

More information

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public

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

The Alice Scene Editor

The Alice Scene Editor Facilitation Guide The Alice Scene Editor ( http://www.alice.org/resources/lessons/building-a-scene/ ) Summary This facilitation guide is intended to guide the instructor through the introduction of the

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

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

Taskbar: Working with Several Windows at Once

Taskbar: Working with Several Windows at Once Taskbar: Working with Several Windows at Once Your Best Friend at the Bottom of the Screen How to Make the Most of Your Taskbar The taskbar is the wide bar that stretches across the bottom of your screen,

More information

Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural

Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural 1 Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural to consider using it in video games too. 2 I hope that

More information

: Intro Programming for Scientists and Engineers Assignment 1: Turtle Graphics

: Intro Programming for Scientists and Engineers Assignment 1: Turtle Graphics Assignment 1: Turtle Graphics Page 1 600.112: Intro Programming for Scientists and Engineers Assignment 1: Turtle Graphics Peter H. Fröhlich phf@cs.jhu.edu Joanne Selinski joanne@cs.jhu.edu Due Date: Wednesdays

More information

Adding a Trigger to a Unity Animation Method #2

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

TUTORIAL. Commandability in BACnet. David Fisher. 13-Aug-2016

TUTORIAL. Commandability in BACnet. David Fisher. 13-Aug-2016 TUTORIAL PolarSoft Inc. 914 South Aiken Ave Pittsburgh PA 15232-2212 412-683-2018 voice info@polarsoft.com www.polarsoft.com Commandability in BACnet David Fisher 13-Aug-2016 2016, David Fisher, used by

More information

Texturing laying out Uv's part I - Levitateme

Texturing laying out Uv's part I - Levitateme Texturing laying out Uv's part I - Levitateme In this tutorial, I am going to try and teach people my method of laying out uvs. I think laying out uvs is a art form, I think everyone has there own style,

More information

Making Your World with Triggers triggers obviously

Making Your World with Triggers triggers obviously Making Your World with Triggers triggers obviously The goal of this tutorial is to build on the last tutorial (Making Your World Leverly) by teaching you how to use two things, conversation filters and

More information

Creating Breakout - Part 2

Creating Breakout - Part 2 Creating Breakout - Part 2 Adapted from Basic Projects: Game Maker by David Waller So the game works, it is a functioning game. It s not very challenging though, and it could use some more work to make

More information

Tutorial: Accessing Maya tools

Tutorial: Accessing Maya tools Tutorial: Accessing Maya tools This tutorial walks you through the steps needed to access the Maya Lumberyard Tools for exporting art assets from Maya to Lumberyard. At the end of the tutorial, you will

More information

HOW TO USE THE INSTANCING LAB IN BRYCE 7.1 PRO/ A complete tutorial

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

The Retreat 3. A picture is worth a thousand words Napoleon Bonaparte. The CAD Academy Permission to copy

The Retreat 3. A picture is worth a thousand words Napoleon Bonaparte. The CAD Academy Permission to copy The Retreat 3 A picture is worth a thousand words Napoleon Bonaparte The CAD Academy Permission to copy A picture is worth a thousand words. Working with a 3D BIM model leaves no doubt in our clients mind

More information

move object resize object create a sphere create light source camera left view camera view animation tracks

move object resize object create a sphere create light source camera left view camera view animation tracks Computer Graphics & Animation: CS Day @ SIUC This session explores computer graphics and animation using software that will let you create, display and animate 3D Objects. Basically we will create a 3

More information

Platformer Tutorial 8 - Adding Mr.Green and Character Animation. Last month. Character FX

Platformer Tutorial 8 - Adding Mr.Green and Character Animation. Last month. Character FX Last month Things became a lot more dangerous as traps and deadly particles were added. It just wouldn t be the same without Mr.Green so he s making his debut this month. As this has always been the plan,

More information

Computer Graphics - Treasure Hunter

Computer Graphics - Treasure Hunter Computer Graphics - Treasure Hunter CS 4830 Dr. Mihail September 16, 2015 1 Introduction In this assignment you will implement an old technique to simulate 3D scenes called billboarding, sometimes referred

More information

Lesson 01 Polygon Basics 17. Lesson 02 Modeling a Body 27. Lesson 03 Modeling a Head 63. Lesson 04 Polygon Texturing 87. Lesson 05 NURBS Basics 117

Lesson 01 Polygon Basics 17. Lesson 02 Modeling a Body 27. Lesson 03 Modeling a Head 63. Lesson 04 Polygon Texturing 87. Lesson 05 NURBS Basics 117 Table of Contents Project 01 Lesson 01 Polygon Basics 17 Lesson 02 Modeling a Body 27 Lesson 03 Modeling a Head 63 Lesson 04 Polygon Texturing 87 Project 02 Lesson 05 NURBS Basics 117 Lesson 06 Modeling

More information

Tutorial: Exporting characters (Maya)

Tutorial: Exporting characters (Maya) Tutorial: Exporting characters (Maya) This tutorial walks you through the steps needed to get a character exported from Maya and ready for importing into Lumberyard, including how to export the character

More information

Tutorial: Importing static mesh (FBX)

Tutorial: Importing static mesh (FBX) Tutorial: Importing static mesh (FBX) This tutorial walks you through the steps needed to import a static mesh and its materials from an FBX file. At the end of the tutorial you will have new mesh and

More information

Citrix Connectivity Help. Table of Contents

Citrix Connectivity Help. Table of Contents Citrix Connectivity Help Table of Contents I. Purpose of this Document II. Print Preview Freezing III. Closing Word/ PD² Correctly IV. Session Reliability V. Reconnecting to Disconnected Applications VI.

More information

COMP : Practical 8 ActionScript II: The If statement and Variables

COMP : Practical 8 ActionScript II: The If statement and Variables COMP126-2006: Practical 8 ActionScript II: The If statement and Variables The goal of this practical is to introduce the ActionScript if statement and variables. If statements allow us to write scripts

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

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

Midterm Exam, October 24th, 2000 Tuesday, October 24th, Human-Computer Interaction IT 113, 2 credits First trimester, both modules 2000/2001

Midterm Exam, October 24th, 2000 Tuesday, October 24th, Human-Computer Interaction IT 113, 2 credits First trimester, both modules 2000/2001 257 Midterm Exam, October 24th, 2000 258 257 Midterm Exam, October 24th, 2000 Tuesday, October 24th, 2000 Course Web page: http://www.cs.uni sb.de/users/jameson/hci Human-Computer Interaction IT 113, 2

More information

Normal Maps and Cube Maps. What are they and what do they mean?

Normal Maps and Cube Maps. What are they and what do they mean? Normal Maps and Cube Maps What are they and what do they mean? What s the Point of All This? Q: What re we doing? What s the Point of All This? Q: What re we doing? A: Making a game that looks good What

More information

Technical Manual Urban Ninja

Technical Manual Urban Ninja Sarah Somers B00330887 CS1106 Section 1 sarah.somers000@gmail.com Technical Manual Urban Ninja Kevin Leach B00321788 CS1106 Section x leach@cs.dal.ca INTRODUCTION Our game is called defend the dojo, you

More information

Game Design Report appendices

Game Design Report appendices Lokaverkefni 2017 Háskólinn í Reykjavík SUPER-COLLOSAL TITAN WARFARE Game Design Report appendices Hermann Ingi Ragnarsson Jón Böðvarsson Örn Orri Ólafsson Appendix A - Assets & sounds 3D Assets Following

More information

Mount Points Mount Points is a super simple tool for connecting objects together and managing those relationships.

Mount Points Mount Points is a super simple tool for connecting objects together and managing those relationships. Mount Points Mount Points is a super simple tool for connecting objects together and managing those relationships. With Mount Points, you can simply drag two objects together and when their mount points

More information

1. Mesh Coloring a.) Assign unique color to each polygon based on the polygon id.

1. Mesh Coloring a.) Assign unique color to each polygon based on the polygon id. 1. Mesh Coloring a.) Assign unique color to each polygon based on the polygon id. Figure 1: The dragon model is shown rendered using a coloring scheme based on coloring each triangle face according to

More information

: Rendered background can show navigation mesh : Multi-level backgrounds, priority backgrounds and Z-ordering.

: Rendered background can show navigation mesh : Multi-level backgrounds, priority backgrounds and Z-ordering. Update history: 2017-04-13: Initial release on Marketplace for UE4.15. 2017-05-09: Rendered background can show navigation mesh. 2017-05-19: Multi-level backgrounds, priority backgrounds and Z-ordering.

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

What s New to Version 3.0

What s New to Version 3.0 SU Animate 3.0 Guide What s New to Version 3.0... 2 Install... 3 Cameras, Curves & Paths... 4 Use a Camera path to create a simple walk thru effect... 6 Animating Objects with Target Groups... 6 Using

More information

Decisions, Decisions. Testing, testing C H A P T E R 7

Decisions, Decisions. Testing, testing C H A P T E R 7 C H A P T E R 7 In the first few chapters, we saw some of the basic building blocks of a program. We can now make a program with input, processing, and output. We can even make our input and output a little

More information

What's New in Cut2D Desktop 8.5

What's New in Cut2D Desktop 8.5 What's New in Cut2D Desktop 8.5 A quick start guide for Cut2D Desktop upgraders Copyright Vectric Ltd. Document V.1.0 Contents CONTENTS... 2 OVERVIEW... 3 ENHANCED & EXTENDED DRAWING TOOLS... 4 ENHANCED

More information

Cartoon Animation Tutorial

Cartoon Animation Tutorial Cartoon Animation Tutorial In this tutorial, we will create a Cartoon Animation. We will first create a story line. Based on the story line, we will create sprites and scenes, and finally add scripts to

More information

NAME EET 2259 Lab 3 The Boolean Data Type

NAME EET 2259 Lab 3 The Boolean Data Type NAME EET 2259 Lab 3 The Boolean Data Type OBJECTIVES - Understand the differences between numeric data and Boolean data. -Write programs using LabVIEW s Boolean controls and indicators, Boolean constants,

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

This chapter is intended to take you through the basic steps of using the Visual Basic

This chapter is intended to take you through the basic steps of using the Visual Basic CHAPTER 1 The Basics This chapter is intended to take you through the basic steps of using the Visual Basic Editor window and writing a simple piece of VBA code. It will show you how to use the Visual

More information

What s New to Version 2.0

What s New to Version 2.0 SU Animate 2.0 Guide What s New to Version 2.0...1 Install...2 Cameras, Curves & Paths...3 Use a Camera path to create a simple walk thru effect...8 Animating Objects with Target Groups...9 Using four

More information

About this document. Introduction. Where does Life Forms fit? Prev Menu Next Back p. 2

About this document. Introduction. Where does Life Forms fit? Prev Menu Next Back p. 2 Prev Menu Next Back p. 2 About this document This document explains how to use Life Forms Studio with LightWave 5.5-6.5. It also contains short examples of how to use LightWave and Life Forms together.

More information

Digital Video Projects (Creating)

Digital Video Projects (Creating) Tim Stack (801) 585-3054 tim@uen.org www.uen.org Digital Video Projects (Creating) OVERVIEW: Explore educational uses for digital video and gain skills necessary to teach students to film, capture, edit

More information

Transforming Objects and Components

Transforming Objects and Components 4 Transforming Objects and Components Arrow selection Lasso selection Paint selection Move Rotate Scale Universal Manipulator Soft Modification Show Manipulator Last tool used Figure 4.1 Maya s manipulation

More information

InfoSphere goes Android Flappy Bird

InfoSphere goes Android Flappy Bird So you have decided on FlappyBird. FlappyBird is a fun game, where you have to help your bird create an App, which to dodge the storm clouds. This work sheet will help you let s you control a generates

More information

Memory Management: High-Level Overview

Memory Management: High-Level Overview Lecture 9 : High-Level Overview Gaming Memory (Last Generation) Playstation 3 256 MB RAM for system 256 MB for graphics card X-Box 360 512 MB RAM (unified) Nintendo Wii 88 MB RAM (unified) 24 MB for graphics

More information

UI Elements. If you are not working in 2D mode, you need to change the texture type to Sprite (2D and UI)

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

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

Who has worked on a voxel engine before? Who wants to? My goal is to give the talk I wish I would have had before I started on our procedural engine.

Who has worked on a voxel engine before? Who wants to? My goal is to give the talk I wish I would have had before I started on our procedural engine. 1 Who has worked on a voxel engine before? Who wants to? My goal is to give the talk I wish I would have had before I started on our procedural engine. Three parts to this talk. A lot of content, so I

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

Game Programming Lab 25th April 2016 Team 7: Luca Ardüser, Benjamin Bürgisser, Rastislav Starkov

Game Programming Lab 25th April 2016 Team 7: Luca Ardüser, Benjamin Bürgisser, Rastislav Starkov Game Programming Lab 25th April 2016 Team 7: Luca Ardüser, Benjamin Bürgisser, Rastislav Starkov Interim Report 1. Development Stage Currently, Team 7 has fully implemented functional minimum and nearly

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

CS 147 Let s Do This! Assignment 6 Report

CS 147 Let s Do This! Assignment 6 Report CS 147 Let s Do This! Assignment 6 Report 1. Team Name: Value Proposition Let s Do This: Achieve your goals with friends. 2. Team members names and roles Eric - Developer, manager. Video filming, editing,

More information

Motivation. Culling Don t draw what you can t see! What can t we see? Low-level Culling

Motivation. Culling Don t draw what you can t see! What can t we see? Low-level Culling Motivation Culling Don t draw what you can t see! Thomas Larsson Mälardalen University April 7, 2016 Image correctness Rendering speed One day we will have enough processing power!? Goals of real-time

More information

The steps we are going to perform are: 1. Create our ingredients (Flavor and nicotine) 2. Create our recipe 3. Save the recipe (more on this later)

The steps we are going to perform are: 1. Create our ingredients (Flavor and nicotine) 2. Create our recipe 3. Save the recipe (more on this later) Overview Many features have been added to the JuiceCalculator since the rollout of Version 1. While new features add additional functionality, it can also make the calculator intimidating to use for the

More information

Flash offers a way to simplify your work, using symbols. A symbol can be

Flash offers a way to simplify your work, using symbols. A symbol can be Chapter 7 Heavy Symbolism In This Chapter Exploring types of symbols Making symbols Creating instances Flash offers a way to simplify your work, using symbols. A symbol can be any object or combination

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

This view is called User Persp - perspective. It's good for rendering, but not for editing. Ortho will be better.

This view is called User Persp - perspective. It's good for rendering, but not for editing. Ortho will be better. Create a crate simple placeable in Blender. In this tutorial I'll show you, how to create and texture a simple placeable, without animations. Let's start. First thing is always to have an idea, how you

More information

Computer Graphics Introduction. Taku Komura

Computer Graphics Introduction. Taku Komura Computer Graphics Introduction Taku Komura What s this course all about? We will cover Graphics programming and algorithms Graphics data structures Applied geometry, modeling and rendering Not covering

More information

Basic Triangle Congruence Lesson Plan

Basic Triangle Congruence Lesson Plan Basic Triangle Congruence Lesson Plan Developed by CSSMA Staff Drafted August 2015 Prescribed Learning Outcomes: Introduce students to the concept of triangle congruence and teach them about the congruency

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

How Do Computers Solve Geometric Problems? Sorelle Friedler, University of Maryland - College Park

How Do Computers Solve Geometric Problems? Sorelle Friedler, University of Maryland - College Park How Do Computers Solve Geometric Problems? Sorelle Friedler, University of Maryland - College Park http://www.cs.umd.edu/~sorelle Outline Introduction Algorithms Computational Geometry Art Museum Problem

More information

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Chap. 5 Scene Management Overview Scene Management vs Rendering This chapter is about rendering

More information

Cache Coherence Tutorial

Cache Coherence Tutorial Cache Coherence Tutorial The cache coherence protocol described in the book is not really all that difficult and yet a lot of people seem to have troubles when it comes to using it or answering an assignment

More information

Scratch Lesson 2: Movies Made From Scratch Lesson Framework

Scratch Lesson 2: Movies Made From Scratch Lesson Framework Scratch Lesson 2: Movies Made From Scratch Lesson Framework Scratch makes it easy to program your own interactive stories, games, and animations and share your creations on the web. As you create and share

More information

Computer Graphics and Linear Algebra Rebecca Weber, 2007

Computer Graphics and Linear Algebra Rebecca Weber, 2007 Computer Graphics and Linear Algebra Rebecca Weber, 2007 Vector graphics refers to representing images by mathematical descriptions of geometric objects, rather than by a collection of pixels on the screen

More information

Create Turtles with Python

Create Turtles with Python Create Turtles with Python BY PATRICIA FOSTER / PROGRAMMING / OCTOBER 2017 ISSUE Create turtles with Python, the programming language. Turtles make great pets. They re small, slow, and clean. Plus, who

More information

Part 1. Summary of For Loops and While Loops

Part 1. Summary of For Loops and While Loops NAME EET 2259 Lab 5 Loops OBJECTIVES -Understand when to use a For Loop and when to use a While Loop. -Write LabVIEW programs using each kind of loop. -Write LabVIEW programs with one loop inside another.

More information

12/15/2008. All about Game Maker. Integrated Development Environment for 2D games Global idea

12/15/2008. All about Game Maker. Integrated Development Environment for 2D games Global idea Game Design 2008 Lecture 09 All about Game Maker Which is required for last assignment Integrated Development Environment for 2D games Global idea Simple to use, using drag-and-drop Still considerable

More information

Excel Basics: Working with Spreadsheets

Excel Basics: Working with Spreadsheets Excel Basics: Working with Spreadsheets E 890 / 1 Unravel the Mysteries of Cells, Rows, Ranges, Formulas and More Spreadsheets are all about numbers: they help us keep track of figures and make calculations.

More information

Creating joints for the NovodeX MAX exporter

Creating joints for the NovodeX MAX exporter Creating joints for the NovodeX MAX exporter (a step-by-step tutorial by Pierre Terdiman) p.terdiman@wanadoo.fr Version 0.3 I) Creating a hinge Here we'll see how to create a hinge joint compatible with

More information

The Polygonal Lasso Tool In Photoshop

The Polygonal Lasso Tool In Photoshop The Polygonal Lasso Tool In Photoshop Written by Steve Patterson. Photoshop s Polygonal Lasso Tool, another of its basic selections tools, is a bit like a cross between the Rectangular Marquee Tool and

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

Acknowledgement: Images and many slides from presentations by Mark J. Kilgard and other Nvidia folks, from slides on developer.nvidia.

Acknowledgement: Images and many slides from presentations by Mark J. Kilgard and other Nvidia folks, from slides on developer.nvidia. Shadows Acknowledgement: Images and many slides from presentations by Mark J. Kilgard and other Nvidia folks, from slides on developer.nvidia.com Practical & Robust Stenciled Shadow Volumes for Hardware-Accelerated

More information

Lesson 2. Introducing Apps. In this lesson, you ll unlock the true power of your computer by learning to use apps!

Lesson 2. Introducing Apps. In this lesson, you ll unlock the true power of your computer by learning to use apps! Lesson 2 Introducing Apps In this lesson, you ll unlock the true power of your computer by learning to use apps! So What Is an App?...258 Did Someone Say Free?... 259 The Microsoft Solitaire Collection

More information

Adding Depth to Games

Adding Depth to Games Game Maker Tutorial Adding Depth to Games Written by Mark Overmars Copyright 2007-2009 YoYo Games Ltd Last changed: December 23, 2009 Uses: Game Maker 8.0, Pro Edition, Advanced Mode Level: Intermediate

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