ramokz / phantom-camera

👻🎥 Control the movement and dynamically tween 2D & 3D cameras. Built for Godot 4. Inspired by Cinemachine.
https://phantom-camera.dev/
MIT License
2.18k stars 72 forks source link

Framed Follow Refactor #161

Open ramokz opened 9 months ago

ramokz commented 9 months ago

Issue description

The current implementation of Framed Follow has proven fairly fragile and doesn't quite deliver on what the feature set out to achieve. The issue stems from how it has been set up, and so needs a refactor to be more reliable and function the way you would expect it to.

Related issues

144

159

107

Steps to reproduce

See example issue reports above.

(Optional) Minimal reproduction project

No response

gherghett commented 5 months ago

Screencast from 2024-04-25 08-50-56.webm I get a jitter in the example file iteself on a default settings project, Godot 4.2.2 on Debian 12 Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz. Hope this si the correct place to add this? system_info.txt

ramokz commented 5 months ago

Screencast from 2024-04-25 08-50-56.webm I get a jitter in the example file iteself on a default settings project, Godot 4.2.2 on Debian 12 Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz. Hope this si the correct place to add this? system_info.txt

This issue is not related to jitter, but rather some fundamental issues with the logic of how this follow mode works.

If you're on v0.7, then have a look at the FAQ for jitter related topics.

trevorstarick commented 3 months ago

Not sure if it's the correct place to post this, but during the refactor would it make sense to extend framed to support an Array of targets similar to group?

ramokz commented 3 months ago

Not sure if it's the correct place to post this, but during the refactor would it make sense to extend framed to support an Array of targets similar to group?

That would probably be for a different follow mode altogether, likely called Group Framed Follow. But that will not be considered for this issue. This issue raised in this post is about improving the underlying system of the Framed Follow itself.