PopupSceneCameraPath
v1.4.8
Camera for a scene notification. Three slots: initial, positive, and negative. Each slot is either a path or a skeleton clip, plus an optional sound.
Find placed ones in the Scene panel with s:PopupSceneCameraPath. See Filter.
Where you put it
On the camera entity tagged camera_instance (vanilla name camera_static). A skeleton camera also needs the skeleton named in SkeletonName. A path camera needs a scene path and, if it should look at something, an entity named in LookAtEntity. The notification finds the first entity with this script.
What you set
cutscene_props.xml stores the rows in this order. The three Test buttons are on the panel and are not saved.
| Panel field | What to do with it |
|---|---|
| LookAtEntity | Entity name to aim at. Empty keeps the path frame's rotation. Born-baby uses lookat2. |
| SkeletonName | Skeleton on this entity. skeleton_camera when the camera is animated. Empty uses the path instead. |
| BoneIndex | Bone the camera reads. 0. |
| AttachmentOffset | Offset from that bone. 0, 0, 0. |
| InitialPath | Path name for the opening shot. Empty if a skeleton clip is used. |
| InitialAnimationClip | Skeleton clip for the opening shot. |
| InitialSound | Sound id. Code default is event:/mission/siege/siegetower/doorland. Scenes replace it or clear it. |
| InitialPathStartTime | Seconds before the move starts. Default 0. |
| InitialPathDuration | Seconds the move takes. Default 1. |
| InitialInterpolation | Linear, EaseIn, EaseOut, or EaseInOut. |
| InitialFadeOut | On: the camera fade follows this move. |
| PositivePath | Path for the positive choice. |
| PositiveAnimationClip | Clip for the positive choice. |
| PositiveSound | Sound for that choice. Often empty. |
| PositivePathStartTime | Delay. Default 0. |
| PositivePathDuration | Duration. Default 1. |
| PositiveInterpolation | Same four blends. |
| PositiveFadeOut | Fade with the positive move. |
| NegativePath | Path for the negative slot. |
| NegativeAnimationClip | Clip for the negative slot. |
| NegativeSound | Sound for the negative slot. |
| NegativePathStartTime | Delay. Default 0. |
| NegativePathDuration | Duration. Default 1. |
| NegativeInterpolation | Same four blends. |
| NegativeFadeOut | Fade with the negative move. |
| TestInitial | Editor button. Plays the initial slot. |
| TestPositive | Editor button. Plays the positive slot. |
| TestNegative | Editor button. Plays the negative slot. |
If SkeletonName is set, the bone drives the camera and the path is ignored. If it is empty and a path is set, the camera rides that path and looks at LookAtEntity when that name exists.
What it does
The notification starts the initial slot. The positive choice plays the positive slot. The negative slot is what TestNegative plays in the editor. A non-empty sound on the active slot plays from the camera. InitialFadeOut (and the matching flags) drive the fade from 0 to 1 across that move.
Where it lives
Managed script. Camera prefabs in Modules\SandBox\Prefabs\cutscene_props.xml, entity camera_static under camera_parent. Notification scenes under Modules\SandBox\SceneObj and Modules\NavalDLC\SceneObj place that camera.
Examples
Skeleton, conspiracy letter. cutscene_props.xml, camera_static. SkeletonName skeleton_camera, clip conspiracy_supports_camera_anim, sound cleared, duration 1, linear, no fade.
Heir, delayed clip. Same file, the second camera_static. Clip cutscene_heir_coming_of_age_camera, sound event:/mission/siege/siegetower/doorland, start 40, duration 5, InitialFadeOut on.
Path camera, newborn. SandBox\SceneObj\scn_born_baby. LookAtEntity lookat2, SkeletonName empty, InitialPath campath2, sound event:/ui/cutscenes/child_newborn, duration 55, EaseOut.
Naval death, long hold. NavalDLC\SceneObj\scn_cutscene_main_hero_naval_battle_death. LookAtEntity camera_look_entity, skeleton skeleton_camera, no clip, sound event:/ui/cutscenes/death_naval, duration 45, linear. PositiveFadeOut is on.