- Notifications
You must be signed in to change notification settings - Fork91
👻🎥 Control the movement and dynamically tween 2D & 3D cameras. Built for Godot 4. Inspired by Cinemachine.
License
ramokz/phantom-camera
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Phantom Camera is a Godot 4 plugin designed to provide and simplify common behaviors for the built-inCamera2D
andCamera3D
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. otherPhantomCamera
nodes, on demand.
Feature.Examples.mp4
Documentation & Guides | Roadmap |
---|---|
(English) Phantom Camera For Godot Is Awesome! | (Spanish) |
(Portuguese) CÂMERA mais DINÂMICA com Phanton Camera | (English) The 4 MUST Have ADDONS for Godot 4DevWorm |
Determines whichPhantomCamera
should be active with theCamera2D
/Camera3D
.
When a new camera recieves a higher priority than currently activePhantomCamera
theCamera2D
/Camera3D
will seamlessly transition to the new one.
Define how theCamera2D
/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 aPath 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 aSpringArm3D
node as a parent, where its properties, such asCollison Mask
,Spring Length
andMargin
, can be adjusted from thePhantomCamera
node.
2D | 3D |
---|---|
Not available in 2D | 3D-Follow-Third-Person.mp4 |
Define the Zoom level for theCamera2D
.
2D | 3D |
---|---|
2D-Zoom.mp4 | Not available in 3D |
Defines where theCamera3D
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 theCamera2d
/Camera3D
tweens to a newly activePhantomCamera
.
2D | 3D |
---|---|
2D-Tweening.mp4 | 3D-Tweening.mp4 |
Viewfinder.mp4
Preview what theCamera2D
/Camera3D
sees when attached to a PhantomCamera. Accessible from the bottom panel labelledPhantom Camera
. The viewfinder rendering of the scene will only work when the combination of aCamera
,PhantomCameraHost
andPhantomCamera
are present in the scene.
A 2D and 3D example scenes can be found insideres://addons/phantom_camera/examples
.
- In Godot, open the
AssetLib
tab. - Search for and select "Phantom Camera".
- Download then install the plugin (be sure to only select the
phantom_camera
directory). - Enable the plugin inside
Project/Project Settings/Plugins
.
- Download arelease build.
- Extract the zip file and move the
addons/phantom_camera
directory into the project root location. - Enable the plugin inside
Project/Project Settings/Plugins
.
- Download the latest
main branch
. - Extract the zip file and move the
addons/phantom_camera
directory into project's root location. - Enable the plugin inside
Project/Project Settings/Plugins
.
For more help,seeGodot's official documentation
See theproject page for upcoming features.
See theFAQ page on the documentation site.
See thecontribution guidelines on the documentation site.
- Unity's Cinemachine Package for the keyinspiration
- Godot for their amazing work creating the engine
About
👻🎥 Control the movement and dynamically tween 2D & 3D cameras. Built for Godot 4. Inspired by Cinemachine.