generated from krampus/template-godot4
Procedural Shambler animations
All checks were successful
linting & formatting / build (push) Successful in 1m18s
All checks were successful
linting & formatting / build (push) Successful in 1m18s
This commit is contained in:
parent
0e04f9d227
commit
a194dfe52d
Binary file not shown.
Binary file not shown.
BIN
asset_dev/beast/shambler/shambler1.blend
Normal file
BIN
asset_dev/beast/shambler/shambler1.blend
Normal file
Binary file not shown.
BIN
asset_dev/beast/shambler/shambler2.blend
Normal file
BIN
asset_dev/beast/shambler/shambler2.blend
Normal file
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,9 +1,9 @@
|
||||
[gd_scene load_steps=12 format=3 uid="uid://cbxlfnlmgdvsq"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b1tbovuphat7d" path="res://levels/grunkbeast_test/procedural_grunkbeast_test.gd" id="1_ixhpa"]
|
||||
[ext_resource type="Script" uid="uid://b1tbovuphat7d" path="res://levels/grunkbeast_test/procedural_grunkbeast_test/procedural_grunkbeast_test.gd" id="1_ixhpa"]
|
||||
[ext_resource type="Script" uid="uid://bukihqt1lybnx" path="res://src/util/frame_skipper.gd" id="2_82w0n"]
|
||||
[ext_resource type="PackedScene" uid="uid://d2664rpg4losx" path="res://src/world/grunk_beast/procedural_grunk_beast/procedural_grunk_beast.tscn" id="3_b4iwh"]
|
||||
[ext_resource type="Script" uid="uid://cpt8dy0csa3eu" path="res://levels/grunkbeast_test/fixed_camera.gd" id="4_32imj"]
|
||||
[ext_resource type="Script" uid="uid://cpt8dy0csa3eu" path="res://levels/grunkbeast_test/procedural_grunkbeast_test/fixed_camera.gd" id="4_32imj"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_goufh"]
|
||||
|
32
levels/grunkbeast_test/shambler_test/shambler_test.gd
Normal file
32
levels/grunkbeast_test/shambler_test/shambler_test.gd
Normal file
@ -0,0 +1,32 @@
|
||||
extends Level
|
||||
|
||||
const ACCELERATION := 6.0
|
||||
|
||||
var speed := 4.0
|
||||
var velocity := Vector2.ZERO
|
||||
var target_velocity := Vector2.ZERO
|
||||
|
||||
@onready var model: Shambler = %Shambler
|
||||
@onready var speed_label: Label = %SpeedLabel
|
||||
|
||||
|
||||
func _unhandled_input(event: InputEvent) -> void:
|
||||
if event.is_action("select_next_tool"):
|
||||
speed = min(speed + 0.1, 40)
|
||||
elif event.is_action("select_prev_tool"):
|
||||
speed = max(speed - 0.1, 0)
|
||||
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
var move_input := Input.get_vector("move_left", "move_right", "move_forward", "move_back")
|
||||
target_velocity = move_input * speed
|
||||
|
||||
velocity = velocity.lerp(target_velocity, 1 - exp(-ACCELERATION * delta))
|
||||
|
||||
if velocity:
|
||||
model.set_target_rotation(atan2(velocity.x, velocity.y))
|
||||
|
||||
var real_speed := velocity.length()
|
||||
speed_label.text = "%.2f" % real_speed
|
||||
model.set_move_speed(real_speed)
|
||||
model.global_position += Vector3(velocity.x, 0, velocity.y) * delta
|
@ -0,0 +1 @@
|
||||
uid://csf1tga0ivx0p
|
151
levels/grunkbeast_test/shambler_test/shambler_test.tscn
Normal file
151
levels/grunkbeast_test/shambler_test/shambler_test.tscn
Normal file
@ -0,0 +1,151 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://t4cm5iu1ri5g"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://csf1tga0ivx0p" path="res://levels/grunkbeast_test/shambler_test/shambler_test.gd" id="1_7ff4e"]
|
||||
[ext_resource type="PackedScene" uid="uid://brrd33217oplv" path="res://src/world/grunk_beast/shambler/shambler.tscn" id="2_56au4"]
|
||||
[ext_resource type="Script" uid="uid://bukihqt1lybnx" path="res://src/util/frame_skipper.gd" id="2_vtesn"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://dpr5cgq743f4s" path="res://assets/level/floor/floor_9x9.mesh" id="3_vtesn"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_hda7d"]
|
||||
|
||||
[sub_resource type="Sky" id="Sky_pka60"]
|
||||
sky_material = SubResource("ProceduralSkyMaterial_hda7d")
|
||||
|
||||
[sub_resource type="Environment" id="Environment_nl4kk"]
|
||||
background_mode = 2
|
||||
sky = SubResource("Sky_pka60")
|
||||
|
||||
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_6j7vt"]
|
||||
|
||||
[node name="ShamblerTest" type="Node3D"]
|
||||
script = ExtResource("1_7ff4e")
|
||||
id = "shambler_test"
|
||||
pretty_name = "Shambler Animation Testing Sandbox"
|
||||
|
||||
[node name="FrameSkipper" type="Node3D" parent="."]
|
||||
script = ExtResource("2_vtesn")
|
||||
frame_skip = 4
|
||||
|
||||
[node name="Shambler" parent="FrameSkipper" instance=ExtResource("2_56au4")]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||
transform = Transform3D(0.866025, -0.156955, -0.474726, 0.5, 0.271854, 0.82225, 0, -0.949453, 0.31391, 0, 0, 0)
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
environment = SubResource("Environment_nl4kk")
|
||||
|
||||
[node name="WorldFloor" type="StaticBody3D" parent="." groups=["PlasticMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -9)
|
||||
mesh = ExtResource("3_vtesn")
|
||||
|
||||
[node name="MeshInstance3D2" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, -9)
|
||||
mesh = ExtResource("3_vtesn")
|
||||
|
||||
[node name="MeshInstance3D3" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9, 0, -9)
|
||||
mesh = ExtResource("3_vtesn")
|
||||
|
||||
[node name="MeshInstance3D4" type="MeshInstance3D" parent="WorldFloor"]
|
||||
mesh = ExtResource("3_vtesn")
|
||||
|
||||
[node name="MeshInstance3D5" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 0)
|
||||
mesh = ExtResource("3_vtesn")
|
||||
|
||||
[node name="MeshInstance3D6" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9, 0, 0)
|
||||
mesh = ExtResource("3_vtesn")
|
||||
|
||||
[node name="MeshInstance3D7" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, -9)
|
||||
mesh = ExtResource("3_vtesn")
|
||||
|
||||
[node name="MeshInstance3D8" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 0)
|
||||
mesh = ExtResource("3_vtesn")
|
||||
|
||||
[node name="MeshInstance3D9" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, -9)
|
||||
mesh = ExtResource("3_vtesn")
|
||||
|
||||
[node name="MeshInstance3D10" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 0)
|
||||
mesh = ExtResource("3_vtesn")
|
||||
|
||||
[node name="MeshInstance3D11" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 36, 0, -9)
|
||||
mesh = ExtResource("3_vtesn")
|
||||
|
||||
[node name="MeshInstance3D12" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 36, 0, 0)
|
||||
mesh = ExtResource("3_vtesn")
|
||||
|
||||
[node name="MeshInstance3D13" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 45, 0, -9)
|
||||
mesh = ExtResource("3_vtesn")
|
||||
|
||||
[node name="MeshInstance3D14" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 45, 0, 0)
|
||||
mesh = ExtResource("3_vtesn")
|
||||
|
||||
[node name="MeshInstance3D15" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 54, 0, -9)
|
||||
mesh = ExtResource("3_vtesn")
|
||||
|
||||
[node name="MeshInstance3D16" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 54, 0, 0)
|
||||
mesh = ExtResource("3_vtesn")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="WorldFloor"]
|
||||
visible = false
|
||||
shape = SubResource("WorldBoundaryShape3D_6j7vt")
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="."]
|
||||
transform = Transform3D(0.999945, 0.00341349, -0.0099392, 0, 0.945778, 0.324815, 0.010509, -0.324797, 0.945725, 9.96718, 3.89329, 7.13198)
|
||||
|
||||
[node name="HUD" type="Control" parent="."]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="HUD"]
|
||||
layout_mode = 1
|
||||
offset_right = 33.0
|
||||
offset_bottom = 55.0
|
||||
theme_override_constants/margin_left = 16
|
||||
theme_override_constants/margin_top = 16
|
||||
theme_override_constants/margin_right = 16
|
||||
theme_override_constants/margin_bottom = 16
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="HUD/MarginContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
|
||||
[node name="Label" type="Label" parent="HUD/MarginContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
text = "SPEED: "
|
||||
|
||||
[node name="SpeedLabel" type="Label" parent="HUD/MarginContainer/HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
text = "0000"
|
||||
|
||||
[node name="Label2" type="Label" parent="HUD/MarginContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
text = "m/s"
|
3
levels/grunkbeast_test/visual_test/visual_test.tscn
Normal file
3
levels/grunkbeast_test/visual_test/visual_test.tscn
Normal file
@ -0,0 +1,3 @@
|
||||
[gd_scene format=3 uid="uid://700gr7k3gqlf"]
|
||||
|
||||
[node name="VisualTest" type="Node3D"]
|
@ -1,6 +1,7 @@
|
||||
[gd_scene load_steps=62 format=4 uid="uid://tvirbm0kgvp8"]
|
||||
[gd_scene load_steps=63 format=4 uid="uid://tvirbm0kgvp8"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="1_fgk6j"]
|
||||
[ext_resource type="Script" uid="uid://68r4ht5ut1ct" path="res://src/game/level.gd" id="1_hv7qb"]
|
||||
[ext_resource type="PackedScene" uid="uid://ehf5sg3ahvbf" path="res://src/world/grunk_beast/grunk_beast.tscn" id="2_1lom2"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://cqd0a7ousx01n" path="res://assets/level/hallway/hallway_1.mesh" id="3_gyhlh"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="4_hv7qb"]
|
||||
@ -38,9 +39,9 @@ sky_material = SubResource("ProceduralSkyMaterial_1lom2")
|
||||
background_mode = 2
|
||||
sky = SubResource("Sky_18csx")
|
||||
|
||||
[sub_resource type="NavigationMesh" id="NavigationMesh_gyhlh"]
|
||||
vertices = PackedVector3Array(-26.25, 0.499, -29.25, -26.5, 0.499, -30.75, -27.5, 0.499, -30.75, -27.5, 0.499, -27.5, -26.25, 0.499, -26.75, -18, 0.499, -17.5, -19.75, 0.499, -17.5, -19.25, 0.499, -17.25, -16.5, 0.499, -17.25, -13.75, 0.499, -17.25, -13.5, 0.499, -18.5, -17, 0.499, -18.5, -27.5, 0.499, -20.75, -27.5, 0.499, -17.25, -26.75, 0.499, -18.25, -26.25, 0.499, -19, -26.25, 0.499, -21.75, -27.5, 0.499, -24, -26.25, 0.499, -24.25, -11, 0.499, -17.25, -9.75, 0.499, -18.5, -6.25, 0.499, -18.5, -8.25, 0.499, -17.25, -5.5, 0.499, -17.25, -2.5, 0.499, -17.25, -2.5, 0.499, -18.5, -25.75, 0.499, -18.5, -25.5, 0.499, -18.25, -23, 0.499, -18.5, -22, 0.499, -17.25, -24.75, 0.499, -17.25, -20.25, 0.499, -18.5, -21.75, 0.499, -24.25, -24.25, 0.499, -24.25, -24.25, 0.499, -20.25, -21.75, 0.499, -20.25, -11.25, 0.499, -24.25, -13.75, 0.499, -24.25, -13.75, 0.499, -20.25, -11.25, 0.499, -20.25, -3, 0.499, -20.25, -3, 0.499, -24.25, -5.75, 0.499, -24.25, -5.75, 0.499, -20.25, -8.5, 0.499, -20.25, -8.5, 0.499, -24.25, -19, 0.499, -24.25, -19, 0.499, -20.25, -16.5, 0.499, -24.25, -16.5, 0.499, -20.25, -0.25, 0.499, -17.5, 0.75, 0.499, -18, 0.75, 0.499, -19.75, -0.5, 0.499, -19.75, -0.5, 0.499, -9.5, -0.5, 0.499, -6, 0.75, 0.499, -6, 0.75, 0.499, -9.5, 1.75, 0.499, -20.25, 1.75, 0.499, -24.25, -0.75, 0.499, -24.25, -1, 0.499, -20.25, -0.5, 0.499, -13, 0.75, 0.499, -12.75, 0, 0.499, -13.25, -0.5, 0.499, -16.5, -0.25, 0.499, -15.25, 24.25, 0.499, -22, 24.25, 0.499, -24.25, 21.25, 0.499, -24.25, 2.5, 0.499, -19.75, 4.5, 0.499, -24.25, 24.25, 0.499, -10.25, 24.25, 0.499, -12.75, 15.75, 0.499, -24.25, 24.25, 0.499, -19.75, 7.25, 0.499, -24.25, 18.5, 0.499, -24.25, 24.25, 0.499, -17.5, 10, 0.499, -24.25, 24.25, 0.499, -5.5, 24.25, 0.499, -8, 2.5, 0.499, -9.25, 2.5, 0.499, -5.75, 24.25, 0.499, -15, 2.5, 0.499, -16.25, 13, 0.499, -24.25, 2.5, 0.499, -12.75, -21.5, 0.499, -15.5, -24.25, 0.499, -15.5, -24.25, 0.499, -13.25, -24.25, 0.499, 21.75, -24.25, 0.499, 24.25, -21.5, 0.499, 24.25, -2.25, 0.499, -12.75, -2.25, 0.499, -15.5, -5, 0.499, -15.5, -24.25, 0.499, -10.75, -24.25, 0.499, 19.25, -2.25, 0.499, -10, -7.75, 0.499, -15.5, -18.75, 0.499, -15.5, -24.25, 0.499, -8.25, -18.75, 0.499, 24.25, -24.25, 0.499, 16.75, -1.5, 0.499, -3.75, -2.25, 0.499, -4.25, -24.25, 0.499, 4.25, -24.25, 0.499, 6.75, -4.5, 0.499, 24.25, -1.5, 0.499, 24.25, -24.25, 0.499, 9.25, -10.25, 0.499, 24.25, -7.25, 0.499, 24.25, -2.25, 0.499, -7.25, -10.5, 0.499, -15.5, -16, 0.499, -15.5, -24.25, 0.499, -5.75, -16, 0.499, 24.25, -24.25, 0.499, 14.25, -13.25, 0.499, -15.5, -24.25, 0.499, -3.25, -24.25, 0.499, -0.75, -24.25, 0.499, 11.75, -13, 0.499, 24.25, -24.25, 0.499, 1.75, 0.75, 0.499, -4.25, -0.5, 0.499, -4.25, 1.75, 0.499, -3.75, 1.75, 0.499, 24.25, 21.25, 0.499, 24.25, 24.25, 0.499, 24.25, 24.25, 0.499, 20.5, 18.5, 0.499, 24.25, 15.75, 0.499, 24.25, 24.25, 0.499, 16.75, 13, 0.499, 24.25, 7.25, 0.499, 24.25, 24.25, 0.499, 13, 24.25, 0.499, 9.25, 4.5, 0.499, 24.25, 10, 0.499, 24.25, 24.25, 0.499, 1.75, 2.5, 0.499, -4.25, 24.25, 0.499, 5.5, 24.25, 0.499, -2)
|
||||
polygons = [PackedInt32Array(1, 0, 2), PackedInt32Array(2, 0, 3), PackedInt32Array(3, 0, 4), PackedInt32Array(6, 5, 7), PackedInt32Array(7, 5, 8), PackedInt32Array(5, 11, 8), PackedInt32Array(8, 11, 9), PackedInt32Array(9, 11, 10), PackedInt32Array(14, 13, 15), PackedInt32Array(15, 13, 12), PackedInt32Array(15, 12, 16), PackedInt32Array(18, 17, 4), PackedInt32Array(4, 17, 3), PackedInt32Array(9, 10, 19), PackedInt32Array(19, 10, 20), PackedInt32Array(18, 16, 17), PackedInt32Array(17, 16, 12), PackedInt32Array(23, 22, 21), PackedInt32Array(21, 22, 20), PackedInt32Array(24, 23, 25), PackedInt32Array(25, 23, 21), PackedInt32Array(20, 22, 19), PackedInt32Array(26, 14, 15), PackedInt32Array(14, 26, 27), PackedInt32Array(27, 26, 28), PackedInt32Array(7, 29, 6), PackedInt32Array(6, 29, 31), PackedInt32Array(31, 29, 28), PackedInt32Array(28, 29, 30), PackedInt32Array(28, 30, 27), PackedInt32Array(35, 34, 32), PackedInt32Array(32, 34, 33), PackedInt32Array(39, 38, 36), PackedInt32Array(36, 38, 37), PackedInt32Array(43, 42, 40), PackedInt32Array(40, 42, 41), PackedInt32Array(45, 42, 44), PackedInt32Array(44, 42, 43), PackedInt32Array(47, 35, 46), PackedInt32Array(46, 35, 32), PackedInt32Array(36, 45, 39), PackedInt32Array(39, 45, 44), PackedInt32Array(49, 47, 48), PackedInt32Array(48, 47, 46), PackedInt32Array(38, 49, 37), PackedInt32Array(37, 49, 48), PackedInt32Array(52, 51, 53), PackedInt32Array(53, 51, 50), PackedInt32Array(57, 56, 54), PackedInt32Array(54, 56, 55), PackedInt32Array(53, 61, 52), PackedInt32Array(52, 61, 58), PackedInt32Array(58, 61, 60), PackedInt32Array(58, 60, 59), PackedInt32Array(64, 63, 62), PackedInt32Array(62, 63, 57), PackedInt32Array(62, 57, 54), PackedInt32Array(40, 41, 61), PackedInt32Array(61, 41, 60), PackedInt32Array(66, 65, 50), PackedInt32Array(50, 65, 53), PackedInt32Array(64, 62, 66), PackedInt32Array(66, 62, 65), PackedInt32Array(69, 68, 67), PackedInt32Array(58, 59, 70), PackedInt32Array(70, 59, 71), PackedInt32Array(74, 73, 72), PackedInt32Array(69, 67, 75), PackedInt32Array(70, 71, 76), PackedInt32Array(75, 78, 69), PackedInt32Array(69, 78, 77), PackedInt32Array(70, 76, 79), PackedInt32Array(81, 80, 74), PackedInt32Array(74, 80, 82), PackedInt32Array(82, 80, 83), PackedInt32Array(78, 84, 77), PackedInt32Array(77, 84, 74), PackedInt32Array(79, 86, 70), PackedInt32Array(70, 86, 85), PackedInt32Array(74, 72, 81), PackedInt32Array(82, 87, 74), PackedInt32Array(74, 84, 73), PackedInt32Array(86, 74, 85), PackedInt32Array(85, 74, 87), PackedInt32Array(90, 89, 88), PackedInt32Array(93, 92, 91), PackedInt32Array(96, 95, 94), PackedInt32Array(97, 90, 88), PackedInt32Array(93, 91, 98), PackedInt32Array(94, 99, 96), PackedInt32Array(96, 99, 100), PackedInt32Array(88, 101, 97), PackedInt32Array(97, 101, 102), PackedInt32Array(93, 98, 103), PackedInt32Array(103, 98, 104), PackedInt32Array(106, 105, 107), PackedInt32Array(107, 105, 108), PackedInt32Array(108, 105, 109), PackedInt32Array(109, 105, 110), PackedInt32Array(111, 108, 112), PackedInt32Array(112, 108, 113), PackedInt32Array(109, 113, 108), PackedInt32Array(99, 114, 100), PackedInt32Array(100, 114, 115), PackedInt32Array(102, 101, 117), PackedInt32Array(117, 101, 116), PackedInt32Array(103, 104, 118), PackedInt32Array(118, 104, 119), PackedInt32Array(122, 121, 120), PackedInt32Array(123, 111, 124), PackedInt32Array(124, 111, 112), PackedInt32Array(125, 122, 120), PackedInt32Array(115, 114, 120), PackedInt32Array(120, 114, 106), PackedInt32Array(120, 106, 125), PackedInt32Array(125, 106, 107), PackedInt32Array(117, 116, 121), PackedInt32Array(121, 116, 120), PackedInt32Array(119, 123, 118), PackedInt32Array(118, 123, 124), PackedInt32Array(127, 55, 126), PackedInt32Array(126, 55, 56), PackedInt32Array(126, 128, 127), PackedInt32Array(127, 128, 105), PackedInt32Array(105, 128, 129), PackedInt32Array(105, 129, 110), PackedInt32Array(132, 131, 130), PackedInt32Array(132, 130, 133), PackedInt32Array(132, 133, 134), PackedInt32Array(134, 136, 132), PackedInt32Array(132, 136, 135), PackedInt32Array(137, 140, 138), PackedInt32Array(138, 140, 139), PackedInt32Array(136, 141, 135), PackedInt32Array(135, 141, 138), PackedInt32Array(143, 142, 128), PackedInt32Array(128, 142, 144), PackedInt32Array(138, 141, 137), PackedInt32Array(83, 80, 143), PackedInt32Array(143, 80, 145), PackedInt32Array(144, 139, 128), PackedInt32Array(128, 139, 140), PackedInt32Array(128, 140, 129), PackedInt32Array(143, 145, 142)]
|
||||
[sub_resource type="NavigationMesh" id="NavigationMesh_hv7qb"]
|
||||
vertices = PackedVector3Array(-27.5, 0.499, -20.75, -27.5, 0.499, -17.25, -26.75, 0.499, -18.25, -26.25, 0.499, -19, -26.25, 0.499, -22.25, -26.25, 0.499, -28.25, -26.25, 0.499, -30.75, -27.5, 0.499, -30.75, -27.5, 0.499, -27.5, -13.5, 0.499, -18.5, -13.75, 0.499, -17.25, -11, 0.499, -17.25, -9.75, 0.499, -18.5, -26.25, 0.499, -25.25, -27.5, 0.499, -24, -6.25, 0.499, -18.5, -8.25, 0.499, -17.25, -5.5, 0.499, -17.25, -2.5, 0.499, -17.25, -2.5, 0.499, -18.5, -16.5, 0.499, -17.25, -17, 0.499, -18.5, -18, 0.499, -17.5, -25.75, 0.499, -18.5, -25.5, 0.499, -18.25, -23, 0.499, -18.5, -19.75, 0.499, -17.5, -19.25, 0.499, -17.25, -24.75, 0.499, -17.25, -22, 0.499, -17.25, -20.25, 0.499, -18.5, -21.75, 0.499, -24.25, -24.25, 0.499, -24.25, -24.25, 0.499, -20.25, -21.75, 0.499, -20.25, -11.25, 0.499, -24.25, -13.75, 0.499, -24.25, -13.75, 0.499, -20.25, -11.25, 0.499, -20.25, -3, 0.499, -20.25, -3, 0.499, -24.25, -5.75, 0.499, -24.25, -5.75, 0.499, -20.25, -8.5, 0.499, -20.25, -8.5, 0.499, -24.25, -19, 0.499, -24.25, -19, 0.499, -20.25, -16.5, 0.499, -24.25, -16.5, 0.499, -20.25, -0.25, 0.499, -17.5, 0.75, 0.499, -18, 0.75, 0.499, -19.75, -0.5, 0.499, -19.75, -0.5, 0.499, -9.5, -0.5, 0.499, -6, 0.75, 0.499, -6, 0.75, 0.499, -9.5, 1.75, 0.499, -20.25, 1.75, 0.499, -24.25, -0.75, 0.499, -24.25, -1, 0.499, -20.25, -0.5, 0.499, -13, 0.75, 0.499, -12.75, 0, 0.499, -13.25, -0.5, 0.499, -16.5, -0.25, 0.499, -15.25, 24.25, 0.499, -22, 24.25, 0.499, -24.25, 21.25, 0.499, -24.25, 2.5, 0.499, -19.75, 4.5, 0.499, -24.25, 24.25, 0.499, -10.25, 24.25, 0.499, -12.75, 15.75, 0.499, -24.25, 24.25, 0.499, -19.75, 7.25, 0.499, -24.25, 18.5, 0.499, -24.25, 24.25, 0.499, -17.5, 10, 0.499, -24.25, 24.25, 0.499, -5.5, 24.25, 0.499, -8, 2.5, 0.499, -9.25, 2.5, 0.499, -5.75, 24.25, 0.499, -15, 2.5, 0.499, -16.25, 13, 0.499, -24.25, 2.5, 0.499, -12.75, -21.5, 0.499, -15.5, -24.25, 0.499, -15.5, -24.25, 0.499, -13.25, -24.25, 0.499, 21.75, -24.25, 0.499, 24.25, -21.5, 0.499, 24.25, -2.25, 0.499, -12.75, -2.25, 0.499, -15.5, -5, 0.499, -15.5, -24.25, 0.499, -10.75, -24.25, 0.499, 19.25, -2.25, 0.499, -10, -7.75, 0.499, -15.5, -18.75, 0.499, -15.5, -24.25, 0.499, -8.25, -18.75, 0.499, 24.25, -24.25, 0.499, 16.75, -1.5, 0.499, -3.75, -2.25, 0.499, -4.25, -24.25, 0.499, 4.25, -24.25, 0.499, 6.75, -4.5, 0.499, 24.25, -1.5, 0.499, 24.25, -24.25, 0.499, 9.25, -10.25, 0.499, 24.25, -7.25, 0.499, 24.25, -2.25, 0.499, -7.25, -10.5, 0.499, -15.5, -16, 0.499, -15.5, -24.25, 0.499, -5.75, -16, 0.499, 24.25, -24.25, 0.499, 14.25, -13.25, 0.499, -15.5, -24.25, 0.499, -3.25, -24.25, 0.499, -0.75, -24.25, 0.499, 11.75, -13, 0.499, 24.25, -24.25, 0.499, 1.75, 0.75, 0.499, -4.25, -0.5, 0.499, -4.25, 1.75, 0.499, -3.75, 1.75, 0.499, 24.25, 21.25, 0.499, 24.25, 24.25, 0.499, 24.25, 24.25, 0.499, 20.5, 18.5, 0.499, 24.25, 15.75, 0.499, 24.25, 24.25, 0.499, 16.75, 13, 0.499, 24.25, 7.25, 0.499, 24.25, 24.25, 0.499, 13, 24.25, 0.499, 9.25, 4.5, 0.499, 24.25, 10, 0.499, 24.25, 24.25, 0.499, 1.75, 2.5, 0.499, -4.25, 24.25, 0.499, 5.5, 24.25, 0.499, -2)
|
||||
polygons = [PackedInt32Array(2, 1, 3), PackedInt32Array(3, 1, 0), PackedInt32Array(3, 0, 4), PackedInt32Array(6, 5, 7), PackedInt32Array(7, 5, 8), PackedInt32Array(10, 9, 11), PackedInt32Array(11, 9, 12), PackedInt32Array(5, 13, 8), PackedInt32Array(8, 13, 14), PackedInt32Array(17, 16, 15), PackedInt32Array(15, 16, 12), PackedInt32Array(13, 4, 14), PackedInt32Array(14, 4, 0), PackedInt32Array(18, 17, 19), PackedInt32Array(19, 17, 15), PackedInt32Array(22, 21, 20), PackedInt32Array(20, 21, 10), PackedInt32Array(10, 21, 9), PackedInt32Array(12, 16, 11), PackedInt32Array(23, 2, 3), PackedInt32Array(2, 23, 24), PackedInt32Array(24, 23, 25), PackedInt32Array(26, 22, 27), PackedInt32Array(27, 22, 20), PackedInt32Array(26, 29, 30), PackedInt32Array(30, 29, 25), PackedInt32Array(25, 29, 28), PackedInt32Array(25, 28, 24), PackedInt32Array(27, 29, 26), PackedInt32Array(34, 33, 31), PackedInt32Array(31, 33, 32), PackedInt32Array(38, 37, 35), PackedInt32Array(35, 37, 36), PackedInt32Array(42, 41, 39), PackedInt32Array(39, 41, 40), PackedInt32Array(44, 41, 43), PackedInt32Array(43, 41, 42), PackedInt32Array(46, 34, 45), PackedInt32Array(45, 34, 31), PackedInt32Array(35, 44, 38), PackedInt32Array(38, 44, 43), PackedInt32Array(48, 46, 47), PackedInt32Array(47, 46, 45), PackedInt32Array(37, 48, 36), PackedInt32Array(36, 48, 47), PackedInt32Array(51, 50, 52), PackedInt32Array(52, 50, 49), PackedInt32Array(56, 55, 53), PackedInt32Array(53, 55, 54), PackedInt32Array(52, 60, 51), PackedInt32Array(51, 60, 57), PackedInt32Array(57, 60, 59), PackedInt32Array(57, 59, 58), PackedInt32Array(63, 62, 61), PackedInt32Array(61, 62, 56), PackedInt32Array(61, 56, 53), PackedInt32Array(39, 40, 60), PackedInt32Array(60, 40, 59), PackedInt32Array(65, 64, 49), PackedInt32Array(49, 64, 52), PackedInt32Array(63, 61, 65), PackedInt32Array(65, 61, 64), PackedInt32Array(68, 67, 66), PackedInt32Array(57, 58, 69), PackedInt32Array(69, 58, 70), PackedInt32Array(73, 72, 71), PackedInt32Array(68, 66, 74), PackedInt32Array(69, 70, 75), PackedInt32Array(74, 77, 68), PackedInt32Array(68, 77, 76), PackedInt32Array(69, 75, 78), PackedInt32Array(80, 79, 73), PackedInt32Array(73, 79, 81), PackedInt32Array(81, 79, 82), PackedInt32Array(77, 83, 76), PackedInt32Array(76, 83, 73), PackedInt32Array(78, 85, 69), PackedInt32Array(69, 85, 84), PackedInt32Array(73, 71, 80), PackedInt32Array(81, 86, 73), PackedInt32Array(73, 83, 72), PackedInt32Array(85, 73, 84), PackedInt32Array(84, 73, 86), PackedInt32Array(89, 88, 87), PackedInt32Array(92, 91, 90), PackedInt32Array(95, 94, 93), PackedInt32Array(96, 89, 87), PackedInt32Array(92, 90, 97), PackedInt32Array(93, 98, 95), PackedInt32Array(95, 98, 99), PackedInt32Array(87, 100, 96), PackedInt32Array(96, 100, 101), PackedInt32Array(92, 97, 102), PackedInt32Array(102, 97, 103), PackedInt32Array(105, 104, 106), PackedInt32Array(106, 104, 107), PackedInt32Array(107, 104, 108), PackedInt32Array(108, 104, 109), PackedInt32Array(110, 107, 111), PackedInt32Array(111, 107, 112), PackedInt32Array(108, 112, 107), PackedInt32Array(98, 113, 99), PackedInt32Array(99, 113, 114), PackedInt32Array(101, 100, 116), PackedInt32Array(116, 100, 115), PackedInt32Array(102, 103, 117), PackedInt32Array(117, 103, 118), PackedInt32Array(121, 120, 119), PackedInt32Array(122, 110, 123), PackedInt32Array(123, 110, 111), PackedInt32Array(124, 121, 119), PackedInt32Array(114, 113, 119), PackedInt32Array(119, 113, 105), PackedInt32Array(119, 105, 124), PackedInt32Array(124, 105, 106), PackedInt32Array(116, 115, 120), PackedInt32Array(120, 115, 119), PackedInt32Array(118, 122, 117), PackedInt32Array(117, 122, 123), PackedInt32Array(126, 54, 125), PackedInt32Array(125, 54, 55), PackedInt32Array(125, 127, 126), PackedInt32Array(126, 127, 104), PackedInt32Array(104, 127, 128), PackedInt32Array(104, 128, 109), PackedInt32Array(131, 130, 129), PackedInt32Array(131, 129, 132), PackedInt32Array(131, 132, 133), PackedInt32Array(133, 135, 131), PackedInt32Array(131, 135, 134), PackedInt32Array(136, 139, 137), PackedInt32Array(137, 139, 138), PackedInt32Array(135, 140, 134), PackedInt32Array(134, 140, 137), PackedInt32Array(142, 141, 127), PackedInt32Array(127, 141, 143), PackedInt32Array(137, 140, 136), PackedInt32Array(82, 79, 142), PackedInt32Array(142, 79, 144), PackedInt32Array(143, 138, 127), PackedInt32Array(127, 138, 139), PackedInt32Array(127, 139, 128), PackedInt32Array(142, 144, 141)]
|
||||
geometry_parsed_geometry_type = 1
|
||||
geometry_collision_mask = 4278190081
|
||||
agent_height = 2.0
|
||||
@ -59,7 +60,7 @@ data = PackedVector3Array(25, 0, 25, -25, 0, 25, 25, 0, -25, -25, 0, 25, -25, 0,
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_u8j4k"]
|
||||
data = PackedVector3Array(-1.5, 0, -6, -1.5, 0, 6, -1.5, 3, -6, -1.5, 3, -6, -1.5, 0, 6, -1.5, 3, 6, 1.5, 0, 6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, 6, 1.5, 0, -6, 1.5, 3, -6, -1.5, 0, 6, -1.5, 0, -6, 1.5, 0, 6, 1.5, 0, 6, -1.5, 0, -6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, -6, -1.5, 3, 6, -1.5, 3, 6, 1.5, 3, -6, -1.5, 3, -6)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_e2fuu"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hv7qb"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("6_e2fuu")
|
||||
metallic = 1.0
|
||||
@ -85,7 +86,7 @@ _surfaces = [{
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_hv7qb"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_wxmii"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -94,7 +95,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_e2fuu"),
|
||||
"material": SubResource("StandardMaterial3D_hv7qb"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -104,7 +105,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_isly2")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wxmii"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_nsdlh"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("6_e2fuu")
|
||||
metallic = 1.0
|
||||
@ -115,7 +116,7 @@ normal_texture = ExtResource("8_wxmii")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_nsdlh"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_br5h1"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -124,7 +125,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_wxmii"),
|
||||
"material": SubResource("StandardMaterial3D_nsdlh"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -134,7 +135,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_isly2")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_br5h1"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qluxd"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("6_e2fuu")
|
||||
metallic = 1.0
|
||||
@ -145,7 +146,7 @@ normal_texture = ExtResource("8_wxmii")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_qluxd"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_h6xp0"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -154,7 +155,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_br5h1"),
|
||||
"material": SubResource("StandardMaterial3D_qluxd"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -240,7 +241,7 @@ data = PackedVector3Array(-1, 0, 0.2, -1, -0.4, 0, -1, 0, -0.2, -1, 0, -0.2, -1,
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_o1heh"]
|
||||
data = PackedVector3Array(-1.5, 0, -1.5, -1.5, 0, 1.5, -1.5, 3, -1.5, -1.5, 3, -1.5, -1.5, 0, 1.5, -1.5, 3, 1.5, -1.5, 0, 1.5, -1.5, 0, -1.5, 1.5, 0, 1.5, 1.5, 0, 1.5, -1.5, 0, -1.5, 1.5, 0, -1.5, 1.5, 3, 1.5, 1.5, 3, -1.5, -1.5, 3, 1.5, -1.5, 3, 1.5, 1.5, 3, -1.5, -1.5, 3, -1.5)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_h6xp0"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_irt7r"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("6_e2fuu")
|
||||
metallic = 1.0
|
||||
@ -266,7 +267,7 @@ _surfaces = [{
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_irt7r"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_olej6"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -275,7 +276,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_h6xp0"),
|
||||
"material": SubResource("StandardMaterial3D_irt7r"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -323,9 +324,13 @@ shadow_mesh = SubResource("ArrayMesh_h1nog")
|
||||
data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, -0.28, 0, 0.7, 0, 0.14, 0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, -0.28, 0, -0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, 0, -0.14, 0.7, 0, 0.14)
|
||||
|
||||
[node name="PathingTest" type="Node3D"]
|
||||
script = ExtResource("1_hv7qb")
|
||||
id = "pathing_test"
|
||||
pretty_name = "NPC Pathing Test"
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource("1_fgk6j")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
godmode = true
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||
transform = Transform3D(0.866025, -0.156955, -0.474726, 0.5, 0.271854, 0.82225, 0, -0.949453, 0.31391, 0, 0, 0)
|
||||
@ -337,7 +342,7 @@ environment = SubResource("Environment_pwykw")
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.7, 1.5, -18.3)
|
||||
|
||||
[node name="NavigationRegion3D" type="NavigationRegion3D" parent="."]
|
||||
navigation_mesh = SubResource("NavigationMesh_gyhlh")
|
||||
navigation_mesh = SubResource("NavigationMesh_hv7qb")
|
||||
|
||||
[node name="WorldFloor" type="StaticBody3D" parent="NavigationRegion3D" groups=["PlasticMaterial"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.001, 0)
|
||||
@ -375,17 +380,17 @@ source_gunk_material = ExtResource("7_nsdlh")
|
||||
|
||||
[node name="CrateLong" parent="NavigationRegion3D/Corridor1/Hallway1" instance=ExtResource("5_18csx")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0.25, -5.9)
|
||||
mesh = SubResource("ArrayMesh_hv7qb")
|
||||
mesh = SubResource("ArrayMesh_wxmii")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="CrateLong3" parent="NavigationRegion3D/Corridor1/Hallway1" instance=ExtResource("5_18csx")]
|
||||
transform = Transform3D(0.258819, -0.965926, 0, 0.965926, 0.258819, 0, 0, 0, 1, 1.2, 0.426927, -3.9)
|
||||
mesh = SubResource("ArrayMesh_nsdlh")
|
||||
mesh = SubResource("ArrayMesh_br5h1")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="CrateLong2" parent="NavigationRegion3D/Corridor1/Hallway1" instance=ExtResource("5_18csx")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0.75, -5.9)
|
||||
mesh = SubResource("ArrayMesh_qluxd")
|
||||
mesh = SubResource("ArrayMesh_h6xp0")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="FloatingDust" parent="NavigationRegion3D/Corridor1/Hallway1" instance=ExtResource("10_br5h1")]
|
||||
@ -521,7 +526,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -1.5)
|
||||
|
||||
[node name="CrateLong" parent="NavigationRegion3D/Corridor1/Hallway3" instance=ExtResource("5_18csx")]
|
||||
transform = Transform3D(-4.37114e-08, -0.965926, 0.258819, 1.77636e-15, 0.258819, 0.965926, -1, 4.2222e-08, -1.13133e-08, 1.06072, 0.789149, 6.6)
|
||||
mesh = SubResource("ArrayMesh_irt7r")
|
||||
mesh = SubResource("ArrayMesh_olej6")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="T-Junction2" type="MeshInstance3D" parent="NavigationRegion3D/Corridor1"]
|
||||
|
@ -288,7 +288,8 @@ script = ExtResource("2_hknvo")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_aj7tk")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Frame" index="0" groups=["MetalMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_layer = 100
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Frame/StaticBody3D" index="0"]
|
||||
shape = SubResource("ConcavePolygonShape3D_88qrs")
|
||||
@ -309,6 +310,7 @@ surface_material_override/0 = SubResource("StandardMaterial3D_gk4si")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Door" index="0" groups=["MetalMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Door/StaticBody3D" index="0"]
|
||||
shape = SubResource("ConcavePolygonShape3D_w7oba")
|
||||
@ -319,6 +321,8 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.9, 0)
|
||||
stream = ExtResource("5_4jho1")
|
||||
|
||||
[node name="Ramp" type="StaticBody3D" parent="." index="4" groups=["MetalMaterial"]]
|
||||
collision_layer = 32
|
||||
collision_mask = 0
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Ramp" index="0"]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0.1, 0.525)
|
||||
|
@ -10,6 +10,9 @@ class_name SetPlayerPriorityTarget extends ActionLeaf
|
||||
|
||||
|
||||
func tick(_actor: Node, blackboard: Blackboard) -> int:
|
||||
if not World.instance:
|
||||
return FAILURE
|
||||
|
||||
if World.instance.manager.alert_level >= alert_threshold and is_instance_valid(Player.instance):
|
||||
blackboard.set_value(blackboard_key, Player.instance)
|
||||
return SUCCESS
|
||||
|
@ -6,8 +6,8 @@ const STALKING_SOUND_LIMIT := 25.0
|
||||
#endregion
|
||||
|
||||
#region Exported Properties
|
||||
@export var base_speed := 60.0
|
||||
@export var pursuit_speed := 180.0
|
||||
@export var base_speed := 80.0
|
||||
@export var pursuit_speed := 360.0
|
||||
|
||||
@export var debug_destroy: bool:
|
||||
set(value):
|
||||
@ -24,7 +24,7 @@ var pathfinding := true
|
||||
|
||||
var traversing_link := false
|
||||
|
||||
@onready var model: BeastModel = %SlutchBeast
|
||||
@onready var model: BeastModel = %Shambler
|
||||
|
||||
@onready var nav_agent: NavigationAgent3D = %NavAgent
|
||||
@onready var nav_probe: NavigationAgent3D = %NavProbe
|
||||
@ -103,6 +103,7 @@ func _physics_process(delta: float) -> void:
|
||||
if motion:
|
||||
model.set_target_rotation(atan2(motion.x, motion.z))
|
||||
|
||||
model.set_move_speed(velocity.length())
|
||||
move_and_slide()
|
||||
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
[gd_scene load_steps=35 format=3 uid="uid://ehf5sg3ahvbf"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://brrd33217oplv" path="res://src/world/grunk_beast/shambler/shambler.tscn" id="2_csisu"]
|
||||
[ext_resource type="Script" uid="uid://bukihqt1lybnx" path="res://src/util/frame_skipper.gd" id="2_lak6w"]
|
||||
[ext_resource type="Script" uid="uid://gwwmqwixqqr5" path="res://src/world/grunk_beast/grunk_beast.gd" id="2_qqnhb"]
|
||||
[ext_resource type="PackedScene" uid="uid://cvq81xegbwv87" path="res://src/world/grunk_beast/slutch_beast/slutch_beast.tscn" id="2_xs4mp"]
|
||||
[ext_resource type="Script" uid="uid://fpfcg6s7b1nj" path="res://src/world/grunk_beast/navigation.gd" id="4_csisu"]
|
||||
[ext_resource type="Script" uid="uid://cfsiyhhrcua6o" path="res://src/world/game_sound/game_sound_listener.gd" id="5_3gbao"]
|
||||
[ext_resource type="Script" uid="uid://bb0t2ovl7wifo" path="res://addons/beehave/nodes/beehave_tree.gd" id="6_d4ex2"]
|
||||
@ -55,11 +55,12 @@ script = ExtResource("2_qqnhb")
|
||||
|
||||
[node name="FrameSkipper" type="Node3D" parent="."]
|
||||
script = ExtResource("2_lak6w")
|
||||
frame_skip = 4
|
||||
frame_skip = 3
|
||||
|
||||
[node name="SlutchBeast" parent="FrameSkipper" instance=ExtResource("2_xs4mp")]
|
||||
[node name="Shambler" parent="FrameSkipper" instance=ExtResource("2_csisu")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
|
||||
time_scale_factor = 3.0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
shape = SubResource("CapsuleShape3D_faau1")
|
||||
@ -71,7 +72,6 @@ script = ExtResource("4_csisu")
|
||||
[node name="NavAgent" type="NavigationAgent3D" parent="Navigation"]
|
||||
unique_name_in_owner = true
|
||||
path_height_offset = 0.25
|
||||
path_postprocessing = 1
|
||||
avoidance_enabled = true
|
||||
debug_enabled = true
|
||||
|
||||
@ -218,7 +218,7 @@ metadata/_custom_type_script = "uid://om57w2acvgb7"
|
||||
script = ExtResource("11_mbqcc")
|
||||
mean_time = 4.0
|
||||
st_dev_time = 0.6
|
||||
wait_time = 3.60136
|
||||
wait_time = 4.5337
|
||||
metadata/_custom_type_script = "uid://beyk2xtbjrsg4"
|
||||
|
||||
[node name="RandomStalkingBehavior" type="Node" parent="GrunkBeastBehavior/StateSelector/StalkingSequence/RandomDelay"]
|
||||
@ -264,7 +264,7 @@ metadata/_custom_type_script = "uid://cg016dbe7gs1x"
|
||||
script = ExtResource("11_mbqcc")
|
||||
mean_time = 5.0
|
||||
st_dev_time = 1.0
|
||||
wait_time = 4.47443
|
||||
wait_time = 4.81689
|
||||
metadata/_custom_type_script = "uid://beyk2xtbjrsg4"
|
||||
|
||||
[node name="PickRandomLurkTarget" type="Node" parent="GrunkBeastBehavior/StateSelector/LurkSequence/RandomDelay"]
|
||||
|
62
src/world/grunk_beast/shambler/shambler.gd
Normal file
62
src/world/grunk_beast/shambler/shambler.gd
Normal file
@ -0,0 +1,62 @@
|
||||
class_name Shambler extends BeastModel
|
||||
## Animation controller for the Shambler beast
|
||||
|
||||
const LOOK_TARGET_ACCELERATION := 12.0
|
||||
const BLEND_ACCELERATION := 6.0
|
||||
|
||||
@export var time_scale_factor := 4.0
|
||||
@export var walk_blend_curve: Curve
|
||||
@export var walk_scale_curve: Curve
|
||||
@export var look_accel_curve: Curve
|
||||
|
||||
var look_acceleration := 1.0
|
||||
var blend_target := 0.0
|
||||
|
||||
@onready var target_theta := global_rotation.y
|
||||
|
||||
@onready var armature: Node3D = %Armature
|
||||
@onready var animation_player: AnimationPlayer = %AnimationPlayer
|
||||
@onready var animation_tree: AnimationTree = %AnimationTree
|
||||
@onready var look_target_pivot: Node3D = %LookTargetPivot
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
animation_player.speed_scale = time_scale_factor
|
||||
_update_transform()
|
||||
|
||||
|
||||
func set_target_rotation(theta: float) -> void:
|
||||
target_theta = theta
|
||||
|
||||
|
||||
func set_move_speed(speed: float) -> void:
|
||||
blend_target = walk_blend_curve.sample(speed)
|
||||
animation_tree["parameters/shamble_scale/scale"] = (
|
||||
walk_scale_curve.sample(speed) * time_scale_factor
|
||||
)
|
||||
look_acceleration = look_accel_curve.sample(speed)
|
||||
|
||||
|
||||
func _update_transform() -> void:
|
||||
# Manually update transform to enable frameskipping
|
||||
armature.global_position = global_position
|
||||
armature.global_rotation = global_rotation
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
var blend: float = animation_tree["parameters/shamble_blend/blend_amount"]
|
||||
animation_tree["parameters/shamble_blend/blend_amount"] = lerpf(
|
||||
blend, blend_target, 1 - exp(-BLEND_ACCELERATION * delta * time_scale_factor)
|
||||
)
|
||||
|
||||
look_target_pivot.global_position = global_position
|
||||
look_target_pivot.global_rotation.y = lerp_angle(
|
||||
look_target_pivot.global_rotation.y,
|
||||
target_theta,
|
||||
1 - exp(-LOOK_TARGET_ACCELERATION * delta * time_scale_factor)
|
||||
)
|
||||
global_rotation.y = lerp_angle(
|
||||
global_rotation.y, target_theta, 1 - exp(-look_acceleration * delta * time_scale_factor)
|
||||
)
|
||||
|
||||
_update_transform()
|
1
src/world/grunk_beast/shambler/shambler.gd.uid
Normal file
1
src/world/grunk_beast/shambler/shambler.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://bueq1q2qva7gs
|
@ -1,11 +1,34 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://brrd33217oplv"]
|
||||
[gd_scene load_steps=15 format=3 uid="uid://brrd33217oplv"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cyqr1ojnddyk0" path="res://assets/npc/shambler/shambler.gltf" id="1_uiw1a"]
|
||||
[ext_resource type="Material" uid="uid://7xrgrvf3lymv" path="res://assets/npc/shambler/shambler.material" id="2_nayyt"]
|
||||
[ext_resource type="Script" uid="uid://bueq1q2qva7gs" path="res://src/world/grunk_beast/shambler/shambler.gd" id="2_s7rwx"]
|
||||
|
||||
[sub_resource type="Curve" id="Curve_s7rwx"]
|
||||
_limits = [0.0, 1.0, 0.0, 10.0]
|
||||
_data = [Vector2(0, 0), 0.0, 0.230666, 0, 0, Vector2(5, 1), 0.0, 0.0, 0, 0, Vector2(10, 1), 0.0, 0.0, 0, 0]
|
||||
point_count = 3
|
||||
|
||||
[sub_resource type="Curve" id="Curve_vmxrd"]
|
||||
_limits = [0.0, 3.0, 0.0, 10.0]
|
||||
_data = [Vector2(4, 1), 0.141612, 0.141612, 0, 0, Vector2(5, 1.2), 0.327899, 0.327899, 0, 0, Vector2(10, 3), 0.392484, 0.0, 0, 0]
|
||||
point_count = 3
|
||||
|
||||
[sub_resource type="Curve" id="Curve_elp7k"]
|
||||
_limits = [0.0, 6.0, 0.0, 10.0]
|
||||
_data = [Vector2(2, 1), 0.0, 0.0, 0, 0, Vector2(4, 3), 0.953378, 0.953378, 0, 0, Vector2(10, 6), 0.0, 0.0, 0, 0]
|
||||
point_count = 3
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_nayyt"]
|
||||
animation = &"idle"
|
||||
|
||||
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_nayyt"]
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_s7rwx"]
|
||||
animation = &"shamble"
|
||||
|
||||
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_vmxrd"]
|
||||
|
||||
[sub_resource type="AnimationNodeOneShot" id="AnimationNodeOneShot_s7rwx"]
|
||||
mix_mode = 1
|
||||
|
||||
@ -13,26 +36,82 @@ mix_mode = 1
|
||||
animation = &"step_left"
|
||||
|
||||
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_nayyt"]
|
||||
graph_offset = Vector2(-1115, 25)
|
||||
graph_offset = Vector2(-970.678, -40.9846)
|
||||
nodes/idle_anim/node = SubResource("AnimationNodeAnimation_nayyt")
|
||||
nodes/idle_anim/position = Vector2(-220, 80)
|
||||
nodes/idle_anim/position = Vector2(-460, 20)
|
||||
nodes/output/position = Vector2(500, 160)
|
||||
nodes/shamble_blend/node = SubResource("AnimationNodeBlend2_nayyt")
|
||||
nodes/shamble_blend/position = Vector2(20, 180)
|
||||
nodes/shamble_cycle/node = SubResource("AnimationNodeAnimation_s7rwx")
|
||||
nodes/shamble_cycle/position = Vector2(-460, 280)
|
||||
nodes/shamble_scale/node = SubResource("AnimationNodeTimeScale_vmxrd")
|
||||
nodes/shamble_scale/position = Vector2(-220, 280)
|
||||
nodes/step_action/node = SubResource("AnimationNodeOneShot_s7rwx")
|
||||
nodes/step_action/position = Vector2(20, 140)
|
||||
nodes/step_action/position = Vector2(260, 140)
|
||||
nodes/step_anim/node = SubResource("AnimationNodeAnimation_vmxrd")
|
||||
nodes/step_anim/position = Vector2(-240, 320)
|
||||
node_connections = [&"output", 0, &"step_action", &"step_action", 0, &"idle_anim", &"step_action", 1, &"step_anim"]
|
||||
nodes/step_anim/position = Vector2(40, 460)
|
||||
node_connections = [&"output", 0, &"step_action", &"shamble_blend", 0, &"idle_anim", &"shamble_blend", 1, &"shamble_scale", &"shamble_scale", 0, &"shamble_cycle", &"step_action", 0, &"shamble_blend", &"step_action", 1, &"step_anim"]
|
||||
|
||||
[sub_resource type="SphereMesh" id="SphereMesh_s7rwx"]
|
||||
|
||||
[node name="Shambler" instance=ExtResource("1_uiw1a")]
|
||||
script = ExtResource("2_s7rwx")
|
||||
walk_blend_curve = SubResource("Curve_s7rwx")
|
||||
walk_scale_curve = SubResource("Curve_vmxrd")
|
||||
look_accel_curve = SubResource("Curve_elp7k")
|
||||
|
||||
[node name="Armature" parent="." index="0"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0, 0)
|
||||
top_level = true
|
||||
|
||||
[node name="Shambler" parent="Armature/Skeleton3D" index="0"]
|
||||
surface_material_override/0 = ExtResource("2_nayyt")
|
||||
|
||||
[node name="LookIK" type="LookAtModifier3D" parent="Armature/Skeleton3D" index="1"]
|
||||
target_node = NodePath("../../../LookTargetPivot/LookTarget")
|
||||
bone_name = "Spine.005"
|
||||
bone = 5
|
||||
forward_axis = 2
|
||||
primary_rotation_axis = 2
|
||||
use_secondary_rotation = false
|
||||
use_angle_limitation = true
|
||||
symmetry_limitation = true
|
||||
primary_limit_angle = 1.5708
|
||||
primary_damp_threshold = 0.7
|
||||
|
||||
[node name="ArmLIK" type="LookAtModifier3D" parent="Armature/Skeleton3D" index="2"]
|
||||
bone_name = "Arm.L.002"
|
||||
bone = 8
|
||||
forward_axis = 2
|
||||
primary_rotation_axis = 2
|
||||
|
||||
[node name="ArmRIK" type="LookAtModifier3D" parent="Armature/Skeleton3D" index="3"]
|
||||
bone_name = "Arm.R.002"
|
||||
bone = 11
|
||||
forward_axis = 2
|
||||
primary_rotation_axis = 2
|
||||
|
||||
[node name="AnimationPlayer" parent="." index="1"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="AnimationTree" type="AnimationTree" parent="." index="2"]
|
||||
unique_name_in_owner = true
|
||||
root_node = NodePath("%AnimationTree/..")
|
||||
tree_root = SubResource("AnimationNodeBlendTree_nayyt")
|
||||
anim_player = NodePath("../AnimationPlayer")
|
||||
parameters/shamble_blend/blend_amount = 0.0
|
||||
parameters/shamble_scale/scale = 1.0
|
||||
parameters/step_action/active = false
|
||||
parameters/step_action/internal_active = false
|
||||
parameters/step_action/request = 0
|
||||
|
||||
[node name="FacingTarget" type="Marker3D" parent="." index="3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.445155, 0, 8.32678)
|
||||
[node name="LookTargetPivot" type="Node3D" parent="." index="3"]
|
||||
unique_name_in_owner = true
|
||||
top_level = true
|
||||
|
||||
[node name="LookTarget" type="Marker3D" parent="LookTargetPivot" index="0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 10)
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="LookTargetPivot/LookTarget" index="0"]
|
||||
mesh = SubResource("SphereMesh_s7rwx")
|
||||
|
@ -1,13 +1,138 @@
|
||||
[gd_scene load_steps=17 format=3 uid="uid://kctp5erogwcb"]
|
||||
[gd_scene load_steps=33 format=3 uid="uid://kctp5erogwcb"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bde7cglaqobkd" path="res://src/world/mechanics/listener/listener.gd" id="1_htscg"]
|
||||
[ext_resource type="Script" uid="uid://cfsiyhhrcua6o" path="res://src/world/game_sound/game_sound_listener.gd" id="2_htscg"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2c0ooj1re3dk" path="res://src/world/mechanics/listener/listener_model.tscn" id="3_r42ft"]
|
||||
[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="4_gjouv"]
|
||||
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="5_pp7wn"]
|
||||
[ext_resource type="Texture2D" uid="uid://bl1aniu87mioa" path="res://assets/particles/light_02.png" id="7_pp7wn"]
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_2ibh1"]
|
||||
radius = 1.0
|
||||
|
||||
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_2roq2"]
|
||||
width = 256
|
||||
height = 256
|
||||
depth = 32
|
||||
seamless = true
|
||||
seamless_blend_skirt = 0.5
|
||||
noise = ExtResource("5_pp7wn")
|
||||
|
||||
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_fk1xc"]
|
||||
width = 256
|
||||
height = 256
|
||||
depth = 32
|
||||
seamless = true
|
||||
seamless_blend_skirt = 0.5
|
||||
noise = ExtResource("5_pp7wn")
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_7fplw"]
|
||||
frequency = 0.0703
|
||||
|
||||
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_omayi"]
|
||||
width = 32
|
||||
height = 32
|
||||
depth = 128
|
||||
noise = SubResource("FastNoiseLite_7fplw")
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_ih22n"]
|
||||
offsets = PackedFloat32Array(0, 0.001, 0.05)
|
||||
colors = PackedColorArray(0, 0, 0, 1, 0.25098, 0.878431, 1, 1, 0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_v2pcm"]
|
||||
gradient = SubResource("Gradient_ih22n")
|
||||
fill = 1
|
||||
fill_from = Vector2(0.5, 0.5)
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_c5snp"]
|
||||
resource_local_to_scene = true
|
||||
render_priority = 0
|
||||
shader = ExtResource("4_gjouv")
|
||||
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
|
||||
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
|
||||
shader_parameter/emission_color = Color(0.25, 0.88, 1, 1)
|
||||
shader_parameter/pixellation = 128.0
|
||||
shader_parameter/time_pixellation = 30.0
|
||||
shader_parameter/roughness = 0.15
|
||||
shader_parameter/specular_contribution = 0.8
|
||||
shader_parameter/emission_strength = 0.02
|
||||
shader_parameter/normal_scale = 1.0
|
||||
shader_parameter/uv_scale = Vector2(2, 2)
|
||||
shader_parameter/time_scale = 0.2
|
||||
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_2roq2")
|
||||
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_fk1xc")
|
||||
shader_parameter/jitter_magnitude = 0.4
|
||||
shader_parameter/jitter_time_scale = 0.1
|
||||
shader_parameter/jitter_noise = SubResource("NoiseTexture3D_omayi")
|
||||
shader_parameter/vertex_inflation = 0.0
|
||||
shader_parameter/inflation_pixellation = 10.0
|
||||
shader_parameter/overlay_emission = SubResource("GradientTexture2D_v2pcm")
|
||||
shader_parameter/overlay_emission_scale = 0.02
|
||||
|
||||
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_pp7wn"]
|
||||
width = 256
|
||||
height = 256
|
||||
depth = 32
|
||||
seamless = true
|
||||
seamless_blend_skirt = 0.5
|
||||
noise = ExtResource("5_pp7wn")
|
||||
|
||||
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_c5snp"]
|
||||
width = 256
|
||||
height = 256
|
||||
depth = 32
|
||||
seamless = true
|
||||
seamless_blend_skirt = 0.5
|
||||
noise = ExtResource("5_pp7wn")
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_c5snp"]
|
||||
frequency = 0.0703
|
||||
|
||||
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_q7kpl"]
|
||||
width = 32
|
||||
height = 32
|
||||
depth = 128
|
||||
noise = SubResource("FastNoiseLite_c5snp")
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_yuift"]
|
||||
resource_local_to_scene = true
|
||||
offsets = PackedFloat32Array(0, 0.001, 0.002, 0.003, 0.004, 0.005, 0.006, 0.007, 0.008)
|
||||
colors = PackedColorArray(0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_rwi8p"]
|
||||
resource_local_to_scene = true
|
||||
gradient = SubResource("Gradient_yuift")
|
||||
width = 32
|
||||
height = 32
|
||||
fill = 1
|
||||
fill_from = Vector2(0.5, 0.5)
|
||||
fill_to = Vector2(1, 1)
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_co1mg"]
|
||||
resource_local_to_scene = true
|
||||
render_priority = 0
|
||||
shader = ExtResource("4_gjouv")
|
||||
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
|
||||
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
|
||||
shader_parameter/emission_color = Color(0.66, 0.943333, 1, 1)
|
||||
shader_parameter/pixellation = 128.0
|
||||
shader_parameter/time_pixellation = 30.0
|
||||
shader_parameter/roughness = 0.15
|
||||
shader_parameter/specular_contribution = 0.8
|
||||
shader_parameter/emission_strength = 0.2
|
||||
shader_parameter/normal_scale = 1.0
|
||||
shader_parameter/uv_scale = Vector2(2, 2)
|
||||
shader_parameter/time_scale = 0.2
|
||||
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_pp7wn")
|
||||
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_c5snp")
|
||||
shader_parameter/jitter_magnitude = 0.4
|
||||
shader_parameter/jitter_time_scale = 0.1
|
||||
shader_parameter/jitter_noise = SubResource("NoiseTexture3D_q7kpl")
|
||||
shader_parameter/vertex_inflation = 0.0
|
||||
shader_parameter/inflation_pixellation = 10.0
|
||||
shader_parameter/overlay_emission = SubResource("GradientTexture2D_rwi8p")
|
||||
shader_parameter/overlay_emission_scale = 6.0
|
||||
|
||||
[sub_resource type="Curve" id="Curve_pp7wn"]
|
||||
_limits = [0.0, 0.3, 0.0, 1.0]
|
||||
_data = [Vector2(0, 0), 0.0, 1.51554, 0, 0, Vector2(0.101629, 0.115028), 0.436038, 0.436038, 0, 0, Vector2(0.421742, 0.0779494), 0.21293, 0.21293, 0, 0, Vector2(1, 0), -0.0537925, 0.0, 0, 0]
|
||||
@ -87,10 +212,57 @@ shape = SubResource("SphereShape3D_2ibh1")
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0, 0)
|
||||
|
||||
[node name="Skeleton3D" parent="ListenerModel/Armature" index="0"]
|
||||
bones/0/rotation = Quaternion(-1.51225e-09, 0.130526, 4.05207e-10, 0.991445)
|
||||
bones/1/rotation = Quaternion(9.2869e-09, 0.130526, -8.10413e-10, 0.991445)
|
||||
bones/2/rotation = Quaternion(-9.1802e-09, 0.130526, -8.10414e-10, 0.991445)
|
||||
bones/3/rotation = Quaternion(6.20905e-09, 0.130526, -4.05206e-10, 0.991445)
|
||||
bones/4/rotation = Quaternion(-8.49624e-09, 0.130526, -9.00455e-11, 0.991445)
|
||||
bones/5/rotation = Quaternion(0.54585, 0.487268, 0.374478, -0.569548)
|
||||
bones/6/rotation = Quaternion(0.308353, 2.1709e-08, 1.30586e-08, 0.951272)
|
||||
bones/7/rotation = Quaternion(0.334237, -0.119529, -0.0427788, 0.9339)
|
||||
bones/8/rotation = Quaternion(0.247978, -2.40337e-10, -3.8454e-09, 0.968766)
|
||||
bones/9/rotation = Quaternion(0.148338, 2.82522e-09, -5.65045e-09, 0.988937)
|
||||
bones/10/rotation = Quaternion(0.237284, 7.34911e-07, -1.96017e-07, 0.97144)
|
||||
bones/11/rotation = Quaternion(0.285481, 0.70676, 0.597232, -0.249609)
|
||||
bones/12/rotation = Quaternion(0.308353, 6.75348e-08, -4.55922e-08, 0.951272)
|
||||
bones/13/rotation = Quaternion(0.334237, -0.119529, -0.0427787, 0.9339)
|
||||
bones/14/rotation = Quaternion(0.247978, 6.91065e-10, -2.79256e-08, 0.968766)
|
||||
bones/15/rotation = Quaternion(0.148338, 7.66861e-08, 9.51493e-08, 0.988937)
|
||||
bones/16/rotation = Quaternion(0.237284, 1.57873e-06, -4.4533e-07, 0.97144)
|
||||
bones/17/rotation = Quaternion(-0.0513825, 0.736877, 0.659958, 0.137212)
|
||||
bones/18/rotation = Quaternion(0.308353, -1.71875e-07, -7.09416e-08, 0.951272)
|
||||
bones/19/rotation = Quaternion(0.334237, -0.119529, -0.0427786, 0.9339)
|
||||
bones/20/rotation = Quaternion(0.247978, -5.53974e-08, -1.69864e-07, 0.968766)
|
||||
bones/21/rotation = Quaternion(0.148338, 4.98196e-08, 2.63702e-07, 0.988937)
|
||||
bones/22/rotation = Quaternion(0.237284, 2.44019e-06, -9.05055e-07, 0.97144)
|
||||
bones/23/rotation = Quaternion(-0.374478, 0.569548, 0.545849, 0.487268)
|
||||
bones/24/rotation = Quaternion(0.308353, -3.56631e-08, -1.14694e-08, 0.951272)
|
||||
bones/25/rotation = Quaternion(0.334237, -0.119529, -0.0427786, 0.9339)
|
||||
bones/26/rotation = Quaternion(0.247978, -6.25756e-08, -2.50967e-07, 0.968766)
|
||||
bones/27/rotation = Quaternion(0.148338, 2.83936e-08, 1.69831e-07, 0.988937)
|
||||
bones/28/rotation = Quaternion(0.237284, 3.38177e-06, -1.02259e-06, 0.97144)
|
||||
bones/29/rotation = Quaternion(-0.597232, 0.249609, 0.285481, 0.70676)
|
||||
bones/30/rotation = Quaternion(0.308353, 2.31089e-09, 1.50606e-08, 0.951272)
|
||||
bones/31/rotation = Quaternion(0.334237, -0.119529, -0.0427785, 0.9339)
|
||||
bones/32/rotation = Quaternion(0.247978, -3.1123e-08, -2.32956e-07, 0.968766)
|
||||
bones/33/rotation = Quaternion(0.148338, 5.29717e-08, 2.76084e-07, 0.988937)
|
||||
bones/34/rotation = Quaternion(0.237284, 4.29037e-06, -1.26097e-06, 0.97144)
|
||||
bones/35/rotation = Quaternion(-0.659958, -0.137212, -0.0513825, 0.736877)
|
||||
bones/36/rotation = Quaternion(0.308353, 3.35578e-09, 4.35599e-09, 0.951272)
|
||||
bones/37/rotation = Quaternion(0.334237, -0.119529, -0.0427785, 0.9339)
|
||||
bones/38/rotation = Quaternion(0.247978, -1.26717e-07, -3.12779e-07, 0.968766)
|
||||
bones/39/rotation = Quaternion(0.148338, 2.72959e-08, 3.46469e-07, 0.988937)
|
||||
bones/40/rotation = Quaternion(0.237284, 5.07144e-06, -1.68211e-06, 0.97144)
|
||||
|
||||
[node name="Listener" parent="ListenerModel/Armature/Skeleton3D" index="0"]
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_c5snp")
|
||||
surface_material_override/1 = SubResource("ShaderMaterial_co1mg")
|
||||
|
||||
[node name="PhysicalBoneSimulator3D" type="PhysicalBoneSimulator3D" parent="ListenerModel/Armature/Skeleton3D" index="6"]
|
||||
|
||||
[node name="PhysicalBone3D" type="PhysicalBone3D" parent="ListenerModel/Armature/Skeleton3D/PhysicalBoneSimulator3D"]
|
||||
transform = Transform3D(0.323527, 1.2631e-06, 1.20741, -3.57116e-07, 1.25, -1.21197e-06, -1.20741, -3.12629e-08, 0.323527, -4.8128e-06, 0.800007, -1.25658e-06)
|
||||
transform = Transform3D(0.323527, 1.2631e-06, 1.20741, -3.57116e-07, 1.25, -1.21197e-06, -1.20741, -3.1263e-08, 0.323527, -4.8128e-06, 0.800007, -1.25658e-06)
|
||||
joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.3854e-08, -5.72204e-06, 3.9816e-06)
|
||||
body_offset = Transform3D(1.25, 3.57626e-07, -3.57628e-07, -3.57627e-07, 1.25, -1.22189e-06, 3.57628e-07, 1.22189e-06, 1.25, -2.9814e-08, 7.15256e-06, -4.97699e-06)
|
||||
bone_name = "Stem5"
|
||||
|
Loading…
x
Reference in New Issue
Block a user