v.0.8 Beta #398
ramokz
announced in
Announcements
v.0.8 Beta
#398
Replies: 1 comment 5 replies
-
Hello! _follow_spring_arm.margin = margin
_follow_spring_arm.add_excluded_object(follow_target)
#get_tree().root.add_child.call_deferred(_follow_spring_arm) (OLD)
get_parent().add_child.call_deferred(_follow_spring_arm)
reparent.call_deferred(_follow_spring_arm) Is there a specific reason for this to change to the root, since the spring arm is still set as top level, anyway? Thanks! |
Beta Was this translation helpful? Give feedback.
5 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Important
This beta is intended as a pre-release build to allow the community to give feedback on the upcoming version before it goes live for everyone.
The main area of feedback interest is about the Phantom Camera Noise feature (see below).
Note
The version number in
plugin.cfg
is purposely set tov0.7.9
.This is to allow for upgrading to
v0.8
from the Beta release using the addon's updater.🚨 Breaking Changes
append_look_at_targets_array
used to take aArray[NodePath]
as a parameterArray[Node3D]
erase_look_at_targets_member
is now deprecatederase_look_at_targets
instead.✨ New Features
Phantom Camera Noise
A long requested feature, camera noise, also known as camera shake, is available for
PCam2Ds
andPCam3Ds
, able to affect both the rotation and position of thePCam
.Phantom Camera Noise Resource
Named
PhantomCameraNoiseResource
, is a newresource
type with a 2D and 3D variant. It defines all the variables for the noise such as intensity, rotational / position limits and randomness seed. The noise is calculated using a perlin noise pattern.Both 2D and 3D
Noise Resources
can apply changes toposition
androtation
; however, it's recommended to avoid rotational noise in 3D scenes to avoid geometry clipping issues.Phantom Camera Noise Emitter
Named
PhantomCameraNoiseEmitter
, is a newnode
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 continous loop. It can be previewed in the editor by toggling thePreview
property in the inspector.Each emitter uses a
Noise Resource
to define its noise pattern and only affects thePCams
in the matchingNoise Emitter Layers
. That is to say, in order for the emitter to work both the emitter and the individualPCam
node needs to have at least one matchingNoise Layer
Quick Guide
There are 2 ways to apply noise to a
Camera2D/3D
with this system:Noise Resource
to theNoise
property in a givenPCam
directly. Doing so will make the noise run persistently without pause on that specificPCam
. Note: This will only run after a tween has been completed.Noise Emitter
(PhantomCameraNoiseEmitter
node) to the scene, assign aNoise Resource
and trigger it at any time by calling itsemit()
function — again, it can be previewed in the viewfinder by toggling thePreview
button. The Emitter can be placed anywhere in the scene tree. Note: This will impact theCamera2D/3D
both when following and during a tween to aPCam
if it has a matchingNoise Layer
.Using External Noise Values
If the user wants to supply their own noise values, either from third-party libraries or using their scripts, then that can be achieved by calling
emit_noise()
from aPCam2D/3D
by supplying aTransform2D
orTransform3D
respectively.Examples Scenes
2d_noise_example_scene.tscn
3d_noise_example_scene.tscn
⬆️ Improvements
dead_zone_reached
signal, is emitted whenever the target touches the edge of the dead zone🐛 Fixes
follow_target
,follow_targets
(for group follow) orlook_at_target
andlook_at_targets
(group look at) (Prevent crash when freeing target parent #381)Follow Group
orLook At Group
This discussion was created from the release v.0.8 Beta.
Beta Was this translation helpful? Give feedback.
All reactions