RSBDOCS
Getting startedBullet time

Default bullet-time camera

Build an effect from camera stages without writing a camera controller.

For a ready-made setup, use SAMPLES/Prefabs/Bullet Time - Camera Default Presets.prefab. It contains ten effects. Duplicate it or make a prefab variant before customizing it.

To build the tutorial effect yourself, create an active Bullet Time Camera GameObject and add BulletTimeCameraDefault. A Camera component is required automatically. Keep the controller enabled but the Camera component disabled initially. Use a small near clip plane, such as 0.01, so the bullet can be viewed close up.

Configure the camera for your render pipeline using the matching sample as a reference. Camera depth alone is not a complete cross-pipeline setup. Add an AudioSource and assign it to the script if stages will play audio. Set the collision-detection mask to the scene layers the camera should avoid.

Effects and stages

In Camera Effects, choose Add New, name the effect Tutorial Effect, and select it in Used Effect. Turn off effect randomization while building it. Add an enabled stage named Beginning.

SectionControls
GeneralStage enable state, optional entry/exit audio and the condition for the next stage.
TimescaleVirtual bullet speed and optional interpolation or distance-driven control.
MotionOnBullet, OnTarget or OnPath placement, offsets, randomization and interpolation.
Look AtBullet or target tracking, offsets and look-speed interpolation.
Z TiltRoll angle and interpolation.
ShakeShake amount, speed and duration.

A newly created stage can have a virtual timescale of zero. Set it above zero, for example 0.05 for an initial check, or the bullet will not progress.

Beginning: move across the bullet

Set Start Timescale to 0.005. In Motion, use OnBullet, enable Interpolate Position, and configure:

FieldValue
Start Position(0.5, 0.15, 0.15)
End Position(-0.5, -0.15, 0.05)
Position Duration4 seconds
Position CurveLinear
Trigger Next MethodDuration
Trigger Duration4 seconds

The positions are offsets relative to the selected reference. Fire at the marked target to see the camera cross the bullet.

The Beginning stage with a slow virtual timescale and interpolated position.
Original RSB manual capture. Follow the current instructions on this page for paths and setup. Click the image for full size.

Middle: follow from behind

Add an enabled stage named Middle. Set Start Timescale to 0.09. Keep placement OnBullet, enable Continue From Previous and Interpolate Position, then set the end position to (0, 0.1, -0.2), duration to 1, and the curve to linear.

Choose Bullet Path Percentage for Trigger Next Method and set its value to 0.96. This moves into the next stage when the bullet has travelled 96% of its recorded path distance.

End: watch the target

Add an enabled End stage. Set Start Timescale to 0.005, choose OnTarget, and set Start Position to (4, 0.5, -5). Disable Continue From Previous and Interpolate Position for a direct cut. There is no next stage, so its transition condition is not needed.

Adjust the effect's waits before resetting timescale and before ending to control how long the final view remains. Test with the target position, scene geometry and bullet speed you actually use; those affect framing and timing.

The final stage positioned near the target.
Original RSB manual capture. Follow the current instructions on this page for paths and setup. Click the image for full size.

Other transitions and presets

Stage transitions can use Duration, BulletTravelDistance, DistanceToBulletBiggerThan, DistanceToBulletSmallerThan, DistanceToTargetSmallerThan, BulletPathPercentage or WhenTargetIsHit. Position can follow the bullet, target, or a point along the path. Interpolation curves, randomized offsets, look speed, roll and shake let you vary each effect.

The supplied preset names are Side To Target, Target Watcher, Target Watcher Bullet Focus, Watch Bullet In Middle, Track Bullet, 180 Degree Dramatic, Watch Bullet - Front to Back, Swing Around Bullet, Topdown To Behind and Watch Bullet Generic.

Use ChangeSelectedEffect(name) or a valid index at runtime. Disable RandomizeEffects for a fixed choice. See the camera API for bounds and properties.

Bullet time camera moving from one side to the other.
Original RSB demo recording. Follow the current instructions on this page for setup. Click the image for full size.
Bullet time camera moving backwards when second stage is triggered.
Original RSB demo recording. Follow the current instructions on this page for setup. Click the image for full size.
Bullet switching to final stage when it's about to hit the target, then watching the bullet from the side.
Original RSB demo recording. Follow the current instructions on this page for setup. Click the image for full size.

On this page