I am about to do something that I may regret and am making a way to return to this point

This commit is contained in:
nc5432 2024-12-18 22:48:05 -05:00
parent 04e7f3209e
commit 26f67625ef
24 changed files with 370 additions and 146 deletions

View File

@ -1,25 +1,16 @@
[gd_resource type="ShaderMaterial" load_steps=4 format=3 uid="uid://byworh783tmdj"]
[gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://byworh783tmdj"]
[ext_resource type="Shader" path="res://ring.gdshader" id="1_4mufi"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_wffcf"]
noise_type = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_3mog8"]
width = 128
height = 128
generate_mipmaps = false
seamless = true
noise = SubResource("FastNoiseLite_wffcf")
[ext_resource type="Texture2D" uid="uid://bpbx2rdfqfljn" path="res://Sprites/Noise/ringNoise.tres" id="2_78rln"]
[resource]
render_priority = 0
shader = ExtResource("1_4mufi")
shader_parameter/color = Vector3(0, 0.9, 0)
shader_parameter/color2 = Vector3(0.9, 0, 0)
shader_parameter/color = Vector3(0.7, 0.7, 0.7)
shader_parameter/color2 = Vector3(0.7, 0, 0)
shader_parameter/noiseScale = 3.0
shader_parameter/timeScale = 1.5
shader_parameter/bobDirection = Vector3(0, 0, 1)
shader_parameter/bobStrength = 0.1
shader_parameter/bobSpeed = 1.0
shader_parameter/noise = SubResource("NoiseTexture2D_3mog8")
shader_parameter/noise = ExtResource("2_78rln")

View File

@ -9,7 +9,7 @@
[ext_resource type="Script" path="res://Scripts/AudioLoop.gd" id="7_liw2b"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_wd572"]
sky_top_color = Color(0.0700545, 0.140745, 0.353593, 1)
sky_top_color = Color(0.698039, 0.760784, 0.780392, 1)
ground_bottom_color = Color(0.698681, 0.759787, 0.780689, 1)
[sub_resource type="Sky" id="Sky_8qhjq"]
@ -28,7 +28,7 @@ fog_mode = 1
fog_light_color = Color(0.698039, 0.760784, 0.780392, 1)
fog_density = 1.0
fog_depth_curve = 0.590642
fog_depth_begin = 50.0
fog_depth_begin = 150.0
fog_depth_end = 500.0
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vfn8f"]

View File

@ -0,0 +1,41 @@
[gd_scene load_steps=6 format=3 uid="uid://dh3sh5l0uq6xr"]
[ext_resource type="Shader" path="res://Shaders/deliveryMarker.gdshader" id="1_8w03w"]
[ext_resource type="Texture2D" uid="uid://bxyvh8v4i61nj" path="res://Sprites/Noise/deliveryNoise.tres" id="2_52ux5"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_l45vi"]
render_priority = 0
shader = ExtResource("1_8w03w")
shader_parameter/color = Vector3(0, 1, 0)
shader_parameter/timeScale = 0.4
shader_parameter/noiseScale = 3.0
shader_parameter/noise = ExtResource("2_52ux5")
[sub_resource type="CylinderMesh" id="CylinderMesh_r6o0p"]
material = SubResource("ShaderMaterial_l45vi")
top_radius = 1.0
bottom_radius = 1.0
height = 1.0
radial_segments = 16
rings = 0
cap_top = false
[sub_resource type="CylinderShape3D" id="CylinderShape3D_gwnos"]
radius = 1.0
[node name="DeliveryMarker" type="Area3D" groups=["delivery"]]
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.000707388, 0.509104, -0.00242329)
cast_shadow = 2
mesh = SubResource("CylinderMesh_r6o0p")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.976155, 0)
shape = SubResource("CylinderShape3D_gwnos")
[node name="OmniLight3D" type="OmniLight3D" parent="."]
light_color = Color(0, 1, 0, 1)
light_energy = 16.0
light_size = 1.0
omni_range = 115.342

View File

@ -0,0 +1,41 @@
[gd_scene load_steps=7 format=3 uid="uid://cc24poobjnsg7"]
[ext_resource type="Script" path="res://Scripts/Ring.gd" id="1_taxba"]
[ext_resource type="Shader" path="res://ring.gdshader" id="2_cjr6s"]
[ext_resource type="Texture2D" uid="uid://bpbx2rdfqfljn" path="res://Sprites/Noise/ringNoise.tres" id="3_fow5m"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ixvuv"]
render_priority = 0
shader = ExtResource("2_cjr6s")
shader_parameter/color = Vector3(0.333, 0.569, 0.075)
shader_parameter/color2 = Vector3(0.762, 0.568, 0.179)
shader_parameter/noiseScale = 3.0
shader_parameter/timeScale = 1.5
shader_parameter/bobDirection = Vector3(0, 0, 1)
shader_parameter/bobStrength = 0.1
shader_parameter/bobSpeed = 1.0
shader_parameter/noise = ExtResource("3_fow5m")
[sub_resource type="TorusMesh" id="TorusMesh_bqjhg"]
material = SubResource("ShaderMaterial_ixvuv")
inner_radius = 0.8
rings = 16
ring_segments = 8
[sub_resource type="CylinderShape3D" id="CylinderShape3D_a68r1"]
height = 0.060093
radius = 0.825657
[node name="GrinchRing" type="Area3D"]
script = ExtResource("1_taxba")
strength = 0.5
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0)
mesh = SubResource("TorusMesh_bqjhg")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -5.96046e-08, -1, 0, 1, -5.96046e-08, 0, 0, 0)
shape = SubResource("CylinderShape3D_a68r1")
[connection signal="area_entered" from="." to="." method="_on_area_entered"]

View File

@ -9,10 +9,11 @@ inner_radius = 0.8
rings = 16
ring_segments = 8
[sub_resource type="BoxShape3D" id="BoxShape3D_ca28i"]
size = Vector3(1.90527, 1.93188, 0.31543)
[sub_resource type="CylinderShape3D" id="CylinderShape3D_lavpq"]
height = 0.060093
radius = 0.825657
[node name="Ring" type="Area3D"]
[node name="SantaRing" type="Area3D"]
script = ExtResource("1_pey8v")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
@ -20,4 +21,7 @@ transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0,
mesh = SubResource("TorusMesh_skxoo")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("BoxShape3D_ca28i")
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0)
shape = SubResource("CylinderShape3D_lavpq")
[connection signal="area_entered" from="." to="." method="_on_area_entered"]

View File

@ -1,7 +1,8 @@
[gd_scene load_steps=15 format=3 uid="uid://cve0v31o0a08d"]
[gd_scene load_steps=16 format=3 uid="uid://cve0v31o0a08d"]
[ext_resource type="Script" path="res://Scripts/SleighController.gd" id="1_lcdrt"]
[ext_resource type="PackedScene" uid="uid://dv0og3ja7thl" path="res://Scenes/Models/sleighModel.tscn" id="1_tj3c7"]
[ext_resource type="Script" path="res://Scripts/CameraController.gd" id="2_0aps4"]
[ext_resource type="PackedScene" uid="uid://dq3jre5xfk2qs" path="res://Scenes/Models/santaModel.tscn" id="2_ugj23"]
[ext_resource type="Shader" path="res://Shaders/Snow.gdshader" id="3_h5vb4"]
[ext_resource type="PackedScene" uid="uid://g2kby4pmtdrk" path="res://Scenes/Models/stagModel.tscn" id="3_um2nx"]
@ -42,29 +43,32 @@ script = ExtResource("1_lcdrt")
[node name="Camera3D" type="Camera3D" parent="." node_paths=PackedStringArray("lookAt")]
transform = Transform3D(-0.999899, 0.0033777, -0.0138171, -3.6117e-09, 0.971396, 0.237465, 0.014224, 0.237441, -0.971298, -0.0386804, 5.98515, -4.86494)
script = ExtResource("5_uly3x")
script = ExtResource("2_0aps4")
lookAt = NodePath("../SleighModel")
zOffset = 5.0
posOffset = Vector3(0, 6, 0)
lookOffset = Vector3(0, 4, 0)
moveSpeed = 30.0
zOffset = 7.0
posOffset = Vector3(0, 7, 0)
lookOffset = Vector3(0, 5, 0)
[node name="MeshInstance3D" type="MeshInstance3D" parent="Camera3D"]
transform = Transform3D(1, 4.65661e-10, -1.86265e-09, 4.65661e-10, 1, 0, -1.86265e-09, -2.98023e-08, 1, 0.0125829, -0.0514369, -0.923161)
mesh = SubResource("QuadMesh_u2uv1")
[node name="SleighModel" parent="." node_paths=PackedStringArray("lookAt") instance=ExtResource("1_tj3c7")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0386804, 0, 0.338676)
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -0.0386804, 0, 0.338676)
script = ExtResource("5_uly3x")
lookAt = NodePath("../Row1")
moveSpeed = 30.0
zOffset = 5.0
[node name="SantaModel" parent="SleighModel" instance=ExtResource("2_ugj23")]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0.484, -1.335)
[node name="Row1" type="Node3D" parent="." node_paths=PackedStringArray("lookAt")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 5.2)
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 5.2)
script = ExtResource("5_uly3x")
lookAt = NodePath("../Row2")
moveSpeed = 30.0
[node name="StagModel" parent="Row1" instance=ExtResource("3_um2nx")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.06132, 0, 0)
@ -76,6 +80,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.13868, 0, 0)
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 8.8)
script = ExtResource("5_uly3x")
lookAt = NodePath("../Row3")
moveSpeed = 30.0
[node name="StagModel3" parent="Row2" instance=ExtResource("3_um2nx")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.1, 0, 0)
@ -87,6 +92,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.1, 0, 0)
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 12.4)
script = ExtResource("5_uly3x")
lookAt = NodePath("../Row4")
moveSpeed = 30.0
[node name="StagModel5" parent="Row3" instance=ExtResource("3_um2nx")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.1, 0, 0)
@ -98,6 +104,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.1, 0, 0)
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 16)
script = ExtResource("5_uly3x")
lookAt = NodePath("../Row5")
moveSpeed = 30.0
[node name="StagModel7" parent="Row4" instance=ExtResource("3_um2nx")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.1, 0, 0)
@ -105,10 +112,11 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.1, 0, 0)
[node name="StagModel8" parent="Row4" instance=ExtResource("3_um2nx")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.1, 0, 0)
[node name="Row5" type="Area3D" parent="." node_paths=PackedStringArray("lookAt")]
[node name="Row5" type="Area3D" parent="." node_paths=PackedStringArray("lookAt") groups=["sleigh"]]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 19.6)
script = ExtResource("5_uly3x")
lookAt = NodePath("../Target")
moveSpeed = 30.0
[node name="RudolphModel" parent="Row5" instance=ExtResource("6_u6v0i")]
@ -122,8 +130,8 @@ script = ExtResource("7_e53b3")
moveSpeed = 20.0
topBound = 15.0
bottomBound = -30.0
leftBound = -40.0
rightBound = 40.0
leftBound = -60.0
rightBound = 60.0
[node name="MeshInstance3D" type="MeshInstance3D" parent="Target"]
visible = false

View File

@ -1,5 +1,6 @@
[gd_scene load_steps=107 format=4 uid="uid://dq3jre5xfk2qs"]
[gd_scene load_steps=108 format=4 uid="uid://dq3jre5xfk2qs"]
[ext_resource type="Script" path="res://Scripts/Santa.gd" id="1_aiyyw"]
[ext_resource type="Texture2D" uid="uid://0lvw3hp0m8cv" path="res://Models/Santa/characters/Santa_santa_texture.png" id="1_pr6cn"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_n5wch"]
@ -69912,6 +69913,7 @@ _data = {
}
[node name="SantaModel" type="Node3D"]
script = ExtResource("1_aiyyw")
[node name="Rig" type="Node3D" parent="."]
@ -69927,281 +69929,281 @@ bones/1/name = "hips"
bones/1/parent = 0
bones/1/rest = Transform3D(1, 0, -2.38419e-07, 0, 1, 0, 2.38419e-07, 0, 1, 0, 0.405663, 0)
bones/1/enabled = true
bones/1/position = Vector3(9.46256e-08, 0.481283, -0.396889)
bones/1/rotation = Quaternion(-0.0523359, 0.00120668, -6.32493e-05, 0.998629)
bones/1/position = Vector3(0, 0.392064, 0)
bones/1/rotation = Quaternion(0, -1.19209e-07, 0, 1)
bones/1/scale = Vector3(1, 1, 1)
bones/2/name = "spine"
bones/2/parent = 1
bones/2/rest = Transform3D(1, 0, 1.42109e-14, 0, 1, 0, -1.42109e-14, 0, 1, 0, 0.191978, 0)
bones/2/enabled = true
bones/2/position = Vector3(0, 0.191978, 0)
bones/2/rotation = Quaternion(1.86265e-09, -5.86553e-11, -1.32349e-23, 1)
bones/2/rotation = Quaternion(0, 7.10543e-15, 0, 1)
bones/2/scale = Vector3(1, 1, 1)
bones/3/name = "chest"
bones/3/parent = 2
bones/3/rest = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.374988, 0)
bones/3/enabled = true
bones/3/position = Vector3(0, 0.374988, 0)
bones/3/rotation = Quaternion(0.0523358, -1.93761e-10, 0.000126491, 0.99863)
bones/3/rotation = Quaternion(0, 0, 0, 1)
bones/3/scale = Vector3(1, 1, 1)
bones/4/name = "upperarm.l"
bones/4/parent = 3
bones/4/rest = Transform3D(0.0572842, 0.998357, -3.57628e-07, -3.57628e-07, 4.76837e-07, 1, 0.998357, -0.0572841, 4.76837e-07, 0.212007, 0.134132, 8.40246e-08)
bones/4/enabled = true
bones/4/position = Vector3(0.212007, 0.134132, 1.14632e-07)
bones/4/rotation = Quaternion(-0.328062, -0.17764, -0.798862, 0.471846)
bones/4/position = Vector3(0.212007, 0.134132, 8.40246e-08)
bones/4/rotation = Quaternion(-0.587952, -0.108446, -0.645398, 0.475408)
bones/4/scale = Vector3(0.999999, 0.999999, 1)
bones/5/name = "lowerarm.l"
bones/5/parent = 4
bones/5/rest = Transform3D(0.993887, 0.110402, -1.19007e-07, -0.110402, 0.993887, 3.28831e-09, 1.18643e-07, 9.87045e-09, 1, -3.21966e-09, 0.241897, -1.19406e-07)
bones/5/enabled = true
bones/5/position = Vector3(-3.21966e-09, 0.241897, -1.19406e-07)
bones/5/rotation = Quaternion(2.92185e-08, -2.87155e-08, -0.492867, 0.870105)
bones/5/rotation = Quaternion(1.17522e-08, -4.73552e-08, -0.497385, 0.86753)
bones/5/scale = Vector3(1, 1, 1)
bones/6/name = "wrist.l"
bones/6/parent = 5
bones/6/rest = Transform3D(0.998579, -0.0532972, -6.01854e-10, 0.0532972, 0.998579, 1.78776e-10, 5.9147e-10, -2.10599e-10, 1, 8.71929e-09, 0.260044, -1.50195e-10)
bones/6/enabled = true
bones/6/position = Vector3(8.71929e-09, 0.260044, -1.50195e-10)
bones/6/rotation = Quaternion(1.49226e-08, -4.55616e-09, 0.0266581, 0.999645)
bones/6/rotation = Quaternion(-7.34669e-09, -7.94499e-09, 0.0266581, 0.999645)
bones/6/scale = Vector3(1, 1, 1)
bones/7/name = "hand.l"
bones/7/parent = 6
bones/7/rest = Transform3D(1, 1.09104e-05, 2.66204e-07, -1.09104e-05, 1, -2.40181e-09, -2.66204e-07, 2.39891e-09, 1, 9.08162e-13, 0.0738258, 2.22045e-16)
bones/7/enabled = true
bones/7/position = Vector3(9.08162e-13, 0.0738258, 2.22045e-16)
bones/7/rotation = Quaternion(-0.142186, -0.426849, -0.170465, 0.876656)
bones/7/rotation = Quaternion(-0.316677, -0.347579, 0.228998, 0.852329)
bones/7/scale = Vector3(1, 1, 1)
bones/8/name = "handslot.l"
bones/8/parent = 7
bones/8/rest = Transform3D(-1.19209e-07, 1, -2.22045e-16, -1, -1.19209e-07, -4.55307e-09, -4.55307e-09, -2.22045e-16, 1, 8.34815e-10, 0.0961251, -0.0575001)
bones/8/enabled = true
bones/8/position = Vector3(-4.38687e-08, 0.0961251, -0.0575)
bones/8/rotation = Quaternion(0.127513, -0.00592942, -0.502012, 0.855389)
bones/8/position = Vector3(8.34801e-10, 0.096125, -0.0575)
bones/8/rotation = Quaternion(-3.6586e-09, 6.87811e-09, -0.707107, 0.707107)
bones/8/scale = Vector3(1, 1, 1)
bones/9/name = "upperarm.r"
bones/9/parent = 3
bones/9/rest = Transform3D(0.0572841, -0.998357, 4.47035e-07, 5.06639e-07, 4.17232e-07, 1, -0.998357, -0.0572842, 4.76837e-07, -0.212007, 0.134132, 8.40246e-08)
bones/9/enabled = true
bones/9/position = Vector3(-0.212007, 0.134132, 5.42713e-08)
bones/9/rotation = Quaternion(-0.479549, 0.131688, 0.751159, 0.434109)
bones/9/scale = Vector3(0.999999, 0.999999, 1)
bones/9/position = Vector3(-0.212007, 0.134132, 8.40246e-08)
bones/9/rotation = Quaternion(-0.580281, 0.158285, 0.666053, 0.441127)
bones/9/scale = Vector3(1, 0.999999, 1)
bones/10/name = "lowerarm.r"
bones/10/parent = 9
bones/10/rest = Transform3D(0.993887, -0.110402, 1.19007e-07, 0.110402, 0.993887, 3.28831e-09, -1.18643e-07, 9.87045e-09, 1, -7.12186e-11, 0.241897, -1.19406e-07)
bones/10/enabled = true
bones/10/position = Vector3(-7.12186e-11, 0.241897, -1.19406e-07)
bones/10/rotation = Quaternion(-3.00824e-09, 7.35394e-08, 0.595268, 0.803528)
bones/10/rotation = Quaternion(8.19857e-09, 4.56512e-08, 0.424971, 0.905207)
bones/10/scale = Vector3(1, 1, 1)
bones/11/name = "wrist.r"
bones/11/parent = 10
bones/11/rest = Transform3D(0.998579, 0.0532972, 6.01854e-10, -0.0532972, 0.998579, 1.78776e-10, -5.9147e-10, -2.10599e-10, 1, -8.71838e-09, 0.260044, -1.50195e-10)
bones/11/enabled = true
bones/11/position = Vector3(-8.71838e-09, 0.260044, -1.50195e-10)
bones/11/rotation = Quaternion(7.44986e-09, 3.82379e-09, -0.0266581, 0.999645)
bones/11/rotation = Quaternion(-7.34669e-09, 7.94499e-09, -0.0266581, 0.999645)
bones/11/scale = Vector3(1, 1, 1)
bones/12/name = "hand.r"
bones/12/parent = 11
bones/12/rest = Transform3D(1, -1.09104e-05, -1.78637e-07, 1.09104e-05, 1, -2.40084e-09, 1.78637e-07, 2.39889e-09, 1, 1.33227e-15, 0.0738258, 2.22045e-16)
bones/12/enabled = true
bones/12/position = Vector3(1.33227e-15, 0.0738258, 2.22045e-16)
bones/12/rotation = Quaternion(-0.0424276, -0.0386547, 0.123624, 0.990668)
bones/12/rotation = Quaternion(-0.350236, 0.291473, -0.196762, 0.868138)
bones/12/scale = Vector3(1, 1, 1)
bones/13/name = "handslot.r"
bones/13/parent = 12
bones/13/rest = Transform3D(-1.19209e-07, -1, 2.22045e-16, 1, -1.19209e-07, -4.55301e-09, 4.55301e-09, -2.22045e-16, 1, -8.34815e-10, 0.0961251, -0.0575001)
bones/13/enabled = true
bones/13/position = Vector3(1.22037e-08, 0.0961252, -0.0575)
bones/13/rotation = Quaternion(0.0963325, 0.193959, 0.523067, 0.824319)
bones/13/position = Vector3(-8.34843e-10, 0.0961252, -0.0575)
bones/13/rotation = Quaternion(-1.02444e-09, -4.24391e-09, 0.707107, 0.707107)
bones/13/scale = Vector3(1, 1, 1)
bones/14/name = "head"
bones/14/parent = 3
bones/14/rest = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.268797, 0)
bones/14/enabled = true
bones/14/position = Vector3(0, 0.268797, 0)
bones/14/rotation = Quaternion(0, 1.92516e-17, 1.11022e-16, 1)
bones/14/rotation = Quaternion(0, 0, 0, 1)
bones/14/scale = Vector3(1, 1, 1)
bones/15/name = "upperleg.l"
bones/15/parent = 1
bones/15/rest = Transform3D(1, -1.42215e-07, -2.65602e-08, -1.43052e-07, -0.999396, -0.0347412, -2.16035e-08, 0.0347411, -0.999398, 0.170945, 0.113587, 1.39233e-08)
bones/15/enabled = true
bones/15/position = Vector3(0.14729, 0.0843593, 0.0227735)
bones/15/rotation = Quaternion(0.758099, 0.0147022, -0.131127, 0.638651)
bones/15/position = Vector3(0.170945, 0.113587, 1.39233e-08)
bones/15/rotation = Quaternion(0.995891, -1.28408e-07, -1.6118e-08, 0.0905607)
bones/15/scale = Vector3(1, 1, 1)
bones/16/name = "lowerleg.l"
bones/16/parent = 15
bones/16/rest = Transform3D(1, 1.6129e-07, 1.20856e-07, -1.3212e-07, 0.977433, -0.211248, -1.52201e-07, 0.211248, 0.977433, 3.57982e-09, 0.227077, -6.13986e-09)
bones/16/enabled = true
bones/16/position = Vector3(3.57982e-09, 0.227077, -6.13986e-09)
bones/16/rotation = Quaternion(0.589632, 5.32846e-08, -4.06521e-07, 0.807672)
bones/16/rotation = Quaternion(0.29132, 6.60488e-08, -2.02312e-07, 0.956626)
bones/16/scale = Vector3(1, 1, 1)
bones/17/name = "foot.l"
bones/17/parent = 16
bones/17/rest = Transform3D(1, 4.64335e-08, 6.01239e-08, -7.59277e-08, 0.585515, 0.810661, 2.4383e-09, -0.810662, 0.585514, 1.83222e-10, 0.149437, 9.66537e-10)
bones/17/enabled = true
bones/17/position = Vector3(1.83222e-10, 0.149437, 9.66537e-10)
bones/17/rotation = Quaternion(-0.620604, 0.093717, -0.0166513, 0.778325)
bones/17/rotation = Quaternion(-0.554911, -3.32515e-08, 7.40745e-09, 0.83191)
bones/17/scale = Vector3(1, 1, 0.999999)
bones/18/name = "toes.l"
bones/18/parent = 17
bones/18/rest = Transform3D(-1, 1.3329e-07, 6.94339e-08, 4.25341e-08, 0.694104, -0.719875, -1.44146e-07, -0.71987, -0.694109, -1.51142e-08, 0.16565, 5.17173e-09)
bones/18/enabled = true
bones/18/position = Vector3(-1.51142e-08, 0.16565, 5.17173e-09)
bones/18/rotation = Quaternion(-3.49355e-05, 0.920141, -0.391587, 7.91663e-06)
bones/18/scale = Vector3(1, 0.999997, 1)
bones/18/rotation = Quaternion(3.45236e-08, 0.920235, -0.391366, 7.00252e-08)
bones/18/scale = Vector3(1, 0.999998, 1)
bones/19/name = "upperleg.r"
bones/19/parent = 1
bones/19/rest = Transform3D(1, 1.49611e-07, -6.08626e-08, 1.47406e-07, -0.999396, -0.0347412, -6.60234e-08, 0.0347411, -0.999398, -0.170945, 0.113587, 1.39233e-08)
bones/19/enabled = true
bones/19/position = Vector3(-0.14905, 0.0843175, 0.0232807)
bones/19/rotation = Quaternion(0.763422, -0.0379927, 0.0759445, 0.640293)
bones/19/position = Vector3(-0.170945, 0.113587, 1.39233e-08)
bones/19/rotation = Quaternion(0.995891, 1.34625e-07, -2.73067e-08, 0.0905607)
bones/19/scale = Vector3(1, 1, 1)
bones/20/name = "lowerleg.r"
bones/20/parent = 19
bones/20/rest = Transform3D(1, -1.6129e-07, -1.20856e-07, 1.3212e-07, 0.977433, -0.211248, 1.52201e-07, 0.211248, 0.977433, -3.57982e-09, 0.227077, -6.13986e-09)
bones/20/enabled = true
bones/20/position = Vector3(-3.57982e-09, 0.227077, -6.13986e-09)
bones/20/rotation = Quaternion(0.592486, -6.54572e-08, 4.17286e-07, 0.80558)
bones/20/rotation = Quaternion(0.29132, -6.60488e-08, 2.02312e-07, 0.956626)
bones/20/scale = Vector3(1, 1, 1)
bones/21/name = "foot.r"
bones/21/parent = 20
bones/21/rest = Transform3D(1, -1.55132e-07, 2.93521e-07, -1.47115e-07, 0.585515, 0.810661, -2.97621e-07, -0.810662, 0.585514, -1.83221e-10, 0.149437, 9.66542e-10)
bones/21/enabled = true
bones/21/position = Vector3(-1.83221e-10, 0.149437, 9.66542e-10)
bones/21/rotation = Quaternion(-0.625361, -0.0272684, 0.0106324, 0.779786)
bones/21/rotation = Quaternion(-0.554911, 1.98049e-07, -7.89184e-08, 0.83191)
bones/21/scale = Vector3(1, 1, 0.999999)
bones/22/name = "toes.r"
bones/22/parent = 21
bones/22/rest = Transform3D(-1, 8.95136e-08, 1.0214e-07, -1.1395e-08, 0.694104, -0.719875, -1.35334e-07, -0.71987, -0.694109, 2.13058e-10, 0.16565, 5.17174e-09)
bones/22/enabled = true
bones/22/position = Vector3(2.13058e-10, 0.16565, 5.17174e-09)
bones/22/rotation = Quaternion(-5.04778e-06, 0.92014, -0.391589, 1.19389e-06)
bones/22/scale = Vector3(1, 0.999997, 1)
bones/22/rotation = Quaternion(-4.8799e-09, 0.920235, -0.391366, 5.32842e-08)
bones/22/scale = Vector3(1, 0.999998, 1)
bones/23/name = "kneeIK.l"
bones/23/parent = 0
bones/23/rest = Transform3D(1, -2.59151e-07, -3.89414e-07, -3.89414e-07, 0, -1, 2.59151e-07, 1, 0, 0.170945, 0.29231, 0.575812)
bones/23/enabled = true
bones/23/position = Vector3(0.309719, 0.775925, 0.214738)
bones/23/rotation = Quaternion(0.705883, 0.0415748, -0.0415751, 0.705884)
bones/23/position = Vector3(0.170945, 0.29231, 0.575812)
bones/23/rotation = Quaternion(0.707107, -2.29302e-07, -4.60552e-08, 0.707107)
bones/23/scale = Vector3(1, 1, 1)
bones/24/name = "control-toe-roll.l"
bones/24/parent = 0
bones/24/rest = Transform3D(1, 1.99485e-07, -3.55271e-14, 3.55271e-14, 0, 1, 1.99485e-07, -1, 0, 0.170945, 0.0259903, 0.245789)
bones/24/enabled = true
bones/24/position = Vector3(0.217508, 0.0259903, 0.244233)
bones/24/rotation = Quaternion(-0.705884, 0.0415749, 0.0415749, 0.705884)
bones/24/position = Vector3(0.170945, 0.0259903, 0.245789)
bones/24/rotation = Quaternion(-0.707107, -7.05285e-08, -7.05285e-08, 0.707107)
bones/24/scale = Vector3(1, 1, 1)
bones/25/name = "control-heel-roll.l"
bones/25/parent = 24
bones/25/rest = Transform3D(-1, 4.66e-34, 1.42109e-14, -4.69932e-34, -1, -2.76642e-22, 1.42109e-14, -2.76642e-22, 1, 1.94581e-08, 0.362833, -2.42861e-15)
bones/25/enabled = true
bones/25/position = Vector3(1.94581e-08, 0.351249, 0.22588)
bones/25/rotation = Quaternion(4.57647e-09, 0.395783, 0.918344, -6.9099e-10)
bones/25/position = Vector3(1.94581e-08, 0.362833, -2.42861e-15)
bones/25/rotation = Quaternion(7.10544e-15, -1.38321e-22, 1, -2.33983e-34)
bones/25/scale = Vector3(1, 1, 1)
bones/26/name = "control-foot-roll.l"
bones/26/parent = 25
bones/26/rest = Transform3D(-1, -2.70243e-08, -2.14593e-07, -1.35722e-07, -0.694106, 0.719873, -1.68404e-07, 0.719873, 0.694106, -1.11482e-08, 0.213436, -2.50942e-15)
bones/26/enabled = true
bones/26/position = Vector3(3.75294e-09, 0.213436, 0)
bones/26/rotation = Quaternion(-1.04045e-07, 0.391084, 0.920355, -2.95179e-08)
bones/26/position = Vector3(-1.11482e-08, 0.213436, -2.50942e-15)
bones/26/rotation = Quaternion(-1.04035e-07, 0.391084, 0.920355, -2.9526e-08)
bones/26/scale = Vector3(1, 1, 1)
bones/27/name = "heelIK.l"
bones/27/parent = 26
bones/27/rest = Transform3D(1, 1.74656e-07, -7.54001e-08, -6.69512e-08, 0.694106, 0.719873, 1.78066e-07, -0.719873, 0.694106, 8.58988e-09, 0.16565, -5.09137e-09)
bones/27/enabled = true
bones/27/position = Vector3(8.58988e-09, 0.16565, -5.09137e-09)
bones/27/rotation = Quaternion(-0.391084, -7.05724e-08, -6.64633e-08, 0.920355)
bones/27/rotation = Quaternion(-0.391084, -6.885e-08, -6.56288e-08, 0.920355)
bones/27/scale = Vector3(1, 1, 1)
bones/28/name = "IK-foot.l"
bones/28/parent = 26
bones/28/rest = Transform3D(1, -6.21725e-15, 3.89414e-07, -6.21725e-15, -1, 1.72934e-22, 3.89414e-07, -2.59402e-21, -1, 8.58988e-09, 0.16565, -5.09137e-09)
bones/28/enabled = true
bones/28/position = Vector3(8.58988e-09, 0.16565, -5.09137e-09)
bones/28/rotation = Quaternion(1, -1.12144e-11, 1.94698e-07, 2.32831e-10)
bones/28/rotation = Quaternion(1, -3.10863e-15, 1.94707e-07, -3.45869e-22)
bones/28/scale = Vector3(1, 1, 1)
bones/29/name = "IK-toe.l"
bones/29/parent = 25
bones/29/rest = Transform3D(1, 3.89339e-08, -1.3482e-16, -3.89339e-08, 1, -2.71393e-22, 1.3482e-16, 2.76642e-22, 1, -4.55695e-09, -7.95029e-10, -1.86265e-09)
bones/29/enabled = true
bones/29/position = Vector3(-4.55695e-09, -7.95029e-10, -1.86265e-09)
bones/29/rotation = Quaternion(-2.34993e-17, -1.20715e-09, -2.20235e-08, 1)
bones/29/rotation = Quaternion(1.37009e-22, -6.74098e-17, -1.94669e-08, 1)
bones/29/scale = Vector3(1, 1, 1)
bones/30/name = "kneeIK.r"
bones/30/parent = 0
bones/30/rest = Transform3D(1, -2.59151e-07, 1.50996e-07, 1.50996e-07, 0, -1, 2.59151e-07, 1, 0, -0.170945, 0.29231, 0.575812)
bones/30/enabled = true
bones/30/position = Vector3(-0.255409, 0.775925, 0.210929)
bones/30/position = Vector3(-0.170945, 0.29231, 0.575812)
bones/30/rotation = Quaternion(0.707107, -3.82385e-08, 1.45009e-07, 0.707107)
bones/30/scale = Vector3(1, 1, 1)
bones/31/name = "control-toe-roll.r"
bones/31/parent = 0
bones/31/rest = Transform3D(1, 1.99485e-07, 0, 0, 0, 1, 1.99485e-07, -1, 0, -0.170945, 0.0259903, 0.245789)
bones/31/enabled = true
bones/31/position = Vector3(-0.233068, 0.0259903, 0.242816)
bones/31/rotation = Quaternion(-0.705347, -0.049852, -0.049852, 0.705347)
bones/31/position = Vector3(-0.170945, 0.0259903, 0.245789)
bones/31/rotation = Quaternion(-0.707107, -7.05285e-08, -7.05285e-08, 0.707107)
bones/31/scale = Vector3(1, 1, 1)
bones/32/name = "control-heel-roll.r"
bones/32/parent = 31
bones/32/rest = Transform3D(-1, 4.66e-34, 1.42109e-14, -4.69932e-34, -1, -2.76642e-22, 1.42109e-14, -2.76642e-22, 1, 1.94581e-08, 0.362833, 2.42861e-15)
bones/32/enabled = true
bones/32/position = Vector3(1.94581e-08, 0.351249, 0.22588)
bones/32/rotation = Quaternion(3.29937e-09, 0.395783, 0.918344, 4.23345e-10)
bones/32/position = Vector3(1.94581e-08, 0.362833, 2.42861e-15)
bones/32/rotation = Quaternion(7.10544e-15, -1.38321e-22, 1, -2.33983e-34)
bones/32/scale = Vector3(1, 1, 1)
bones/33/name = "control-foot-roll.r"
bones/33/parent = 32
bones/33/rest = Transform3D(-1, -2.70242e-08, -2.14593e-07, -1.35722e-07, -0.694106, 0.719873, -1.68404e-07, 0.719873, 0.694106, 3.75294e-09, 0.213436, 0)
bones/33/enabled = true
bones/33/position = Vector3(-1.11482e-08, 0.213436, -2.50942e-15)
bones/33/rotation = Quaternion(-1.05496e-07, 0.391084, 0.920355, -2.61229e-08)
bones/33/position = Vector3(3.75294e-09, 0.213436, 0)
bones/33/rotation = Quaternion(-1.04035e-07, 0.391084, 0.920355, -2.95261e-08)
bones/33/scale = Vector3(1, 1, 1)
bones/34/name = "heelIK.r"
bones/34/parent = 33
bones/34/rest = Transform3D(1, 1.74656e-07, -7.54001e-08, -6.69511e-08, 0.694106, 0.719873, 1.78066e-07, -0.719873, 0.694106, -6.31128e-09, 0.16565, 1.36608e-09)
bones/34/enabled = true
bones/34/position = Vector3(-6.31128e-09, 0.16565, 1.36608e-09)
bones/34/rotation = Quaternion(-0.391084, -6.71588e-08, -6.34937e-08, 0.920355)
bones/34/rotation = Quaternion(-0.391084, -6.885e-08, -6.56288e-08, 0.920355)
bones/34/scale = Vector3(1, 1, 1)
bones/35/name = "IK-foot.r"
bones/35/parent = 33
bones/35/rest = Transform3D(1, 8.88173e-16, 3.89414e-07, 8.88173e-16, -1, -1.21054e-21, 3.89414e-07, 1.55641e-21, -1, -2.12124e-08, 0.16565, 1.36608e-09)
bones/35/enabled = true
bones/35/position = Vector3(-2.12124e-08, 0.16565, 1.36608e-09)
bones/35/rotation = Quaternion(1, -3.7031e-09, 1.94661e-07, -7.21021e-16)
bones/35/rotation = Quaternion(1, 4.44087e-16, 1.94707e-07, -3.05102e-30)
bones/35/scale = Vector3(1, 1, 1)
bones/36/name = "IK-toe.r"
bones/36/parent = 32
bones/36/rest = Transform3D(1, 3.89338e-08, -1.3482e-16, -3.89338e-08, 1, -2.71392e-22, 1.3482e-16, 2.76642e-22, 1, -4.55695e-09, 7.95036e-10, -1.86265e-09)
bones/36/enabled = true
bones/36/position = Vector3(-4.55695e-09, 7.95036e-10, -1.86265e-09)
bones/36/rotation = Quaternion(8.99737e-16, 5.93744e-10, -1.62611e-08, 1)
bones/36/rotation = Quaternion(1.37009e-22, -6.74099e-17, -1.94669e-08, 1)
bones/36/scale = Vector3(1, 1, 1)
bones/37/name = "elbowIK.l"
bones/37/parent = 0
bones/37/rest = Transform3D(1, 2.05896e-07, -3.55271e-14, 3.55271e-14, 0, 1, 2.05896e-07, -1, 0, 0.453507, 1.10676, -0.588859)
bones/37/enabled = true
bones/37/position = Vector3(1.34279, 1.06752, -0.926714)
bones/37/position = Vector3(0.453507, 1.10676, -0.588859)
bones/37/rotation = Quaternion(-0.707107, -7.27951e-08, -7.27951e-08, 0.707107)
bones/37/scale = Vector3(1, 1, 1)
bones/38/name = "handIK.l"
bones/38/parent = 0
bones/38/rest = Transform3D(-2.38419e-07, 1, 0, 0, 0, 1, 1, 2.38419e-07, 0, 0.713181, 1.10676, 2.54914e-07)
bones/38/enabled = true
bones/38/position = Vector3(0.46357, 0.852489, -0.312663)
bones/38/rotation = Quaternion(0.530303, 0.193971, 0.775151, 0.283363)
bones/38/position = Vector3(0.520841, 0.788312, 0.0370294)
bones/38/rotation = Quaternion(0.794627, -1.2666e-07, 0.607098, -5.96046e-08)
bones/38/scale = Vector3(1, 1, 1)
bones/39/name = "elbowIK.r"
bones/39/parent = 0
bones/39/rest = Transform3D(1, 2.05896e-07, -3.55271e-14, 3.55271e-14, 0, 1, 2.05896e-07, -1, 0, -0.453507, 1.10676, -0.58886)
bones/39/enabled = true
bones/39/position = Vector3(-0.883338, 0.906864, -0.926714)
bones/39/position = Vector3(-0.453507, 1.10676, -0.58886)
bones/39/rotation = Quaternion(-0.707107, -7.27951e-08, -7.27951e-08, 0.707107)
bones/39/scale = Vector3(1, 1, 1)
bones/40/name = "handIK.r"
bones/40/parent = 0
bones/40/rest = Transform3D(1.19209e-07, -1, -1.19209e-07, 0, -1.19209e-07, 1, -1, -1.19209e-07, 0, -0.713182, 1.10676, -8.51573e-08)
bones/40/enabled = true
bones/40/position = Vector3(-0.418362, 0.861552, -0.316895)
bones/40/rotation = Quaternion(0.229297, -0.384624, -0.875717, 0.180577)
bones/40/position = Vector3(-0.539244, 0.783579, 0.0597369)
bones/40/rotation = Quaternion(0.758253, 1.82539e-07, -0.651961, 1.11759e-08)
bones/40/scale = Vector3(1, 1, 1)
[node name="Santa_ArmLeft" type="MeshInstance3D" parent="Rig/Skeleton3D"]

View File

@ -208,7 +208,8 @@ skeleton = NodePath("")
[node name="OmniLight3D" type="OmniLight3D" parent="LightRight"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.000150859, -0.0125769, 0.00308847)
light_color = Color(1, 1, 0.470588, 1)
omni_range = 2.0
light_energy = 1.1
omni_range = 3.0
[node name="LightLeft" type="MeshInstance3D" parent="."]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.40925, 1.05346, -0.536815)
@ -219,4 +220,5 @@ skeleton = NodePath("")
[node name="OmniLight3D" type="OmniLight3D" parent="LightLeft"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.000150859, -0.0125769, 0.00308847)
light_color = Color(1, 1, 0.470588, 1)
omni_range = 2.0
light_energy = 1.1
omni_range = 3.0

View File

@ -4161,8 +4161,8 @@ bones/0/name = "Body"
bones/0/parent = -1
bones/0/rest = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.729656, 0.00139916)
bones/0/enabled = true
bones/0/position = Vector3(0, 0.729656, 0.00139916)
bones/0/rotation = Quaternion(0, 0, 0, 1)
bones/0/position = Vector3(-1.22016e-10, 0.722574, 0.00493994)
bones/0/rotation = Quaternion(-0.00143108, 0, 7.83697e-19, 0.999999)
bones/0/scale = Vector3(1, 1, 1)
bones/1/name = "Back"
bones/1/parent = 0
@ -4197,28 +4197,28 @@ bones/5/parent = 4
bones/5/rest = Transform3D(1, 3.00666e-06, 2.01324e-06, -1.00435e-06, 0.765154, -0.643847, -3.47627e-06, 0.643847, 0.765154, 5.4512e-13, 0.622662, -1.68753e-14)
bones/5/enabled = true
bones/5/position = Vector3(5.4512e-13, 0.622662, -1.68753e-14)
bones/5/rotation = Quaternion(0.34267, 1.46082e-06, -1.06738e-06, 0.939456)
bones/5/rotation = Quaternion(0.343981, -0.00576681, 0.0129812, 0.938869)
bones/5/scale = Vector3(1, 1, 1)
bones/6/name = "Neck2"
bones/6/parent = 5
bones/6/rest = Transform3D(1, 5.00231e-08, -8.58877e-08, -5.52436e-08, 0.998082, -0.0619003, 8.26266e-08, 0.0619003, 0.998082, 1.38071e-13, 0.439399, -4.45034e-08)
bones/6/enabled = true
bones/6/position = Vector3(1.38071e-13, 0.439399, -4.45034e-08)
bones/6/rotation = Quaternion(0.030965, -4.21488e-08, -2.63293e-08, 0.999521)
bones/6/rotation = Quaternion(0.0320023, 0.00270168, 0.00745286, 0.999456)
bones/6/scale = Vector3(1, 1, 1)
bones/7/name = "Neck3"
bones/7/parent = 6
bones/7/rest = Transform3D(1, 2.19625e-07, 3.19666e-08, -2.14262e-07, 0.992897, -0.118975, -5.78696e-08, 0.118975, 0.992897, -1.61609e-13, 0.524681, 6.1041e-08)
bones/7/enabled = true
bones/7/position = Vector3(-1.61609e-13, 0.524681, 6.1041e-08)
bones/7/rotation = Quaternion(0.0595936, 2.2499e-08, -1.08665e-07, 0.998223)
bones/7/rotation = Quaternion(0.0601954, 0.00298574, 0.0114183, 0.998117)
bones/7/scale = Vector3(1, 1, 1)
bones/8/name = "Head"
bones/8/parent = 7
bones/8/rest = Transform3D(1, -1.57949e-06, -1.50163e-06, 1.57949e-06, 0.0505053, 0.998724, -1.50163e-06, -0.998724, 0.0505053, -1.00303e-12, 0.496624, -9.51264e-08)
bones/8/enabled = true
bones/8/position = Vector3(-1.00303e-12, 0.496624, -9.51264e-08)
bones/8/rotation = Quaternion(-0.689019, 5.81104e-14, 1.08969e-06, 0.724743)
bones/8/rotation = Quaternion(-0.668043, 0.00838309, -0.00893597, 0.744022)
bones/8/scale = Vector3(1, 1, 1)
bones/9/name = "Stag_Horns"
bones/9/parent = 8
@ -4239,14 +4239,14 @@ bones/11/parent = 10
bones/11/rest = Transform3D(0.130873, 0.990203, 0.0486864, 0.991315, -0.131342, 0.00654064, 0.0128711, 0.0474076, -0.998793, -3.39122e-07, 0.159781, -2.31284e-07)
bones/11/enabled = true
bones/11/position = Vector3(-3.39122e-07, 0.159781, -2.31284e-07)
bones/11/rotation = Quaternion(0.751833, 0.658896, 0.0204692, 0.0135891)
bones/11/rotation = Quaternion(0.751682, 0.658662, 0.0266706, 0.020674)
bones/11/scale = Vector3(1, 1, 1)
bones/12/name = "FrontLowerLeg.L"
bones/12/parent = 11
bones/12/rest = Transform3D(-1, -6.67109e-08, 4.43745e-06, 6.44049e-07, 0.987121, 0.15998, -4.39096e-06, 0.15998, -0.98712, -1.16734e-07, 0.984828, 7.39191e-08)
bones/12/enabled = true
bones/12/position = Vector3(-1.16734e-07, 0.984828, 7.39191e-08)
bones/12/rotation = Quaternion(1.44824e-07, 0.996775, 0.0802486, 2.21425e-06)
bones/12/rotation = Quaternion(1.86699e-07, 0.994635, 0.10345, 2.20953e-06)
bones/12/scale = Vector3(1, 1, 1)
bones/13/name = "FrontShoulder.R"
bones/13/parent = 3
@ -4260,70 +4260,70 @@ bones/14/parent = 13
bones/14/rest = Transform3D(0.130873, -0.990203, -0.0486868, -0.991315, -0.131342, 0.00654065, -0.0128712, 0.047408, -0.998793, -4.3482e-07, 0.159781, -5.7321e-08)
bones/14/enabled = true
bones/14/position = Vector3(-4.3482e-07, 0.159781, -5.7321e-08)
bones/14/rotation = Quaternion(0.751832, -0.658896, -0.0204693, 0.0135892)
bones/14/rotation = Quaternion(0.751682, -0.658662, -0.0266708, 0.0206741)
bones/14/scale = Vector3(1, 1, 1)
bones/15/name = "FrontLowerLeg.R"
bones/15/parent = 14
bones/15/rest = Transform3D(-1, 6.36446e-08, -4.43692e-06, -6.46996e-07, 0.987121, 0.159981, 4.38996e-06, 0.159981, -0.98712, 4.64463e-08, 0.984829, -5.8441e-08)
bones/15/enabled = true
bones/15/position = Vector3(4.64463e-08, 0.984829, -5.8441e-08)
bones/15/rotation = Quaternion(-1.4633e-07, 0.996775, 0.0802491, -2.21386e-06)
bones/15/rotation = Quaternion(-1.8862e-07, 0.99463, 0.103496, -2.20925e-06)
bones/15/scale = Vector3(1, 1, 1)
bones/16/name = "BackShoulder.L"
bones/16/parent = 1
bones/16/rest = Transform3D(0.106945, 0.994255, 0.00451833, 0.354498, -0.0423758, 0.934097, 0.928921, -0.098295, -0.356993, 0.192836, 0.346923, -0.00533868)
bones/16/enabled = true
bones/16/position = Vector3(0.192836, 0.346923, -0.00533868)
bones/16/rotation = Quaternion(0.61366, 0.549471, 0.380276, -0.420588)
bones/16/rotation = Quaternion(0.613934, 0.54814, 0.380052, -0.422124)
bones/16/scale = Vector3(1, 1, 1)
bones/17/name = "BackLeg.L"
bones/17/parent = 16
bones/17/rest = Transform3D(0.105798, 0.949992, 0.293803, 0.994387, -0.101075, -0.0312577, 1.57952e-06, 0.295461, -0.955355, 1.93571e-07, 0.197153, 9.31463e-08)
bones/17/enabled = true
bones/17/position = Vector3(1.93571e-07, 0.197153, 9.31463e-08)
bones/17/rotation = Quaternion(0.735226, 0.661151, 0.0999028, 0.111095)
bones/17/rotation = Quaternion(0.735619, 0.660645, 0.0999021, 0.111496)
bones/17/scale = Vector3(1, 0.999999, 1)
bones/18/name = "BackUpperLeg.L"
bones/18/parent = 17
bones/18/rest = Transform3D(1, -8.81673e-08, -7.53899e-08, -6.03079e-08, 0.16004, -0.98711, 9.90963e-08, 0.98711, 0.16004, -4.8008e-08, 0.752231, 6.61049e-08)
bones/18/enabled = true
bones/18/position = Vector3(-4.8008e-08, 0.752231, 6.61049e-08)
bones/18/rotation = Quaternion(0.648059, -5.7242e-08, 9.14217e-09, 0.76159)
bones/18/rotation = Quaternion(0.651492, -4.08535e-05, 0.000694417, 0.758655)
bones/18/scale = Vector3(1, 1, 1)
bones/19/name = "BackLowerLeg.L"
bones/19/parent = 18
bones/19/rest = Transform3D(-1, 4.48845e-07, 1.65083e-06, -1.47069e-06, 0.267408, -0.963583, -8.73947e-07, -0.963582, -0.267409, -9.1743e-09, 1.1454, 2.95057e-08)
bones/19/enabled = true
bones/19/position = Vector3(-9.1743e-09, 1.1454, 2.95057e-08)
bones/19/rotation = Quaternion(-3.20971e-07, 0.796055, -0.605224, 7.9277e-07)
bones/19/rotation = Quaternion(-0.000346025, 0.792376, -0.610033, -0.000262047)
bones/19/scale = Vector3(1, 0.999999, 1)
bones/20/name = "BackShoulder.R"
bones/20/parent = 1
bones/20/rest = Transform3D(0.106942, -0.994256, -0.00451976, -0.354497, -0.0423758, 0.934097, -0.928922, -0.0982915, -0.356993, -0.192836, 0.346923, -0.00533826)
bones/20/enabled = true
bones/20/position = Vector3(-0.192836, 0.346923, -0.00533826)
bones/20/rotation = Quaternion(0.613659, -0.549471, -0.380277, -0.420587)
bones/20/rotation = Quaternion(0.613933, -0.54814, -0.380054, -0.422123)
bones/20/scale = Vector3(1, 1, 1)
bones/21/name = "BackLeg.R"
bones/21/parent = 20
bones/21/rest = Transform3D(0.105798, -0.949993, -0.293803, -0.994387, -0.101075, -0.0312586, -8.04663e-07, 0.295461, -0.955355, 1.46641e-07, 0.197154, 3.24188e-08)
bones/21/enabled = true
bones/21/position = Vector3(1.46641e-07, 0.197154, 3.24188e-08)
bones/21/rotation = Quaternion(0.735226, -0.661151, -0.0999027, 0.111095)
bones/21/rotation = Quaternion(0.735755, -0.660471, -0.0999035, 0.111635)
bones/21/scale = Vector3(1, 1, 1)
bones/22/name = "BackUpperLeg.R"
bones/22/parent = 21
bones/22/rest = Transform3D(1, 3.29897e-07, -2.12223e-07, -2.62284e-07, 0.160038, -0.987111, -2.91681e-07, 0.987111, 0.160038, -8.7009e-08, 0.752232, 2.06719e-08)
bones/22/enabled = true
bones/22/position = Vector3(-8.7009e-08, 0.752232, 2.06719e-08)
bones/22/rotation = Quaternion(0.648059, 2.60877e-08, -1.94223e-07, 0.76159)
bones/22/rotation = Quaternion(0.651493, 4.0819e-05, -0.000694559, 0.758654)
bones/22/scale = Vector3(1, 1, 1)
bones/23/name = "BackLowerLeg.R"
bones/23/parent = 22
bones/23/rest = Transform3D(-1, -2.50076e-07, -1.62962e-06, 1.50341e-06, 0.267405, -0.963584, 6.7674e-07, -0.963583, -0.267406, -1.11277e-08, 1.1454, -9.67037e-09)
bones/23/enabled = true
bones/23/position = Vector3(-1.11277e-08, 1.1454, -9.67037e-09)
bones/23/rotation = Quaternion(3.93729e-07, 0.796055, -0.605225, -7.24274e-07)
bones/23/rotation = Quaternion(0.00034607, 0.792376, -0.610033, 0.000262094)
bones/23/scale = Vector3(1, 0.999999, 1)
bones/24/name = "Tail1"
bones/24/parent = 1
@ -4344,7 +4344,7 @@ bones/26/parent = 25
bones/26/rest = Transform3D(1, -2.07526e-07, -1.55304e-07, 2.49478e-07, 0.608001, 0.793937, -7.03375e-08, -0.793937, 0.608001, 6.03961e-14, 0.143927, -5.96046e-08)
bones/26/enabled = true
bones/26/position = Vector3(6.03961e-14, 0.143927, -5.96046e-08)
bones/26/rotation = Quaternion(-0.442719, -2.36897e-08, 1.27418e-07, 0.896661)
bones/26/rotation = Quaternion(-0.440225, 0.0748777, 0.0750006, 0.891611)
bones/26/scale = Vector3(1, 1, 1)
bones/27/name = "PoleTargetBack.L"
bones/27/parent = 0
@ -4432,7 +4432,7 @@ bones/38/rotation = Quaternion(-1.80387e-08, 0.9998, 0.0199896, -4.33039e-07)
bones/38/scale = Vector3(1, 1, 1)
[node name="Stag_Horns" type="BoneAttachment3D" parent="AnimalArmature/Skeleton3D"]
transform = Transform3D(1, -1.96565e-10, -1.4893e-11, 1.9088e-10, 1, -4.76837e-07, 1.67688e-11, 3.57628e-07, 1, -0.00524999, 3.97715, 2.3284)
transform = Transform3D(0.999021, 0.0265687, 0.0353765, -0.0288322, 0.997463, 0.0650896, -0.0335574, -0.0660459, 0.997252, 0.0729685, 3.98915, 2.30357)
bone_name = "Stag_Horns"
bone_idx = 9

View File

@ -207,10 +207,10 @@ resource_local_to_scene = true
render_priority = 0
shader = ExtResource("14_ww8rx")
shader_parameter/detail_strength = 5.0
shader_parameter/scroll_speed = 0.9
shader_parameter/fire_height = 0.5
shader_parameter/scroll_speed = 1.1
shader_parameter/fire_height = 1.0
shader_parameter/fire_shape = 1.5
shader_parameter/fire_thickness = 0.5
shader_parameter/fire_thickness = 0.7
shader_parameter/fire_sharpness = 0.5
shader_parameter/intensity = 1.6
shader_parameter/noise_octaves = 3
@ -221,6 +221,7 @@ shader_parameter/noise_frequency = 1.5
[sub_resource type="QuadMesh" id="QuadMesh_m7i20"]
material = SubResource("ShaderMaterial_rwiaw")
size = Vector2(0.4, 0.4)
[sub_resource type="Environment" id="Environment_nnf8b"]
ambient_light_source = 2
@ -721,7 +722,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.5)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0, -2)
[node name="Flames" type="MeshInstance3D" parent="Scene/Cabin"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.989268, 0.659707, -1.58833)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.989268, 0.459707, -1.58833)
mesh = SubResource("QuadMesh_m7i20")
skeleton = NodePath("../..")
script = ExtResource("15_ligte")
@ -729,11 +730,11 @@ script = ExtResource("15_ligte")
[node name="OmniLight3D" type="OmniLight3D" parent="Scene/Cabin"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.997079, 0.482618, -1.46874)
light_color = Color(0.988235, 0.694118, 0.415686, 1)
light_size = 0.404
light_specular = 0.265
light_bake_mode = 1
shadow_enabled = true
shadow_bias = 0.043
omni_range = 2.15365
script = ExtResource("16_kldxl")
flickerStrength = 0.09
moveStrength = 0.002

View File

@ -0,0 +1,22 @@
class_name CameraController extends Camera3D
@onready var santa: Santa = Sleigh.instance.get_node("SleighModel/SantaModel")
@export var lookAt: Node3D
@export var moveSpeed: float = 20
@export var zOffset: float = 3.6
@export var posOffset: Vector3 = Vector3(0, 0, 0)
@export var lookOffset: Vector3 = Vector3(0, 0, 0)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
if (City.moving):
var z: float = position.z
position = position.move_toward(lookAt.position + posOffset, moveSpeed * delta)
position.z = z
look_at(lookAt.global_position + lookOffset)
else:
global_position = santa.global_position
position.z -= 15
position.y += 20
look_at(santa.global_position)

View File

@ -1,9 +1,12 @@
class_name City extends Node3D
static var instance: City
static var moving: bool = true
@onready var block: PackedScene = preload("res://Scenes/Gameplay/block.tscn")
@onready var speedRing: PackedScene = preload("res://Scenes/Gameplay/ring.tscn")
@onready var slowRing: PackedScene = preload("res://Scenes/Gameplay/grinchRing.tscn")
@onready var deliveryMarker: PackedScene = preload("res://Scenes/Gameplay/deliveryMarker.tscn")
@onready var neighborhood: Node3D = $Neighborhood
@onready var ringholder: Node3D = $Rings
@ -16,11 +19,16 @@ static var instance: City
var distance: float = 0
var rowIndex: int = 0
var cellSize: float
var rings: Array[SpeedRing]
var santaRings: Array[SpeedRing]
var grinchRings: Array[SpeedRing]
var ringIndex: int = 0
var delivery: Area3D
var deliveryHouse: Node3D
var deliveryRow: int = 0
func _enter_tree():
rings.resize(6)
santaRings.resize(6)
grinchRings.resize(6)
if (instance == null || !is_instance_valid(instance)):
instance = self
else:
@ -29,11 +37,19 @@ func _enter_tree():
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
cellSize = blockLength * blockScale
for i in range(rings.size()):
rings[i] = speedRing.instantiate()
rings[i].scale = Vector3(5, 5, 5)
rings[i].strength = 1.5
ringholder.add_child(rings[i])
delivery = deliveryMarker.instantiate()
delivery.scale = Vector3(10, 10, 10)
ringholder.add_child(delivery)
pickHouse()
for i in range(santaRings.size()):
santaRings[i] = speedRing.instantiate()
santaRings[i].scale = Vector3(5, 5, 5)
santaRings[i].strength = 1.5
grinchRings[i] = slowRing.instantiate()
grinchRings[i].scale = Vector3(5, 5, 5)
grinchRings[i].strength = 0.5
ringholder.add_child(santaRings[i])
ringholder.add_child(grinchRings[i])
for y in range(rows):
for x in range(columns):
var road: Node3D = block.instantiate()
@ -47,6 +63,8 @@ func _ready() -> void:
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta: float) -> void:
if (rowIndex - 4 > deliveryRow):
pickHouse()
if (distance >= cellSize):
distance -= cellSize
for i in range(columns * 2):
@ -58,12 +76,23 @@ func _process(_delta: float) -> void:
var house: Node3D = houses.pick_random().instantiate()
house.position = road.position + Vector3(-cellSize / 2, -0.2, -cellSize / 2)
house.rotate_y(randi_range(0, 3) * (PI / 2))
if (house.position.distance_to(delivery.position) < 100):
deliveryHouse = house
neighborhood.add_child(house)
rings[ringIndex].position = Vector3(randf_range(-25, 25), randf_range(50, 85), (rowIndex * -cellSize) - randf_range(0, cellSize * 0.8))
santaRings[ringIndex].position = Vector3(randf_range(-25, 25), randf_range(50, 85), (rowIndex * -cellSize) - randf_range(0, cellSize * 0.8))
santaRings[ringIndex].scale = Vector3(5, 5, 5)
grinchRings[ringIndex].position = Vector3(randf_range(-25, 25), randf_range(50, 85), (rowIndex * -cellSize) - randf_range(0, cellSize * 0.8))
grinchRings[ringIndex].scale = Vector3(5, 5, 5)
ringIndex += 1
if (ringIndex >= rings.size()): ringIndex = 0
if (ringIndex >= santaRings.size()): ringIndex = 0
rowIndex += 1
func pickHouse() -> void:
var blocksAhead: int = randi_range(5, 10)
deliveryRow = blocksAhead + rowIndex
var column: int = randi_range(0, 1)
delivery.position = Vector3(-cellSize / 3 + column * cellSize * 2 / 3, 50, ((rowIndex + blocksAhead) * -cellSize) - cellSize / 2)
func _on_back_pressed() -> void:
get_tree().root.add_child(load("res://Scenes/UI/MainMenu.tscn").instantiate())
queue_free()

View File

@ -3,12 +3,11 @@ class_name Reindeer extends Node3D
@export var lookAt: Node3D
@export var moveSpeed: float = 20
@export var zOffset: float = 3.6
@export var posOffset: Vector3 = Vector3(0, 0, 0)
@export var lookOffset: Vector3 = Vector3(0, 0, 0)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
if (!City.moving): return
var z: float = position.z
position = position.move_toward(lookAt.position + posOffset, moveSpeed * delta)
position = position.move_toward(lookAt.position, moveSpeed * delta)
position.z = z
look_at(lookAt.global_position + lookOffset)
look_at(lookAt.global_position)

View File

@ -1,3 +1,11 @@
class_name SpeedRing extends Area3D
@export var strength: float = 1.1
var tween: Tween
func _on_area_entered(area: Area3D) -> void:
if (area.is_in_group("sleigh")):
if (tween): tween.kill()
tween = get_tree().create_tween()
tween.tween_property(self, "scale", Vector3(50, 50, 50), 0.3)

18
Scripts/Santa.gd Normal file
View File

@ -0,0 +1,18 @@
class_name Santa extends Node3D
@onready var animator: AnimationPlayer = $AnimationPlayer
func dive(pos: Vector3, time: float) -> void:
animator.pause()
var posTween: Tween = get_tree().create_tween()
posTween.tween_property(self, "global_position", (pos + global_position) / 2 + Vector3(0, 50, 0), time)
var rotTween: Tween = get_tree().create_tween()
rotTween.tween_property(self, "rotation:x", 3.0, time / 3)
await get_tree().create_timer(time / 2).timeout
posTween.kill()
posTween = get_tree().create_tween()
posTween.tween_property(self, "global_position", pos, time / 2)

View File

@ -2,17 +2,27 @@ class_name Sleigh extends Node3D
static var instance: Sleigh
@onready var santa: Santa = $SleighModel/SantaModel
@export var baseSpeed: float = 100
@export var maxSpeed: float = 500
@export var drag: float = 10
var speed: float
func _enter_tree():
if (instance == null || !is_instance_valid(instance)):
instance = self
else:
queue_free()
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
speed = baseSpeed
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
if (!City.moving): return
var distance: float = (speed * delta * Vector3.FORWARD).z
position.z += distance
if (is_instance_valid(City.instance)): City.instance.distance -= distance
@ -22,3 +32,7 @@ func _process(delta: float) -> void:
func _on_rudolph_entered(area: Area3D) -> void:
if (area is SpeedRing):
speed *= area.strength
if (area.is_in_group("delivery")):
City.moving = false
var target: Vector3 = City.instance.deliveryHouse.get_node("Smoke").global_position
santa.dive(target, 1)

View File

@ -10,6 +10,7 @@ class_name Target extends Node3D
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
if (!City.moving): return
var horizontalMovement: float = Input.get_axis("right", "left")
var verticalMovement: float = Input.get_axis("down", "up")

View File

@ -6,6 +6,8 @@ func _ready() -> void:
preload("res://Scenes/Gameplay/Houses/house2.tscn")
preload("res://Scenes/Gameplay/block.tscn")
preload("res://Scenes/Gameplay/ring.tscn")
preload("res://Scenes/Gameplay/grinchRing.tscn")
preload("res://Scenes/Gameplay/deliveryMarker.tscn")
get_tree().root.add_child.call_deferred(load("res://Scenes/UI/FPSCounter.tscn").instantiate())
func _on_play_pressed():

View File

@ -8,5 +8,6 @@ uniform float speedScale = 1;
void fragment() {
float val = texture(noise, vec2(UV.x * noiseScale + -TIME * speedScale, UV.y * noiseScale + TIME * speedScale)).x;
float val2 = texture(noise, vec2(UV.x * noiseScale + TIME * -speedScale / 2.0, UV.y * noiseScale + TIME * speedScale)).x;
EMISSION = vec3(0.5, 0.5, 0.5);
if (val < snowLevel && val2 < snowLevel) discard;
}

View File

@ -0,0 +1,16 @@
shader_type spatial;
uniform vec3 color = vec3(0, 0.9, 0);
uniform float timeScale = 1;
uniform float noiseScale = 1;
uniform sampler2D noise;
void fragment() {
ALBEDO = color;
EMISSION = color;
if (UV.y < 0.5){
ALPHA = clamp(texture(noise, vec2(UV.x * noiseScale, TIME * timeScale)).x - (1.0 - UV.y), 0, 1) + UV.y - 0.3;
}else{
ALPHA = (1.0 - texture(noise, UV * noiseScale + TIME * timeScale).x) / 2.0;
}
}

View File

@ -0,0 +1,11 @@
[gd_resource type="NoiseTexture2D" load_steps=2 format=3 uid="uid://bxyvh8v4i61nj"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_wffcf"]
fractal_type = 3
[resource]
width = 128
height = 64
generate_mipmaps = false
seamless = true
noise = SubResource("FastNoiseLite_wffcf")

View File

@ -0,0 +1,11 @@
[gd_resource type="NoiseTexture2D" load_steps=2 format=3 uid="uid://bpbx2rdfqfljn"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_wffcf"]
fractal_type = 3
[resource]
width = 128
height = 64
generate_mipmaps = false
seamless = true
noise = SubResource("FastNoiseLite_wffcf")

File diff suppressed because one or more lines are too long

View File

@ -67,5 +67,7 @@ debugDown={
[rendering]
renderer/rendering_method="gl_compatibility"
renderer/rendering_method.mobile="gl_compatibility"
limits/opengl/max_lights_per_object=24
anti_aliasing/quality/msaa_3d=1