Portal & Particle. Index Portal Particles Portal Room-Portal visibility system  Determine which room is shown at this time  Determine which object.

Slides:



Advertisements
Similar presentations
Introduction Games have always been a fundamental part of human life. Space storm “ عاصفة الفضاء” is a 3D SCI-FI game that consists of two stages presented.
Advertisements

4.9. P ARTICLE E FFECTS Use of particle effects within games.
AreaPortal Visibility By Filami. Objectives Practice the techniques of visibility determination using Area Portals; Develop an experimental application.
Occlusion Culling Fall 2003 Ref: GamasutraGamasutra.
CHAPTER 12 Height Maps, Hidden Surface Removal, Clipping and Level of Detail Algorithms © 2008 Cengage Learning EMEA.
CSE 381 – Advanced Game Programming Scene Management
UFCFX5-15-3Mobile Device Development Particle Systems.
Korea Univ. Graphics Lab. 3D Game Engine Design Chapter 12. Spatial Sorting Chung Ji Hye
Week 14 - Monday.  What did we talk about last time?  Bounding volume/bounding volume intersections.
Particle Systems 1 Adapted from: E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012.
Particle Systems and Fuzzy Shapes Presented by Dan Cogswell.
Scenegraph. Scenegraph Nodes - all implement a run function Leaf/Geo Nodes - typedefs of sgNode superclass –Poly Mesh A geo node that stores a list of.
UFCEKT-20-33D Modelling and Animation 3D Modelling & Animation Special Effects Picture...
Particle Systems GPU Graphics. Sample Particle System Fire and SmokeWater.
Java 3D Pablo Figueroa University of Alberta April 2000.
Chapter 5: Path Planning Hadi Moradi. Motivation Need to choose a path for the end effector that avoids collisions and singularities Collisions are easy.
UNC Chapel Hill M. C. Lin Review Particle Dynamics (see transparencies in class)
Collision Detection David Johnson Cs6360 – Virtual Reality.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Physically Based Animation.
Physically Based Animation and Modeling
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
1 Perception and VR MONT 104S, Spring 2008 Lecture 22 Other Graphics Considerations Review.
Modelling and Simulation Dynamics. Dynamics Dynamics is a branch of physics that describes how objects move. Dynamic animation uses rules of physics to.
Introduction Tracking the corners Camera model and collision detection Keyframes Path Correction Controlling the entire path of a virtual camera In computer.
NDVI-based Vegetation Rendering CGIM ‘07 Stefan Roettger, University of Erlangen
Real-Time Rendering SPEEDING UP RENDERING Lecture 04 Marina Gavrilova.
2 COEN Computer Graphics I Evening’s Goals n Discuss application bottleneck determination n Discuss various optimizations for making programs execute.
References: Wikipedia PHYSICS + VECTORS.  Why physics?  Good for every game developer to know.  Physics formulae are often vector-based  A good chance.
1 KIPA Game Engine Seminars Jonathan Blow Ajou University December 6, 2002 Day 10.
CSC505 Particle Systems. CSC505 Object Representations So far we have represented (rendered) objects with –Lines –Polygons (triangles) –Curves These techniques.
11 Lecture 3 Particle Effects References: [1] Gregory Junker, Pro OGRE 3D Programming, Apress, 2006 [2] Ogre Tutorials – Ogre Wiki
Project requirements Summer 2015 Intro to 3D Animation (Please use this address for me.)
CIS 350 – I Game Programming Instructor: Rolf Lakaemper.
Hierarchical Modeling
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
CSCE 552 Spring D Models By Jijun Tang. Triangles Fundamental primitive of pipelines  Everything else constructed from them  (except lines and.
Point Sprites Course Information CVG: Programming 4 My Name: Mark Walsh Website: Recommended.
Fundamentals of Level Editor Design and Implementation.
Basic Perspective Projection Watt Section 5.2, some typos Define a focal distance, d, and shift the origin to be at that distance (note d is negative)
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Physics + Vectors References: xyz. Variable frame rates (review) Two options for handling it: – Option1: Cap frame rates When moving / rotating express.
Perpetual Visualization of Particle Motion and Fluid Flow Presented by Tsui Mei Chang.
Graphics for Games Particle Systems CO2301 Games Development 1 Week 23.
Shadows David Luebke University of Virginia. Shadows An important visual cue, traditionally hard to do in real-time rendering Outline: –Notation –Planar.
Havok Xtra Training
3D Animation 3. Animation Dr. Ashraf Y. Maghari Information Technology Islamic University of Gaza Ref. Book: The Art of Maya.
Particle Animation and Rendering Using Data Parallel Computation Karl Sims Optomystic Thinking Machines Corporation Presentation ©2001 Brenden Schubert.
Building a Particle System References: 1. Gamasutra article by Van der Berg 2. Particle System API by McAllister 3. Explosion.c.
2D Graphics and Animations in Unity 3D
Visualization Shading
Levelsets in Production : Spider-Man 3
Animator Help Session.
Explode Tired of looking at Suzanne's ugly face? Itching to make her head explode? You've come to the right page. Just in case you're an animal lover though,
Computer Animation Ying Zhu Georgia State University
The Graphics Rendering Pipeline
Computer Graphics Imaging Ying Zhu Georgia State University
Graphics, Modeling, and Textures
3D Rendering Pipeline Hidden Surface Removal 3D Primitives
Review Particle Dynamics (see transparencies in class) UNC Chapel Hill
ATCM 6317Procedural Animation
Review ODE Basics Particle Dynamics (see transparencies in class)
Review ODE Basics Particle Dynamics (see transparencies in class)
Procedural Animation Lecture 8: Particle systems
7.3 Volume: The Shell Method
Electric Fields From Multiple Point Charges
Computer Animation Algorithms and Techniques
Particle Systems - A Technique for Modeling a Class of Fuzzy Objects
Use of particle effects within games
Review ODE Basics Particle Dynamics (see transparencies in class)
Presentation transcript:

Portal & Particle

Index Portal Particles

Portal Room-Portal visibility system  Determine which room is shown at this time  Determine which object is shown at this time

Portal (cont.) Portal Generation  By Designer Primitives  NiRoomGroup  NiRoom  Convex Region  NiRoom::Wall  NiPortal  Fixtures and Shell

Portal (cont.) Rooms Convex Region Components  Walls, Fixtures, Portals if the current room is being visited then return to calling room else mark the current room as being visited for each portal in the room test the portal against the current view rectangle if the portal is visible then downsize the view rectangle to bound the portal and recursively process the adjoining room end for process the current room's fixtures mark the current room as not being visited return to calling room

Portal (cont.) Portals “room” to “adjoiner”  Represent a way of seeing from a part of a scene graph “through” a polygon to another part of a scene graph Making “View Frustum” smaller

Portal (cont.) Walls

Portal (cont.) Fixtures Objects in a Room

Portal (cont.)

Portal (cont.) Design Strategy

Portal (cont.) Collision Detection Collision Detection pkRoomGroup->WhichRoom(pkObject->GetWorldBound().GetCenter())

Portal (cont.) Class Details NiPortal  *_NDLPR NiRoom  *_NDLRM  NiRoom::Wall - _NDLWL NiRoomGroup  *_NDLRG  Sorting with accumulator, Shell NiFixtureCuller  NiCullingProcess  Avoid Multiple Render with Map

Particle System Overview NiParticleSystem NiTimeControllerNiPSysModifierNiProperty 1 * 1 * 1 *

Particles (cont.) World Space Particles Model Space Particles Mesh Particle  Sprite-Based Particles  Pools for Reusing  Classes  NiMeshParticleSystem  NiMeshPSysData  NiPSysMeshUpdateModifier

Particles (cont.) Modifier Order Flags enum { ORDER_KILLOLDPARTICLES = 0, ORDER_EMITTER = 1000, ORDER_SPAWN = 2000, ORDER_GENERAL = 3000, ORDER_FORCE = 4000, ORDER_COLLIDER = 5000, ORDER_POSUPDATE = 6000, ORDER_POSTPOSUPDATE = 6500, ORDER_BOUNDUPDATE = 7000 };

Particles (cont.) Required Modifiers ModifierDescription NiPSysAgeDeath Modifier Updates the age of each particle, killing off particles whose age exceeds their life span. Also provides an option to spawn new particles upon death. NiPSysBoundUpd ateModifier Updates the bounding volume around the set of particles. Also provides an option to skip frames between bound updates. NiPSysMeshUpda teModifier Updates mesh particles using each particle's age as the time passed into the Update call. Also initializes new particles to have the proper mesh type. Only required for mesh particle systems. NiPSysPositionMo difier Updates the position of each particle based on its velocity and the time elapsed since its last update. NiPSysRotationM odifier Updates the rotation of each particle around its rotation axis.

Particles (cont.) Common Optional Modifiers ModifierDescription NiPSysColorModifierChanges the color of each particle over its lifetime. NiPSysEmitterCreates new particles. NiPSysEmitter is an abstract base class for a variety of particle emitters.NiPSysEmitter NiPSysGrowFadeModifierSmoothly changes the size of each particle so that it grows or fades over its lifetime. NiPSysSpawnModifierUsed to spawn new particles using information from an existing particle.

Particles (cont.) Force Modifier ModifierDescription NiPSysBombModifierExerts an explosive force over a specified period of time. NiPSysDragFieldModifierExerts a drag force over some specified field. Most closely matches the drag force in Maya. NiPSysDragModifierExerts a drag force on particles. Most closely matches the drag force in 3ds max. NiPSysGravityModifierGravity force for particles with specified strength, position, and direction. NiPSysFieldModifierBase class for all field modifiers includes magnitude, attenuation and max distance

Particles (cont.) Force Modifiers (cont.) ModifierDescription NiPSysGravityFieldModifier Exerts a directional gravity field with specified magnitude, position and direction. NiPSysRaidalFieldModifierExerts a point gravity field with specified magnitude and position. NiPSysVortexFieldModifierExerts a rotational force around the directional axis of the vortex. NiPSysAirFieldModifierAccelerates particles up to the magnitude of the air field, creates wind, fan, or wake effects. NiPSysTurbulenceFieldModifierExerts a turbulent field force.

Particles (cont.) Particle Colliders  NiPSysColliderManager  Collection of NiPSysCollider  NiPSysPlanarCollider  NiPSysSphericalCollider

Particles (cont.) Particle System Time Controllers Time ControllerDescription NiPSysUpdateCtlrCalls UpdateSystem on the NiParticleSystem object, passing it the current time. This is what updates the particle system, so it is critical that this controller be attached to the NiParticleSystem object. It ensures when it is attached that it is the last controller that is updated, allowing the other controllers to change modifier parameters before the modifiers are updated by UpdateSystem.NiParticleSystem NiPSysEmitterCtlrIf the particle system contains an NiPSysEmitter modifier, this controller is necessary in order for any particles to be emitted. It stores animation keys for the rate of emission and for whether or not the emitter is active.NiPSysEmitter

QA 김종욱