User Tools

Site Tools


hpl3:game:scripting:user_modules:camera_animation

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
hpl3:game:scripting:user_modules:camera_animation [2015/09/16 11:08]
ian.thomas
hpl3:game:scripting:user_modules:camera_animation [2015/09/16 12:25] (current)
ian.thomas [Node properties]
Line 1: Line 1:
 ====== Camera Animation ====== ====== Camera Animation ======
  
 +**Helper function prefix:** CameraAnimation_,​ CameraAnimationNode_
 +==== General ====
 +
 +The camera animation system is used to move the player camera along a specific path while still allowing some degree of interaction.
 +
 +==== Instructions ====
 +
 +To use the system, place CameraAnimation nodes (Area → CameraAnimation) in the scene and give each of them the name of the animation followed by an underscore and their placement within the animation (such as WakeUpAnimation_1,​ WakeUpAnimation_2 etc). Note that if you duplicate (Ctrl-D) a node, the duplicate will automatically get the next available number as its suffix.\\
 +Rotate the nodes so that their Z-axes point in the direction you want the camera to look at that part of the animation. \\
 +In script, call the helper function CameraAnimation_Begin() to start the animation.
 +
 +==== Node properties ====
 +
 +=== MaxYaw/​MaxPitch ===
 +Dictates how far the player is allowed to rotate the camera away from the target forward rotation. This value is interpolated between nodes.
 +
 +=== LookSpeedMultiplier ===
 +How fast the player can rotate the camera.
 +
 +=== ForwardTime ===
 +The time it takes to move from this node to the next at full speed forward.
 +
 +=== BackwardTime ===
 +The time it takes to move from the next node to this one at full reverse speed.
 +
 +=== AutoMovement ===
 +Dictates how the animation behaves when no movement input is given, or when movement input is disabled. 0 stops movement, 1 is as if given full forward speed (animation will finish after [ForwardTime] seconds), -1 is as if given full reverse speed.
 +
 +=== LookMoveDistance ===
 +The length between this node and the next the player can move just by looking toward the next node, given as a value between 0 and 1.
 +
 +=== LookMoveMaxAngle ===
 +The maximum angle away from the next node the player can look and still move forward. Only valid if LookMoveDistance > 0.
 +
 +=== InteractiveMovement ===
 +If checked, the player can control the movement between this node and the next. If unchecked, the AutoMovement property has complete control over the movement and should not be set to 0.
 +
 +=== CrouchOnExit ===
 +If checked, the player will automatically crouch if the animation is ended at this node.
 +
 +=== InitToCamera ===
 +If checked, the node is given the orientation of the camera when the animation starts. This is very useful when you want the animation to have a smooth beginning, or you want to make sure the player is returned to where they were when the end node is reached.
 +
 +=== UsePlayerEyeline ===
 +If ticked, instead of using the Y-value of the node itself, the camera system uses the Y-value that the player'​s eyeline should be at that point (i.e. from the ground/​floor upwards).
 +
 +=== CallbackFunc ===
 +Function in the level script that should be called when reaching this node. The syntax is bool FuncName(const tString &in asEntity, int alDirection),​ where asEntity is the name of the node and alDirection is 1 if moving forward and -1 if moving backward.
 +
 +==== Important Functions ====
 +
 +=== CameraAnimation_Begin ===
 +Start a camera animation.
 +
 +=== CameraAnimation_End ===
 +Stop a camera animation.
 +
 +=== CameraAnimationNode_SetAutoMove ===
 +Allows you to pause or continue animation at a particular node.
 +
 +=== CameraAnimationNode_SetInteractiveMovement ===
 +Allows you to enable the player to progress within a particular node.
hpl3/game/scripting/user_modules/camera_animation.1442401699.txt.gz · Last modified: 2015/09/16 11:08 by ian.thomas