Fundaments of Game Design

Slides:



Advertisements
Similar presentations
Artificial Intelligence in Game Design
Advertisements

what is VA? advantages tools a b c what is VA? advantages tools fully integrated architectural plug-in for Rhino 4 powerful feature-based editor to create.
5/20/20151 Using UDK Editor CIS 488/588 Bruce R. Maxim UM-Dearborn.
GameCamp! and Game Davis Introduction to Unity®
GameCamp! and Game Davis Creating a 2D Platformer in Unity.
Soldier of Fortune 2: Double Helix Paris York CIS 588.
Google SketchUp Castle
VisualARQVisualARQ ARCHITECTURAL TOOLS FOR RHINO.
Dakota Humphries (Project Lead) Thomas Impellitteri (Tech Lead) Daryl McGhee II (Design Lead) Keith Rosier (Asset Lead)
Modeling and Animation with 3DS MAX R 3.1 Graphics Lab. Korea Univ. Reference URL :
Google Sketchup Lab Mr. Garner Tech Ed Lime Kiln MS.
Copyright © 2015 Curt Hill Building a Simple Level Adding Some Standard Actors.
EEC-693/793 Applied Computer Vision with Depth Cameras Lecture 13 Wenbing Zhao
TERRAIN SET09115 Intro to Graphics Programming. Breakdown  Basics  What do we mean by terrain?  How terrain rendering works  Generating terrain 
Draft manual IPS 2.0 Robotics education HM Automation Solution Education.
Maya 8 at a Glance Chapter 7: Paint Effects. Paint Effects Basics 2 Paint Effects is a tool that works like a paint brush Paint Effects can paint 2D effects.
Web Games Programming An Introduction to Unity 3D.
UFCFS D Technologies for the Web Unity 3D: Review of Topics and Related Concepts.
10/27/20151 UDK Terrain CIS 488/588 Bruce R. Maxim UM-Dearborn.
Motion Planning in Games Mark Overmars Utrecht University.
SE 320 – Introduction to Game Development Lecture 3: Unity’s Interface and Concepts Lecturer: Gazihan Alankuş Please look at the last two slides for assignments.
UFCFS D Technologies for the Web Unity Interface Features.
Random Map Generation and Transport Unit AI for Strategy Games By Russell Kuchar.
UFCEK-20-3Web Games Programming Unity 3D: Review of Topics Publishing for the Web.
F.E.A.R. Game AI Evaluation by Robert Rak. What is F.E.A.R. ? FEAR is a First Person Shooter game Player takes on the role of an elite strike force team.
Introduction to BIM Module 05 – Fixtures, Fittings, and Furniture.
Model Editing James Martin High School Computer Multimedia and Animation Instructor: G. Patton From: CHAPTER 5 – 3DS MAX AND ITS APPLICATIONS.
Speed Tree Let’s Make a Forest Copyright © 2015 – Curt Hill.
Copyright © 2015 Curt Hill Building a Simple Level No UnrealScript but several editors.
Environment Design by Stefanie Kristiansson. Project Recap  Jungle scene  Frapped walk through video  Simplicity Low poly environment modeling Textures.
 Advancing from moving premade primitives to making our own models  Two different approaches: ◦ Direct mesh editing: A more traditional approach commonly.
UFCFSU-30-13D Technologies for the Web An Introduction to Unity 3D.
Computer Graphics Imaging Lecture 13 and 14 UV Mapping.
INTRO TO UNITY Building your first 3D game. DISCLAIMER  “This website is not affiliated with, maintained, endorsed or sponsored by Unity Technologies.
Yingcai Xiao Game Development with Unity3D Inside/Outside Unity3D.
CHAPTER 7 LESSON B Creating Database Reports. Lesson B Objectives  Describe the components of a report  Modify report components  Modify the format.
Game Development with Unity3D
Unity 3D Rolfe Bozier 24-Apr-2017
EEC-693/793 Applied Computer Vision with Depth Cameras
Game Development with Unity3D Inside/Outside Unity3D
Layers in Adobe After Effect
Scene Manager Creates and places movable objects like lights and cameras so as to access them efficiently, e.g. for rendering. Loads and assembles world.
OVERVIEW Objectives Follow a design document to prepare images for inclusion in a Web page Run a batch process to prepare multiple images in one step Use.
3GB3 Game Design Unity 3D Basics.
Working in the Forms Developer Environment
2D Graphics and Animations in Unity 3D
EEC-693/793 Applied Computer Vision with Depth Cameras
Workshop 3.1 Sketching DesignModeler.
Application of Artificial Intelligence and Graphics to Support a Three-Dimensional Game Chris Cummings.
Enemy and Friendly AIs Richard Gesick.
INTRODUCTION TO 3-D 3-D CAD TERMINOLOGY 2-D
Assignment 8 Chess Game.
School’s Name Teacher’s Name Date
EEC-693/793 Applied Computer Vision with Depth Cameras
Aaron Camm, Jeff Huggins, Steve Moskal, Patrick Cardwell
CSE 381 – Advanced Game Programming Terrain
NWC601COM – 3D Modelling and Animation
3D Max screen shot Top view Right side view Front view
Computer Animation UV Mapping.
Chapter 2 Parametric Modeling Fundamentals
Mastering Autodesk Revit MEP 2016 CHAPTER 19: Creating Equipment
Introduction to Grasshopper for rhino
NWC601COM – 3D Modelling and Animation
Unity Terrain Design Tutorial
Fundaments of Game Design
EEC-693/793 Applied Computer Vision with Depth Cameras
Unity Game Development
It Starts With Parts PART 2 PART 1 PART N Product is made up of parts
Unity Game Development
Presentation transcript:

Fundaments of Game Design Unity Terrain, Trees and Navmesh Richard Gesick

Objectives Unity terrain Unity vegetation/trees Navmesh and navigation

Unity Terrain Unity’s terrain system allows you to add vast landscapes to your games. At runtime, terrain is highly optimized for rendering efficiency while in the editor, a selection of tools is available to make terrains easy and quick to create. A Terrain GameObject adds a large flat plane to your scene and you can use the Terrain’s Inspector window to create a detailed landscape

Creating and editing Terrains To add a Terrain GameObject to your Scene, select GameObject > 3D Object > Terrain from the menu. This also adds a corresponding Terrain Asset to the Project view. When you do this, the landscape is initially a large, flat plane. The Terrain’s Inspector window provides a number of tools you can use to create detailed landscape features.

Tools The paint brush in the terrain toolbar is used to raise and lower the terrain height, paint the terrain texture and paint trees. Trees are solid 3D GameObjects that grow from the surface. Unity uses optimizations, like billboarding for distant Trees, to maintain good rendering performance. This means that you can have dense forests with thousands of trees and still keep an acceptable frame rate. Unity has several tree types in Standard Assets.

Grass and other details A terrain can have grass clumps and other small objects such as rocks covering its surface. Grass is rendered by using 2D images to represent the individual clumps while other details are generated from standard meshes.

Navigation System in Unity The Navigation System allows you to create characters which can navigate the game world. It gives your characters the ability to understand that they need to take stairs to reach second floor, or to jump to get over a ditch. The Unity NavMesh system consists of the following pieces: NavMesh NavMesh Agent Off Mesh Link NavMesh Obstacle

Navigation Mesh and agent NavMesh is a data structure which describes the walkable surfaces of the game world and allows to find path from one walkable location to another in the game world. The data structure is built, or baked, automatically from your level geometry. NavMesh Agent component helps you to create characters which avoid each other while moving towards their goal. Agents reason about the game world using the NavMesh and they know how to avoid each other as well as moving obstacles.

Off mesh link Off-Mesh Link component allows you to incorporate navigation shortcuts which cannot be represented using a walkable surface. For example, jumping over a ditch or a fence, or opening a door before walking through it, can be all described as Off-mesh links.

NavMesh obstacle NavMesh Obstacle component allows you to describe moving obstacles the agents should avoid while navigating the world. A barrel or a crate controlled by the physics system is a good example of an obstacle. While the obstacle is moving the agents do their best to avoid it, but once the obstacle becomes stationary it will carve a hole in the navmesh so that the agents can change their paths to steer around it. If the stationary obstacle is blocking the path way, the agents can find a different route.

Building a NavMesh The process of creating a NavMesh from the level geometry is called NavMesh Baking. The process collects the Render Meshes and Terrains of all Game Objects which are marked as Navigation Static, and then processes them to create a navigation mesh that approximates the walkable surfaces of the level.

Building a NavMesh NavMesh generation is handled from the Navigation window (menu: Window > AI > Navigation). Building a NavMesh for your scene can be done in 4 quick steps: Select scene geometry that should affect the navigation – walkable surfaces and obstacles. Check Navigation Static on to include selected objects in the NavMesh baking process. Adjust the bake settings to match your agent size. Agent Radius defines how close the agent center can get to a wall or a ledge. Agent Height defines how low the spaces are that the agent can reach. Max Slope defines how steep the ramps are that the agent walk up. Step Height defines how high obstructions are that the agent can step on. Click bake to build the NavMesh. The resulting NavMesh will be shown in the scene as a blue overlay on the underlying level geometry whenever the Navigation Window is open and visible.

Creating a NavMesh Agent Create a cylinder: GameObject > 3D Object > Cylinder. The default cylinder dimensions (height 2 and radius 0.5) are good for a humanoid shaped agent, so we will leave them as they are. Add a NavMesh Agent component: Component > Navigation > NavMesh Agent. Now you have simple NavMesh Agent set up ready to receive commands. When you start to experiment with a NavMesh Agent, you most likely are going to adjust its dimensions for your character size and speed.

Creating a NavMesh Agent The NavMesh Agent component handles both the pathfinding and the movement control of a character. In your scripts navigation can be as simple as setting the desired destination point - the NavMesh Agent can handle everything from there on.