Skip to content

v0.8

Compare
Choose a tag to compare
@ramokz ramokz released this 19 Oct 12:24
· 79 commits to main since this release

🚨 Breaking Changes

  • append_look_at_targets_array used to take a Array[NodePath] as a parameter
    • Parameter now only accepts type Array[Node3D]

⚠️ Deprecated Functions & Properties

  • erase_look_at_targets_member is now deprecated
    • Use erase_look_at_targets instead.

✨ New Features

phantom-camera-noise

Phantom Camera Noise


2D

3D
2d_noise.mp4
3d_noise.mp4

Camera noise, a long requested feature, also known as camera shake, has now been added for PCam2Ds and PCam3Ds, able to affect both the rotation and position of a given PCam. The feature comes with a few additional nodes and resources that enable this functionality.

Read more on the documentation site for a better general overview.

Phantom Camera Noise Resource

Named PhantomCameraNoiseResource, is a new resource type with a 2D and 3D variant. It defines all the variables for the noise such as intensity, rotational / position multiplier and randomness seed. The noise is calculated using a perlin noise pattern.

Read more about the PhantomCameraNoise2D and PhantomCameraNoise3D on the documentation site.


Phantom Camera Noise Emitter

Named PhantomCameraNoiseEmitter, is a new node type with a 2D and 3D variant for their respective scenes. Its primary use case is to trigger noise at a given moment, by calling its emit() method, for either a specified duration or a continuous loop. It can be previewed in the editor by toggling the Preview property in the inspector.

Read more about the PhantomCameraNoiseEmitter2D and PhantomCameraNoiseEmitter3D on the documentation site.

⬆️ Improvements

  • TileMapLayer Support for the Limit Node feature
  • Active PCams' logic are now being called in the same tick as the PCamHost it belongs to, whereas previously PCams triggered their logic in their own tick, which was often not in sync with the PCamHost node. This is to better synchronize the PCam2D/3D and Camera2D/3D logic, which should further smooth out camera movement.
    • Thanks @m4rr5 for the suggestion
  • Reduced the under-the-hood complexity of the Follow (2D / 3D) and Look At (3D) logic
  • Added dead_zone_reached signal, is emitted whenever the target touches the edge of the dead zone
  • Improved the behavior of 2D Framed Follow. Should now no longer change vertical camera movement when only the horizontal dead zones are reached and vice versa

🐛 Fixes

  • Resolved a crash that would occur when freeing a parent of follow_target, follow_targets (for group follow) or look_at_target and look_at_targets (group look at) (#381)
  • Resolved error spam when changing 2D scene
  • Resolved error spam when changing 3D scene
  • Resolved an issue with getting an error spam when having an empty or a valid target not in the first array index when using Follow Group or Look At Group
  • Resolved an issue where Auto Zoom (2D) and Auto Follow Distance (3D) properties would be visible when the follow mode wasn't set to Group
  • Resolved an issue where Follow Group would be biased towards the first follow target in the array
  • Resolved a false positive error saying: get_tree: Parameter "data.tree" is null. This was due to having enabled Physics Interpolation in the Project Settings, where the addon changed the Physics Interpolation of the camera to Off for none-physics targets, when it should be Inherit (#377)