Portal Particle Index Portal Particles Portal RoomPortal visibility
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 Ni. Room. Group Ni. Room Convex Region Ni. Room: : Wall Ni. Portal 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 pk. Room. Group->Which. Room(pk. Object->Get. World. Bound(). Get. Center())
Portal (cont. ) Class Details Ni. Portal *_NDLPR Ni. Room *_NDLRM Ni. Room: : Wall - _NDLWL Ni. Room. Group *_NDLRG Sorting with accumulator, Shell Ni. Fixture. Culler Ni. Culling. Process Avoid Multiple Render with Map
Particle System Overview Ni. Particle. System 1 1 1 * * * Ni. Property Ni. Time. Controller Ni. PSys. Modifier
Particles (cont. ) World Space Particles Model Space Particles Mesh Particle Sprite-Based Particles Pools for Reusing Classes Ni. Mesh. Particle. System Ni. Mesh. PSys. Data Ni. PSys. Mesh. Update. Modifier
Particles (cont. ) Modifier Order Flags enum { ORDER_KILLOLDPARTICLES ORDER_EMITTER ORDER_SPAWN ORDER_GENERAL ORDER_FORCE ORDER_COLLIDER ORDER_POSUPDATE ORDER_POSTPOSUPDATE ORDER_BOUNDUPDATE }; = 0, = 1000, = 2000, = 3000, = 4000, = 5000, = 6500, = 7000
Particles (cont. ) Required Modifiers Modifier Description Ni. PSys. Age. Death 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. Ni. PSys. Bound. Upd ate. Modifier Updates the bounding volume around the set of particles. Also provides an option to skip frames between bound updates. Ni. PSys. Mesh. Upda te. Modifier 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. Ni. PSys. Position. M odifier Updates the position of each particle based on its velocity and the time elapsed since its last update. Ni. PSys. Rotation. M odifier Updates the rotation of each particle around its rotation axis.
Particles (cont. ) Common Optional Modifiers Modifier Description Ni. PSys. Color. Modifier Changes the color of each particle over its lifetime. Ni. PSys. Emitter Creates new particles. Ni. PSys. Emitter is an abstract base class for a variety of particle emitters. Ni. PSys. Grow. Fade. Modifier Smoothly changes the size of each particle so that it grows or fades over its lifetime. Ni. PSys. Spawn. Modifier Used to spawn new particles using information from an existing particle.
Particles (cont. ) Force Modifier Description Ni. PSys. Bomb. Modifier Exerts an explosive force over a specified period of time. Ni. PSys. Drag. Field. Modifier Exerts a drag force over some specified field. Most closely matches the drag force in Maya. Ni. PSys. Drag. Modifier Exerts a drag force on particles. Most closely matches the drag force in 3 ds max. Ni. PSys. Gravity. Modifier Gravity force for particles with specified strength, position, and direction. Ni. PSys. Field. Modifier Base class for all field modifiers includes magnitude, attenuation and max distance
Particles (cont. ) Force Modifiers (cont. ) Modifier Description Ni. PSys. Gravity. Field. Modifier Exerts a directional gravity field with specified magnitude, position and direction. Ni. PSys. Raidal. Field. Modifier Exerts a point gravity field with specified magnitude and position. Ni. PSys. Vortex. Field. Modifier Exerts a rotational force around the directional axis of the vortex. Ni. PSys. Air. Field. Modifier Ni. PSys. Turbulence. Field. Modifier Accelerates particles up to the magnitude of the air field, creates wind, fan, or wake effects. Exerts a turbulent field force.
Particles (cont. ) Particle Colliders Ni. PSys. Collider. Manager Collection of Ni. PSys. Collider Ni. PSys. Planar. Collider Ni. PSys. Spherical. Collider
Particles (cont. ) Particle System Time Controllers Time Controller Description Ni. PSys. Update. Ctlr Calls Update. System on the Ni. Particle. System object, passing it the current time. This is what updates the particle system, so it is critical that this controller be attached to the Ni. Particle. System 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 Update. System. Ni. PSys. Emitter. Ctlr If the particle system contains an Ni. PSys. Emitter 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.
QA 김종욱 freewill@nexon. co. kr
- Slides: 22