Choreography Implementation
Jump to navigation
Jump to search
Introduction
this page is meant to illustrate practical techniques used to implement Choreography scenes into Source. The focus here is on vcd's and how to use them effectively. However, the relevant techniques often reach outside of faceposer, and into hammer, XSI, etc.
(the following is a suggested outline. it will change as it gets fleshed out)
Why use VCD's?
- powerful. can choreograph a wide range of elements together very precisely: audio, FX, Actor direction (blocking), animation, scene / map logic
- fast iteration. dont need to recompile the map to see vcd changes. use Scene_Flush. esp relevant in tweaking the timing of events.
How do vcd's play in Source
- in a map via the LCS entity
- through the Response System
- lead/follow behaviour example (post aftermath?)
Scene approach and planning
- What are the elements involved
- what are the Actors involved
- how is the player involved
- how is the scene incorporated into the map logic
- conditions for scene to start
- conditions for pausing / resuming or interrupting the scene
- benefit of driving as much as possible from the VCD's
- the all important Fire Trigger event
Blocking out a scene
- info_target entity
- Using DebugText
- adding new dialog entries
- getting scene logic functional
Using !Target#
- for Actor names
- for event Targets
Pausing / Resuming a Scene
- using a Global Pause event
- using a Fire Trigger event to pause itself indefinitely
- the behaviour of paused vcd's
- events remain active (lookAt, faceTo, moveTo, etc)
- pausing in the "loop" section of a Gesture event
- setting up Nags
Controlling your Actors
- NPC input, Start Scripting
- NPC flag, Use Alternate Collisions
- using non-conventional Actors
- generic_actor entity
- radio example
- Lamarr
Player Participation in the Scene
- using Triggers, Look Triggers, AI_Script_Conditions
- eli's lab example
- taking control of the player
- point_viewcontroller
- alyx intro example
- Vehicles
- breen scene example
- point_viewcontroller
Playing Animations in a Scene
- Gesture events
- postures, gestures, bodygestures
- organizing in faceposer
- authoring a new gesture/posture in XSI, building into your model.
- playing gesture events over SS's or ActBusies
- using IK rules in gestures
- barney hands-on-hips posture
- alyx's button push gesture
- sequence events (use sparingly)
- Flex animation
- using Scripted Sequences in a scene
- getting the Actor(s) in position
- fire_trigger event to start SS
- using a NULL sequence event to time other events (dialog, etc) to the animation
- using Look At !Self to suppress AI head movement
- using SS's OnFrameEvent outputs to trigger other scene events.
and more stuff