返回排行榜

ramokz/phantom-camera

GDScriptphantom-camera.dev

A Camera addon for Godot 4. Inspired by Cinemachine.

cameragodotaddonplugingame-developmentgodotenginecsharp
Star 增长趋势
Star
3.5k
Forks
132
周增长
Issues
63
1k2k3k
2023年2月2024年3月2025年5月2026年7月
README
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.

https://github.com/ramokz/phantom-camera/assets/5159399/2a900def-4a8b-46c2-976c-b8e66feec953

Documentation & Guides Roadmap

Showcases

GameFromScratch's Youtube Overview Bissash's Youtube Video

(English)

Phantom Camera For Godot Is Awesome!
GameFromScratch

(Spanish)

Mejores cámaras con Phantom Camera
Bissash

Clécio Espindola GameDev's Youtube Video Clécio Espindola GameDev's Youtube Video

(Portuguese)

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

(English)

The 4 MUST Have ADDONS for Godot 4
DevWorm

Features

Priority

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.


Follow Mode

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

Glued

Sticks to its target.


Simple

Follows the target with an optional offset and damping.


2D

3D

Group

Follows the centre of a collection of targets.


2D

3D

Path

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


2D

3D

Framed

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

Third Person

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

Zoom (2D)

Define the Zoom level for the Camera2D.


2D

3D
Not available in 3D

Look At (3D)

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


Mimic

Copies the rotational value of its target.



Simple

Looks At the target with an optional offset.


2D

3D
Not available in 2D

Group

Looks at the centre of a collection of targets.


2D

3D
Not available in 2D

Tween

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


2D

3D

Viewfinder

https://github.com/ramokz/phantom-camera/assets/5159399/6c9d1653-b4c6-4b5d-8855-402776645689

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

  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.
  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

相关仓库
blakeblackshear/frigate

NVR with realtime local object detection for IP cameras

TypeScriptnpmMIT Licensertsprealtime
frigate.video
34.5k3.4k
alyssaxuu/screenity

The free and privacy-friendly screen recorder with no limits 🎥

JavaScriptnpmGNU General Public License v3.0screen-capturescreencast
screenity.io
18.4k1.5k
LuckSiege/PictureSelector

Picture Selector Library for Android or 图片选择器

JavaMavenApache License 2.0androidandroid-image-selector
13.6k3.1k
react-native-camera/react-native-camera

A Camera component for React Native. Also supports barcode scanning!

JavaMavenreact-nativeface-detection
react-native-camera.github.io/react-native-camera/
9.6k3.5k
mrousavy/react-native-vision-camera

📸 A powerful, high-performance React Native Camera library.

TypeScriptnpmMIT Licensereact-nativecamera
visioncamera.margelo.com
9.5k1.4k
boltgolt/howdy

🛡️ Windows Hello™ style facial authentication for Linux

PythonPyPIMIT Licenseface-recognitionubuntu
7.7k405
crazycodeboy/TakePhoto

一款用于在Android设备上获取照片(拍照或从相册、文件中选择)、裁剪图片、压缩图片的开源工具库

JavaMavenApache License 2.0takephotoandroid
devio.org/tags/
7.2k1.5k
mebjas/html5-qrcode

A cross platform HTML5 QR code reader. See end to end implementation at: https://scanapp.org

TypeScriptnpmApache License 2.0html5qrcode
qrcode.minhazav.dev
6.2k1.1k
sparrowcode/PermissionsKit

Universal API for request permission and get its statuses.

SwiftMIT Licensepermissionpermissions
x.com/sparrowcode_ios
5.8k478
ethz-asl/kalibr

The Kalibr visual-inertial calibration toolbox

C++Othercameracalibration
5.6k1.6k
CameraKit/camerakit-android

Library for Android Camera 1 and 2 APIs. Massively increase stability and reliability of photo and video capture on all Android devices.

CMIT Licensejavacaptured-images
camerakit.io
5.4k874
natario1/CameraView

📸 A well documented, high-level Android interface that makes capturing pictures and videos easy, addressing all of the common issues and needs. Real-time filters, gestures, watermarks, frame processing, RAW, output of any size.

JavaMavenOtherandroidcamera
natario1.github.io/CameraView
5.1k979