Code Monkey home page Code Monkey logo

unitycinematiccontrol's Introduction

Unity Cinematic Control

UnityCinematicControl

UnityCinematicControl is a versatile Unity camera control script, enabling dynamic and cinematic camera movements with ease. Ideal for crafting compelling game trailers and cutscenes, it provides developers with intuitive tools for enhancing visual storytelling in their games.

Watch example footage (Vimeo)

Features

  • Real-Time Speed Controls: Adjust movement and rotation speeds in real-time.
  • Fly-To Function: Instantly move to a specific point in your scene with the press of a button.
  • Real-Time FOV Controls: Dynamically change the field of view, perfect for creating dolly zoom effects.
  • Gamepad Input Compatibility: Every setting and function is accessible via gamepad inputs.
  • Easing Toggle and Adjustment: Customize the easing times and toggle easing on or off.
  • Live Camera UI: A compact UI that displays all relevant settings and information.
  • Toggleable UI Elements: Includes a toggleable info UI and crosshair.
  • Y-Axis Movement Restriction: Option to restrict movement along the y-axis.
  • New Input System Utilization: Built to work with Unity's New Input System.
  • Camera Speed Modes: Different speed modes available using modifier inputs (trigger buttons).

Feature video (Vimeo)

Requirements

  • A gamepad is required (mouse & keyboard currently not supported). Feel free to modify the script to add this support.
  • Your project must have the New Input System package imported and activated.

Installation

  1. Download UnityCinematicControl.unitypackage
  2. Ensure you have a camera in your scene tagged as MainCamera.
  3. Add the CameraController component to this game object.
  4. Adjust the LayerMask field to mark the layers the fly-to function can fly to.
  5. Drag the canvas prefab into your scene to use the camera UI.
  6. Ensure you have TextMesh Pro in your project for the UI text elements.
  7. Include the sprite for the crosshair in your project.

Keybinds

  • Movement: Use the left stick to move at normal speed.
  • Fly-To: Press the left stick to activate the fly-to function.
  • Camera Rotation: Use the right stick to look around/change camera rotation.
  • Toggle Easing: Press the right stick to toggle easing.
  • Vertical Movement: Use A to move up and B to move down.
  • Field of View (FOV): X to increase and Y to decrease FOV.
  • Speed Modifiers: Use LT + left stick for slow speed (0.5x), RT + left stick for fast speed (2.5x).
  • Speed Adjustments: LB/RB to decrease/increase movement speed.
  • Vertical Speed Adjustment: D-pad Up + LB/RB to adjust vertical movement speed.
  • Rotation Speed Adjustment: D-pad Right + LB/RB to adjust rotation speed.
  • Easing Time Adjustment: D-pad Down + LB/RB to adjust easing time.
  • FOV Change Rate: D-pad Left + LB/RB to adjust the rate of FOV change.
  • Y-Axis Movement Toggle: Double-tap D-pad Right to toggle y-axis movement restriction.
  • UI Visibility: Press Select to toggle UI visibility.
  • Reset FOV: Press Start to reset FOV to its initial value.

Contributing

Feel free to fork, modify, and send pull requests to improve this tool. Your contributions are greatly appreciated!


Happy game developing!

unitycinematiccontrol's People

Contributors

andreasbaumde avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.