From 2bc8a8e68e00149bd37ea5b8f4881fc52f574c50 Mon Sep 17 00:00:00 2001 From: Rokojori Date: Mon, 25 May 2026 12:31:21 +0200 Subject: [PATCH] StopMusic + Fixes --- Icons/TimelineManager.svg.import | 2 +- Runtime/Actions/Audio/StopMusic.cs | 34 ++++++ Runtime/Actions/Audio/StopMusic.cs.uid | 1 + Runtime/Actions/Time/Delay.cs | 2 +- Runtime/Actions/Visual/TweenColor.cs | 2 +- Runtime/Actions/Visual/TweenMaterial.cs | 4 +- .../Flash/Presets/Blue Shield - Flash.tres | 4 +- .../Flash/Presets/Green Charge - Flash.tres | 4 +- .../Flash/Presets/Orange Boost - Flash.tres | 4 +- .../Flash/Presets/Red Hit - Flash.tres | 4 +- .../Yellow Scan Outline - Highlight.tres | 4 +- .../Animation/Shake/Presets/Poke - Shake.tres | 4 +- Runtime/Cameras/CameraManager.cs | 110 ++++++++++-------- Runtime/Cameras/CameraSlot.cs | 5 + .../CameraTypes/LookAtCamera/LookAtCamera.cs | 5 + .../ThirdPersonCamera/ThirdPersonCamera.cs | 19 +-- Runtime/Interactions/Interactor.cs | 8 +- .../CompositorVFX.cs | 8 ++ .../Glow/Red Cinematic Bloom.tres | 8 +- .../Physical/Super Speed.tres | 6 +- .../CompositorVFXPresets/Screen/Sketch.tres | 10 +- Runtime/Sensors/SensorManager.cs | 24 ++-- Runtime/Time/ModulateTimelineSpeed.cs.uid | 2 +- Runtime/Time/SetTimelineSpeed.cs.uid | 2 +- Runtime/Time/Timeline.cs.uid | 2 +- Runtime/Time/TimelineCallback.cs.uid | 2 +- Runtime/Time/TimelineEvent.cs.uid | 2 +- Runtime/Time/TimelineManager.cs.uid | 2 +- .../Time/TimelineManager_Scheduling.cs.uid | 2 +- Runtime/Time/TimelineRunner.cs.uid | 2 +- Runtime/Time/TimelineSpan.cs.uid | 2 +- Runtime/Time/Timelines/UI Time.tres | 3 +- Runtime/UI/Nodes/Image/UIImage.cs | 2 +- Runtime/UI/Nodes/UIRegion.cs | 2 +- Runtime/UI/Nodes/UIText.cs | 2 +- Runtime/UI/UI-Settings-Default.tres | 22 +++- .../FlareVFXPresets/Red Orange Classic.tres | 10 +- 37 files changed, 204 insertions(+), 127 deletions(-) create mode 100644 Runtime/Actions/Audio/StopMusic.cs create mode 100644 Runtime/Actions/Audio/StopMusic.cs.uid diff --git a/Icons/TimelineManager.svg.import b/Icons/TimelineManager.svg.import index 853a575..e33403b 100644 --- a/Icons/TimelineManager.svg.import +++ b/Icons/TimelineManager.svg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://bujyx7ltsi40k" +uid="uid://cpawvk3xd268q" path="res://.godot/imported/TimelineManager.svg-deb996f134b015aad25457e6b0de530f.ctex" metadata={ "vram_texture": false diff --git a/Runtime/Actions/Audio/StopMusic.cs b/Runtime/Actions/Audio/StopMusic.cs new file mode 100644 index 0000000..37cfbe5 --- /dev/null +++ b/Runtime/Actions/Audio/StopMusic.cs @@ -0,0 +1,34 @@ + +using Godot; +using System.Collections.Generic; + +using Rokojori.Extensions; +namespace Rokojori +{ + [Tool][GlobalClass] + public partial class StopMusic:Action + { + [Export] + public AudioStreamPlayer music; + + [ExportToolButton( "Set Reference Name" )] + public Callable setReferencedNameButton => Callable.From( + ()=> + { + if ( music == null ) + { + this.Name = "Stop (nothing)"; + } + else + { + this.Name = "Stop " + music.Name; + } + } + ); + + protected override void _OnTrigger() + { + music.Stop(); + } + } +} \ No newline at end of file diff --git a/Runtime/Actions/Audio/StopMusic.cs.uid b/Runtime/Actions/Audio/StopMusic.cs.uid new file mode 100644 index 0000000..641645a --- /dev/null +++ b/Runtime/Actions/Audio/StopMusic.cs.uid @@ -0,0 +1 @@ +uid://biq088t6s6ohf diff --git a/Runtime/Actions/Time/Delay.cs b/Runtime/Actions/Time/Delay.cs index cf1bc76..7a1bacc 100644 --- a/Runtime/Actions/Time/Delay.cs +++ b/Runtime/Actions/Time/Delay.cs @@ -30,7 +30,7 @@ namespace Rokojori if ( type == TimelineSpanUpdateType.End ) { DispatchEnd( sequenceID ); - this.LogInfo( "time:", Godot.Time.GetTicksMsec() / 1000f ); + // this.LogInfo( "time:", Godot.Time.GetTicksMsec() / 1000f ); } }, this diff --git a/Runtime/Actions/Visual/TweenColor.cs b/Runtime/Actions/Visual/TweenColor.cs index e279708..3a9324a 100644 --- a/Runtime/Actions/Visual/TweenColor.cs +++ b/Runtime/Actions/Visual/TweenColor.cs @@ -62,7 +62,7 @@ namespace Rokojori protected override void _OnTrigger() { - this.LogInfo( "Started Float Tween" ); + // this.LogInfo( "Started Float Tween" ); // if ( Engine.IsEditorHint() ) diff --git a/Runtime/Actions/Visual/TweenMaterial.cs b/Runtime/Actions/Visual/TweenMaterial.cs index 0e2fa71..addb0d9 100644 --- a/Runtime/Actions/Visual/TweenMaterial.cs +++ b/Runtime/Actions/Visual/TweenMaterial.cs @@ -74,7 +74,7 @@ namespace Rokojori () => { var from = MaterialSurfaceContainer.GetMaterialInSlot( target, index, slot ); - this.LogInfo( "Delta", MaterialDelta.Create( from, toMaterial ) ); + // this.LogInfo( "Delta", MaterialDelta.Create( from, toMaterial ) ); } ); @@ -196,7 +196,7 @@ namespace Rokojori info = bm.AlbedoColor; } - this.LogInfo( "Setting:", slot, toMaterial, info, prop.Get( toMaterial ) ); + // this.LogInfo( "Setting:", slot, toMaterial, info, prop.Get( toMaterial ) ); } DispatchEnd( sequenceID ); diff --git a/Runtime/Animation/Flash/Presets/Blue Shield - Flash.tres b/Runtime/Animation/Flash/Presets/Blue Shield - Flash.tres index 216b8c2..b8075ac 100644 --- a/Runtime/Animation/Flash/Presets/Blue Shield - Flash.tres +++ b/Runtime/Animation/Flash/Presets/Blue Shield - Flash.tres @@ -1,9 +1,8 @@ -[gd_resource type="Resource" script_class="FlashEffect" load_steps=8 format=3 uid="uid://bfxwx0fiejnk3"] +[gd_resource type="Resource" script_class="FlashEffect" load_steps=7 format=3 uid="uid://bfxwx0fiejnk3"] [ext_resource type="Script" uid="uid://dncqth3uf3tb3" path="res://addons/rokojori_action_library/Runtime/Animation/HDRColor.cs" id="1_ejko8"] [ext_resource type="Script" uid="uid://c5tm02yj1bhhx" path="res://addons/rokojori_action_library/Runtime/Animation/AnimationCurve.cs" id="2_3i2og"] [ext_resource type="Script" uid="uid://cupnq55n3nimc" path="res://addons/rokojori_action_library/Runtime/Animation/Flash/FlashEffect.cs" id="3_65ipm"] -[ext_resource type="Resource" uid="uid://ch5nsa6yafs5l" path="res://addons/rokojori_action_library/Runtime/Time/Timelines/Game Time.tres" id="4_nyaof"] [sub_resource type="Resource" id="Resource_54hj8"] script = ExtResource("1_ejko8") @@ -21,7 +20,6 @@ curve = SubResource("Curve_tp3r5") [resource] script = ExtResource("3_65ipm") flashCurve = SubResource("Resource_pwp07") -timeline = ExtResource("4_nyaof") color = SubResource("Resource_54hj8") lightMode = 1 lightRange = 5.0 diff --git a/Runtime/Animation/Flash/Presets/Green Charge - Flash.tres b/Runtime/Animation/Flash/Presets/Green Charge - Flash.tres index db76b0a..0e46c9d 100644 --- a/Runtime/Animation/Flash/Presets/Green Charge - Flash.tres +++ b/Runtime/Animation/Flash/Presets/Green Charge - Flash.tres @@ -1,9 +1,8 @@ -[gd_resource type="Resource" script_class="FlashEffect" load_steps=8 format=3 uid="uid://drjdsp2qnceql"] +[gd_resource type="Resource" script_class="FlashEffect" load_steps=7 format=3 uid="uid://drjdsp2qnceql"] [ext_resource type="Script" uid="uid://dncqth3uf3tb3" path="res://addons/rokojori_action_library/Runtime/Animation/HDRColor.cs" id="1_yrhv1"] [ext_resource type="Script" uid="uid://c5tm02yj1bhhx" path="res://addons/rokojori_action_library/Runtime/Animation/AnimationCurve.cs" id="2_cdv3p"] [ext_resource type="Script" uid="uid://cupnq55n3nimc" path="res://addons/rokojori_action_library/Runtime/Animation/Flash/FlashEffect.cs" id="3_87ql1"] -[ext_resource type="Resource" uid="uid://ch5nsa6yafs5l" path="res://addons/rokojori_action_library/Runtime/Time/Timelines/Game Time.tres" id="4_2na64"] [sub_resource type="Resource" id="Resource_54hj8"] script = ExtResource("1_yrhv1") @@ -22,7 +21,6 @@ curve = SubResource("Curve_tp3r5") [resource] script = ExtResource("3_87ql1") flashCurve = SubResource("Resource_pwp07") -timeline = ExtResource("4_2na64") color = SubResource("Resource_54hj8") lightMode = 1 lightRange = 5.0 diff --git a/Runtime/Animation/Flash/Presets/Orange Boost - Flash.tres b/Runtime/Animation/Flash/Presets/Orange Boost - Flash.tres index 7458816..77806f0 100644 --- a/Runtime/Animation/Flash/Presets/Orange Boost - Flash.tres +++ b/Runtime/Animation/Flash/Presets/Orange Boost - Flash.tres @@ -3,7 +3,7 @@ [ext_resource type="Script" uid="uid://dncqth3uf3tb3" path="res://addons/rokojori_action_library/Runtime/Animation/HDRColor.cs" id="1_c8lnw"] [ext_resource type="Script" uid="uid://c5tm02yj1bhhx" path="res://addons/rokojori_action_library/Runtime/Animation/AnimationCurve.cs" id="2_w323b"] [ext_resource type="Script" uid="uid://cupnq55n3nimc" path="res://addons/rokojori_action_library/Runtime/Animation/Flash/FlashEffect.cs" id="3_eqd4c"] -[ext_resource type="Resource" uid="uid://ch5nsa6yafs5l" path="res://addons/rokojori_action_library/Runtime/Time/Timelines/Game Time.tres" id="4_cs6ks"] +[ext_resource type="Resource" uid="uid://h6oi6vkj4c2m" path="res://addons/rokojori_action_library/Runtime/Time/Timelines/Real Time.tres" id="4_g1i77"] [sub_resource type="Resource" id="Resource_ny3sx"] script = ExtResource("1_c8lnw") @@ -22,7 +22,7 @@ curve = SubResource("Curve_tp3r5") [resource] script = ExtResource("3_eqd4c") flashCurve = SubResource("Resource_pwp07") -timeline = ExtResource("4_cs6ks") +timeline = ExtResource("4_g1i77") color = SubResource("Resource_ny3sx") lightMode = 1 lightRange = 4.0 diff --git a/Runtime/Animation/Flash/Presets/Red Hit - Flash.tres b/Runtime/Animation/Flash/Presets/Red Hit - Flash.tres index 2a4b627..9d0e6e7 100644 --- a/Runtime/Animation/Flash/Presets/Red Hit - Flash.tres +++ b/Runtime/Animation/Flash/Presets/Red Hit - Flash.tres @@ -1,9 +1,8 @@ -[gd_resource type="Resource" script_class="FlashEffect" load_steps=8 format=3 uid="uid://cwdnm658q3jta"] +[gd_resource type="Resource" script_class="FlashEffect" load_steps=7 format=3 uid="uid://cwdnm658q3jta"] [ext_resource type="Script" uid="uid://dncqth3uf3tb3" path="res://addons/rokojori_action_library/Runtime/Animation/HDRColor.cs" id="1_nmdum"] [ext_resource type="Script" uid="uid://c5tm02yj1bhhx" path="res://addons/rokojori_action_library/Runtime/Animation/AnimationCurve.cs" id="2_0sgd7"] [ext_resource type="Script" uid="uid://cupnq55n3nimc" path="res://addons/rokojori_action_library/Runtime/Animation/Flash/FlashEffect.cs" id="3_7qcuh"] -[ext_resource type="Resource" uid="uid://ch5nsa6yafs5l" path="res://addons/rokojori_action_library/Runtime/Time/Timelines/Game Time.tres" id="4_rkq1j"] [sub_resource type="Resource" id="Resource_54hj8"] script = ExtResource("1_nmdum") @@ -22,5 +21,4 @@ curve = SubResource("Curve_tp3r5") [resource] script = ExtResource("3_7qcuh") flashCurve = SubResource("Resource_pwp07") -timeline = ExtResource("4_rkq1j") color = SubResource("Resource_54hj8") diff --git a/Runtime/Animation/Highlight/Presets/Yellow Scan Outline - Highlight.tres b/Runtime/Animation/Highlight/Presets/Yellow Scan Outline - Highlight.tres index 859fb0f..758439d 100644 --- a/Runtime/Animation/Highlight/Presets/Yellow Scan Outline - Highlight.tres +++ b/Runtime/Animation/Highlight/Presets/Yellow Scan Outline - Highlight.tres @@ -1,8 +1,7 @@ -[gd_resource type="Resource" script_class="HighlightEffect" load_steps=7 format=3 uid="uid://di1vy33cwab4s"] +[gd_resource type="Resource" script_class="HighlightEffect" load_steps=6 format=3 uid="uid://di1vy33cwab4s"] [ext_resource type="Script" uid="uid://dncqth3uf3tb3" path="res://addons/rokojori_action_library/Runtime/Animation/HDRColor.cs" id="1_3edxo"] [ext_resource type="Script" uid="uid://dkbln8rf5p0pu" path="res://addons/rokojori_action_library/Runtime/Animation/Highlight/HighlightEffect.cs" id="2_itc7c"] -[ext_resource type="Resource" uid="uid://h6oi6vkj4c2m" path="res://addons/rokojori_action_library/Runtime/Time/Timelines/Real Time.tres" id="3_ttsky"] [sub_resource type="Resource" id="Resource_27v41"] script = ExtResource("1_3edxo") @@ -18,7 +17,6 @@ point_count = 2 [resource] script = ExtResource("2_itc7c") -timeline = ExtResource("3_ttsky") inDuration = 0.083 inCurve = SubResource("Curve_vqio6") outDuration = 0.167 diff --git a/Runtime/Animation/Shake/Presets/Poke - Shake.tres b/Runtime/Animation/Shake/Presets/Poke - Shake.tres index c96bac0..51439c7 100644 --- a/Runtime/Animation/Shake/Presets/Poke - Shake.tres +++ b/Runtime/Animation/Shake/Presets/Poke - Shake.tres @@ -2,7 +2,7 @@ [ext_resource type="Script" uid="uid://bec6skfqkb2ci" path="res://addons/rokojori_action_library/Runtime/Animation/Shake/ShakeEffect.cs" id="1_grbkn"] [ext_resource type="Script" uid="uid://c5tm02yj1bhhx" path="res://addons/rokojori_action_library/Runtime/Animation/AnimationCurve.cs" id="2_825l5"] -[ext_resource type="Resource" uid="uid://h6oi6vkj4c2m" path="res://addons/rokojori_action_library/Runtime/Time/Timelines/Real Time.tres" id="3_h78cr"] +[ext_resource type="Resource" uid="uid://h6oi6vkj4c2m" path="res://addons/rokojori_action_library/Runtime/Time/Timelines/Real Time.tres" id="3_grbkn"] [sub_resource type="Curve" id="Curve_63bh3"] _data = [Vector2(0, 1), 0.0, -1.3770282, 0, 0, Vector2(1, 0), -0.00696731, 0.0, 0, 0] @@ -26,7 +26,7 @@ scaleY = 60.0 script = ExtResource("1_grbkn") shakeAmountCurve = SubResource("Resource_lnhr4") shakeChangeFPSCurve = SubResource("Resource_sn0rc") -timeline = ExtResource("3_h78cr") +timeline = ExtResource("3_grbkn") smoothingStrength = 0.477 positionShake = Vector3(0.2, 0, 0.2) globalPosition = false diff --git a/Runtime/Cameras/CameraManager.cs b/Runtime/Cameras/CameraManager.cs index 99850dc..34db60e 100644 --- a/Runtime/Cameras/CameraManager.cs +++ b/Runtime/Cameras/CameraManager.cs @@ -250,6 +250,22 @@ namespace Rokojori var forward = vForward; var fov = c.GetCameraFOV(); + + + // RJLog.Log( "Set Cam", position ); + + + + // camera.GlobalPosition = position; + // camera.LookAt( position - forward, up ); + // camera.Fov = fov; + + AssignCameraValues( position, forward, up, fov ); + } + + + void AssignCameraValues( Vector3 position, Vector3 forward, Vector3 up, float fov ) + { if ( forward.LengthSquared() == 0 ) { forward = camera.Basis.Z; @@ -266,15 +282,19 @@ namespace Rokojori else { up = up.Normalized(); - } - - // RJLog.Log( "Set Cam", position ); - - + } camera.GlobalPosition = position; - camera.LookAt( position - forward, up ); + camera.LookAt( position - forward, up ); camera.Fov = fov; + + // if ( lastFOV != fov ) + // { + // lastFOV = fov; + // // this.LogInfo( "FOV change:", fov ); + // fovs.Add( fov ); + // fovHistory = fovs.ToArray(); + // } } void SetSingleCamera( CameraSlot c, double delta ) @@ -302,31 +322,18 @@ namespace Rokojori var forward = vForward; var fov = c.GetCameraFOV(); - if ( forward.LengthSquared() == 0 ) - { - forward = camera.Basis.Z; - } - else - { - forward = forward.Normalized(); - } - - if ( up.LengthSquared() == 0 ) - { - up = camera.Basis.Y; - } - else - { - up = up.Normalized(); - } + // this.LogInfo( "Single Cam:", c.Name, "fov:", c.GetCameraFOV() ); // RJLog.Log( "Set Cam", position ); - camera.GlobalPosition = position; - camera.LookAt( position - forward, up ); - camera.Fov = fov; + // camera.GlobalPosition = position; + // camera.LookAt( position - forward, up ); + // camera.Fov = fov; + + AssignCameraValues( position, forward, up, fov ); + } @@ -374,6 +381,7 @@ namespace Rokojori refreshSlots = false; _cameraSlots = Nodes.GetDirectChildren( this ); + _cameraSlots.ForEach( c => c.Reset() ); StartLerping(); } @@ -468,37 +476,45 @@ namespace Rokojori up += priority * vUp; forward += priority * vForward; fov += priority * c.GetCameraFOV(); + + // this.LogInfo( "Multicam", c.Name, "fov:", c.GetCameraFOV(), c.smoothedPriority ); } ); position /= sumPriority; - fov /= sumPriority; + fov = fov == 0f ? 60f : fov/sumPriority; - if ( forward.LengthSquared() == 0 ) - { - forward = camera.Basis.Z; - } - else - { - forward = forward.Normalized(); - } + // this.LogInfo( "Multicam", "fov combined:", fov, sumPriority ); - if ( up.LengthSquared() == 0 ) - { - up = camera.Basis.Y; - } - else - { - up = up.Normalized(); - } + // if ( forward.LengthSquared() == 0 ) + // { + // forward = camera.Basis.Z; + // } + // else + // { + // forward = forward.Normalized(); + // } - // RJLog.Log( "Set Cam", position ); + // if ( up.LengthSquared() == 0 ) + // { + // up = camera.Basis.Y; + // } + // else + // { + // up = up.Normalized(); + // } + + // // RJLog.Log( "Set Cam", position ); - camera.GlobalPosition = position; - camera.LookAt( position - forward, up ); - camera.Fov = fov; + // camera.GlobalPosition = position; + // camera.LookAt( position - forward, up ); + // camera.Fov = fov; + + AssignCameraValues( position, forward, up, fov ); + + // this.LogInfo( fov, ">>", camera.Fov ); } diff --git a/Runtime/Cameras/CameraSlot.cs b/Runtime/Cameras/CameraSlot.cs index 7e9a31e..178e7af 100644 --- a/Runtime/Cameras/CameraSlot.cs +++ b/Runtime/Cameras/CameraSlot.cs @@ -31,6 +31,11 @@ namespace Rokojori Smoother smoother = new Smoother(); + public void Reset() + { + _smoothedPriority = priority; + } + public void Update( double delta, CameraManager manager ) { if ( cameraEffectRunner != null ) diff --git a/Runtime/Cameras/CameraTypes/LookAtCamera/LookAtCamera.cs b/Runtime/Cameras/CameraTypes/LookAtCamera/LookAtCamera.cs index 7d77074..8d1dc74 100644 --- a/Runtime/Cameras/CameraTypes/LookAtCamera/LookAtCamera.cs +++ b/Runtime/Cameras/CameraTypes/LookAtCamera/LookAtCamera.cs @@ -50,6 +50,11 @@ namespace Rokojori if ( Engine.IsEditorHint() ) { return; + } + + if ( target == null || timeLine == null ) + { + this.LogInfo( "Missing target or timeline", target, timeLine ); } var lookAtPosition = smoothing.Smooth( target.GlobalPosition, timeLine.delta ); diff --git a/Runtime/Cameras/CameraTypes/ThirdPersonCamera/ThirdPersonCamera.cs b/Runtime/Cameras/CameraTypes/ThirdPersonCamera/ThirdPersonCamera.cs index b3a8320..1e7a0fa 100644 --- a/Runtime/Cameras/CameraTypes/ThirdPersonCamera/ThirdPersonCamera.cs +++ b/Runtime/Cameras/CameraTypes/ThirdPersonCamera/ThirdPersonCamera.cs @@ -29,9 +29,14 @@ namespace Rokojori [Export] public CharacterController.CharacterUpdateMode updateMode = CharacterController.CharacterUpdateMode.Physics_Process; + [Export] + public bool processInEditor = false; + + public bool canProcess => processInEditor || ! Engine.IsEditorHint(); + public override void _Process( double delta ) { - if ( CharacterController.CharacterUpdateMode.Process == updateMode ) + if ( canProcess && CharacterController.CharacterUpdateMode.Process == updateMode ) { _ProcessCamera( delta ); } @@ -39,7 +44,7 @@ namespace Rokojori public override void _PhysicsProcess( double delta ) { - if ( CharacterController.CharacterUpdateMode.Physics_Process == updateMode ) + if ( canProcess && CharacterController.CharacterUpdateMode.Physics_Process == updateMode ) { _ProcessCamera( delta ); } @@ -115,7 +120,7 @@ namespace Rokojori cameraRotation = new Quaternion( basis ); } - [Export,ReadOnly] + // [Export,ReadOnly] public Vector3 cameraPosition; public override Vector3 GetCameraPosition() @@ -123,10 +128,10 @@ namespace Rokojori return cameraPosition; } - [Export,ReadOnly] + // [Export,ReadOnly] public Vector3 cameraForward; - [Export,ReadOnly] + // [Export,ReadOnly] public Quaternion cameraRotation; public override Quaternion GetCameraRotation() @@ -135,8 +140,8 @@ namespace Rokojori } - [Export,ReadOnly] - public float FOV; + [Export] + public float FOV = 60f; public override float GetCameraFOV() { diff --git a/Runtime/Interactions/Interactor.cs b/Runtime/Interactions/Interactor.cs index 3e54d9c..e14c10b 100644 --- a/Runtime/Interactions/Interactor.cs +++ b/Runtime/Interactions/Interactor.cs @@ -31,7 +31,7 @@ namespace Rokojori public void _OnSensor( SensorEvent se ) { - + this.LogInfo( "SensorEvent:", se ); if ( pointer == null || pointer.pointable == null ) { return; @@ -42,14 +42,20 @@ namespace Rokojori return; } + + var interactable = Nodes.Find( pointer.pointable.GetParent() ); + this.LogInfo( "Pressed:", HierarchyName.Of( interactable ), HierarchyName.Of( pointer ) ); + if ( interactable == null ) { return; } + this.LogInfo( "Triggering:", HierarchyName.Of( interactable.onInteraction ) ); + Action.TriggerSafe( interactable.onInteraction ); } } diff --git a/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorVFX.cs b/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorVFX.cs index 74b1501..f8dfee7 100644 --- a/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorVFX.cs +++ b/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorVFX.cs @@ -168,6 +168,14 @@ namespace Rokojori var effects = preset.effects; + var cm = Unique.Get(); + + if ( cm == null ) + { + this.LogInfo( cm ); + return; + } + var currentLayout = layout != null ? layout : Unique.Get().compositorLayout; if ( _driverValue == 0 || ( _driverValue == 1 && managingMode == ManagingMode.Remove_On_NonIntermediate_Insert_Else ) ) diff --git a/Runtime/Rendering/Compositor/CompositorVFXPresets/Glow/Red Cinematic Bloom.tres b/Runtime/Rendering/Compositor/CompositorVFXPresets/Glow/Red Cinematic Bloom.tres index 8dd8963..799eb19 100644 --- a/Runtime/Rendering/Compositor/CompositorVFXPresets/Glow/Red Cinematic Bloom.tres +++ b/Runtime/Rendering/Compositor/CompositorVFXPresets/Glow/Red Cinematic Bloom.tres @@ -1,7 +1,6 @@ -[gd_resource type="Resource" script_class="CompositorVFXPreset" load_steps=41 format=3 uid="uid://c63le61ap244y"] +[gd_resource type="Resource" script_class="CompositorVFXPreset" load_steps=40 format=3 uid="uid://c63le61ap244y"] [ext_resource type="Script" uid="uid://dvvfvlutisecy" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/AnimationTargets/CompFXMemberCurveTarget.cs" id="1_1rohx"] -[ext_resource type="Resource" uid="uid://b0cwrx25ct7ht" path="res://PostFX-Compositor-Layer.tres" id="2_tdlfo"] [ext_resource type="Script" uid="uid://cx5qcow1mmd11" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorEffectOwner.cs" id="2_yywgn"] [ext_resource type="Script" uid="uid://comuvej4dr22k" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/RokojoriCompositorEffectID.cs" id="3_tdlfo"] [ext_resource type="Script" uid="uid://6jkixa201wux" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Glow/ChromaticBloom/ChromaticBloomEffect.cs" id="4_2f4vr"] @@ -26,7 +25,6 @@ script = ExtResource("2_yywgn") [sub_resource type="Resource" id="Resource_i5utj"] script = ExtResource("3_tdlfo") owner = SubResource("Resource_geea8") -layer = ExtResource("2_tdlfo") [sub_resource type="CompositorEffect" id="CompositorEffect_2f4vr"] resource_local_to_scene = false @@ -62,7 +60,6 @@ metadata/_custom_type_script = "uid://6jkixa201wux" [sub_resource type="Resource" id="Resource_jpti0"] script = ExtResource("3_tdlfo") owner = SubResource("Resource_geea8") -layer = ExtResource("2_tdlfo") [sub_resource type="CompositorEffect" id="CompositorEffect_xv23r"] resource_local_to_scene = false @@ -108,7 +105,6 @@ metadata/_custom_type_script = "uid://dvvfvlutisecy" [sub_resource type="Resource" id="Resource_krf45"] script = ExtResource("3_tdlfo") owner = SubResource("Resource_geea8") -layer = ExtResource("2_tdlfo") [sub_resource type="Gradient" id="Gradient_a4g6s"] offsets = PackedFloat32Array(0, 0.9745455) @@ -190,7 +186,6 @@ metadata/_custom_type_script = "uid://c3ipi4e85bp0r" [sub_resource type="Resource" id="Resource_8vqmt"] script = ExtResource("3_tdlfo") owner = SubResource("Resource_geea8") -layer = ExtResource("2_tdlfo") [sub_resource type="CompositorEffect" id="CompositorEffect_3gufn"] resource_local_to_scene = false @@ -236,7 +231,6 @@ metadata/_custom_type_script = "uid://dvvfvlutisecy" [sub_resource type="Resource" id="Resource_22k1k"] script = ExtResource("3_tdlfo") owner = SubResource("Resource_geea8") -layer = ExtResource("2_tdlfo") [sub_resource type="Gradient" id="Gradient_hpfyh"] offsets = PackedFloat32Array(0.70414203, 1) diff --git a/Runtime/Rendering/Compositor/CompositorVFXPresets/Physical/Super Speed.tres b/Runtime/Rendering/Compositor/CompositorVFXPresets/Physical/Super Speed.tres index 8c336e1..ab19bfd 100644 --- a/Runtime/Rendering/Compositor/CompositorVFXPresets/Physical/Super Speed.tres +++ b/Runtime/Rendering/Compositor/CompositorVFXPresets/Physical/Super Speed.tres @@ -1,7 +1,6 @@ -[gd_resource type="Resource" script_class="CompositorVFXPreset" load_steps=33 format=3 uid="uid://d1uubsqnvu1qe"] +[gd_resource type="Resource" script_class="CompositorVFXPreset" load_steps=32 format=3 uid="uid://d1uubsqnvu1qe"] [ext_resource type="Script" uid="uid://dvvfvlutisecy" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/AnimationTargets/CompFXMemberCurveTarget.cs" id="1_x2b2j"] -[ext_resource type="Resource" uid="uid://b0cwrx25ct7ht" path="res://PostFX-Compositor-Layer.tres" id="2_7oha2"] [ext_resource type="Script" uid="uid://cx5qcow1mmd11" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/CompositorEffectOwner.cs" id="2_kelqw"] [ext_resource type="Script" uid="uid://comuvej4dr22k" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffectReferences/RokojoriCompositorEffectID.cs" id="3_7oha2"] [ext_resource type="Script" uid="uid://cqkrgyuerq50a" path="res://addons/rokojori_action_library/Runtime/Rendering/Compositor/CompositorEffects/Distortion/EllispeDistortion/EllipseDistortionEffect.cs" id="4_pflfa"] @@ -33,7 +32,6 @@ script = ExtResource("2_kelqw") [sub_resource type="Resource" id="Resource_7oha2"] script = ExtResource("3_7oha2") owner = SubResource("Resource_geea8") -layer = ExtResource("2_7oha2") [sub_resource type="Gradient" id="Gradient_pflfa"] offsets = PackedFloat32Array(0.2090909, 0.94545454) @@ -95,7 +93,6 @@ metadata/_custom_type_script = "uid://dvvfvlutisecy" [sub_resource type="Resource" id="Resource_1qvce"] script = ExtResource("3_7oha2") owner = SubResource("Resource_geea8") -layer = ExtResource("2_7oha2") [sub_resource type="CompositorEffect" id="CompositorEffect_6d3w2"] resource_local_to_scene = false @@ -128,7 +125,6 @@ curve = SubResource("Curve_rtqyr") [sub_resource type="Resource" id="Resource_rit7v"] script = ExtResource("3_7oha2") owner = SubResource("Resource_geea8") -layer = ExtResource("2_7oha2") [sub_resource type="Gradient" id="Gradient_7q50q"] offsets = PackedFloat32Array(0, 0.6311111) diff --git a/Runtime/Rendering/Compositor/CompositorVFXPresets/Screen/Sketch.tres b/Runtime/Rendering/Compositor/CompositorVFXPresets/Screen/Sketch.tres index 4b98dad..7401b40 100644 --- a/Runtime/Rendering/Compositor/CompositorVFXPresets/Screen/Sketch.tres +++ b/Runtime/Rendering/Compositor/CompositorVFXPresets/Screen/Sketch.tres @@ -19,12 +19,12 @@ member = "amount" curve = SubResource("Curve_btbfg") metadata/_custom_type_script = "uid://dvvfvlutisecy" -[sub_resource type="Resource" id="Resource_4xviq"] +[sub_resource type="Resource" id="Resource_dryyw"] script = ExtResource("1_0ail8") [sub_resource type="Resource" id="Resource_p64cs"] script = ExtResource("2_tc21q") -owner = SubResource("Resource_4xviq") +owner = SubResource("Resource_dryyw") [sub_resource type="Curve" id="Curve_7axlu"] _data = [Vector2(0, 1), 0.0, -18.573792, 0, 0, Vector2(0.07774799, 0.15679264), -0.687919, -0.687919, 0, 0, Vector2(1, 0), -0.069252, 0.0, 0, 0] @@ -88,7 +88,7 @@ metadata/_custom_type_script = "uid://dvvfvlutisecy" [sub_resource type="Resource" id="Resource_hpfyh"] script = ExtResource("2_tc21q") -owner = SubResource("Resource_4xviq") +owner = SubResource("Resource_dryyw") [sub_resource type="Gradient" id="Gradient_frwbc"] offsets = PackedFloat32Array(1) @@ -131,7 +131,7 @@ metadata/_custom_type_script = "uid://dvvfvlutisecy" [sub_resource type="Resource" id="Resource_gxlxg"] script = ExtResource("2_tc21q") -owner = SubResource("Resource_4xviq") +owner = SubResource("Resource_dryyw") [sub_resource type="CompressedTexture2D" id="CompressedTexture2D_4n83u"] load_path = "res://.godot/imported/RGB 3D Noise.png-daebfe00d2f3fcd5d3bc528f8a3972e1.ctex" @@ -167,7 +167,7 @@ metadata/_custom_type_script = "uid://balixgskgouhm" [sub_resource type="Resource" id="Resource_3tnad"] script = ExtResource("2_tc21q") -owner = SubResource("Resource_4xviq") +owner = SubResource("Resource_dryyw") [sub_resource type="CompositorEffect" id="CompositorEffect_hdnet"] resource_local_to_scene = false diff --git a/Runtime/Sensors/SensorManager.cs b/Runtime/Sensors/SensorManager.cs index 8647f20..fe68e22 100644 --- a/Runtime/Sensors/SensorManager.cs +++ b/Runtime/Sensors/SensorManager.cs @@ -418,7 +418,7 @@ namespace Rokojori cs.sensors.ForEach( s => { - this.LogInfo( "Adding Combine Sensor:", s ); + // this.LogInfo( "Adding Combine Sensor:", s ); AddSensor( s ); } ); @@ -445,17 +445,17 @@ namespace Rokojori var sensors = ReflectionHelper.GetDataMemberValues( obj ); - if ( sensors.Count > 0 ) - { - if ( obj is Node n ) - { - n.LogInfo( sensors ); - } - else if ( obj is Resource r ) - { - r.LogInfo( sensors ); - } - } + // if ( sensors.Count > 0 ) + // { + // if ( obj is Node n ) + // { + // n.LogInfo( sensors ); + // } + // else if ( obj is Resource r ) + // { + // r.LogInfo( sensors ); + // } + // } sensors.ForEach( diff --git a/Runtime/Time/ModulateTimelineSpeed.cs.uid b/Runtime/Time/ModulateTimelineSpeed.cs.uid index 9b5c55b..4962f53 100644 --- a/Runtime/Time/ModulateTimelineSpeed.cs.uid +++ b/Runtime/Time/ModulateTimelineSpeed.cs.uid @@ -1 +1 @@ -uid://dw76e4gfqy4no +uid://dl72xehl25fh5 diff --git a/Runtime/Time/SetTimelineSpeed.cs.uid b/Runtime/Time/SetTimelineSpeed.cs.uid index 3c488c3..c8388c9 100644 --- a/Runtime/Time/SetTimelineSpeed.cs.uid +++ b/Runtime/Time/SetTimelineSpeed.cs.uid @@ -1 +1 @@ -uid://b7dgudl32s41y +uid://cwatnje5p2ktl diff --git a/Runtime/Time/Timeline.cs.uid b/Runtime/Time/Timeline.cs.uid index bd061ce..35e8fa2 100644 --- a/Runtime/Time/Timeline.cs.uid +++ b/Runtime/Time/Timeline.cs.uid @@ -1 +1 @@ -uid://86qwdjl5kbld +uid://ydp0av62q8oi diff --git a/Runtime/Time/TimelineCallback.cs.uid b/Runtime/Time/TimelineCallback.cs.uid index 34c9bf5..fb6d23a 100644 --- a/Runtime/Time/TimelineCallback.cs.uid +++ b/Runtime/Time/TimelineCallback.cs.uid @@ -1 +1 @@ -uid://bka252qrc5wr +uid://ccwlu251e3lnl diff --git a/Runtime/Time/TimelineEvent.cs.uid b/Runtime/Time/TimelineEvent.cs.uid index 7e71e57..b2d27f8 100644 --- a/Runtime/Time/TimelineEvent.cs.uid +++ b/Runtime/Time/TimelineEvent.cs.uid @@ -1 +1 @@ -uid://b82uqqj3who4c +uid://cbj1d4lsdqdvw diff --git a/Runtime/Time/TimelineManager.cs.uid b/Runtime/Time/TimelineManager.cs.uid index 81c1f5a..07bf918 100644 --- a/Runtime/Time/TimelineManager.cs.uid +++ b/Runtime/Time/TimelineManager.cs.uid @@ -1 +1 @@ -uid://b5j3rl0bdcdsi +uid://blhqqoa8xfmj4 diff --git a/Runtime/Time/TimelineManager_Scheduling.cs.uid b/Runtime/Time/TimelineManager_Scheduling.cs.uid index e6e71b7..e5c3646 100644 --- a/Runtime/Time/TimelineManager_Scheduling.cs.uid +++ b/Runtime/Time/TimelineManager_Scheduling.cs.uid @@ -1 +1 @@ -uid://clw0a3x4nmr6u +uid://cjlrsnt82lrvf diff --git a/Runtime/Time/TimelineRunner.cs.uid b/Runtime/Time/TimelineRunner.cs.uid index 582aaf6..bcd618b 100644 --- a/Runtime/Time/TimelineRunner.cs.uid +++ b/Runtime/Time/TimelineRunner.cs.uid @@ -1 +1 @@ -uid://djcv5dh2u73v5 +uid://rr3bemugjdp4 diff --git a/Runtime/Time/TimelineSpan.cs.uid b/Runtime/Time/TimelineSpan.cs.uid index dd01f13..cc88a66 100644 --- a/Runtime/Time/TimelineSpan.cs.uid +++ b/Runtime/Time/TimelineSpan.cs.uid @@ -1 +1 @@ -uid://badk0je4kx6xb +uid://ctbplkysmyk1g diff --git a/Runtime/Time/Timelines/UI Time.tres b/Runtime/Time/Timelines/UI Time.tres index dcad604..64bef61 100644 --- a/Runtime/Time/Timelines/UI Time.tres +++ b/Runtime/Time/Timelines/UI Time.tres @@ -1,8 +1,7 @@ [gd_resource type="Resource" script_class="Timeline" load_steps=2 format=3 uid="uid://b4iykcwesp1y6"] -[ext_resource type="Script" uid="uid://86qwdjl5kbld" path="res://addons/rokojori_action_library/Runtime/Time/Timeline.cs" id="1_kk6wf"] +[ext_resource type="Script" uid="uid://ydp0av62q8oi" path="res://addons/rokojori_action_library/Runtime/Time/Timeline.cs" id="1_kk6wf"] [resource] script = ExtResource("1_kk6wf") -clockSource = 2 executesInPause = true diff --git a/Runtime/UI/Nodes/Image/UIImage.cs b/Runtime/UI/Nodes/Image/UIImage.cs index ae29c2a..2f8469b 100644 --- a/Runtime/UI/Nodes/Image/UIImage.cs +++ b/Runtime/UI/Nodes/Image/UIImage.cs @@ -449,7 +449,7 @@ namespace Rokojori // this.LogInfo( "InputEvent", inputEvent, ui.settings.uiConfirm.IsDown( inputEvent ) ); - if ( ui.settings.uiConfirm.IsDown( inputEvent ) ) + if ( ui?.settings?.uiConfirm?.IsDown( inputEvent ) ?? false ) { onUIConfirm?.Trigger(); // GD.Print("ui_accept pressed while focused"); diff --git a/Runtime/UI/Nodes/UIRegion.cs b/Runtime/UI/Nodes/UIRegion.cs index baa5a31..ac119c7 100644 --- a/Runtime/UI/Nodes/UIRegion.cs +++ b/Runtime/UI/Nodes/UIRegion.cs @@ -91,7 +91,7 @@ public partial class UIRegion : Control, UIStylePropertyContainerNode, UIHolderC // this.LogInfo( "InputEvent", inputEvent, ui.settings.uiConfirm.IsDown( inputEvent ) ); - if ( ui.settings.uiConfirm.IsDown( inputEvent ) ) + if ( ui?.settings?.uiConfirm?.IsDown( inputEvent ) ?? false ) { onUIConfirm?.Trigger(); // GD.Print("ui_accept pressed while focused"); diff --git a/Runtime/UI/Nodes/UIText.cs b/Runtime/UI/Nodes/UIText.cs index a3c3396..3eceb2d 100644 --- a/Runtime/UI/Nodes/UIText.cs +++ b/Runtime/UI/Nodes/UIText.cs @@ -445,7 +445,7 @@ namespace Rokojori // this.LogInfo( "InputEvent", inputEvent, ui.settings.uiConfirm.IsDown( inputEvent ) ); - if ( ui.settings.uiConfirm.IsDown( inputEvent ) ) + if ( ui?.settings?.uiConfirm?.IsDown( inputEvent ) ?? false ) { onUIConfirm?.Trigger(); // GD.Print("ui_accept pressed while focused"); diff --git a/Runtime/UI/UI-Settings-Default.tres b/Runtime/UI/UI-Settings-Default.tres index 5ecbc77..ca8a249 100644 --- a/Runtime/UI/UI-Settings-Default.tres +++ b/Runtime/UI/UI-Settings-Default.tres @@ -1,11 +1,19 @@ -[gd_resource type="Resource" script_class="UISettings" load_steps=9 format=3 uid="uid://dp57o0ykhkqfj"] +[gd_resource type="Resource" script_class="UISettings" load_steps=17 format=3 uid="uid://dp57o0ykhkqfj"] [ext_resource type="Script" uid="uid://cgdxalxhdbmjn" path="res://addons/rokojori_action_library/Runtime/UI/UISettings.cs" id="1_5a283"] -[ext_resource type="Resource" uid="uid://b4iykcwesp1y6" path="res://addons/rokojori_action_library/Runtime/Time/Timelines/UI Time.tres" id="1_6vky0"] +[ext_resource type="Resource" uid="uid://b4iykcwesp1y6" path="res://addons/rokojori_action_library/Runtime/Time/Timelines/UI Time.tres" id="1_lq2kq"] [ext_resource type="Resource" uid="uid://bhy8b3gopkq4m" path="res://addons/rokojori_action_library/Runtime/UI/ShaderProperties/Vector2/Size.tres" id="2_cdd3u"] [ext_resource type="Script" uid="uid://cebfjne1ewhnm" path="res://addons/rokojori_action_library/Runtime/Shading/Properties/Vector2PropertyName.cs" id="3_e2b6y"] [ext_resource type="Script" uid="uid://cnkyynboxg1qg" path="res://addons/rokojori_action_library/Runtime/UI/Styling/UINumber.cs" id="3_xon8j"] [ext_resource type="Resource" uid="uid://dq52vhnqr5m6" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Default-Input-Icons-Library.tres" id="4_v6r6i"] +[ext_resource type="Resource" uid="uid://dfvs7wbygwmhk" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/UI/Sensors/UI Cancel.tres" id="7_7wsju"] +[ext_resource type="Resource" uid="uid://ciia3k58fa5w" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/UI/Sensors/UI Confirm.tres" id="8_3x83o"] +[ext_resource type="Resource" uid="uid://ckyf78p517ga1" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/UI/Sensors/UI Down.tres" id="9_xyicm"] +[ext_resource type="Resource" uid="uid://cqatyb80rpor0" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/UI/Sensors/UI Left.tres" id="10_npq7o"] +[ext_resource type="Resource" uid="uid://ccff1bj35qcl0" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/UI/Sensors/UI Next Menu.tres" id="11_62mo6"] +[ext_resource type="Resource" uid="uid://dtykoghdisv37" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/UI/Sensors/UI Previous Menu.tres" id="12_boqnk"] +[ext_resource type="Resource" uid="uid://dafu3alp6wr25" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/UI/Sensors/UI Right.tres" id="13_ibgv6"] +[ext_resource type="Resource" uid="uid://r8bfiv34ghev" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/UI/Sensors/UI Up.tres" id="14_b8y6s"] [sub_resource type="Resource" id="Resource_wm644"] script = ExtResource("3_xon8j") @@ -21,7 +29,15 @@ metadata/_custom_type_script = "uid://cebfjne1ewhnm" [resource] script = ExtResource("1_5a283") inputIconsLibrary = ExtResource("4_v6r6i") +defaultTimeline = ExtResource("1_lq2kq") fontSize = SubResource("Resource_wm644") +uiConfirm = ExtResource("8_3x83o") +uiCancel = ExtResource("7_7wsju") +uiLeft = ExtResource("10_npq7o") +uiRight = ExtResource("13_ibgv6") +uiUp = ExtResource("14_b8y6s") +uiDown = ExtResource("9_xyicm") +uiPreviousMenu = ExtResource("12_boqnk") +uiNextMenu = ExtResource("11_62mo6") sizePropertyName = ExtResource("2_cdd3u") textureSizePropertyName = SubResource("Resource_6vky0") -defaultTimeline = ExtResource("1_6vky0") diff --git a/Runtime/VFX/FlareVFX/FlareVFXPresets/Red Orange Classic.tres b/Runtime/VFX/FlareVFX/FlareVFXPresets/Red Orange Classic.tres index 4e0dda0..30a10ff 100644 --- a/Runtime/VFX/FlareVFX/FlareVFXPresets/Red Orange Classic.tres +++ b/Runtime/VFX/FlareVFX/FlareVFXPresets/Red Orange Classic.tres @@ -86,12 +86,12 @@ textureUVScale = 4.0 maskUVScale = 4.0 metadata/_custom_type_script = "uid://btuv7v342v3k6" -[sub_resource type="Curve" id="Curve_a4g6s"] +[sub_resource type="Curve" id="Curve_8d170"] _data = [Vector2(0, 1), 0.0, -1.0, 0, 1, Vector2(1, 0), 0.0, 0.0, 0, 0] point_count = 2 -[sub_resource type="CurveTexture" id="CurveTexture_xxny3"] -curve = SubResource("Curve_a4g6s") +[sub_resource type="CurveTexture" id="CurveTexture_ch4em"] +curve = SubResource("Curve_8d170") [sub_resource type="Resource" id="Resource_nuxa8"] script = ExtResource("4_1hsao") @@ -100,7 +100,7 @@ hide = true flareType = SubResource("Resource_krf45") overwriteColor = Color(2.343, 2.343, 2.343, 1) overwriteAmount = 0.2568 -opacityCurvePerLayer = SubResource("CurveTexture_xxny3") +opacityCurvePerLayer = SubResource("CurveTexture_ch4em") tint = Color(4.8530827, 4.8530827, 4.8530827, 1) lighntessShift = -10.3896 size = 4.0 @@ -262,7 +262,7 @@ opacity = 0.1873 numLayers = 3 flareType = SubResource("Resource_k3n7u") overwriteColor = Color(2.385, 0.24872369, 0, 1) -opacityCurvePerLayer = SubResource("CurveTexture_xxny3") +opacityCurvePerLayer = SubResource("CurveTexture_ch4em") temparatureShift = 34.56 size = 100.0 sizeScale = 0.0912