Sidescrolling 2.5D Shooter

Size: px
Start display at page:

Download "Sidescrolling 2.5D Shooter"

Transcription

1 Sidescrolling 2.5D Shooter Viking Crew Development

2 1 Introduction Support D or 3D physics? Multiple (additive) scenes Characters Creating different looking characters Inventory AI Who s behind the wheel? What does Seeker do? Guns Procedure for creating a new weapon Bullet manager World Pathfinding Planned features Introduction 1

3 1 Introduction This system aims to be a base project for anyone who wants to create a 2.5D gun n run game. The scripts follow SOLID-principles as closely as possible in order to make it easily extendible. For example, where possible UnityEvents are used to communicate between scripts so that the scripts do not need to reference each other. If you have suggestions for further improvements in this regard let us know! 1.1 Support There is a thread for support questions at: If you prefer support through the address is: mike@vikingcrew.net There is also a thread for ideas, suggestions and feature requests at All ideas are most welcome, regardless of whether you own the package or not! We would also love to hear about your projects. If you have a plan for something you want to make, please do not hesitate to let us know. We can probably give valuable advice on how to get the most out of the package. Note that you are currently reading the first version of this manual. Any and all feedback on it would be most welcome! 1.2 2D or 3D physics? In this package we have implemented 2.5D in two versions: One uses 2D physics for all game logic related physics (characters, bullets etc.) and uses 3D physics only for visual effects (particles, ragdolls etc.). The other one uses 3D physics for everything. Which one you choose to use is up to you and your project requirements. 2D for logic is better performance wise. It might also be easier to separate the logic and the visual effects. In a future update however, we plan to integrate a voxel engine for destructible environments and there is no real high performance 2D equivalent to the 3D mesh collider which makes integrating a voxel engine using marching cubes very hard in 2D. If this is of no interest to you then we recommend you go with 2D physics. 1.3 Multiple (additive) scenes You do not have to use multiple scenes, the two scenes 2D demo scene and 3D demo scene are complete scenes ready to be played, using 2D and 3D physics respectively. In case you prefer to work with additive scenes instead these are included in the scene subfolder Additive scenes. Usage of these scenes is described below. The basic level is a simple level built to work with both 2D and 3D logic. To get a scene playing load the scenes basic level and one of 2D logic or 3D logic scenes. Introduction 2

4 Additive scene management is a new feature as of Unity version 5.1 so if you need to brush up on what it means read more here: 2 Characters The character is controlled through one script, CharacterController2D.cs. The ai (AIControls.cs) or the player (PlayerControls.cs) both call methods in that one script to interact with the world or their equipment. Character controls are entirely physics based and thus do not use root motion at all. Figure 1 The important child objects of the character prefab In Figure 1 the important child objects of the character prefab are displayed. Their main responsibilities are: Character - Parent object, contains most of the logic scripts Character model - Display the character EthanSkeleton - Contains the ragdoll and the skeleton hierarchy Blood 1 - Particle system for splashing blood when getting hit Minimap marker - A sprite renderer that displays the character on the minimap Character data canvas - A world space canvas that displays meters for health and reload progress Characters 3

5 Figure 2 The components of the character parent object. Some of their responsibilities are described in further detail below. 2.1 Creating different looking characters There is a prefab for characters in the prefab folder called Character. If you want to change the character model, then you should copy this prefab and change the child object Character model to look the way you want. Note that some manual work will be needed, you will need to set the variables of the script IK Control to the hand and head of your new character skeleton in order to have the character grab the weapon properly. You will also need to create a new ragdoll for the character model you are using. How to do that is further described here: Example: Polygon Blacksmith has a couple of cool soldiers that would work great in a sidescrolling shooter. Here we will demonstrate the steps needed to import one of those models and use as a playable character in the game. For a list of recommended assets to import see this link: Run 'n Gun asset list Steps The general steps are to import a new prefab, create a ragdoll for it and make sure that its animator and some other variables are assigned to the player logic. The order of the steps is not important. Characters 4

6 1. Duplicated the prefab of Character2D or Character3D (select it and press cmd+d or ctrl+d) 2. Import the prefab you d want to use 3. Create ragdoll for the new prefab ( see manual for instructions: ) 4. Fine tune ragdoll if needed 5. Translate, scale and rotate the new character to fit the existing character 6. Replace the Character model transform (child of the CharacterXD prefab) with the new character 7. Assign the variable Ragdoll Parent in the Take Damage Behaviour script to contain the parent transform of the ragdoll 8. The Character Model needs to have two scripts attached, IKControl.cs and FootstepSounds.cs, attach these (or copy from old character model) 9. Assign the variable Controller in the Animator script to contain the SideScrollAnimatorController. 10. Make sure the animator has Apply Root Motion set to false 11. Assign the variable Body Animator of the script CharacterController2D to contain the animator of your new character. This will make the script animate the correct model based on its running speed, jumping etc. 12. Set the variable IK in the script Inventory Behaviour to the new IKControl script you added. This will make the hands go to the handles of the weapon and the head turn towards the aiming direction when wielding weapons. 13. Set the variable Gun Parent Bone in the script Inventory Behaviour to a proper bone of the bone hierarchy. It is recommended to use hips or spine but you could also add a new child transform to any bone you like. The gun will be held at this bone and the IK script will make the hands move to the weapon handles. 14. Select the Hitboxes transform and check in the editor view that the hitboxes are ok in size. Also check them in game when crouching and jumping. The size and position of the colliders will be changed when jumping and crouching based on the variables in the script Body Part Collider that is assigned to each child of HitBoxes. They should not require much editing if the character is about the same size as the original one. If you decide to use other animations than the supplied ones then they may need more editing. The AI Controls scrip and the CharacterController2D scripts draw their detectors (detecting obstacles, ground and such) in the editor view. In order to better see the colliders it might be preferable to turn this drawing off by setting their respective dodebugdrawdetector variables to false in the inspector. 15. Assign the variable Eyes of the AI Controls script. This is use to do raycasting from the character s point of view to determine visibility. If your character does not have a transform for eyes then set it to its head transform. You could also create your own child transform for the position you want to raycast from. 16. Test playing with the character. Sometimes the IK-script will make the hands and arms a bit jerky when the IK can t make the hands reach the handles of the weapon. In those cases you may need to adjust weapon handles or the transform used as Gun Parent Bone. If the front hand can t reach the handle then move the bone backwards etc. If you get stuck then it is recommended not using unity default IK but a professional IK solution, such as Final IK by RootMotion on Unity Asset Store. It will allow you to fine tune the IK settings to make sure arms don t intersect with the body etc. while the standard Unity IK has no such specialties. Characters 5

7 Figure 3 The WW2 soldier we will import Figure 4 Step 3 completed, ragdoll generated. Note that the chest and hips colliders need adjusting Characters 6

8 Figure 5 Step 4: Ragdoll has been fine tuned. Note the hips and chest colliders have been changed Figure 6 Step 5: The new character scaled and rotated to fit the old character. Next step is to set them to the same position Characters 7

9 Figure 7 Step 6: replace the "Character model" with your new prefab, in this case "ToonSoldier_WW2.." Figure 8 Step 7: Replace ragdoll parent with the new one Characters 8

10 Figure 9 Steps 8,9 and 10 Characters 9

11 Figure 10 Step 11: Set body animator Figure 11 Step 12 and 13: Set Ik script and Gun Parent bone of the inventory behaviour Characters 10

12 Figure 12 Step 14: Check the hitboxes in the editor view (green thin outline). There is one collider each for feet, body and head. Figure 13 Debug detectors drawn. These can be turned off. Characters 11

13 Figure 14 Colliders ok Figure 15 Chest collider too high and head too low in left image. Fixed in right image. Characters 12

14 Now that we have set up working prefabs we can simply change the Character Prefab of the Team Behaviours in a scene and these will be spawned instead of the old ones. Note that teams can have different materials by setting the variable Team Colors to a specific material. If you do not want different materials just leave this variable empty and no materials will be changed. If you are using the WW2 soldiers of Polygon Blacksmith then it is now trivial to create the American version. Just duplicate the prefab and change the material and the mesh. All other settings can be left unchanged. 2.2 Inventory The InventoryBehaviour.cs script handles all things regarding inventory for the player. Note that it also is responsible for handling some interactions with the current weapon such as reloading. 2.3 AI The AIControls class represents a pretty simple minded state machine based AI. It does two things, it thinks in Think() and determines what actions to take and it acts in Act() where it send signals to CharacterController2D.cs to make the character move the way it planned when thinking. As thinking is a costly operation which may require pathfinding lots of ray casting and such Think() is put in a coroutine and only runs a few times per second. For more information about pathfinding see chapter 5. If you want the AI to tell you what it is thinking as debug messages in the console, then set the Verbose Debug variable to true in the inspector. 2.4 Who s behind the wheel? The player can be given control of a character by the TeamBehaviour.cs script. Currently this happens when the controlled character dies. You could edit the script to allow for changing characters through some other measure if you like. 2.5 What does Seeker do? Seeker is the component that finds a path in the pathfinding graph that should span the world. Read more about it in chapter 5. Characters 13

15 3 Guns You want more guns, right? A weapon needs to things: A prefab and a data scriptable object that describes it. The prefab is responsible for things like how the weapon looks and sounds and the scriptable object is responsible for pure data like how many bullets does it have in a mag and how much damage does it cause. The idea here is that you could reuse the prefab for different types of weapons if you like where you could have the same prefab but have it cause different amount of damage depending on weapon quality or something like that. 3.1 Procedure for creating a new weapon Right click in the project view, select Create -> Firearm data. This will create a new Firearm Data scriptable object. Figure 16 Create Firearm Data scriptable object Guns 14

16 Figure 17 Edit firearm data Next, duplicate one of the already existing weapon prefabs or create your own. If you create your own, then assign the same components and children as the existing prefabs. Make sure to assign the prefab in the firearm data scriptable object. Figure 18 Hierarchy of a firearm prefab We use inverse kinematics (IK) to determine the position of the character s hands. This way we do not need a specific animation for every weapon we create. The Firearm Behaviour script needs a reference to the hands if you want their position to be controlled. If you do not, then leave the references to null and the inverse kinematics will ignore them and let the normal animation run its course. This way you could assign the right hand only if you want the character to only hold a weapon with one hand. The muzzle offset forward is used to make the character point is head a few meters in front of the barrel to make it look like he is aiming. If you do not want this behavior, then just do no assign that variable. It should be pointed out that the IK of the Unity Engine are not fantastic. If you want better IK it is strongly recommended that you have a look at the package Final IK by Root Motion ( in the asset store. The principle will still be the same, the end result will just look a lot better. Guns 15

17 Figure 19 Example of the components of a firearm prefab Guns 16

18 3.2 Bullet manager As there will be tons of bullets flying in this type of game it is important to keep down garbage generation. If we created and destroyed game objects for every time a trigger was pulled the garbage collector would be up in its neck in just bullets. Therefore, when a bullet disappears for some reason (maybe entering a body or striking a wall) it is recycled by the Bullet Manager and will be reused next time someone fires a weapon. Note that if you want to add a new type of bullet, like exploding rockets, arrows or thrown axes, then you should add a new object pool to the bullet manager for that type of bullet. If this is a new concept to you then you may want to read up on it: 4 World Pathfinding for jumping platforms is more complex that one would think. In this system we have tried to create as simple a system as possible for this. In order to allow for pathfinding, we must build the world in such a way that it can be interpreted by the pathfinder. Specifically, you should have a look at the building blocks in the Prefabs/LevelConstruction-folder. Note that the Viking Prototype Cube-prefab has a script called GenerateWaypoints.cs. This script uses the two variables Start Point an End Point and places waypoints along a line between these two points for the pathfinder to use. This is to let the pathfinder figure out where there are platforms that characters can run on. If you want to place something in the world that the ai should not run on, then you do not need this script. You could instead manually place Waypoint-prefabs anywhere you want the AI to be able to run but this becomes tedious fast Make sure that the waypoint intervals are shorter than the Max Distance variables set in the Jump Graph of the A* pathfinder or they will not be connected. Don t make them too short or there will be too many connections in the graph to make it efficient. Note that the shader used by the material for the construction prefabs allows you to rescale the objects and maintain texture uvs in world coordinates. You can probably use this using your own prefabs and textures as well. World 17

19 Figure 20 A Viking Prototype Cube placed in the editor Figure 21 The same cube with the scale along x-axis increased. Note how the texture adapts according to world coordinates. World 18

20 Figure 22 The same cube now during gameplay. Note how waypoints have been automaticlly placed along its walkable surface. If you look closely you can see how the red lines show traversable edges in the graph. 5 Pathfinding Aron Granberg has kindly permitted the free version of his awesome A-star Pathfinding Project to be included in this project. If you own the pro-version of that asset and want to use it instead, then read the instructions in the JumpGraph.cs-script. For more information about the A-star Pathfinding Project check out or A* pathfinding project on Asset Store If you replace the pathfinding asset included then you must make sure that AstarData.cs look like this around line 50: #if ASTAR_FAST_NO_EXCEPTIONS UNITY_WINRT UNITY_WEBGL /** Graph types to use when building with Fast But No Exceptions for iphone. * If you add any custom graph types, you need to add them to this hard-coded list. */ public static readonly System.Type[] DefaultGraphTypes = new System.Type[] { typeof(gridgraph), typeof(pointgraph), typeof(navmeshgraph), typeof(jumpgraph), Pathfinding 19

21 #endif }; Sidescrolling 2.5D Shooter typeof(gridjumpgraph), This is to ensure that the types JumpGraph and GridJumpGraph are included. In this project we have implemented two new types of graphs for pathfinding where actors need to jump between platforms. These are the JumpGraph and the GridJumpGraph.You can find the implementation details in the path Assets\VikingCrew\2.5D Sidescrolling Shooter\Scripts\Pathfinding. The JumpGraph introduces two new features; a waypoint node will only be connected to a node above it if it is no higher than the variable Max Jump Height of the Jump Graph in the inspector. Vice versa there is a max drop height that characters will allow to avoid jumping from too high heights. Nodes are also only connected if there is no 2D collider between them. Pathfinding 20

22 Figure 23 You can set variables like max jump height in the inspector. Note that the graph will use both jump and drop height and max distance to determine connectivity. The GridJumpGraph instead uses a grid graph and samples points on that grid. Each point connectivity is also based on jump height etc. It is used in e.g. the Voxel test scene where each voxel corresponds to a tile in the grid graph. Note that if characters have different jump heights the AI will need to use the lowest jumping height available to calculate paths or one of your lower jumping characters might get stuck. If you have very varying jump heights it might make sense to create several different graphs, one for each jump height. Pathfinding 21

23 6 Integrations This package has currently two integrations. One is the open sourced voxel engine Cubiquity. The other one is Toon Soldiers WW2 by Polygon Blacksmith. 6.1 Integration instructions Cubiquity The Cubiquity engine is open sourced and can thus be included in full. It does not depend on any other assets and can thus be imported as is Toon Soldiers WW2 This integration requires that you already own Toon Soldiers WW2 by Polygon Blacksmith. Make sure to first import that package. Then import the integration package. You ll get two prefabs of soldiers that can be used instead of the standard ones. 6.2 Other integrations? Do you have other suggestions of packs that should be integrated? Let me know and I ll take care of it! Integrations 22

24 7 Planned features There are many ideas for future updates. Some of them are: Wall climb Wall jump Jetpack Grapple hook Weapon recoil and reloading animations More guns: Machine guns, rocket launchers, hand grenades etc. X-Box (etc.) controller support More object pools for characters, weapons etc. for increased performance Multiplayer, local or online UMA 2.0 integration Playmaker support Integration of other packages such as Final IK, PuppetMaster, DunGen etc. There is a fine balance when adding features in keeping the package clean and simple to use and the awesomeness new features would bring. If you as user or presumptive customer have any feelings that you d like to share, then please do so through either of the channels mentioned in the introduction. Planned features 23

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

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

3D Starfields for Unity

3D Starfields for Unity 3D Starfields for Unity Overview Getting started Quick-start prefab Examples Proper use Tweaking Starfield Scripts Random Starfield Object Starfield Infinite Starfield Effect Making your own Material Tweaks

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

Tutorial: Using the UUCS Crowd Simulation Plug-in for Unity

Tutorial: Using the UUCS Crowd Simulation Plug-in for Unity Tutorial: Using the UUCS Crowd Simulation Plug-in for Unity Introduction Version 1.1 - November 15, 2017 Authors: Dionysi Alexandridis, Simon Dirks, Wouter van Toll In this assignment, you will use the

More 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

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

The Motion Controller uses the Actor Controller to actually move the character. So, please review the Actor Controller Guide as well!

The Motion Controller uses the Actor Controller to actually move the character. So, please review the Actor Controller Guide as well! The Motion Controller uses the Actor Controller to actually move the character. So, please review the Actor Controller Guide as well! Input Source Camera Movement Rotations Motion Controller Note: MC is

More information

Actions and Graphs in Blender - Week 8

Actions and Graphs in Blender - Week 8 Actions and Graphs in Blender - Week 8 Sculpt Tool Sculpting tools in Blender are very easy to use and they will help you create interesting effects and model characters when working with animation and

More information

VISIT FOR THE LATEST UPDATES, FORUMS & MORE ASSETS.

VISIT  FOR THE LATEST UPDATES, FORUMS & MORE ASSETS. Gargoyle VISIT WWW.SFBAYSTUDIOS.COM FOR THE LATEST UPDATES, FORUMS & MORE ASSETS. 1. INTRODUCTION 2. QUICK SET UP 3. PROCEDURAL VALUES 4. SCRIPTING 5. ANIMATIONS 6. LEVEL OF DETAIL 7. CHANGE LOG 1. Introduction

More information

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

High level NavMesh Building Components

High level NavMesh Building Components High level NavMesh Building Components Here we introduce four high level components for the navigation system: NavMeshSurface for building and enabling a navmesh surface for one agent type. NavMeshModifier

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

the gamedesigninitiative at cornell university Lecture 12 2D Animation

the gamedesigninitiative at cornell university Lecture 12 2D Animation Lecture 12 2D Animation Animation Basics: The FilmStrip Animation is a sequence of hand-drawn frames Smoothly displays action when change quickly Also called flipbook animation Arrange animation in a sprite

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

Easy Decal Version Easy Decal. Operation Manual. &u - Assets

Easy Decal Version Easy Decal. Operation Manual. &u - Assets Easy Decal Operation Manual 1 All information provided in this document is subject to change without notice and does not represent a commitment on the part of &U ASSETS. The software described by this

More information

Integrating Physics into a Modern Game Engine. Object Collision. Various types of collision for an object:

Integrating Physics into a Modern Game Engine. Object Collision. Various types of collision for an object: Integrating Physics into a Modern Game Engine Object Collision Various types of collision for an object: Sphere Bounding box Convex hull based on rendered model List of convex hull(s) based on special

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

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

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

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

Unity Game Development

Unity Game Development Unity Game Development 1. Introduction to Unity Getting to Know the Unity Editor The Project Dialog The Unity Interface The Project View The Hierarchy View The Inspector View The Scene View The Game View

More information

Workshop BOND UNIVERSITY. Bachelor of Interactive Multimedia and Design. Asteroids

Workshop BOND UNIVERSITY. Bachelor of Interactive Multimedia and Design. Asteroids Workshop BOND UNIVERSITY Bachelor of Interactive Multimedia and Design Asteroids FACULTY OF SOCIETY AND DESIGN Building an Asteroid Dodging Game Penny de Byl Faculty of Society and Design Bond University

More information

Mastering Truspace 7

Mastering Truspace 7 How to move your Truespace models in Dark Basic Pro by Vickie Eagle Welcome Dark Basic Users to the Vickie Eagle Truspace Tutorials, In this first tutorial we are going to build some basic landscape models

More information

Minecraft Due: Mar. 1, 2015

Minecraft Due: Mar. 1, 2015 CS1972 Topics in 3D Game Engine Development Barbara Meier Minecraft Due: Mar. 1, 2015 Introduction In this assignment you will build your own version of one of the most popular indie games ever: Minecraft.

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

LECTURE 5. Announcements

LECTURE 5. Announcements LECTURE 5 Announcements Falling Behind? Talk to us You still pass the class if you hand in all projects at the end of the semester Hand in even if you think you won t satisfy the playtesting requirements

More information

Minecraft Due: March. 6, 2018

Minecraft Due: March. 6, 2018 CS1950U Topics in 3D Game Engine Development Barbara Meier Minecraft Due: March. 6, 2018 Introduction In this assignment you will build your own version of one of the most popular indie games ever: Minecraft.

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

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

Unity Scripting 4. CS 491 / DES 400 Crea.ve Coding. Computer Science

Unity Scripting 4. CS 491 / DES 400 Crea.ve Coding. Computer Science Unity Scripting 4 Unity Components overview Particle components Interaction Key and Button input Parenting CAVE2 Interaction Wand / Wanda VR Input Devices Project Organization Prefabs Instantiate Unity

More information

Dungeons+ Pack PBR VISIT FOR THE LATEST UPDATES, FORUMS, SCRIPT SAMPLES & MORE ASSETS.

Dungeons+ Pack PBR VISIT   FOR THE LATEST UPDATES, FORUMS, SCRIPT SAMPLES & MORE ASSETS. Dungeons+ Pack PBR VISIT WWW.INFINTYPBR.COM FOR THE LATEST UPDATES, FORUMS, SCRIPT SAMPLES & MORE ASSETS. 1. INTRODUCTION 2. QUICK SET UP 3. PROCEDURAL VALUES 4. SCRIPTING 5. ANIMATIONS 6. LEVEL OF DETAIL

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

Game Development for

Game Development for Game Development for Who am I? Harry Krueger Senior Programmer at Housemarque Games Lead Programmer on Resogun Presentation Flow Intro to Housemarque and Resogun Housemarque Engine and Tools Platform-specific

More information

PixelSurface a dynamic world of pixels for Unity

PixelSurface a dynamic world of pixels for Unity PixelSurface a dynamic world of pixels for Unity Oct 19, 2015 Joe Strout joe@luminaryapps.com Overview PixelSurface is a small class library for Unity that lets you manipulate 2D graphics on the level

More information

The playhead, shown as a vertical red beam, passes each frame when a movie plays back, much like movie fi lm passing in front of a projector bulb.

The playhead, shown as a vertical red beam, passes each frame when a movie plays back, much like movie fi lm passing in front of a projector bulb. The project: AIRPLANE I will show you a completed version of this project.. Introducing keyframes and the Timeline One of the most important panels in the Flash workspace is the Timeline, which is where

More information

Customize Your Environment

Customize Your Environment 26 c h a p t e r 2 Customize Your Environment Every vector drawing program comes with default settings. In general, the defaults are OK, but customizing your preferences will make creating your vector

More information

8K Earth, Moon and Mars Shaders Asset V Documentation

8K Earth, Moon and Mars Shaders Asset V Documentation 8K Earth, Moon and Mars Shaders Asset V0.3.3 Documentation Charles Pérois - 2015 Introduction 2 Table des matières 1. Introduction...3 2. Release Note...4 3. How to Use...5 1. Set the scene...5 1. Set

More information

User Manual. Version 2.0

User Manual. Version 2.0 User Manual Version 2.0 Table of Contents Introduction Quick Start Inspector Explained FAQ Documentation Introduction Map ity allows you to use any real world locations by providing access to OpenStreetMap

More information

LECTURE 6. Announcements

LECTURE 6. Announcements LECTURE 6 Announcements Minecraft 3 Feedback Infinite worlds! Terrain looks good Gameplay not super varied Happy Birthday Hassan! The Voxel Engine You re done with your first collision engine! Environment

More information

Hierarchical Dynamic Pathfinding for Large Voxel Worlds

Hierarchical Dynamic Pathfinding for Large Voxel Worlds Hierarchical Dynamic Pathfinding for Large Voxel Worlds Benoit Alain Lead Programmer & CTO, Sauropod Studio Hierarchical Dynamic Pathfinding for Large Voxel Worlds Hierarchical Dynamic Pathfinding for

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

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

Black Desert Online. Taking MMO Development to the Next Level. Dongwook Ha Gwanghyeon Go

Black Desert Online. Taking MMO Development to the Next Level. Dongwook Ha Gwanghyeon Go Black Desert Online Taking MMO Development to the Next Level Dongwook Ha (dongwook@pearlabyss.com) Gwanghyeon Go (xdotdt@pearlabyss.com) 2018-03-23 Black Desert Online Challenges Massive data and contents

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

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday Announcements Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday 1 Spatial Data Structures Hierarchical Bounding Volumes Grids Octrees BSP Trees 11/7/02 Speeding Up Computations

More information

LECTURE 7. Announcements

LECTURE 7. Announcements LECTURE 7 Announcements Minecraft 4 Feedback Looks good! A game that minimally involves platforms Not based on any game in particular Super Mario 64? Team Fortress 2? Completely up to you to make unique

More information

Character Animation 1

Character Animation 1 Character Animation 1 Overview Animation is a big topic We will concentrate on character animation as is used in many games today humans, animals, monsters, robots, etc. Character Representation A character

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

Spatial Data Structures

Spatial Data Structures Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) [Angel 9.10] Outline Ray tracing review what rays matter? Ray tracing speedup faster

More information

Auto Texture Tiling Tool

Auto Texture Tiling Tool Table of Contents Auto Texture Tiling Tool Version 1.80 Read Me 1. Basic Functionality...2 1.1 Usage...2 1.1.1 Dynamic Texture Tiling...2 1.1.2 Basic Texture Tiling...3 1.1.3 GameObject menu item...3 1.2

More information

Progress Bar Pack. Manual

Progress Bar Pack. Manual Progress Bar Pack Manual 1 Overview The Progress Bar Pack contains a selection of textures, shaders and scripts for creating different ways to visualize linear data, such as health, level load progress,

More information

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

Pacman. you want to see how the maze was created, open the file named unity_pacman_create_maze.

Pacman. you want to see how the maze was created, open the file named unity_pacman_create_maze. Pacman Note: I have started this exercise for you so you do not have to make all of the box colliders. If you want to see how the maze was created, open the file named unity_pacman_create_maze. Adding

More 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

Character Animation. Presented by: Pam Chow

Character Animation. Presented by: Pam Chow Character Animation Presented by: Pam Chow Overview Animation is a big topic We will concentrate on character animation as is used in many games today humans, animals, monsters, robots, etc. PLAZMO AND

More information

1.7 Inventory Item Animation Legacy Mecanim General Settings Waypoints Group

1.7 Inventory Item Animation Legacy Mecanim General Settings Waypoints Group ELIOT MANUAL Contents 1 Agent... 4 1.1 Description... 4 1.2 Unit Factory... 5 1.2.1 General... 5 1.2.2 Perception... 6 1.2.3 Motion... 6 1.2.4 Resources... 7 1.2.5 Other... 7 1.2.6 Skills... 7 1.2.7 Create...

More information

Toon Boom Harmony Advanced V15.0

Toon Boom Harmony Advanced V15.0 Advanced Toon Boom Harmony Advanced V15.0 Gaming Guide TOON BOOM ANIMATION INC. 4200 Saint-Laurent, Suite 1020 Montreal, Quebec, Canada H2W 2R2 +1 514 278 8666 contact@toonboom.com toonboom.com Harmony

More information

Learning Autodesk Maya The Modeling & Animation Handbook. Free Models From Turbo Squid Value US $ Official Autodesk Training Guide

Learning Autodesk Maya The Modeling & Animation Handbook. Free Models From Turbo Squid Value US $ Official Autodesk Training Guide Free Models From Turbo Squid Value US $239.00 Official Autodesk Training Guide Learning Autodesk Maya 2008 The Modeling & Animation Handbook A hands-on introduction to key tools and techniques in Autodesk

More information

Spatial Data Structures

Spatial Data Structures CSCI 480 Computer Graphics Lecture 7 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids BSP Trees [Ch. 0.] March 8, 0 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s/

More information

GAM 223 Game Design Workshop. Project 3D Maze Level Design DUE DATE: / / Design, Modeling & UV unwrapping

GAM 223 Game Design Workshop. Project 3D Maze Level Design DUE DATE: / / Design, Modeling & UV unwrapping GAM 223 Game Design Workshop Project 3D Maze Level Design DUE DATE: / / Design, Modeling & UV unwrapping Creating games like creating movies needs actors, sets, scripts, sounds and effects. However, first

More information

CGDD 4113 Final Review. Chapter 7: Maya Shading and Texturing

CGDD 4113 Final Review. Chapter 7: Maya Shading and Texturing CGDD 4113 Final Review Chapter 7: Maya Shading and Texturing Maya topics covered in this chapter include the following: Shader Types Shader Attributes Texturing the Axe Life, Love, Textures and Surfaces

More information

Ray Cast Geometry. RayCast Node for Motion, Displacements and Instancing. New to The Ray Cast Geometry node has received an upgrade for 2018.

Ray Cast Geometry. RayCast Node for Motion, Displacements and Instancing. New to The Ray Cast Geometry node has received an upgrade for 2018. Ray Cast Geometry New to 2018 The Ray Cast Geometry node has received an upgrade for 2018. The Clipped Ray, Object item ID and Point Index of nearest vertex of the found intersection have been added as

More information

Underwater Manager (Optional)

Underwater Manager (Optional) Underwater Shaders - Version 1.5 Thank you for purchasing Underwater Shaders! Underwater Manager (Optional) The Underwater Manager prefab can be dragged into your scene. It is a simple game object with

More information

Distributed Programming

Distributed Programming Distributed Programming Lecture 04 - Introduction to Unreal Engine and C++ Programming Edirlei Soares de Lima Editor Unity vs. Unreal Recommended reading: Unreal

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) March 28, 2002 [Angel 8.9] Frank Pfenning Carnegie

More information

Auto Texture Tiling Tool

Auto Texture Tiling Tool Table of Contents Auto Texture Tiling Tool Version 1.77 Read Me 1. Basic Functionality...2 1.1 Usage...2 1.2 Unwrap Method...3 1.3 Mesh Baking...4 1.4 Prefabs...5 2. Gizmos and Editor Window...6 1.1 Offset...6

More 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

How to start your Texture Box Project!

How to start your Texture Box Project! How to start your Texture Box Project! Shapes, naming surfaces, and textures. Lightwave 11.5 Part One: Create Your Shape Choose Start, Programs, New Tek, Lightwave and Modelor (the orange one). 1.In one

More information

Assignment 4: Flight Simulator

Assignment 4: Flight Simulator VR Assignment 4: Flight Simulator Released : Feb 19 Due : March 26th @ 4:00 PM Please start early as this is long assignment with a lot of details. We simply want to make sure that you have started the

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

8iUnityPlugin Documentation

8iUnityPlugin Documentation 8iUnityPlugin Documentation Release 0.4.0 8i Jul 18, 2017 Contents 1 What is the 8i Plugin? 3 2 Why are we doing it? 5 3 Supported Unity Versions and Platforms 7 4 Supported Unity Versions and Platforms

More information

Creating a Double IK Chain in Lightwave

Creating a Double IK Chain in Lightwave Creating a Double IK Chain in Lightwave By: Jake Stewart, Stewart864@live.missouristate.edu Introduction: This tutorial is provide some helpful (hopefully) instructions on creating a double IK chain in

More information

Spatial Data Structures

Spatial Data Structures CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration

More information

Chapter 13 - Modifiers

Chapter 13 - Modifiers Chapter 13 - Modifiers The modifier list continues to grow with each new release of Blender. We have already discussed the Subdivision Surface (SubSurf) and Ocean modifiers in previous chapters and will

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie

More information

Creating animation rigs that solve problems, are fun to use, and don t cause nervous breakdowns.

Creating animation rigs that solve problems, are fun to use, and don t cause nervous breakdowns. Animator Friendly Rigging Creating animation rigs that solve problems, are fun to use, and don t cause nervous breakdowns. - 1- CONTENTS Finishing The Rig... 6 Matching Controls... 7 Matching the position

More information

Animator Friendly Rigging Part 2b

Animator Friendly Rigging Part 2b Animator Friendly Rigging Part 2b Creating animation rigs which solve problems, are fun to use, and don t cause nervous breakdowns. - 1- CONTENTS Review The Requirements... 5 Torso Animation Rig Requirements...

More information

CS248 Lecture 2 I NTRODUCTION TO U NITY. January 11 th, 2017

CS248 Lecture 2 I NTRODUCTION TO U NITY. January 11 th, 2017 CS248 Lecture 2 I NTRODUCTION TO U NITY January 11 th, 2017 Course Logistics Piazza Staff Email: cs248-win1617-staff@lists.stanford.edu SCPD Grading via Google Hangouts: cs248.winter2017@gmail.com Homework

More information

Shade tutorial: Shoes for Poser.

Shade tutorial: Shoes for Poser. Shade tutorial: Shoes for Poser www.oscillator.se/3d Notes Welcome to the Shade tutorial: Shoes for Poser. This is my first tutorial for Shade. I was inspired by the friendly and generous people at Shader

More information

Fruit Snake SECTION 1

Fruit Snake SECTION 1 Fruit Snake SECTION 1 For the first full Construct 2 game you're going to create a snake game. In this game, you'll have a snake that will "eat" fruit, and grow longer with each object or piece of fruit

More information

Tutorial: Understanding the Lumberyard Interface

Tutorial: Understanding the Lumberyard Interface Tutorial: Understanding the Lumberyard Interface This tutorial walks you through a basic overview of the Interface. Along the way we will create our first level, generate terrain, navigate within the editor,

More information

CS248. Game Mechanics

CS248. Game Mechanics CS248 Game Mechanics INTRODUCTION TOM WANG 2007 BS/MS CS KEY GAME MECHANICS * * * * * WORLD BUILDING CONTROLS CAMERA AI PERFORMANCE WORLD BUILDING WORLD BUILDING Set the atmosphere and tone of the game.

More information

You can also export a video of what one of the cameras in the scene was seeing while you were recording your animations.[2]

You can also export a video of what one of the cameras in the scene was seeing while you were recording your animations.[2] Scene Track for Unity User Manual Scene Track Plugin (Beta) The scene track plugin allows you to record live, textured, skinned mesh animation data, transform, rotation and scale animation, event data

More information

Tutorial: Introduction to Flow Graph

Tutorial: Introduction to Flow Graph Tutorial: Introduction to Flow Graph This tutorial introduces you to Flow Graph, including its core concepts, the Flow Graph editor and how to use it to create game logic. At the end of this tutorial,

More information

Tutorial: Working with Lighting through Components

Tutorial: Working with Lighting through Components Tutorial: Working with Lighting through Components With a populated scene we can begin layering in light sources to add realism and light to our level. For this we will need to use an environmental probe

More information

Game Design Unity Workshop

Game Design Unity Workshop Game Design Unity Workshop Activity 1 Unity Overview Unity is a game engine with the ability to create 3d and 2d environments. Unity s prime focus is to allow for the quick creation of a game from freelance

More information

Webinar Series. Virtual Reality. February 28 th, :00 PM EST. Hosted by Jeff Bertrand and Ginny Moore

Webinar Series. Virtual Reality. February 28 th, :00 PM EST. Hosted by Jeff Bertrand and Ginny Moore Webinar Series Virtual Reality February 28 th, 2016 2:00 PM EST Hosted by Jeff Bertrand and Ginny Moore Virtual Reality Webinar Agenda Ø Application and Benefits Ø 3 Types of Virtual Reality Ø Advantages

More information

About the FBX Exporter package

About the FBX Exporter package About the FBX Exporter package Version : 1.3.0f1 The FBX Exporter package provides round-trip workflows between Unity and 3D modeling software. Use this workflow to send geometry, Lights, Cameras, and

More information

Unity introduction & Leap Motion Controller

Unity introduction & Leap Motion Controller Unity introduction & Leap Motion Controller Renato Mainetti Jacopo Essenziale renato.mainetti@unimi.it jacopo.essenziale@unimi.it Lab 04 Unity 3D Game Engine 2 Official Unity 3D Tutorials https://unity3d.com/learn/tutorials/

More information

DEVELOPERS MANUAL. Philip SUPER HAPPY FUN FUN INC Research Blvd. Suite C-220 Austin, TX, 78759

DEVELOPERS MANUAL. Philip SUPER HAPPY FUN FUN INC Research Blvd. Suite C-220 Austin, TX, 78759 DEVELOPERS MANUAL Philip SUPER HAPPY FUN FUN INC. 11044 Research Blvd. Suite C-220 Austin, TX, 78759 Table of Contents Quick Start Guide... 3 First Time Setup for Development... 4 Getting Started in Unity...

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: Getting Started - Flow Graph scripting

Tutorial: Getting Started - Flow Graph scripting Tutorial: Getting Started - Flow Graph scripting Overview This tutorial introduces the concept of game play scripting using the Flow Graph editor. You will set up Flow Graph scripts that do five things:

More information

Project 2: 3D transforms and Cameras

Project 2: 3D transforms and Cameras Project : D transforms and Cameras 50pts See schedule on website for the due date and time. The purpose of this assignment is to gain an understanding of how D transforms and viewing works in OpenGL with

More information

MODELING AND HIERARCHY

MODELING AND HIERARCHY MODELING AND HIERARCHY Introduction Models are abstractions of the world both of the real world in which we live and of virtual worlds that we create with computers. We are all familiar with mathematical

More information

Getting Custom Content Characters into Neverwinter Nights 2

Getting Custom Content Characters into Neverwinter Nights 2 Getting Custom Content Characters into Neverwinter Nights 2 This Tutorial assumes you know how to model and texture in 3DS Max. We will cover step-by-step how to replace existing NWN2 models with custom

More information

Name: Jonathan Lindquist Occupation: Technical Artist Company: Epic Games Duties: Author shaders Generate art Write scripts Miscellaneous tasks

Name: Jonathan Lindquist Occupation: Technical Artist Company: Epic Games Duties: Author shaders Generate art Write scripts Miscellaneous tasks Fortnite s Vertex Shaders Introduction : Personal Name: Jonathan Lindquist Occupation: Technical Artist Company: Epic Games Duties: Author shaders Generate art Write scripts Miscellaneous tasks Previous

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

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

8iUnityPlugin Documentation

8iUnityPlugin Documentation 8iUnityPlugin Documentation Release 0.4.0 8i Jun 08, 2017 Contents 1 What is the 8i Plugin? 3 2 Why are we doing it? 5 3 Supported Unity Versions and Platforms 7 i ii Welcome to the 8i Unity Alpha programme!

More information