Animation Updates

This commit is contained in:
Rokojori 2026-08-03 15:24:35 +02:00
parent 5ede8f7dff
commit 79fd695989
20 changed files with 190 additions and 520 deletions

View File

@ -4,16 +4,15 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://d26yo7jsrxtws"
path.s3tc="res://.godot/imported/grass-albedo.jpg-c84cfed4e689cec916b830b5e61c6fc2.s3tc.ctex"
path.etc2="res://.godot/imported/grass-albedo.jpg-c84cfed4e689cec916b830b5e61c6fc2.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://addons/rokojori_action_library/Assets/Procedural/Grass/grass-albedo.jpg"
dest_files=["res://.godot/imported/grass-albedo.jpg-c84cfed4e689cec916b830b5e61c6fc2.s3tc.ctex", "res://.godot/imported/grass-albedo.jpg-c84cfed4e689cec916b830b5e61c6fc2.etc2.ctex"]
dest_files=["res://.godot/imported/grass-albedo.jpg-c84cfed4e689cec916b830b5e61c6fc2.s3tc.ctex"]
[params]

View File

@ -4,16 +4,15 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://bq7d1ml585fxg"
path.s3tc="res://.godot/imported/grass-normal.jpg-161cf607f42dce5cf9be332a6b828c4c.s3tc.ctex"
path.etc2="res://.godot/imported/grass-normal.jpg-161cf607f42dce5cf9be332a6b828c4c.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://addons/rokojori_action_library/Assets/Procedural/Grass/grass-normal.jpg"
dest_files=["res://.godot/imported/grass-normal.jpg-161cf607f42dce5cf9be332a6b828c4c.s3tc.ctex", "res://.godot/imported/grass-normal.jpg-161cf607f42dce5cf9be332a6b828c4c.etc2.ctex"]
dest_files=["res://.godot/imported/grass-normal.jpg-161cf607f42dce5cf9be332a6b828c4c.s3tc.ctex"]
[params]

View File

@ -4,16 +4,15 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://b4qprmwr2fmno"
path.s3tc="res://.godot/imported/grass-orm.jpg-c21643a740d42c09c2f89b7bf2e82eda.s3tc.ctex"
path.etc2="res://.godot/imported/grass-orm.jpg-c21643a740d42c09c2f89b7bf2e82eda.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://addons/rokojori_action_library/Assets/Procedural/Grass/grass-orm.jpg"
dest_files=["res://.godot/imported/grass-orm.jpg-c21643a740d42c09c2f89b7bf2e82eda.s3tc.ctex", "res://.godot/imported/grass-orm.jpg-c21643a740d42c09c2f89b7bf2e82eda.etc2.ctex"]
dest_files=["res://.godot/imported/grass-orm.jpg-c21643a740d42c09c2f89b7bf2e82eda.s3tc.ctex"]
[params]

View File

@ -4,16 +4,15 @@ importer="texture"
type="CompressedTexture2D"
uid="uid://b7u8spfui08e7"
path.s3tc="res://.godot/imported/FlareVFX.svg-7c0691138c416c828300e95f7f8b3111.s3tc.ctex"
path.etc2="res://.godot/imported/FlareVFX.svg-7c0691138c416c828300e95f7f8b3111.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://addons/rokojori_action_library/Icons/FlareVFX.svg"
dest_files=["res://.godot/imported/FlareVFX.svg-7c0691138c416c828300e95f7f8b3111.s3tc.ctex", "res://.godot/imported/FlareVFX.svg-7c0691138c416c828300e95f7f8b3111.etc2.ctex"]
dest_files=["res://.godot/imported/FlareVFX.svg-7c0691138c416c828300e95f7f8b3111.s3tc.ctex"]
[params]

View File

@ -0,0 +1,110 @@
using System.Collections;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Text;
using Godot;
using Rokojori.Extensions;
namespace Rokojori;
[Tool]
[GlobalClass]
public partial class ActionAnimationPlayer:AnimationPlayer
{
#if TOOLS
[Export]
public bool callActionsInEditor = false;
float lastPosition = 0;
public override void _Ready()
{
base._Ready();
AnimationStarted += ( a ) =>{ GetTimedActions(); };
}
public override void _Process(double delta)
{
base._Process( delta );
if ( IsPlaying() )
{
if ( callActionsInEditor )
{
CheckForActions();
}
lastPosition = (float) CurrentAnimationPosition;
}
}
public class TimedActionKeys
{
public Action action;
public List<float> keys = [];
public void TriggerAction( float start, float end )
{
for ( int i = 0; i < keys.Count; i++ )
{
if ( start < keys[ i ] && keys[ i ] <= end )
{
action.Trigger();
return;
}
}
}
}
List<TimedActionKeys> timedActions = [];
Node GetTrackNode( Animation animation, int trackIndex )
{
var path = GetParent().GetPath() + "/" + animation.TrackGetPath( trackIndex );
return GetNode( path );
}
void GetTimedActions()
{
var animation = GetAnimation( CurrentAnimation );
for ( int i = 0; i < animation.GetTrackCount(); i++ )
{
var type = animation.TrackGetType( i );
if ( Animation.TrackType.Method != type )
{
continue;
}
var node = GetTrackNode( animation, i );
if ( ! ( node is Action ) )
{
continue;
}
var timedAction = new TimedActionKeys();
timedAction.action = node as Action;
var keys = animation.TrackGetKeyCount( i );
for ( int k = 0; k < keys; k++ )
{
var time = animation.TrackGetKeyTime( i, k );
timedAction.keys.Add( (float) time );
}
}
}
void CheckForActions()
{
var position = (float) CurrentAnimationPosition;
timedActions.ForEach( ta => ta.TriggerAction( lastPosition, position ) );
}
#endif
}

View File

@ -0,0 +1 @@
uid://cnhfw5yiprrfe

View File

@ -108,7 +108,9 @@ namespace Rokojori
var smoothedDistance = Smoothing.Apply( settings.distanceSmoothing, distance, delta );
FOV = settings.fovOffset + ( settings.fovForPitch?.Sample( pitchState ) ?? 0f );
cameraPosition = targetPosition + Math3D.YawPitchRotation( smoothedYaw, smoothedPitch ) * Vector3.Forward * smoothedDistance;
var fowardDirection = Math3D.YawPitchRotation( smoothedYaw, smoothedPitch ) * Vector3.Forward;
cameraPosition = targetPosition + fowardDirection * smoothedDistance;
cameraForward = ( targetPosition - cameraPosition ).Normalized();
// LookAt( targetPosition, Vector3.Up, true );
@ -119,6 +121,7 @@ namespace Rokojori
pitchOffset.Y += settings.offsetYForPitch?.Sample( pitchState ) ?? 0f;
pitchOffset.Z += settings.offsetZForPitch?.Sample( pitchState ) ?? 0f;
var basis = Basis.LookingAt( cameraForward, Vector3.Up, true );
cameraPosition += basis.ToGlobalDirection( pitchOffset );

View File

@ -65,6 +65,8 @@ namespace Rokojori
{
forwardDirection.Y = 0;
rightDirection.Y = 0;
forwardStrafe.Y = 0;
rightStrafe.Y = 0;
}
else if ( CharacterDirectionProcessing.Project_On_TransformPlane == directionProcessing )
{

View File

@ -0,0 +1,19 @@
using Godot;
using System.Collections;
using System.Collections.Generic;
using Godot.Collections;
using Rokojori.Extensions;
namespace Rokojori
{
[Tool]
[GlobalClass, Icon("res://addons/rokojori_action_library/Icons/CCGroundReset.svg")]
public partial class AlwaysGroundingType:GroundingType
{
protected override bool _IsGrounded( Grounding grounding, List<CollisionData> collisionData )
{
return true;
}
}
}

View File

@ -0,0 +1 @@
uid://csh1kfca4gyht

View File

@ -85,6 +85,11 @@ namespace Rokojori
_currentlyGrounded = GroundingType.IsGrounded( this, _collisionData );
// if ( ! Engine.IsEditorHint() )
// {
// RJLog.Log( "grounded:", _currentlyGrounded );
// }
if ( cg != _currentlyGrounded )
{
if ( _currentlyGrounded )

View File

@ -96,6 +96,11 @@ namespace Rokojori
return MathX.Sample( a, b, c, d, uv );
}
public static float PerlinPolar( Vector2 position )
{
return Perlin( position ) * 2 - 1;
}
public static float Perlin( Vector3 position )
{

View File

@ -84,19 +84,24 @@ namespace Rokojori
protected override void ForAllViews()
{
_vignette.constants.Set(
_vignette.constants.Set(
colorTop.SrgbToLinear(),
colorBottom.SrgbToLinear(),
(Vector2) context.internalSize,
amount,
fadePosition + fadeInOffset,
fadePosition + fadeOutOffset,
ellipseToCircle,
Mathf.Pow( 10f, fadePower / 10f ),
replace,
add,
multiply,
colorize
colorize,
0f
);

View File

@ -80,18 +80,21 @@ uniform Parameters
{
vec4 topColor; // 4
vec4 bottomColor; // 8
vec2 rasterSize; // 6
float amount; // 7
float fadeIn; // 8
float fadeOut; // 9
vec2 rasterSize; // 10
float amount; // 11
float fadeIn; // 12
float fadeOut; // 13
float circelize; // 10
float power; // 12
float circelize; // 14
float power; // 15
float replace; // 16
float add; // 17
float multiply; // 18
float colorize; // 19
float pad0; // 20
float replace; // 13
float add; // 14
float multiply; // 15
float colorize; // 16
} parameters;

View File

@ -11,6 +11,7 @@
[ext_resource type="Resource" uid="uid://bfxeh1y1vgkiu" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Strafe Left.tres" id="9_xdx7j"]
[ext_resource type="Resource" uid="uid://bm2d6nhevcjel" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Strafe Right.tres" id="10_cwkpy"]
[ext_resource type="Resource" uid="uid://ds1rrltuj0mse" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Move Down.tres" id="11_33hna"]
[ext_resource type="Resource" uid="uid://dwigqkllvj8dq" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Movement/Move Up.tres" id="12_crm7l"]
[ext_resource type="Resource" uid="uid://dtfgwd1wlk344" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Motion Down.tres" id="12_ity01"]
[ext_resource type="Resource" uid="uid://bu7t2i36n7m2x" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Motion Left.tres" id="13_crm7l"]
[ext_resource type="Resource" uid="uid://cljc42e8pggxc" path="res://addons/rokojori_action_library/Runtime/Sensors/Default-Sensors/Keyboard & Mouse/Mouse/Mouse-Motion Right.tres" id="14_5q586"]
@ -22,4 +23,4 @@
[resource]
script = ExtResource("1_168ay")
sensors = [ExtResource("2_fxahp"), ExtResource("3_6x0mm"), ExtResource("4_4gj3k"), ExtResource("5_diio6"), ExtResource("6_3kcki"), ExtResource("7_1jado"), ExtResource("8_0us2c"), ExtResource("9_xdx7j"), ExtResource("10_cwkpy"), ExtResource("11_33hna"), ExtResource("11_33hna"), ExtResource("12_ity01"), ExtResource("13_crm7l"), ExtResource("14_5q586"), ExtResource("15_x2sfr"), ExtResource("16_67ek2"), ExtResource("17_em370"), ExtResource("18_t4fkn"), ExtResource("19_tgyys")]
sensors = [ExtResource("2_fxahp"), ExtResource("3_6x0mm"), ExtResource("4_4gj3k"), ExtResource("5_diio6"), ExtResource("6_3kcki"), ExtResource("7_1jado"), ExtResource("8_0us2c"), ExtResource("9_xdx7j"), ExtResource("10_cwkpy"), ExtResource("11_33hna"), ExtResource("12_crm7l"), ExtResource("12_ity01"), ExtResource("13_crm7l"), ExtResource("14_5q586"), ExtResource("15_x2sfr"), ExtResource("16_67ek2"), ExtResource("17_em370"), ExtResource("18_t4fkn"), ExtResource("19_tgyys")]

View File

@ -1,11 +1,8 @@
[gd_resource type="Resource" script_class="FlarePreset" format=3 uid="uid://dds52aifjv6r6"]
[ext_resource type="Script" uid="uid://4pdr2urse51u" path="res://addons/rokojori_action_library/Runtime/VFX/FlareVFX/FlareBlendMode/FlareBlendMode.cs" id="2_1mwp1"]
[ext_resource type="Script" uid="uid://0epjgkk6qmhy" path="res://addons/rokojori_action_library/Runtime/VFX/FlareVFX/FlareType/SDFShapeFlareType.cs" id="2_fubui"]
[ext_resource type="Script" uid="uid://u3g0mlwlpd6s" path="res://addons/rokojori_action_library/Runtime/VFX/FlareVFX/FlareLayer.cs" id="3_63jx3"]
[ext_resource type="Script" uid="uid://dk8t1ljh3jroo" path="res://addons/rokojori_action_library/Runtime/VFX/FlareVFX/FlareType/EllipseFlareType.cs" id="4_2fhii"]
[ext_resource type="Script" uid="uid://d1t1a1ki176ii" path="res://addons/rokojori_action_library/Runtime/VFX/FlareVFX/FlareType/StarFlareType.cs" id="5_ky6vp"]
[ext_resource type="Script" uid="uid://8ca7d84rikb7" path="res://addons/rokojori_action_library/Runtime/VFX/FlareVFX/FlareChromaticAberation/DirectionalFlareChromaticAberation.cs" id="6_0lftr"]
[ext_resource type="Script" uid="uid://bmcf4qxpqs8mb" path="res://addons/rokojori_action_library/Runtime/VFX/FlareVFX/FlareFading/ParametricFlareFading.cs" id="7_di3ri"]
[ext_resource type="Script" uid="uid://btuv7v342v3k6" path="res://addons/rokojori_action_library/Runtime/VFX/FlareVFX/FlareType/TextureFlareType.cs" id="8_qmia2"]
[ext_resource type="Script" uid="uid://bq2hh5ledvviu" path="res://addons/rokojori_action_library/Runtime/VFX/FlareVFX/FlareOcclusion/FadingFlareOcclusion.cs" id="9_q0f4t"]
@ -19,48 +16,6 @@ sizeX = 0.0
sizeY = 0.0
metadata/_custom_type_script = "uid://bmcf4qxpqs8mb"
[sub_resource type="Resource" id="Resource_fubui"]
script = ExtResource("2_1mwp1")
blendMode = 1
metadata/_custom_type_script = "uid://4pdr2urse51u"
[sub_resource type="Resource" id="Resource_63jx3"]
script = ExtResource("2_fubui")
shapeType = 0
shapeOpacityInnerBorder = -0.0341
shapeOpacityOuterBorder = 0.2151
shapeOpacityBorderOffset = -0.4702
shapeOpacityBorderSpread = -0.0137
shapeOpacityDistribution = 3.6575
shapeColorMappingInnerBorder = 0.1252
shapeColorMappingBorderOffset = -0.4921
shapeColorMappingBorderSpread = 0.3548
shapeColorMappingDistribution = 1.0165
metadata/_custom_type_script = "uid://0epjgkk6qmhy"
[sub_resource type="Curve" id="Curve_msay1"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 1, Vector2(1, 1), 0.0, 0.0, 1, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_a5aan"]
curve = SubResource("Curve_msay1")
[sub_resource type="Resource" id="Resource_2fhii"]
script = ExtResource("3_63jx3")
layerName = "Backblend"
opacity = 0.5101
flareType = SubResource("Resource_63jx3")
opacityCurvePerLayer = SubResource("CurveTexture_a5aan")
tint = Color(0.27730417, 0.27730417, 0.27730417, 1)
temparatureShift = -70.7505
saturationShift = 15.3846
lighntessShift = -10.0
size = 80.0
sizeYScale = 0.5734
blendMode = SubResource("Resource_fubui")
renderPriority = -1
metadata/_custom_type_script = "uid://u3g0mlwlpd6s"
[sub_resource type="Resource" id="Resource_jvxnt"]
script = ExtResource("2_fubui")
shapeType = 0
@ -86,7 +41,7 @@ curve = SubResource("Curve_ade2u")
[sub_resource type="Resource" id="Resource_5q01g"]
script = ExtResource("3_63jx3")
layerName = "Core"
opacity = 0.1756
opacity = 0.0507
flareType = SubResource("Resource_jvxnt")
opacityCurvePerLayer = SubResource("CurveTexture_x0p8u")
tint = Color(1.8782027, 1.8782027, 1.8782027, 1)
@ -135,201 +90,6 @@ size = 20.0745
sizeYScale = 0.0243
metadata/_custom_type_script = "uid://u3g0mlwlpd6s"
[sub_resource type="Resource" id="Resource_4qtqc"]
script = ExtResource("5_ky6vp")
speedMultiply = 0.5
innerHsl = Vector4(0.1415, 0, 0, 1)
outerHsl = Vector4(-0.407, 0, 0, 0)
colorFillRange = 0.0
colorFillDistributionPower = 0.8603
streaksFrequency = 3.8925
streaksNoise = 0.1202
streaksNoiseScroll = -0.1
streaks2Enabled = true
streaksAddVsMult = 1.0
streaks2Multiply = 5.0
streaksFrequency2 = 2.909
streaksNoiseScroll2 = 0.01
maskScale = 0.299
maskRange = 0.5459
maskRangeOscillation = 0.049
maskRangeOscillationSpeed = 0.4468
maskFrequency = 0.8778
maskRotationSpeed = 0.02
noiseScale = 0.1
metadata/_custom_type_script = "uid://d1t1a1ki176ii"
[sub_resource type="Curve" id="Curve_027rg"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 1, Vector2(1, 1), 0.0, 0.0, 1, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_6kf7p"]
curve = SubResource("Curve_027rg")
[sub_resource type="Resource" id="Resource_gwku0"]
script = ExtResource("3_63jx3")
layerName = "Star Streaks"
opacity = 0.0611
flareType = SubResource("Resource_4qtqc")
opacityCurvePerLayer = SubResource("CurveTexture_6kf7p")
tint = Color(1.0505337, 1.0505337, 1.0505337, 1)
size = 5.0
sizeScale = 0.2528
sizeYScale = 0.5
overwriteExtension = true
extension = 2.0305
metadata/_custom_type_script = "uid://u3g0mlwlpd6s"
[sub_resource type="Resource" id="Resource_ls5mq"]
script = ExtResource("6_0lftr")
direction = Vector2(0, -1)
amount = 0.2772
smear = 10.0
metadata/_custom_type_script = "uid://8ca7d84rikb7"
[sub_resource type="Resource" id="Resource_8vqmt"]
script = ExtResource("7_di3ri")
fading = 0.0
opacity = 3.0
sizeX = 0.0
sizeY = 0.0
metadata/_custom_type_script = "uid://bmcf4qxpqs8mb"
[sub_resource type="Gradient" id="Gradient_lrl2b"]
offsets = PackedFloat32Array(0.34347826, 0.47826087, 0.5217391, 0.66007906)
colors = PackedColorArray(0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_e2s3r"]
gradient = SubResource("Gradient_lrl2b")
[sub_resource type="Curve" id="Curve_uhxun"]
_data = [Vector2(0, 1), 0.0, -2.850001, 0, 1, Vector2(0.105263144, 0.6999999), 0.86363685, 0.86363685, 0, 0, Vector2(0.16491227, 0.82727265), 0.0, 0.0, 0, 0, Vector2(0.25614032, 1), 0.0, 0.0, 0, 0, Vector2(0.28070173, 0.79999995), 0.0, 0.0, 0, 0, Vector2(0.32280698, 0.5454545), 0.0, 0.0, 0, 0, Vector2(0.38947368, 0.8454545), 0.0, 0.0, 0, 0, Vector2(0.44912276, 0.6636363), 0.0, 0.0, 0, 0, Vector2(0.48771927, 0.8818182), 0.0, 0.0, 0, 0, Vector2(0.522807, 0.3454545), 0.0, 0.0, 0, 0, Vector2(0.6277372, 1), 0.0, 0.0, 0, 0, Vector2(0.6561403, 0.80909085), 0.0, 0.0, 0, 0, Vector2(0.70175433, 0.99090904), 0.0, 0.0, 0, 0, Vector2(0.78596485, 0.43636358), 2.4122248, 2.4122248, 0, 0, Vector2(0.81754386, 0.79999995), 0.0, 0.0, 0, 0, Vector2(0.88070166, 0.59090906), 0.0, 0.0, 0, 0, Vector2(0.9263158, 0.8909091), 0.0, 0.0, 0, 0, Vector2(0.9614035, 0.43636358), 0.0, 0.0, 0, 0, Vector2(1, 1), 14.6033, 0.0, 1, 0]
point_count = 19
[sub_resource type="CurveTexture" id="CurveTexture_4rdwj"]
texture_mode = 1
curve = SubResource("Curve_uhxun")
[sub_resource type="Gradient" id="Gradient_jyu1d"]
offsets = PackedFloat32Array(0, 0.13833992, 0.2952381, 0.4857143, 0.6482214, 0.8577075, 1)
colors = PackedColorArray(1, 0, 0, 1, 1, 1, 0, 1, 0.14311719, 1, 0, 1, 0, 1, 0.9274306, 1, 0, 0.117609024, 1, 1, 1, 0, 0.8233118, 1, 1, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_msay1"]
gradient = SubResource("Gradient_jyu1d")
[sub_resource type="Curve" id="Curve_6jyri"]
_data = [Vector2(0.16842104, 0), 0.0, 0.0, 0, 0, Vector2(0.3015267, 0.16486073), 1.2385706, 1.1720778, 1, 0, Vector2(0.40839693, 0.10448909), 5.1818166, 5.1818166, 0, 0, Vector2(0.47368416, 1), 0.0, 0.0, 0, 0, Vector2(0.49122807, 0), 0.0, 0.0, 0, 0, Vector2(0.99999, 0), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 7
[sub_resource type="CurveTexture" id="CurveTexture_rjwbk"]
texture_mode = 1
curve = SubResource("Curve_6jyri")
[sub_resource type="Resource" id="Resource_5ifxw"]
script = ExtResource("4_2fhii")
radialFillTexture = SubResource("GradientTexture1D_msay1")
radialFillStrength = 1.4115
radialFillTile = 5.0
radialFillOffset = 0.3075
radialFillRepeat = true
conicFillTexture = SubResource("GradientTexture1D_e2s3r")
conicFillOffset = 0.0
conicFillRepeat = true
radialMaskTexture = SubResource("CurveTexture_rjwbk")
radialMaskOffset = 0.0
radialMaskRepeat = true
conicMaskTexture = SubResource("CurveTexture_4rdwj")
conicMaskTile = 34.0
conicMaskOffset = 0.0
conicMaskRepeat = true
metadata/_custom_type_script = "uid://dk8t1ljh3jroo"
[sub_resource type="Curve" id="Curve_r14qv"]
_data = [Vector2(0, 0), 0.0, 4.7777777, 0, 1, Vector2(0.20930234, 1), 0.0, 0.0, 0, 0, Vector2(0.60465115, 0.3440367), 0.0, 0.0, 0, 0, Vector2(0.71428573, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 1, 0]
point_count = 5
[sub_resource type="CurveTexture" id="CurveTexture_mcvtj"]
curve = SubResource("Curve_r14qv")
[sub_resource type="Resource" id="Resource_ju6hd"]
script = ExtResource("3_63jx3")
layerName = "Partial Rainbow Rings 3"
opacity = 0.1048
numLayers = 2
flareType = SubResource("Resource_5ifxw")
overwriteColor = Color(2.6346047, 2.7291539, 3.0382695, 1)
overwriteAmount = 1.0
opacityCurvePerLayer = SubResource("CurveTexture_mcvtj")
tint = Color(1.340301, 1.340301, 1.340301, 1)
lighntessShift = 43.3566
size = 20.0
sizeScale = 0.2952
sizeXScale = 0.6364
overwriteExtension = true
screenOffsetLayerScale = 0.2792
screenOffsetLayerDirection = Vector2(0.0555, 0.0235)
rotationPerLayer = 93.7763
fading = SubResource("Resource_8vqmt")
chromaticAberation = SubResource("Resource_ls5mq")
metadata/_custom_type_script = "uid://u3g0mlwlpd6s"
[sub_resource type="Resource" id="Resource_a5aan"]
script = ExtResource("7_di3ri")
fading = 0.0
opacity = 3.0
sizeX = 0.0
sizeY = 0.0
metadata/_custom_type_script = "uid://bmcf4qxpqs8mb"
[sub_resource type="Resource" id="Resource_r64p5"]
script = ExtResource("2_fubui")
shapeType = 5
shapeScale = 1.0
shapeOpacityOuterBorder = 0.0692
shapeOpacityBorderOffset = -0.2994
shapeOpacityBorderSpread = -0.0038
shapeOpacityDistribution = 5.2471
shapeColorMappingInnerBorder = -0.9971
shapeColorMappingOuterBorder = 0.704
innerTemparatureOffset = 30.4291
innerSaturationOffset = 5.3192
innerLightnessOffset = 7.6923
innerOpacity = 0.0
outerTemparatureOffset = -33.2308
outerSaturationOffset = 98.4615
outerLightnessOffset = -16.9231
noiseAmount = 1.0
noiseScale = 2.182
metadata/_custom_type_script = "uid://0epjgkk6qmhy"
[sub_resource type="Curve" id="Curve_fbx0p"]
_data = [Vector2(0, 0), 0.0, 0.850417, 0, 1, Vector2(0.25185186, 0.2141791), 1.7263157, 1.7263157, 0, 0, Vector2(0.47777778, 0.5052239), 0.0, 0.0, 0, 0, Vector2(0.7185185, 0.16567159), -0.7114339, -0.7114339, 0, 0, Vector2(1, 0), -0.5885701, 0.0, 1, 0]
point_count = 5
[sub_resource type="CurveTexture" id="CurveTexture_yfwqk"]
curve = SubResource("Curve_fbx0p")
[sub_resource type="Resource" id="Resource_6trn3"]
script = ExtResource("3_63jx3")
layerName = "Middle Hexagon"
opacity = 0.5279
numLayers = 13
flareType = SubResource("Resource_r64p5")
minHueRandom = -180.0
maxHueRandom = 180.0
opacityCurvePerLayer = SubResource("CurveTexture_yfwqk")
size = 4.6
sizeScale = 0.2379
sizeYScale = 0.5
randomScaleMin = 0.019
randomScaleMax = 1.3622
screenOffsetStaticScale = 0.0288
screenOffsetStaticDirection = Vector2(-5, -5)
screenOffsetLayerScale = 0.5582
screenOffsetLayerDirection = Vector2(4, 4)
fading = SubResource("Resource_a5aan")
metadata/_custom_type_script = "uid://u3g0mlwlpd6s"
[sub_resource type="Curve" id="Curve_jm8s5"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 1, Vector2(1, 1), 0.0, 0.0, 1, 0]
point_count = 2
@ -363,7 +123,7 @@ curve = SubResource("Curve_pv8u5")
[sub_resource type="Resource" id="Resource_qf8q3"]
script = ExtResource("3_63jx3")
layerName = "Horizontal Streak"
opacity = 0.1314
opacity = 0.0546
flareType = SubResource("Resource_galw3")
opacityCurvePerLayer = SubResource("CurveTexture_5jnfl")
size = 100.0
@ -444,7 +204,7 @@ curve = SubResource("Curve_e7hhx")
[sub_resource type="Resource" id="Resource_n0rnh"]
script = ExtResource("3_63jx3")
layerName = "Rainbow Streaks"
opacity = 0.4198
opacity = 0.0185
flareType = SubResource("Resource_jm8s5")
overwriteColor = Color(2.8845115, 2.8845115, 2.8845115, 1)
overwriteAmount = 0.3795
@ -498,259 +258,15 @@ screenOffsetLayerScale = 0.153
screenOffsetLayerDirection = Vector2(1, 1)
metadata/_custom_type_script = "uid://u3g0mlwlpd6s"
[sub_resource type="Resource" id="Resource_44rrc"]
script = ExtResource("2_fubui")
shapeType = 9
shapeRotation = 2.4828
shapeScale = 1.0
shapeOpacityBorderOffset = -0.0334
shapeOpacityBorderSpread = 0.0345
shapeOpacityDistribution = 11.0
shapeColorMappingInnerBorder = -1.3424
shapeColorMappingOuterBorder = 0.704
innerTemparatureOffset = 30.4291
innerSaturationOffset = 5.3192
innerLightnessOffset = 7.6923
outerTemparatureOffset = -33.2308
outerSaturationOffset = 98.4615
outerLightnessOffset = -16.9231
noiseAmount = 0.2878
noiseScale = 17.9935
metadata/_custom_type_script = "uid://0epjgkk6qmhy"
[sub_resource type="Curve" id="Curve_7jt2s"]
_data = [Vector2(0, 1), 0.0, 0.4873308, 0, 1]
point_count = 1
[sub_resource type="CurveTexture" id="CurveTexture_7ucn0"]
curve = SubResource("Curve_7jt2s")
[sub_resource type="Resource" id="Resource_su8gi"]
script = ExtResource("3_63jx3")
layerName = "Large Rings"
opacity = 0.0273
numLayers = 3
flareType = SubResource("Resource_44rrc")
minHueRandom = -180.0
maxHueRandom = 180.0
opacityCurvePerLayer = SubResource("CurveTexture_7ucn0")
saturationShift = 86.7133
lighntessShift = 19.5804
size = 50.0
sizeScale = 0.6434
sizeYScale = 0.6469
randomScaleMin = 0.2008
randomScaleMax = 0.979
screenOffsetStaticScale = 0.1399
screenOffsetStaticDirection = Vector2(5, 5)
screenOffsetLayerScale = 0.1119
screenOffsetLayerDirection = Vector2(4, 4)
metadata/_custom_type_script = "uid://u3g0mlwlpd6s"
[sub_resource type="Resource" id="Resource_2vg2i"]
script = ExtResource("6_0lftr")
amount = 0.2772
steps = 1
smear = 1.0
metadata/_custom_type_script = "uid://8ca7d84rikb7"
[sub_resource type="Resource" id="Resource_slvrs"]
script = ExtResource("7_di3ri")
fading = 0.0
opacity = 3.0
sizeX = 0.0
sizeY = 0.0
metadata/_custom_type_script = "uid://bmcf4qxpqs8mb"
[sub_resource type="Gradient" id="Gradient_tr2nq"]
offsets = PackedFloat32Array(0.10869565, 0.47826087, 0.8652174)
colors = PackedColorArray(0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_bhyc7"]
gradient = SubResource("Gradient_tr2nq")
[sub_resource type="Curve" id="Curve_tnv8v"]
_data = [Vector2(0, 1), 0.0, -2.850001, 0, 1, Vector2(0.105263144, 0.6999999), 0.86363685, 0.86363685, 0, 0, Vector2(0.16491227, 0.82727265), 0.0, 0.0, 0, 0, Vector2(0.25614032, 1), 0.0, 0.0, 0, 0, Vector2(0.28070173, 0.79999995), 0.0, 0.0, 0, 0, Vector2(0.32280698, 0.5454545), 0.0, 0.0, 0, 0, Vector2(0.38947368, 0.8454545), 0.0, 0.0, 0, 0, Vector2(0.44912276, 0.6636363), 0.0, 0.0, 0, 0, Vector2(0.48771927, 0.8818182), 0.0, 0.0, 0, 0, Vector2(0.522807, 0.3454545), 0.0, 0.0, 0, 0, Vector2(0.6277372, 1), 0.0, 0.0, 0, 0, Vector2(0.6561403, 0.80909085), 0.0, 0.0, 0, 0, Vector2(0.70175433, 0.99090904), 0.0, 0.0, 0, 0, Vector2(0.78596485, 0.43636358), 2.4122248, 2.4122248, 0, 0, Vector2(0.81754386, 0.79999995), 0.0, 0.0, 0, 0, Vector2(0.88070166, 0.59090906), 0.0, 0.0, 0, 0, Vector2(0.9263158, 0.8909091), 0.0, 0.0, 0, 0, Vector2(0.9614035, 0.43636358), 0.0, 0.0, 0, 0, Vector2(1, 1), 14.6033, 0.0, 1, 0]
point_count = 19
[sub_resource type="CurveTexture" id="CurveTexture_y78fk"]
texture_mode = 1
curve = SubResource("Curve_tnv8v")
[sub_resource type="Gradient" id="Gradient_csms2"]
offsets = PackedFloat32Array(0, 0.13833992, 0.2952381, 0.4857143, 0.6482214, 0.8577075, 1)
colors = PackedColorArray(1, 0, 0, 1, 1, 1, 0, 1, 0.14311719, 1, 0, 1, 0, 1, 0.9274306, 1, 0, 0.117609024, 1, 1, 1, 0, 0.8233118, 1, 1, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_t2t5r"]
gradient = SubResource("Gradient_csms2")
[sub_resource type="Curve" id="Curve_nb8j7"]
_data = [Vector2(0.1793893, 0), 0.0, 0.0, 0, 0, Vector2(0.30252102, 0), 0.0, 1.1720778, 1, 0, Vector2(0.4159664, 0.15789473), 0.58947366, 0.58947366, 0, 0, Vector2(0.47368416, 1), 0.0, 0.0, 0, 0, Vector2(0.49122807, 0), 0.0, 0.0, 0, 0, Vector2(0.6450381, 0), 0.0, 0.0, 0, 0, Vector2(0.99999, 0), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 8
[sub_resource type="CurveTexture" id="CurveTexture_o3foc"]
texture_mode = 1
curve = SubResource("Curve_nb8j7")
[sub_resource type="Resource" id="Resource_qos1n"]
script = ExtResource("4_2fhii")
shapeScaleRange = 0.5
radialFillTexture = SubResource("GradientTexture1D_t2t5r")
radialFillStrength = 1.4115
radialFillTile = 5.0
radialFillOffset = 0.3075
radialFillRepeat = true
conicFillTexture = SubResource("GradientTexture1D_bhyc7")
conicFillOffset = 0.0
conicFillRepeat = true
radialMaskTexture = SubResource("CurveTexture_o3foc")
radialMaskOffset = 0.0
radialMaskRepeat = true
conicMaskTexture = SubResource("CurveTexture_y78fk")
conicMaskStrength = 0.244
conicMaskTile = 34.0
conicMaskOffset = 0.0
conicMaskRepeat = true
metadata/_custom_type_script = "uid://dk8t1ljh3jroo"
[sub_resource type="Curve" id="Curve_a5d5w"]
_data = [Vector2(0, 0), 0.0, 4.7777777, 0, 1, Vector2(0.20930234, 1), 0.0, 0.0, 0, 0, Vector2(0.60465115, 0.3440367), 0.0, 0.0, 0, 0, Vector2(0.71428573, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 1, 0]
point_count = 5
[sub_resource type="CurveTexture" id="CurveTexture_8d170"]
curve = SubResource("Curve_a5d5w")
[sub_resource type="Resource" id="Resource_ch4em"]
script = ExtResource("3_63jx3")
layerName = "Partial Rainbow Rings 3"
opacity = 0.0947
flareType = SubResource("Resource_qos1n")
overwriteColor = Color(2.6346047, 2.7291539, 3.0382695, 1)
overwriteAmount = 1.0
opacityCurvePerLayer = SubResource("CurveTexture_8d170")
tint = Color(1.340301, 1.340301, 1.340301, 1)
lighntessShift = 43.3566
size = 21.0855
sizeScale = 0.2215
sizeYScale = 0.6503
screenOffsetLayerScale = 0.9785
screenOffsetLayerDirection = Vector2(1, 1)
rotation = 180.0
fading = SubResource("Resource_slvrs")
chromaticAberation = SubResource("Resource_2vg2i")
metadata/_custom_type_script = "uid://u3g0mlwlpd6s"
[sub_resource type="Resource" id="Resource_xhmdb"]
script = ExtResource("2_fubui")
shapeType = 5
shapeScale = 1.0
shapeOpacityOuterBorder = 0.0692
shapeOpacityBorderOffset = -0.2994
shapeOpacityBorderSpread = -0.0248
shapeOpacityDistribution = 5.2471
shapeColorMappingInnerBorder = -1.8029
shapeColorMappingOuterBorder = 0.704
shapeColorMappingBorderOffset = 1.3525
shapeColorMappingBorderSpread = -0.114
innerOpacity = 0.0
noiseScale = 1.0
metadata/_custom_type_script = "uid://0epjgkk6qmhy"
[sub_resource type="Curve" id="Curve_me2ag"]
_data = [Vector2(0, 0), 0.0, 0.850417, 0, 1, Vector2(0.25185186, 0.2141791), 1.7263157, 1.7263157, 0, 0, Vector2(0.47777778, 0.5052239), 0.0, 0.0, 0, 0, Vector2(0.7185185, 0.16567159), -0.7114339, -0.7114339, 0, 0, Vector2(1, 0), -0.5885701, 0.0, 1, 0]
point_count = 5
[sub_resource type="CurveTexture" id="CurveTexture_l2qv5"]
curve = SubResource("Curve_me2ag")
[sub_resource type="Resource" id="Resource_yabmc"]
script = ExtResource("3_63jx3")
layerName = "Large Hexagon"
opacity = 0.0663
flareType = SubResource("Resource_xhmdb")
minHueRandom = -180.0
maxHueRandom = 180.0
opacityCurvePerLayer = SubResource("CurveTexture_l2qv5")
tint = Color(1.6260077, 1.6260077, 1.6260077, 1)
hueShift = -95.6643
lighntessShift = 20.979
size = 100.0
sizeScale = 0.282
sizeYScale = 0.5
randomScaleMin = 0.019
randomScaleMax = 1.3622
screenOffsetStaticScale = 0.0783
screenOffsetStaticDirection = Vector2(-5, -5)
screenOffsetLayerScale = 0.0
screenOffsetLayerDirection = Vector2(-4, 4)
metadata/_custom_type_script = "uid://u3g0mlwlpd6s"
[sub_resource type="Resource" id="Resource_nxurn"]
script = ExtResource("7_di3ri")
fading = 0.0
opacity = 3.0
sizeX = 0.0
sizeY = 0.0
metadata/_custom_type_script = "uid://bmcf4qxpqs8mb"
[sub_resource type="Resource" id="Resource_lsvvh"]
script = ExtResource("2_fubui")
shapeType = 5
shapeScale = 1.0
shapeOpacityOuterBorder = 0.0692
shapeOpacityBorderOffset = -0.2994
shapeOpacityBorderSpread = -0.0248
shapeOpacityDistribution = 5.2471
shapeColorMappingInnerBorder = -0.9971
shapeColorMappingOuterBorder = 0.704
innerTemparatureOffset = 30.4291
innerSaturationOffset = 5.3192
innerLightnessOffset = 7.6923
innerOpacity = 0.0
outerTemparatureOffset = -33.2308
outerSaturationOffset = 98.4615
outerLightnessOffset = -16.9231
noiseAmount = 1.0
noiseScale = 2.182
metadata/_custom_type_script = "uid://0epjgkk6qmhy"
[sub_resource type="Curve" id="Curve_085m3"]
_data = [Vector2(0, 0), 0.0, 0.850417, 0, 1, Vector2(0.25185186, 0.2141791), 1.7263157, 1.7263157, 0, 0, Vector2(0.47777778, 0.5052239), 0.0, 0.0, 0, 0, Vector2(0.7185185, 0.16567159), -0.7114339, -0.7114339, 0, 0, Vector2(1, 0), -0.5885701, 0.0, 1, 0]
point_count = 5
[sub_resource type="CurveTexture" id="CurveTexture_71075"]
curve = SubResource("Curve_085m3")
[sub_resource type="Resource" id="Resource_7hgc8"]
script = ExtResource("3_63jx3")
layerName = "Small Circles"
opacity = 0.229
numLayers = 44
flareType = SubResource("Resource_lsvvh")
minHueRandom = -180.0
maxHueRandom = 180.0
opacityCurvePerLayer = SubResource("CurveTexture_71075")
lighntessShift = 22.4
size = 1.148
sizeScale = 0.2572
sizeYScale = 0.5
randomScaleMin = 0.2691
randomScaleMax = 1.3622
screenOffsetStaticScale = 0.0595
screenOffsetStaticDirection = Vector2(-5, -5)
screenOffsetLayerScale = 0.1534
screenOffsetLayerDirection = Vector2(-10, -10)
fading = SubResource("Resource_nxurn")
metadata/_custom_type_script = "uid://u3g0mlwlpd6s"
[sub_resource type="Resource" id="Resource_cqn6v"]
script = ExtResource("9_q0f4t")
toSize = 0.0
[resource]
script = ExtResource("10_xuc5d")
mainColor = Color(0, 0.4330005, 2.454, 1)
layers = [SubResource("Resource_2fhii"), SubResource("Resource_5q01g"), SubResource("Resource_yynim"), SubResource("Resource_gwku0"), SubResource("Resource_ju6hd"), SubResource("Resource_6trn3"), SubResource("Resource_qf8q3"), SubResource("Resource_n0rnh"), SubResource("Resource_wvg34"), SubResource("Resource_su8gi"), SubResource("Resource_ch4em"), SubResource("Resource_yabmc"), SubResource("Resource_7hgc8")]
mainColor = Color(0, 1.8976507, 2.454, 1)
opacity = 0.1
layers = [SubResource("Resource_5q01g"), SubResource("Resource_yynim"), SubResource("Resource_qf8q3"), SubResource("Resource_n0rnh"), SubResource("Resource_wvg34")]
fading = SubResource("Resource_pu5ms")
occlusion = SubResource("Resource_cqn6v")
metadata/_custom_type_script = "uid://bh37fg1dnc37s"

View File

@ -152,7 +152,7 @@ curve = SubResource("Curve_nt8a7")
[sub_resource type="Resource" id="Resource_ade2u"]
script = ExtResource("4_1hsao")
layerName = "Big Hexagons Ghosts"
opacity = 0.1879
opacity = 0.0191
numLayers = 8
flareType = SubResource("Resource_adfmi")
minHueRandom = -62.945
@ -206,7 +206,7 @@ curve = SubResource("Curve_ymqbv")
script = ExtResource("4_1hsao")
layerName = "Small Circles Ghosts"
hide = true
opacity = 0.3343
opacity = 0.2434
numLayers = 50
flareType = SubResource("Resource_0y4dn")
minHueRandom = -45.0
@ -743,7 +743,7 @@ curve = SubResource("Curve_6xf1f")
[sub_resource type="Resource" id="Resource_skhw3"]
script = ExtResource("4_1hsao")
layerName = "Rainbow God Rays"
opacity = 0.1
opacity = 0.0156
flareType = SubResource("Resource_sxovr")
overwriteColor = Color(2.8845115, 2.8845115, 2.8845115, 1)
overwriteAmount = 0.5914

View File

@ -6,7 +6,7 @@ namespace Rokojori;
public class AutoLineVFXData:LineVFXData
{
public AutoLinePointData[] points;
public AutoLinePointData[] points = [];
public List<AutoLinePointData> pointsCacheList = [];
public int customUpdateID = -1;

View File

@ -25,6 +25,8 @@ public partial class ChildPositionsAutoLine:AutoLinePointList
var data = lineVFX.GetData() as AutoLineVFXData;
RJLog.Log( data, data != null ? data.customUpdateID : "xxx" );
var points = data.points;
var pointsCacheList = data.pointsCacheList;

View File

@ -13,6 +13,7 @@ public partial class LineVFX:Node3D
() =>
{
ClearLine();
_Process( 1.0/60f );
}
);