Filming Camera

Name Filming Camera
By: AdamO in Discord

Overview

The filming camera package aims to provide a large suite of camera controls, primarily to help with filming your Crayta games. This might be for creating a trailer, getting a great shot for promoting your game on social media, or any other reason. It is also great for capturing exciting screenshots within your games.

The package is quite easy to use for simple operations, but can become quite complex as you dig into more features. There’s certainly a learning curve involved, but the more you learn how to use it, the more cool shots you’ll be able to get.

Our PC launch trailer, shot using this package - https://youtu.be/imx5Xmh-kSM

Features

  • Free 3-axis camera movement all around your world
  • Full 3-axis rotation
  • FOV control
  • Ability to change speeds of movement, rotation and FOV
  • Automatically hide widgets in your game for cleaner shots
  • Attach to, and track, entities and players in your world - smoothed tracking to ease any bumps (can be toggled)
  • Easy to reset position and rotation
  • “Sprint” to go triple speed to traverse a large world quickly
  • Trigger primary and secondary events in the world
  • Trigger primary and secondary events on the target entity
  • Set a marker to “remember” a particular position, rotation and FOV, and return to marker
  • Move all players to camera
  • Move all players to marker
  • Switch to moving your player while in camera
  • Toggle to move in absolute directions rather than relative
  • Others players in your world will be able to see your camera, making it easy to “act”!

Controls

Below is a diagram to show the controls of the camera package, as a handy reference. It’s a lot of information, but you’ll soon get used to using it! The controls are shown on a controller - the filming camera can be used with keyboard and mouse (check the input settings to see what the equivalent buttons are) but controller is strongly recommended here. The controls map over to other controllers.

The key ones to know are:

  • Double click Up on D-Pad to activate/deactivate the filming camera
  • Left stick to move around (click down to sprint)
  • Triggers to move up and down, or zoom FOV, dependent on mode
  • Bumpers to rotate, dependent on mode
  • Y to cycle camera mode
  • A (jump) to cycle target
  • X and D-Pad Up to turn off camera UI
  • D-Pad Left to cycle rotation (bumpers) mode
  • D-Pad Right to cycle zoom (triggers) mode
  • B and D-Pad Up to toggle moving your player

Setup

Basic

  • Install Filming Camera from the community tab.
  • Add the FilmingCamData template into your world.
  • Add the UserFilmingCam script folder onto your User template.
  • Preview your game! Double-tap Up on the D-Pad to activate the camera!

Advanced

  • For any entities you want the camera to attach to, or track, drag those into the arrays on the FilmingCamData entity.
  • For any widgets you want to hide when in the camera, add these to the WidgetsToHide array on the UserFilmingCam script folder on the User template.
  • If you want to trigger actions in your world from the camera (in any state), add these to the primary and secondary global actions events on the FilmingCamData entity.
  • If you want to trigger actions just on the target entity (for example, activating a Smooth Path Follower that you’ve attached to, like we did for the Saloon Building shot in the trailer), add a FilmingCamTargetTrigger script to those entities and set up the primary and secondary events on it to trigger those actions. See the FilmingCamDolly template for an example of how this works.

Modes

  • Free - This allows you to move the camera freely around the world using the left stick, triggers for vertical movement, and bumpers for rotation. This is the ideal option for most shots.
  • Attach - This will attach the camera to any entities that you’ve set up, and the camera’s pivot will match their position and rotation. You can still freely move the camera around, but remember the camera is a child of the pivot, so the pivot will follow the target entity.
  • Track - Similar to Attach, but in this case the camera pivot won’t match the rotation of the target entity.
  • Player - Works in a similar way to Track, but automatically finds players in your game and tracks them. Great for capturing dynamic shots. You can even set this up to film yourself - track your player, then hold B and press Up on the D-Pad to switch to player movement, and your player will be tracked.

Extras

  • FilmingCamDolly - Template - This can be used as an “attach” entity. Triggering the primary action will move from the dolly’s position to its end locator’s position, to allow simple straight-line movements. The secondary action will reset it.
  • FilmingCamHide - Script - Attaching this to any entity will ensure it is hidden when the filming camera is activated. If you need a whole part of the hierarchy hidden, attach a State Switcher script from my State Switcher package to the entity as well.
  • FilmingCamTargetTrigger - Script - Attach this to camera target entities, to allow triggering primary and secondary actions on those targets. See the FilmingCamDolly template for an example.
  • Smooth Path Package - Package - Not included with this package, but a really useful add-on! You can easily use this filming camera with a smooth path to create interesting movements, either using Attach or Track mode and triggering the smooth path follower to go and stop. Try it out!
    The opening shot of the Winter’s Edge trailer is also a good example of the Smooth Path package with this filming camera - https://youtu.be/xiB4a4GT7Qs
1 Like

That’s such a great package, Adam. So amazing and useful.
Is there a toggle or easy way to disable it before publishing a game?

That’s a good point, I don’t think there is currently (I’d say just remove it from the user template, and then you won’t be able to activate it, but when you drop it back in you’d need to set up any properties again). I’ll have a look at adding an “active” toggle to it, should be easy enough! Thanks for the feedback :slight_smile: