220 likes | 232 Views
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
E N D
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 recursivelyprocess 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.)Fixtures • Objects in a Room
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 1 1 1 * * * NiProperty NiTimeController NiPSysModifier
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
Particles (cont.) • Common Optional Modifiers
Particles (cont.) • Force Modifier
Particles (cont.) • Force Modifiers (cont.)
Particles (cont.) • Particle Colliders • NiPSysColliderManager • Collection of NiPSysCollider • NiPSysPlanarCollider • NiPSysSphericalCollider
Particles (cont.) • Particle System Time Controllers
QA 김종욱 freewill@nexon.co.kr