Giter Site home page Giter Site logo

maoaii / phantom-camera Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ramokz/phantom-camera

0.0 0.0 0.0 27.86 MB

👻🎥 Control the movement and dynamically tween 2D & 3D cameras. Built for Godot 4. Inspired by Cinemachine.

Home Page: https://phantom-camera.dev/

License: MIT License

GDScript 100.00%

phantom-camera's Introduction

phantom-camera-readme-header

Static Badge GitHub License

What is it?

Phantom Camera is a Godot 4 plugin designed to provide and simplify common behaviors for the built-in Camera2D and Camera3D nodes - heavily inspired by a Unity package called Cinemachine.

It allows for simple behaviours such as following and looking at specific nodes, with an optional smooth/dampened movement, to more advance logic like reframing itself to keep multiple nodes in view and dynamically animate between specific camera positions, i.e. other PhantomCamera nodes, on demand.

Feature.Examples.mp4
Documentation & Guides Roadmap

Showcases

GameFromScratch's Youtube Overview Bissash's Youtube Video Clécio Espindola GameDev's Youtube Video

(English)

Phantom Camera For Godot Is Awesome!
GameFromScratch

(Spanish)

Mejores cámaras con Phantom Camera
Bissash

(Portuguese)

CÂMERA mais DINÂMICA com Phanton Camera | Godot 4.2
Clécio Espindola GameDev

Features

Determines which PhantomCamera should be active with the Camera2D/Camera3D.

When a new camera recieves a higher priority than currently active PhantomCamera the Camera2D/Camera3D will seamlessly transition to the new one.


Define how the Camera2D/Camera3D should follow, or reposition based on, its target(s).

Sticks to its target.


Follows the target with an optional offset and damping.


2D

3D
2D-Follow-Simple.mp4
3D-Follow-Simple.mp4

Follows the centre of a collection of targets.


2D

3D
2D-Follow-Group.mp4
3D-Follow-Group.mp4

Follows a target while being positionally confined to a Path node.


2D

3D
2D-Follow-Path.mp4
3D-Follow-Path.mp4

Enables dynamic framing of a given target using dead zones. Dead zones enable the camera to remain still until the target moves far enough away from the camera's view. This is determined by the horizontal and vertical dead zone size in their respective properties within the inspector.


2D

3D
2D-Follow-Framed.mp4
3D-Follow-Framed.mp4

As the name implies, this mode is meant to be used for third person camera experiences.
It works by applying a SpringArm3D node as a parent, where its properties, such as Collison Mask, Spring Length and Margin, can be adjusted from the PhantomCamera node.


2D

3D
Not available in 2D
3D-Follow-Third-Person.mp4

Define the Zoom level for the Camera2D.


2D

3D
2D-Zoom.mp4
Not available in 3D

Defines where the Camera3D should be looking—adjusting its rotational value.


Copies the rotational value of its target.



Looks At the target with an optional offset.


2D

3D
Not available in 2D
3D_Look_At_Simple.mp4

Looks at the centre of a collection of targets.


2D

3D
Not available in 2D
3D-LookAt-Group.mp4

Tweak how the Camera2d/Camera3D tweens to a newly active PhantomCamera.


2D

3D
2D-Tweening.mp4
3D-Tweening.mp4

Viewfinder.mp4

Preview what the Camera2D / Camera3D sees when attached to a PhantomCamera. Accessible from the bottom panel labelled Phantom Camera. The viewfinder rendering of the scene will only work when the combination of a Camera, PhantomCameraHost and PhantomCamera are present in the scene.


🪀 Example Scenes

A 2D and 3D example scenes can be found inside res://addons/phantom_camera/examples.

💾 Installation

Asset Library (Recommended - Stable)

  1. In Godot, open the AssetLib tab.
  2. Search for and select "Phantom Camera".
  3. Download then install the plugin (be sure to only select the phantom_camera directory).
  4. Enable the plugin inside Project/Project Settings/Plugins.

Github Releases (Recommended - Stable)

  1. Download a release build.
  2. Extract the zip file and move the addons/phantom_camera directory into the project root location.
  3. Enable the plugin inside Project/Project Settings/Plugins.

Github Main (Latest - Unstable)

  1. Download the latest main branch.
  2. Extract the zip file and move the addons/phantom_camera directory into project's root location.
  3. Enable the plugin inside Project/Project Settings/Plugins.

For more help, see Godot's official documentation

📖 Roadmap

See the project page for upcoming features.

FAQ

See the FAQ page on the documentation site.

Contribution

See the contribution guidelines on the documentation site.

Credits

MIT License

phantom-camera's People

Contributors

ramokz avatar zenithstar avatar grogsyshovel 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.