first version of EU AI Act game
@@ -0,0 +1,18 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://bpjqsditshpyd"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://dka5ewv6regyf" path="res://Resources/meshes/arrow.tres" id="1_vl03t"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_vl03t"]
|
||||
size = Vector3(1.8034668, 0.13964844, 1.7332764)
|
||||
|
||||
[node name="Arrow" type="StaticBody3D"]
|
||||
collision_layer = 4
|
||||
collision_mask = 15
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(0.44, 0, 0, 0, 0.057506055, 0, 0, 0, 0.44, 0, 0, 0)
|
||||
mesh = ExtResource("1_vl03t")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.42590332, 0.0043945313, 0.36663818)
|
||||
shape = SubResource("BoxShape3D_vl03t")
|
||||
@@ -0,0 +1,76 @@
|
||||
extends StaticBody3D
|
||||
class_name Balloon
|
||||
|
||||
@export var pop_up_text = ""
|
||||
@export var wait_time = 4.0
|
||||
@export var image_path = "res://assets/Images/spiel_ballon_text2.png"
|
||||
@onready var label_3d: Label3D = $Label3D
|
||||
@onready var balloon_model: MeshInstance3D = $Balloon_model
|
||||
@onready var collision_shape_3d: CollisionShape3D = $CollisionShape3D
|
||||
@onready var area_3d: Area3D = $Area3D
|
||||
signal balloon_popped
|
||||
|
||||
func _ready() -> void:
|
||||
for child in get_children():
|
||||
if child is RigidBody3D:
|
||||
child.freeze = true
|
||||
child.gravity_scale = 0.0
|
||||
$label.texture = load(image_path)
|
||||
|
||||
func _on_area_3d_body_entered(body: Node3D) -> void:
|
||||
if not body.is_in_group("throwable"):
|
||||
return
|
||||
$AudioStreamPlayer.play()
|
||||
balloon_popped.emit()
|
||||
# hide balloon, animation, make label visible
|
||||
balloon_model.visible = false
|
||||
$AnimationPlayer.play("pop")
|
||||
collision_shape_3d.call_deferred("queue_free")
|
||||
area_3d.call_deferred("queue_free")
|
||||
label_3d.text = pop_up_text
|
||||
label_3d.visible = true
|
||||
|
||||
# --- let objects hanging from balloons fall ---
|
||||
for child in get_children():
|
||||
print(child.name)
|
||||
if child is not RigidBody3D and child is not Area3D:
|
||||
print(child)
|
||||
continue # Label und Ballon ignorieren
|
||||
var global_tf = child.global_transform
|
||||
|
||||
remove_child(child)
|
||||
get_tree().current_scene.add_child(child) # zurück zur Welt
|
||||
child.global_transform = global_tf
|
||||
if child is Area3D and child.name.contains('Battery'):
|
||||
print('battery falling')
|
||||
print(child.position)
|
||||
child.position.y = child.position.y - child.new_y_diff
|
||||
print(child.position)
|
||||
child.set_picture()
|
||||
|
||||
# if RigidBody3D: activate physics again
|
||||
if child is RigidBody3D:
|
||||
child.freeze = false
|
||||
child.gravity_scale = 1.0
|
||||
|
||||
# start coroutine for delay + fade out
|
||||
await fade_and_destroy()
|
||||
|
||||
func fade_and_destroy() -> void:
|
||||
# wait 10 seconds
|
||||
await get_tree().create_timer(wait_time).timeout
|
||||
|
||||
# create tween and play it
|
||||
var tween = create_tween()
|
||||
tween.tween_property($label, "modulate:a", 0.0, 0.5) # 2 Sekunden FadeOut
|
||||
|
||||
# wait til tween is finished
|
||||
await tween.finished
|
||||
|
||||
# delete node
|
||||
queue_free()
|
||||
|
||||
|
||||
func _on_animation_player_animation_finished(anim_name: StringName) -> void:
|
||||
if anim_name == 'pop':
|
||||
$popped_balloon.visible = false
|
||||
@@ -0,0 +1 @@
|
||||
uid://dgai8blbmru22
|
||||
@@ -0,0 +1,16 @@
|
||||
extends Node3D
|
||||
|
||||
@export var balloon_resource: String = "res://Resources/meshes/dog.tres"
|
||||
signal balloon_chosen
|
||||
|
||||
func _ready() -> void:
|
||||
$Balloon_model.mesh = load(balloon_resource)
|
||||
|
||||
|
||||
func _on_area_3d_body_entered(body: Node3D) -> void:
|
||||
if not body.is_in_group("throwable") and not body is Player:
|
||||
return
|
||||
balloon_chosen.emit(balloon_resource)
|
||||
|
||||
func set_mesh(mesh: String):
|
||||
$Balloon_model.mesh = load(mesh)
|
||||
@@ -0,0 +1 @@
|
||||
uid://cffy3itwwknc7
|
||||
@@ -0,0 +1,31 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://ccdju064l1xg0"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cffy3itwwknc7" path="res://Resources/Objects/balloon_collectable.gd" id="1_3uo3v"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://jlkdee0elxgj" path="res://Resources/meshes/dog.tres" id="1_lsomq"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://m3hcjcox5dkf" path="res://Resources/meshes/balloon_string_curved.tres" id="2_3uo3v"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_l0yg6"]
|
||||
radius = 0.8
|
||||
|
||||
[node name="Balloon" type="Node3D"]
|
||||
script = ExtResource("1_3uo3v")
|
||||
|
||||
[node name="Area3D" type="Area3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.32942295, 0)
|
||||
collision_layer = 33
|
||||
collision_mask = 33
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"]
|
||||
shape = SubResource("CapsuleShape3D_l0yg6")
|
||||
|
||||
[node name="Balloon_model" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0.28870273, 0)
|
||||
mesh = ExtResource("1_lsomq")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="Cylinder_049" type="MeshInstance3D" parent="Balloon_model"]
|
||||
transform = Transform3D(0.40000004, 0, 0, 0, 0.40000004, 0, 0, 0, 0.40000004, 0, -0.38572907, 0)
|
||||
mesh = ExtResource("2_3uo3v")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[connection signal="body_entered" from="Area3D" to="." method="_on_area_3d_body_entered"]
|
||||
@@ -0,0 +1,51 @@
|
||||
extends Grabbable_Object
|
||||
class_name Battery
|
||||
|
||||
@export var stored_power: int = 50
|
||||
@export var battery_label: String
|
||||
var connected_station: Node3D = null
|
||||
var original_transform: Transform3D
|
||||
var grabbed_parent
|
||||
var lamp_color
|
||||
@onready var battery_lamp_0: CSGSphere3D = $Battery/Battery_lamp_0
|
||||
@export var image_path: String = "res://assets/Images/EU_AI_Act_logo_main.png"
|
||||
|
||||
func _ready() -> void:
|
||||
lamp_color = battery_lamp_0.material.albedo_color
|
||||
$Sprite3D.texture = load(image_path)
|
||||
|
||||
func insert_into_station(station: Node3D):
|
||||
if connected_station:
|
||||
return
|
||||
connected_station = station
|
||||
grabbed_parent = get_parent()
|
||||
original_transform = global_transform
|
||||
|
||||
# put battery inot box
|
||||
grabbed_parent.remove_child(self)
|
||||
station.add_child(self)
|
||||
self.visible = false
|
||||
self.freeze = true
|
||||
|
||||
if station.has_method("insert_battery"):
|
||||
station.insert_battery(self)
|
||||
|
||||
func remove_from_station():
|
||||
if not connected_station:
|
||||
return null
|
||||
|
||||
var station = connected_station
|
||||
connected_station = null
|
||||
|
||||
|
||||
# get battery back out
|
||||
if original_parent:
|
||||
station.remove_child(self)
|
||||
grabbed_parent.add_child(self)
|
||||
global_transform = original_transform
|
||||
|
||||
self.visible = true
|
||||
self.freeze = false
|
||||
|
||||
return self
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
uid://buxph0fig58vk
|
||||
@@ -0,0 +1,18 @@
|
||||
extends Area3D
|
||||
|
||||
@export var new_y_diff = 0.0
|
||||
@export var image_path: String = "res://assets/Images/EU_AI_Act_logo_main.png"
|
||||
|
||||
signal battery_collected
|
||||
|
||||
func set_picture() -> void:
|
||||
print('setting picture: ', image_path)
|
||||
$Sprite3D.texture = load(image_path)
|
||||
$Sprite3D.visible = true
|
||||
|
||||
func _on_body_entered(body: Node) -> void:
|
||||
$AudioStreamPlayer.play()
|
||||
await get_tree().create_timer(0.1).timeout
|
||||
Global.batteries += 1
|
||||
battery_collected.emit()
|
||||
queue_free()
|
||||
@@ -0,0 +1 @@
|
||||
uid://blrm6oxhr4c5l
|
||||
@@ -0,0 +1,150 @@
|
||||
extends StaticBody3D
|
||||
class_name BatteryBox2
|
||||
|
||||
@onready var ai_threat: Label3D = $AI_threat/AI_threat_label
|
||||
@onready var box_battery = $Battery
|
||||
@onready var battery_lamp_0:= $battery_lamp_0
|
||||
@onready var battery_lamp_1:= $battery_lamp_1
|
||||
@onready var status_lamps = [
|
||||
$Status/status_0,
|
||||
$Status/status_1,
|
||||
$Status/status_2,
|
||||
$Status/status_3,
|
||||
$Status/status_4
|
||||
]
|
||||
|
||||
@export var power_needed: int = 50
|
||||
@export var max_power: int = 100
|
||||
@export var display_text: String
|
||||
var current_power: int = 0
|
||||
var battery_obj: Battery = null
|
||||
var blink_timer: Timer
|
||||
var color_dict = {25: Color(0.0, 1.697, 0.0),
|
||||
50: Color(1.697, 1.697, 0.0),
|
||||
75: Color(1.697, 0.85, 0.0),
|
||||
100: Color(1.697, 0.0, 0.0)}
|
||||
|
||||
signal removed_battery
|
||||
signal fully_charged
|
||||
|
||||
func _ready() -> void:
|
||||
blink_timer = Timer.new()
|
||||
blink_timer.wait_time = 0.3
|
||||
blink_timer.one_shot = false
|
||||
blink_timer.timeout.connect(_on_blink_timeout)
|
||||
add_child(blink_timer)
|
||||
ai_threat.text = display_text
|
||||
for lamp in status_lamps:
|
||||
lamp.visible = true
|
||||
if lamp.get_surface_override_material(0) == null:
|
||||
var material = StandardMaterial3D.new()
|
||||
lamp.set_surface_override_material(0, material)
|
||||
lamp.get_surface_override_material(0).albedo_color = Color.DIM_GRAY
|
||||
var material_b0 = battery_lamp_0.mesh.surface_get_material(0).duplicate()
|
||||
battery_lamp_0.mesh.surface_set_material(0, material_b0)
|
||||
var material_b1 = battery_lamp_1.mesh.surface_get_material(0).duplicate()
|
||||
battery_lamp_1.mesh.surface_set_material(0, material_b1)
|
||||
|
||||
func insert_battery(battery: Battery) -> void:
|
||||
battery_obj = battery
|
||||
current_power = battery_obj.stored_power
|
||||
var lamp_color = color_dict[current_power]
|
||||
battery_lamp_0.mesh.surface_get_material(0).albedo_color = lamp_color
|
||||
battery_lamp_1.mesh.surface_get_material(0).albedo_color = lamp_color
|
||||
box_battery.visible = true
|
||||
update_status_lamps(battery_obj)
|
||||
|
||||
func remove_battery() -> Battery:
|
||||
$Sprite3D.visible = false
|
||||
var temp_battery = battery_obj
|
||||
battery_obj = null
|
||||
if current_power == power_needed:
|
||||
removed_battery.emit()
|
||||
current_power = 0
|
||||
box_battery.visible = false
|
||||
blink_timer.stop()
|
||||
|
||||
for lamp in status_lamps:
|
||||
if lamp.get_surface_override_material(0) == null:
|
||||
var material = StandardMaterial3D.new()
|
||||
lamp.set_surface_override_material(0, material)
|
||||
lamp.get_surface_override_material(0).albedo_color = Color.DIM_GRAY
|
||||
lamp.visible = true
|
||||
|
||||
battery_lamp_0.mesh.surface_get_material(0).albedo_color = Color.DIM_GRAY
|
||||
battery_lamp_1.mesh.surface_get_material(0).albedo_color = Color.DIM_GRAY
|
||||
|
||||
temp_battery.remove_from_station()
|
||||
return temp_battery
|
||||
|
||||
func update_status_lamps(battery_obj: Battery) -> void:
|
||||
# ratio between current_power and power_needed
|
||||
var ratio: float = 0.0
|
||||
if power_needed != 0:
|
||||
ratio = float(current_power) / float(power_needed)
|
||||
ratio = clamp(ratio, 0.0, 1.0)
|
||||
|
||||
# count of lamps that should be colored (0..len)
|
||||
var lamps_to_light: int = ceil(ratio * status_lamps.size())
|
||||
# special cases: exactly full or overloaded
|
||||
var is_full := current_power == power_needed
|
||||
var is_over := current_power > power_needed
|
||||
if is_full:
|
||||
play_sounds('insert_correct')
|
||||
fully_charged.emit()
|
||||
$Sprite3D.texture = load(battery_obj.image_path)
|
||||
$Sprite3D.visible = true
|
||||
# update each lamp
|
||||
for i in range(lamps_to_light):
|
||||
var lamp = status_lamps[i]
|
||||
# secure that material is there
|
||||
if lamp.get_surface_override_material(0) == null:
|
||||
var material = StandardMaterial3D.new()
|
||||
lamp.set_surface_override_material(0, material)
|
||||
lamp.get_surface_override_material(0).albedo_color = Color.GREEN
|
||||
|
||||
|
||||
if is_over:
|
||||
play_sounds('insert_false')
|
||||
# too much -> all red
|
||||
lamp.get_surface_override_material(0).albedo_color = Color.RED
|
||||
lamp.visible = true
|
||||
elif is_full:
|
||||
# exaclty full -> all green
|
||||
lamp.get_surface_override_material(0).albedo_color = Color.GREEN
|
||||
lamp.visible = true
|
||||
|
||||
else:
|
||||
# off / grey
|
||||
play_sounds('insert_false')
|
||||
lamp.get_surface_override_material(0).albedo_color = Color.YELLOW
|
||||
lamp.visible = true
|
||||
await get_tree().create_timer(0.3).timeout
|
||||
|
||||
# blink if overloaded
|
||||
if is_over:
|
||||
if not blink_timer.is_stopped():
|
||||
# timer is running -> nothing
|
||||
pass
|
||||
else:
|
||||
blink_timer.start()
|
||||
else:
|
||||
blink_timer.stop()
|
||||
# make sure that all are visible (if blinking before)
|
||||
for lamp in status_lamps:
|
||||
lamp.visible = true
|
||||
|
||||
func _on_blink_timeout() -> void:
|
||||
# in case of too much power: lamps blink (toggle visibility)
|
||||
if current_power > power_needed:
|
||||
for lamp in status_lamps:
|
||||
if lamp.get_surface_override_material(0).albedo_color == Color.DIM_GRAY:
|
||||
lamp.get_surface_override_material(0).albedo_color = Color.RED
|
||||
else:
|
||||
lamp.get_surface_override_material(0).albedo_color = Color.DIM_GRAY
|
||||
|
||||
func play_sounds(soundname: String) -> void:
|
||||
if soundname == 'insert_correct':
|
||||
$audio_right.play()
|
||||
elif soundname == 'insert_false':
|
||||
$audio_false.play()
|
||||
@@ -0,0 +1 @@
|
||||
uid://ctgkbxok3s47x
|
||||
@@ -0,0 +1,24 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://dw48drx137ih2"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b8c8vph26uu41" path="res://Interact/grabbable_object.gd" id="1_8qqxd"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qncar"]
|
||||
albedo_color = Color(0.53, 1, 0.9451667, 1)
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_qncar"]
|
||||
material = SubResource("StandardMaterial3D_qncar")
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_im0tn"]
|
||||
|
||||
[node name="Block" type="RigidBody3D"]
|
||||
collision_layer = 4
|
||||
collision_mask = 7
|
||||
mass = 0.001
|
||||
continuous_cd = true
|
||||
script = ExtResource("1_8qqxd")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
mesh = SubResource("BoxMesh_qncar")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
shape = SubResource("BoxShape3D_im0tn")
|
||||
@@ -0,0 +1,19 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://cq0h8h7icvfe0"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://dxs6dl0kt33hf" path="res://Resources/meshes/bridge.tres" id="1_5r8xi"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_h7pgn"]
|
||||
size = Vector3(22, 0.2, 2.5)
|
||||
|
||||
[node name="bridge" type="StaticBody3D"]
|
||||
transform = Transform3D(0.99701, -0.0772759, 0, 0.0772759, 0.99701, 0, 0, 0, 1, 0, 0, 0)
|
||||
collision_layer = 2
|
||||
collision_mask = 13
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1.2, 0, 0, 0, 1.2, 0, 0, 0, 1.2, 0, 1.194, 0)
|
||||
mesh = ExtResource("1_5r8xi")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.195, 0)
|
||||
shape = SubResource("BoxShape3D_h7pgn")
|
||||
@@ -0,0 +1,18 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://cekwmmeqhnt8c"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://2k22inm231b5" path="res://Resources/meshes/fence.tres" id="1_cvhob"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_mfgll"]
|
||||
size = Vector3(0.211, 10, 1.981)
|
||||
|
||||
[node name="Fence" type="StaticBody3D"]
|
||||
collision_layer = 64
|
||||
collision_mask = 9
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-4.371139e-08, 1, 0, -1, -4.371139e-08, 0, 0, 0, 1, 0, 1.3103899, 0)
|
||||
mesh = ExtResource("1_cvhob")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0075683594, 5.002912, -0.00012207031)
|
||||
shape = SubResource("BoxShape3D_mfgll")
|
||||
@@ -0,0 +1,18 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://cxdft2gl865c8"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://blqyd0o0ggy2t" path="res://Resources/meshes/fence_broken.tres" id="1_s6vr1"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_mfgll"]
|
||||
size = Vector3(0.211, 0.9, 1.981)
|
||||
|
||||
[node name="Fence" type="StaticBody3D"]
|
||||
collision_layer = 64
|
||||
collision_mask = 9
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-4.371139e-08, 1, 0, -1, -4.371139e-08, 0, 0, 0, 1, 0, 1.3234521, -0.02176714)
|
||||
mesh = ExtResource("1_s6vr1")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0075683594, 0.4515351, -0.00012207031)
|
||||
shape = SubResource("BoxShape3D_mfgll")
|
||||
@@ -0,0 +1,18 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://cbiyc2os4l2le"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://cp8pmyubrkik5" path="res://Resources/meshes/fence_left.tres" id="1_xstg8"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_mfgll"]
|
||||
size = Vector3(0.211, 10, 1.981)
|
||||
|
||||
[node name="FenceLeft" type="StaticBody3D"]
|
||||
collision_layer = 64
|
||||
collision_mask = 9
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-4.371139e-08, 1, 0, -1, -4.371139e-08, 0, 0, 0, 1, 0, 1.230836, 0)
|
||||
mesh = ExtResource("1_xstg8")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0075683594, 4.9100523, -0.00012207031)
|
||||
shape = SubResource("BoxShape3D_mfgll")
|
||||
@@ -0,0 +1,18 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://78ini7csghyn"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://3dws0pbmut6j" path="res://Resources/meshes/fence_right.tres" id="1_2kidb"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_mfgll"]
|
||||
size = Vector3(0.211, 10, 1.981)
|
||||
|
||||
[node name="FenceRight" type="StaticBody3D"]
|
||||
collision_layer = 64
|
||||
collision_mask = 9
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-4.371139e-08, 1, 0, -1, -4.371139e-08, 0, 0, 0, 1, 0, 1.3164206, 0)
|
||||
mesh = ExtResource("1_2kidb")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0075683594, 4.9798994, -0.00012207031)
|
||||
shape = SubResource("BoxShape3D_mfgll")
|
||||
@@ -0,0 +1,53 @@
|
||||
[gd_scene load_steps=5 format=4 uid="uid://sdytd17xrx81"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xantc"]
|
||||
resource_name = "black"
|
||||
cull_mode = 2
|
||||
albedo_color = Color(0, 0, 0, 1)
|
||||
roughness = 0.5
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_2uyr3"]
|
||||
_surfaces = [{
|
||||
"aabb": AABB(0.609988, -7.67489e-09, -0.801522, 0.703757, 0.00369327, 1.60304),
|
||||
"format": 34896613377,
|
||||
"index_count": 18,
|
||||
"index_data": PackedByteArray("AAABAAIAAAADAAEABAAFAAYABAAHAAUACAAJAAoACAALAAkA"),
|
||||
"name": "black",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
"vertex_count": 12,
|
||||
"vertex_data": PackedByteArray("2iEBAP//AAAATgAAAAAAAABOAAD//wAA2iEBAAAAAAAAAP//v90AAP///v/zywAA///+/7/dAAAAAP//88sAAAAA//9/NAAA///+/7MiAAD///7/fzQAAAAA//+zIgAA")
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_duw40"]
|
||||
resource_name = "assets_Plane_007"
|
||||
_surfaces = [{
|
||||
"aabb": AABB(0.609988, -7.67489e-09, -0.801522, 0.703757, 0.00369327, 1.60304),
|
||||
"attribute_data": PackedByteArray("AAD/////AAD/////AAAAAAAA/////wAA/////wAAAAAAAP////8AAP////8AAAAA"),
|
||||
"format": 34896613399,
|
||||
"index_count": 18,
|
||||
"index_data": PackedByteArray("AAABAAIAAAADAAEABAAFAAYABAAHAAUACAAJAAoACAALAAkA"),
|
||||
"material": SubResource("StandardMaterial3D_xantc"),
|
||||
"name": "black",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
"vertex_count": 12,
|
||||
"vertex_data": PackedByteArray("2iEBAP///78ATgAAAAD/vwBOAAD///+/2iEBAAAA/78AAP//v93/v////v/zy/+////+/7/d/78AAP//88v/vwAA//9/NP+////+/7Mi/7////7/fzT/vwAA//+zIv+//v//f/7//3/+//9//v//f////3////9/////f////3////9/////f////3////9/")
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_2uyr3")
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_t0hol"]
|
||||
size = Vector3(0.3, 0.1, 1.55)
|
||||
|
||||
[node name="fence_small" type="StaticBody3D"]
|
||||
collision_layer = 4
|
||||
|
||||
[node name="Schranke" type="MeshInstance3D" parent="."]
|
||||
mesh = SubResource("ArrayMesh_duw40")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(0.997626, -0.0688685, 0, 0.0688685, 0.997626, 0, 0, 0, 1, 0.81965, 0.0212097, -0.00942993)
|
||||
shape = SubResource("BoxShape3D_t0hol")
|
||||
@@ -0,0 +1,53 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://1oady27a34wi"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bivev0gbnbo5t" path="res://npc.gd" id="1_6jshr"]
|
||||
[ext_resource type="PackedScene" uid="uid://ctx8osel3k43n" path="res://check_collision_wall.tscn" id="2_nwv0p"]
|
||||
[ext_resource type="PackedScene" uid="uid://bhihpqj7er21q" path="res://check_collision_npc.tscn" id="3_e80nv"]
|
||||
[ext_resource type="PackedScene" uid="uid://dl4nljdcflehk" path="res://helper.tscn" id="4_nwv0p"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_6jshr"]
|
||||
size = Vector3(0.5161743, 1.3706055, 0.501709)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_nwv0p"]
|
||||
size = Vector3(1.2747803, 1.223877, 1.4574585)
|
||||
|
||||
[node name="NPC" type="CharacterBody3D"]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 0, 0)
|
||||
collision_layer = 8
|
||||
collision_mask = 7
|
||||
script = ExtResource("1_6jshr")
|
||||
prompt_message = "drücken Sie [t] oder [Enter]"
|
||||
talkable = true
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.037261963, -0.04911697, -0.022094727)
|
||||
shape = SubResource("BoxShape3D_6jshr")
|
||||
|
||||
[node name="RayCast3D" parent="." instance=ExtResource("2_nwv0p")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.55272627, -0.076056)
|
||||
|
||||
[node name="InteractionChecker" type="Area3D" parent="."]
|
||||
collision_layer = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="InteractionChecker"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0037231457, -0.060058594, 0.22872925)
|
||||
shape = SubResource("BoxShape3D_nwv0p")
|
||||
|
||||
[node name="RayCast3D2" parent="." instance=ExtResource("3_e80nv")]
|
||||
|
||||
[node name="helper" parent="." instance=ExtResource("4_nwv0p")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.3250453e-09, -0.54445666, -0.060911417)
|
||||
|
||||
[node name="Label3D" type="Label3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.3886542, 0)
|
||||
billboard = 1
|
||||
text = "Rede mit mir!
|
||||
(t / Enter)
|
||||
|
|
||||
|
|
||||
\\/"
|
||||
font_size = 42
|
||||
outline_size = 8
|
||||
|
||||
[connection signal="body_entered" from="InteractionChecker" to="." method="_on_interaction_checker_body_entered"]
|
||||
[connection signal="body_exited" from="InteractionChecker" to="." method="_on_interaction_checker_body_exited"]
|
||||
@@ -0,0 +1,17 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://cbg71qd7mr1a5"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://cx3mytwy5a0ld" path="res://Resources/meshes/plane.tres" id="1_5clto"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_e4xu0"]
|
||||
size = Vector3(2.2, 0.1, 2.1)
|
||||
|
||||
[node name="bridge2" type="StaticBody3D"]
|
||||
collision_layer = 2
|
||||
collision_mask = 13
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(0.103683256, 0, 0, 0, 0.71690935, 0, 0, 0, 1.082177, 0, 0, 0)
|
||||
mesh = ExtResource("1_5clto")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
shape = SubResource("BoxShape3D_e4xu0")
|
||||
@@ -0,0 +1,72 @@
|
||||
extends Node3D
|
||||
|
||||
@export var required_weight: float = 5.0
|
||||
@export var active_color: Color = Color(0, 1, 0)
|
||||
@export var inactive_color: Color = Color(1, 0, 0)
|
||||
@export var text_on_activation: String
|
||||
|
||||
@onready var area: Area3D = $Area3D
|
||||
@onready var mesh: MeshInstance3D = $MeshInstance3D
|
||||
@onready var static_body: StaticBody3D = $StaticBody3D
|
||||
signal activated
|
||||
signal deactivated
|
||||
|
||||
var current_weight: float = 0.0
|
||||
var is_active: bool = false
|
||||
|
||||
func _ready():
|
||||
mesh.material_override = StandardMaterial3D.new()
|
||||
mesh.material_override.albedo_color = inactive_color
|
||||
|
||||
func _on_body_entered(body: Node3D) -> void:
|
||||
print("body entered")
|
||||
print(body)
|
||||
var w = _get_body_weight(body)
|
||||
if w > 0:
|
||||
current_weight += w
|
||||
_check_weight()
|
||||
|
||||
func _on_body_exited(body: Node3D) -> void:
|
||||
var w = _get_body_weight(body)
|
||||
if w > 0:
|
||||
current_weight -= w
|
||||
_check_weight()
|
||||
|
||||
func _get_body_weight(body: Node3D) -> float:
|
||||
if body.has_method("get_weight"):
|
||||
return body.get_weight()
|
||||
elif body is RigidBody3D:
|
||||
return body.mass
|
||||
return 0.0
|
||||
|
||||
func _check_weight() -> void:
|
||||
var active_now = current_weight >= required_weight
|
||||
if active_now != is_active:
|
||||
is_active = active_now
|
||||
_update_visuals()
|
||||
if is_active:
|
||||
_on_activated()
|
||||
else:
|
||||
_on_deactivated()
|
||||
|
||||
func _update_visuals():
|
||||
mesh.material_override.albedo_color = active_color if is_active else inactive_color
|
||||
|
||||
var target_pos_y = -0.05 if is_active else 0.0
|
||||
var tween = get_tree().create_tween()
|
||||
|
||||
# Bewege sowohl das sichtbare Mesh als auch den Kollisionskörper nach unten
|
||||
tween.tween_property(mesh, "position:y", target_pos_y, 0.2)\
|
||||
.set_trans(Tween.TRANS_SINE).set_ease(Tween.EASE_OUT)
|
||||
tween.tween_property(static_body, "position:y", target_pos_y, 0.2)\
|
||||
.set_trans(Tween.TRANS_SINE).set_ease(Tween.EASE_OUT)
|
||||
|
||||
|
||||
|
||||
func _on_activated():
|
||||
print("Pressure block activated! Total weight =", current_weight)
|
||||
activated.emit()
|
||||
|
||||
func _on_deactivated():
|
||||
print("Pressure block deactivated!")
|
||||
deactivated.emit()
|
||||
@@ -0,0 +1 @@
|
||||
uid://debptt7fdw0mw
|
||||
@@ -0,0 +1,38 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://dvjxy8tyaxcjr"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://debptt7fdw0mw" path="res://Resources/Objects/pressure_block.gd" id="1_adrnk"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_mjcge"]
|
||||
size = Vector3(1, 0.5, 1)
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_adrnk"]
|
||||
size = Vector3(1, 0.1, 1)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_adrnk"]
|
||||
size = Vector3(1, 0.1, 1)
|
||||
|
||||
[node name="PressureBlock" type="Node3D"]
|
||||
script = ExtResource("1_adrnk")
|
||||
|
||||
[node name="Area3D" type="Area3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.46808624, 0)
|
||||
collision_layer = 4
|
||||
collision_mask = 5
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.26072478, 0)
|
||||
shape = SubResource("BoxShape3D_mjcge")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
mesh = SubResource("BoxMesh_adrnk")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="."]
|
||||
collision_layer = 4
|
||||
collision_mask = 4
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
||||
shape = SubResource("BoxShape3D_adrnk")
|
||||
disabled = true
|
||||
|
||||
[connection signal="body_entered" from="Area3D" to="." method="_on_body_entered"]
|
||||
[connection signal="body_exited" from="Area3D" to="." method="_on_body_exited"]
|
||||
@@ -0,0 +1,82 @@
|
||||
extends Node3D
|
||||
class_name QuizBox
|
||||
|
||||
@export var question: String
|
||||
@export var correct: int
|
||||
@export var answer_0: String
|
||||
@export var answer_1: String
|
||||
@export var answer_2: String
|
||||
@export var answer_3: String
|
||||
|
||||
@onready var animation_player: AnimationPlayer = $AnimationPlayer
|
||||
@onready var quiz_light: CSGSphere3D = $quiz_box_sb/quiz_box/quiz_light
|
||||
|
||||
@onready var answer_pad_0: Area3D = $answers/answer_pad_0/Area3D
|
||||
@onready var answer_pad_1: Area3D = $answers/answer_pad_1/Area3D
|
||||
@onready var answer_pad_2: Area3D = $answers/answer_pad_2/Area3D
|
||||
@onready var answer_pad_3: Area3D = $answers/answer_pad_3/Area3D
|
||||
|
||||
@onready var answer_0_label: Label3D = $answers/answer_pad_0/answer_0_label
|
||||
@onready var answer_1_label: Label3D = $answers/answer_pad_1/answer_1_label
|
||||
@onready var answer_2_label: Label3D = $answers/answer_pad_2/answer_2_label
|
||||
@onready var answer_3_label: Label3D = $answers/answer_pad_3/answer_3_label
|
||||
|
||||
@onready var question_label: Label3D = $StaticBody3D/Wall/question_label
|
||||
|
||||
var answered_correctly := false
|
||||
|
||||
func _ready() -> void:
|
||||
# Texte setzen
|
||||
question_label.text = question
|
||||
answer_0_label.text = answer_0
|
||||
answer_1_label.text = answer_1
|
||||
answer_2_label.text = answer_2
|
||||
answer_3_label.text = answer_3
|
||||
|
||||
# Signale verbinden
|
||||
answer_pad_0.body_entered.connect(_on_answer_entered.bind(0))
|
||||
answer_pad_1.body_entered.connect(_on_answer_entered.bind(1))
|
||||
answer_pad_2.body_entered.connect(_on_answer_entered.bind(2))
|
||||
answer_pad_3.body_entered.connect(_on_answer_entered.bind(3))
|
||||
|
||||
# WICHTIG: Material duplizieren, damit es nicht mit anderen Instanzen geteilt wird
|
||||
if quiz_light.material != null:
|
||||
# tiefe Kopie (alle Subressourcen mitduplizieren)
|
||||
quiz_light.material = quiz_light.material.duplicate(true)
|
||||
else:
|
||||
quiz_light.material = StandardMaterial3D.new()
|
||||
|
||||
# Grundeinstellungen für diese Instanz
|
||||
quiz_light.material.emission_enabled = true
|
||||
quiz_light.material.emission_energy = 0.5
|
||||
quiz_light.material.albedo_color = Color.WHITE
|
||||
quiz_light.material.emission = Color.WHITE
|
||||
|
||||
func _on_answer_entered(body: Node3D, answer_index: int) -> void:
|
||||
if not body.is_in_group("player"):
|
||||
return # Nur Player soll triggern
|
||||
|
||||
# Wenn schon korrekt beantwortet, nichts tun
|
||||
if answered_correctly:
|
||||
return
|
||||
|
||||
# Prüfen und nur DIESE Instanzlampe setzen
|
||||
if answer_index == correct:
|
||||
_set_light_color(Color.GREEN)
|
||||
question_label.visible = false
|
||||
animation_player.play("open_door")
|
||||
answered_correctly = true
|
||||
else:
|
||||
_set_light_color(Color.RED)
|
||||
# optional: nach kurzer Zeit zurücksetzen, damit neu versucht werden kann
|
||||
await get_tree().create_timer(1.0).timeout
|
||||
_set_light_color(Color.WHITE)
|
||||
|
||||
func _set_light_color(color: Color) -> void:
|
||||
# Setze nur das Material dieser Instanz
|
||||
if quiz_light.material == null:
|
||||
quiz_light.material = StandardMaterial3D.new()
|
||||
quiz_light.material.albedo_color = color
|
||||
quiz_light.material.emission = color
|
||||
# erhöhe kurz die Emission für Sichtbarkeit bei Farben außer weiß
|
||||
quiz_light.material.emission_energy = 1.5 if color != Color.WHITE else 0.5
|
||||
@@ -0,0 +1 @@
|
||||
uid://caan28e6gl7fk
|
||||
@@ -0,0 +1,217 @@
|
||||
[gd_scene load_steps=11 format=3 uid="uid://c45ex56io7rv7"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://caan28e6gl7fk" path="res://Resources/Objects/quiz_object.gd" id="1_ybh4a"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ybh4a"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_6mevd"]
|
||||
size = Vector3(1, 2, 1)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_ybh4a"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ybh4a"]
|
||||
length = 0.001
|
||||
tracks/0/type = "position_3d"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("StaticBody3D/Wall/left_door_sb/left_door")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = PackedFloat32Array(0, 1, -2, 0, 0)
|
||||
tracks/1/type = "position_3d"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("StaticBody3D/Wall/right_door_sb/right_door")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = PackedFloat32Array(0, 1, 2, 0, 0)
|
||||
tracks/2/type = "position_3d"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("StaticBody3D/Wall/left_door_sb/left_door_cs")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = PackedFloat32Array(0, 1, -2, 0, 0)
|
||||
tracks/3/type = "position_3d"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("StaticBody3D/Wall/right_door_sb/right_door_cs")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = PackedFloat32Array(0, 1, 2, 0, 0)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_5clbn"]
|
||||
resource_name = "open_door"
|
||||
length = 2.0
|
||||
tracks/0/type = "position_3d"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("StaticBody3D/Wall/left_door_sb/left_door")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = PackedFloat32Array(0, 1, -2, 0, 0, 2, 1, -5, 0, 0)
|
||||
tracks/1/type = "position_3d"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("StaticBody3D/Wall/right_door_sb/right_door")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = PackedFloat32Array(0, 1, 2, 0, 0, 2, 1, 5, 0, 0)
|
||||
tracks/2/type = "position_3d"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("StaticBody3D/Wall/right_door_sb/right_door_cs")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = PackedFloat32Array(0, 1, 2, 0, 0, 2, 1, 5, 0, 0)
|
||||
tracks/3/type = "position_3d"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("StaticBody3D/Wall/left_door_sb/left_door_cs")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = PackedFloat32Array(0, 1, -2, 0, 0, 2, 1, -5, 0, 0)
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_402uq"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_ybh4a"),
|
||||
&"open_door": SubResource("Animation_5clbn")
|
||||
}
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_402uq"]
|
||||
size = Vector3(5, 6, 0.5)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_584uj"]
|
||||
size = Vector3(4, 6, 0.2)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_resk5"]
|
||||
size = Vector3(4, 6, 0.2)
|
||||
|
||||
[node name="quiz_object" type="Node3D"]
|
||||
script = ExtResource("1_ybh4a")
|
||||
|
||||
[node name="quiz_box_sb" type="StaticBody3D" parent="."]
|
||||
|
||||
[node name="quiz_box" type="CSGBox3D" parent="quiz_box_sb"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 0)
|
||||
|
||||
[node name="quiz_light" type="CSGSphere3D" parent="quiz_box_sb/quiz_box"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9793253, 0)
|
||||
material = SubResource("StandardMaterial3D_ybh4a")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="quiz_box_sb"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0.5, 0)
|
||||
shape = SubResource("BoxShape3D_6mevd")
|
||||
|
||||
[node name="answers" type="Node3D" parent="."]
|
||||
|
||||
[node name="answer_pad_0" type="CSGBox3D" parent="answers"]
|
||||
size = Vector3(1, 0.1, 1)
|
||||
|
||||
[node name="answer_0_label" type="Label3D" parent="answers/answer_pad_0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="Area3D" type="Area3D" parent="answers/answer_pad_0"]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="answers/answer_pad_0/Area3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.48036242, 0)
|
||||
shape = SubResource("BoxShape3D_ybh4a")
|
||||
|
||||
[node name="answer_pad_1" type="CSGBox3D" parent="answers"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 0)
|
||||
size = Vector3(1, 0.1, 1)
|
||||
|
||||
[node name="answer_1_label" type="Label3D" parent="answers/answer_pad_1"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="Area3D" type="Area3D" parent="answers/answer_pad_1"]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="answers/answer_pad_1/Area3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.48036242, 0)
|
||||
shape = SubResource("BoxShape3D_ybh4a")
|
||||
|
||||
[node name="answer_pad_2" type="CSGBox3D" parent="answers"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 0)
|
||||
size = Vector3(1, 0.1, 1)
|
||||
|
||||
[node name="answer_2_label" type="Label3D" parent="answers/answer_pad_2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="Area3D" type="Area3D" parent="answers/answer_pad_2"]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="answers/answer_pad_2/Area3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.48036242, 0)
|
||||
shape = SubResource("BoxShape3D_ybh4a")
|
||||
|
||||
[node name="answer_pad_3" type="CSGBox3D" parent="answers"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 0)
|
||||
size = Vector3(1, 0.1, 1)
|
||||
|
||||
[node name="answer_3_label" type="Label3D" parent="answers/answer_pad_3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="Area3D" type="Area3D" parent="answers/answer_pad_3"]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="answers/answer_pad_3/Area3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.48036242, 0)
|
||||
shape = SubResource("BoxShape3D_ybh4a")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_402uq")
|
||||
}
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="."]
|
||||
collision_layer = 7
|
||||
collision_mask = 7
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 3, -4)
|
||||
shape = SubResource("BoxShape3D_402uq")
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="StaticBody3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 3, -4)
|
||||
shape = SubResource("BoxShape3D_402uq")
|
||||
|
||||
[node name="Wall" type="CSGBox3D" parent="StaticBody3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 3, -4)
|
||||
size = Vector3(16, 6, 0.5)
|
||||
|
||||
[node name="door_space" type="CSGSphere3D" parent="StaticBody3D/Wall"]
|
||||
operation = 2
|
||||
radius = 3.1
|
||||
rings = 10
|
||||
|
||||
[node name="question_label" type="Label3D" parent="StaticBody3D/Wall"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.18187094)
|
||||
font_size = 64
|
||||
autowrap_mode = 2
|
||||
width = 1000.0
|
||||
|
||||
[node name="left_door_sb" type="StaticBody3D" parent="StaticBody3D/Wall"]
|
||||
collision_layer = 7
|
||||
collision_mask = 7
|
||||
|
||||
[node name="left_door" type="CSGBox3D" parent="StaticBody3D/Wall/left_door_sb"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 0)
|
||||
size = Vector3(4, 6, 0.2)
|
||||
|
||||
[node name="left_door_cs" type="CollisionShape3D" parent="StaticBody3D/Wall/left_door_sb"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 0)
|
||||
shape = SubResource("BoxShape3D_584uj")
|
||||
|
||||
[node name="right_door_sb" type="StaticBody3D" parent="StaticBody3D/Wall"]
|
||||
collision_layer = 7
|
||||
collision_mask = 7
|
||||
|
||||
[node name="right_door" type="CSGBox3D" parent="StaticBody3D/Wall/right_door_sb"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 0)
|
||||
size = Vector3(4, 6, 0.2)
|
||||
|
||||
[node name="right_door_cs" type="CollisionShape3D" parent="StaticBody3D/Wall/right_door_sb"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 0)
|
||||
shape = SubResource("BoxShape3D_resk5")
|
||||
@@ -0,0 +1,9 @@
|
||||
extends RigidBody3D
|
||||
|
||||
func _ready():
|
||||
await get_tree().create_timer(10.0).timeout
|
||||
queue_free()
|
||||
|
||||
|
||||
func _on_body_entered(body: Node) -> void:
|
||||
gravity_scale = 1.0
|
||||
@@ -0,0 +1 @@
|
||||
uid://dwc5ak0wgd6aj
|
||||
@@ -0,0 +1,9 @@
|
||||
extends Node3D
|
||||
|
||||
func _ready() -> void:
|
||||
$Armature/Skeleton3D/Cube_001.mesh = load(Global.mesh_resource_player)
|
||||
|
||||
if Global.balloon_collected == true:
|
||||
$Balloon.visible = true
|
||||
$Balloon.set_mesh(Global.resource_balloon)
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
uid://dre5qo5tbisfv
|
||||
@@ -0,0 +1,30 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://drtpl8y1pojrc"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dra235mdhf5nv" path="res://assets/astronaut_gw-v2_rig.glb" id="1_qv5ss"]
|
||||
[ext_resource type="Script" uid="uid://dre5qo5tbisfv" path="res://Resources/Players/astronaut_for_animation.gd" id="2_7h4jy"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://cnkc0coob8mu" path="res://Resources/meshes/player_uniGW2.tres" id="3_pfcjo"]
|
||||
[ext_resource type="PackedScene" uid="uid://ccdju064l1xg0" path="res://Resources/Objects/balloon_collectable.tscn" id="3_t7xo6"]
|
||||
[ext_resource type="PackedScene" uid="uid://dl4nljdcflehk" path="res://helper.tscn" id="4_t7xo6"]
|
||||
|
||||
[node name="astronaut" instance=ExtResource("1_qv5ss")]
|
||||
script = ExtResource("2_7h4jy")
|
||||
|
||||
[node name="Skeleton3D" parent="Armature" index="0"]
|
||||
bones/1/rotation = Quaternion(0, 0, -0.024488833, 0.9997001)
|
||||
bones/3/rotation = Quaternion(7.424678e-08, 3.9001097e-08, -0.4683429, 0.8835468)
|
||||
bones/5/rotation = Quaternion(2.4243334e-08, 6.898198e-08, 0.4388793, 0.89854604)
|
||||
bones/7/rotation = Quaternion(-0.7071068, -2.6692543e-08, 2.6692543e-08, 0.7071068)
|
||||
bones/10/rotation = Quaternion(-0.7071068, -1.5454312e-08, 1.5454312e-08, 0.7071068)
|
||||
|
||||
[node name="Cube_001" parent="Armature/Skeleton3D" index="0"]
|
||||
mesh = ExtResource("3_pfcjo")
|
||||
|
||||
[node name="Balloon" parent="." index="2" instance=ExtResource("3_t7xo6")]
|
||||
transform = Transform3D(0.49786475, -0.04615923, 0, 0.04615923, 0.49786475, 0, 0, 0, 0.5, -0.2128411, 1.5290457, -0.5337905)
|
||||
visible = false
|
||||
|
||||
[node name="helper" type="Node3D" parent="." index="3"]
|
||||
transform = Transform3D(0.4, 0, 0, 0, 0.4, 0, 0, 0, 0.4, 0.096, 1.141, 0.538)
|
||||
visible = false
|
||||
|
||||
[node name="helper" parent="helper" index="0" instance=ExtResource("4_t7xo6")]
|
||||
@@ -0,0 +1,283 @@
|
||||
extends CharacterBody3D
|
||||
class_name Player
|
||||
|
||||
var speed = 5.0
|
||||
const JUMP_VELOCITY = 12
|
||||
const throw_strength = 50
|
||||
var speeds = [5.0, 2.5, 1.5, 1.0]
|
||||
var animation_player_speeds = [1.5, 1.0, 0.7, 0.5]
|
||||
var counter_speed := 0
|
||||
|
||||
enum PlayerMode {
|
||||
NORMAL,
|
||||
AIM
|
||||
}
|
||||
|
||||
var mode = PlayerMode.NORMAL
|
||||
var xform : Transform3D
|
||||
var grabbed_item : Grabbable_Object
|
||||
var dialogueActive : bool
|
||||
var weight: float = 5.0
|
||||
|
||||
# --- Camera ---
|
||||
var camera_pitch := 0.0
|
||||
var zoom := 5.0
|
||||
|
||||
@export var min_zoom := 1
|
||||
@export var max_zoom := 10.0
|
||||
@export var zoom_speed := 0.5
|
||||
@export var min_pitch := deg_to_rad(-80)
|
||||
@export var max_pitch := deg_to_rad(0)
|
||||
@export var mouse_sensitivity:float = 0.0007
|
||||
|
||||
@onready var camera_3d: Camera3D = $Camera_Controller/Camera_Pivot/Camera3D
|
||||
@onready var crosshair: Control = $Crosshair
|
||||
@onready var spring_arm: SpringArm3D = $Camera_Controller/Camera_Pivot
|
||||
@onready var interact_ray: ShapeCast3D = $InteractRay
|
||||
@onready var chatbot = $Chatbot
|
||||
@onready var env = $".."
|
||||
|
||||
var rock_scene: PackedScene = preload("res://Resources/Objects/rock.tscn")
|
||||
|
||||
signal inventory_opened
|
||||
signal inventory_closed
|
||||
signal chatbot_opened
|
||||
|
||||
func _ready() -> void:
|
||||
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
|
||||
|
||||
$Camera_Controller.position = position
|
||||
$Armature/Skeleton3D/CharacterMesh.mesh = load(Global.mesh_resource_player)
|
||||
|
||||
camera_pitch = $Camera_Controller/Camera_Pivot.rotation.x
|
||||
zoom = spring_arm.spring_length
|
||||
if DialogueState.currentTask > 1:
|
||||
$AnimationPlayer.play('helper_visible')
|
||||
if Global.balloon_collected == true:
|
||||
print(Global.resource_balloon)
|
||||
_on_balloon_balloon_chosen(Global.resource_balloon)
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if Global.chatbot_opened:
|
||||
return
|
||||
if Input.is_action_just_pressed("help"):
|
||||
if DialogueState.is_dialogue_open == false:
|
||||
DialogueState.is_dialogue_open = true
|
||||
DialogueManager.show_chosen_dialogue_balloon(load("res://Interact/dialogue/helper.dialogue"), "/game_balloons/game_balloon_v_1.tscn", "start", [self, $Player/helper])
|
||||
|
||||
|
||||
func _input(event):
|
||||
if event is InputEventMouseMotion and mode == PlayerMode.NORMAL:
|
||||
$Camera_Controller.rotate_y(-event.relative.x * mouse_sensitivity)
|
||||
|
||||
camera_pitch -= event.relative.y * mouse_sensitivity
|
||||
camera_pitch = clamp(camera_pitch, min_pitch, max_pitch)
|
||||
|
||||
$Camera_Controller/Camera_Pivot.rotation.x = camera_pitch
|
||||
|
||||
if event is InputEventMouseButton and event.pressed:
|
||||
if event.button_index == MOUSE_BUTTON_WHEEL_UP:
|
||||
zoom -= zoom_speed
|
||||
elif event.button_index == MOUSE_BUTTON_WHEEL_DOWN:
|
||||
zoom += zoom_speed
|
||||
|
||||
zoom = clamp(zoom, min_zoom, max_zoom)
|
||||
spring_arm.spring_length = zoom
|
||||
print(spring_arm.spring_length)
|
||||
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
if Global.chatbot_opened or $Inventory.visible:
|
||||
return
|
||||
dialogueActive = DialogueState.is_dialogue_open
|
||||
var thisTime = Time.get_unix_time_from_system()
|
||||
|
||||
# --- DROP / THROW ---
|
||||
if Input.is_action_just_pressed("drop") and grabbed_item:
|
||||
grabbed_item.release(self)
|
||||
$AnimationPlayer.play_backwards("pickup")
|
||||
play_sound('drop')
|
||||
|
||||
if Input.is_action_just_pressed("throw") and grabbed_item:
|
||||
grabbed_item.release(self, true)
|
||||
play_sound('drop')
|
||||
|
||||
elif Input.is_action_just_pressed("throw") and not grabbed_item:
|
||||
if mode == PlayerMode.NORMAL:
|
||||
mode = PlayerMode.AIM
|
||||
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
|
||||
else:
|
||||
mode = PlayerMode.NORMAL
|
||||
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
|
||||
|
||||
# --- AIM THROW ---
|
||||
elif Input.is_action_just_pressed("click") and mode == PlayerMode.AIM and not dialogueActive and not $Inventory.visible:
|
||||
var mouse_pos = get_viewport().get_mouse_position()
|
||||
|
||||
var ray_origin = camera_3d.project_ray_origin(mouse_pos)
|
||||
var ray_direction = camera_3d.project_ray_normal(mouse_pos)
|
||||
|
||||
var ray_length = 1000
|
||||
var space_state = get_world_3d().direct_space_state
|
||||
var query = PhysicsRayQueryParameters3D.create(
|
||||
ray_origin,
|
||||
ray_origin + ray_direction * ray_length
|
||||
)
|
||||
|
||||
query.exclude = [self]
|
||||
|
||||
#Exclude Boundary Layer (Layer 7)
|
||||
query.collision_mask = ~(1 << 6)
|
||||
var result = space_state.intersect_ray(query)
|
||||
|
||||
var target_position: Vector3
|
||||
if result.size() > 0:
|
||||
target_position = result.position
|
||||
else:
|
||||
target_position = ray_origin + ray_direction * ray_length
|
||||
|
||||
var from = global_transform.origin + Vector3(0, 1.5, 0)
|
||||
var throw_direction = (target_position - from).normalized()
|
||||
|
||||
var rock_instance = rock_scene.instantiate()
|
||||
get_tree().current_scene.add_child(rock_instance)
|
||||
|
||||
var forward_dir = -camera_3d.global_transform.basis.z.normalized()
|
||||
rock_instance.global_transform.origin = from + forward_dir * 1.0
|
||||
|
||||
rock_instance.freeze = false
|
||||
rock_instance.sleeping = false
|
||||
rock_instance.gravity_scale = 0.0
|
||||
rock_instance.linear_velocity = throw_direction * throw_strength
|
||||
|
||||
$AnimationPlayer.play("jump")
|
||||
$audio_throw.play()
|
||||
|
||||
# --- GRAVITY ---
|
||||
if not is_on_floor():
|
||||
velocity += get_gravity() * delta
|
||||
|
||||
# --- JUMP ---
|
||||
if Input.is_action_just_pressed("ui_accept") and is_on_floor():
|
||||
var deltaTime = thisTime - DialogueState.time_since_dialoge_open
|
||||
|
||||
if not dialogueActive and (deltaTime > 0.5):
|
||||
$audio_jump.play()
|
||||
velocity.y = JUMP_VELOCITY
|
||||
$AnimationPlayer.stop()
|
||||
$AnimationPlayer.play("jump")
|
||||
await get_tree().create_timer(0.4).timeout
|
||||
$AnimationPlayer.play_backwards("jump")
|
||||
|
||||
# --- MOVEMENT ---
|
||||
var input_dir := Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down")
|
||||
|
||||
if dialogueActive or $Inventory.visible:
|
||||
input_dir = Vector2.ZERO
|
||||
|
||||
var direction : Vector3 = ($Camera_Controller.transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
|
||||
|
||||
if input_dir != Vector2.ZERO:
|
||||
self.rotation_degrees.y = $Camera_Controller.rotation_degrees.y - rad_to_deg(input_dir.angle()) - 90
|
||||
|
||||
# --- FLOOR ALIGN ---
|
||||
if is_on_floor() and input_dir != Vector2.ZERO:
|
||||
align_with_floor($RayCast3D.get_collision_normal())
|
||||
global_transform = global_transform.interpolate_with(xform, 0.3)
|
||||
elif not is_on_floor():
|
||||
align_with_floor(Vector3.UP)
|
||||
global_transform = global_transform.interpolate_with(xform, 0.3)
|
||||
|
||||
# --- VELOCITY ---
|
||||
if direction:
|
||||
velocity.x = direction.x * speed
|
||||
velocity.z = direction.z * speed
|
||||
|
||||
if grabbed_item:
|
||||
$AnimationPlayer.play("pickup_walk")
|
||||
else:
|
||||
$AnimationPlayer.play("walk")
|
||||
else:
|
||||
velocity.x = move_toward(velocity.x, 0, speed)
|
||||
velocity.z = move_toward(velocity.z, 0, speed)
|
||||
|
||||
move_and_slide()
|
||||
|
||||
$Camera_Controller.position = lerp($Camera_Controller.position, position, 0.15)
|
||||
|
||||
|
||||
func align_with_floor(floor_normal):
|
||||
xform = global_transform
|
||||
xform.basis.y = floor_normal
|
||||
xform.basis.x = -xform.basis.z.cross(floor_normal)
|
||||
xform.basis = xform.basis.orthonormalized()
|
||||
|
||||
|
||||
func _on_fall_zone_body_entered(body: Node3D) -> void:
|
||||
get_tree().reload_current_scene()
|
||||
|
||||
func openChatBot():
|
||||
chatbot_opened.emit()
|
||||
chatbot.visible = true
|
||||
Global.chatbot_opened = true
|
||||
chatbot._prompt_edit.grab_focus()
|
||||
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
|
||||
env.quiet_down_music()
|
||||
|
||||
|
||||
func get_weight():
|
||||
return weight
|
||||
|
||||
|
||||
func _on_interact_ray_grabbed() -> void:
|
||||
$AnimationPlayer.play("pickup")
|
||||
|
||||
func set_mode(mode_new: String) -> void:
|
||||
if mode_new == "aim":
|
||||
mode = PlayerMode.AIM
|
||||
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
|
||||
elif mode_new == "normal":
|
||||
mode = PlayerMode.NORMAL
|
||||
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
|
||||
|
||||
func toggle_inventory() -> void:
|
||||
if $Inventory.visible:
|
||||
$Inventory.visible = false
|
||||
set_mode("normal")
|
||||
inventory_closed.emit()
|
||||
else:
|
||||
$Inventory.visible = true
|
||||
set_mode("aim")
|
||||
inventory_opened.emit()
|
||||
|
||||
|
||||
func _on_balloon_balloon_chosen(mesh: String) -> void:
|
||||
$Balloon.visible = true
|
||||
$Balloon.set_mesh(mesh)
|
||||
Global.resource_balloon = mesh
|
||||
Global.balloon_collected = true
|
||||
|
||||
func slow_down() -> void:
|
||||
if counter_speed < len(speeds)-1:
|
||||
counter_speed += 1
|
||||
speed = speeds[counter_speed]
|
||||
|
||||
func reset_speed() -> void:
|
||||
counter_speed = 0
|
||||
speed = 5.0
|
||||
|
||||
|
||||
func _on_animation_player_animation_started(anim_name: StringName) -> void:
|
||||
if anim_name == 'walk' or anim_name == 'pickup_walk':
|
||||
$AnimationPlayer.speed_scale = animation_player_speeds[counter_speed]
|
||||
else:
|
||||
$AnimationPlayer.speed_scale = animation_player_speeds[1]
|
||||
|
||||
func play_sound(sound_name: String) -> void:
|
||||
if sound_name == 'pickup':
|
||||
$audio_pickup.play()
|
||||
elif sound_name == 'drop':
|
||||
$audio_pickup.play()
|
||||
|
||||
func toggle_music() -> void:
|
||||
env.toggle_music()
|
||||
@@ -0,0 +1 @@
|
||||
uid://wxn7lwnmu4ft
|
||||
@@ -0,0 +1,757 @@
|
||||
[gd_scene load_steps=27 format=3 uid="uid://feh8xoh78swi"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://wxn7lwnmu4ft" path="res://Resources/Players/player.gd" id="1_dq61c"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://cnkc0coob8mu" path="res://Resources/meshes/player_uniGW2.tres" id="3_gyuqh"]
|
||||
[ext_resource type="PackedScene" uid="uid://dy1tmm44vfmh" path="res://Interact/interact_ray.tscn" id="3_wknd5"]
|
||||
[ext_resource type="Script" uid="uid://bethfppdcwvxc" path="res://crosshair.gd" id="4_gyuqh"]
|
||||
[ext_resource type="PackedScene" uid="uid://dw8bb4m4ycg7a" path="res://inventory.tscn" id="5_wknd5"]
|
||||
[ext_resource type="PackedScene" uid="uid://ccdju064l1xg0" path="res://Resources/Objects/balloon_collectable.tscn" id="6_rjb0o"]
|
||||
[ext_resource type="PackedScene" uid="uid://dl4nljdcflehk" path="res://helper.tscn" id="7_4r34j"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0nf2m2olu4jf" path="res://addons/godot_llama/demo/demo.tscn" id="8_erypk"]
|
||||
[ext_resource type="AudioStream" uid="uid://dwqsonsq5vyu0" path="res://assets/Sounds/collection1/Explosions/Short/sfx_exp_short_soft11.wav" id="9_qpqd5"]
|
||||
[ext_resource type="AudioStream" uid="uid://c3bxwp8pfb3cn" path="res://assets/Sounds/collection1/General Sounds/Neutral Sounds/sfx_sound_neutral1.wav" id="10_41dcx"]
|
||||
[ext_resource type="AudioStream" uid="uid://8pfv1mgu10pt" path="res://assets/Sounds/collection1/Movement/Jumping and Landing/sfx_movement_jump1.wav" id="11_a75tr"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_uk0nh"]
|
||||
size = Vector3(1.25093, 1.8731, 1.20929)
|
||||
|
||||
[sub_resource type="Skin" id="Skin_gyuqh"]
|
||||
resource_name = "Skin"
|
||||
bind_count = 13
|
||||
bind/0/name = &"body"
|
||||
bind/0/bone = -1
|
||||
bind/0/pose = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.3528, 0)
|
||||
bind/1/name = &"head"
|
||||
bind/1/bone = -1
|
||||
bind/1/pose = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.958969, 0)
|
||||
bind/2/name = &"shoulder.l"
|
||||
bind/2/bone = -1
|
||||
bind/2/pose = Transform3D(-0.185148, -0.98271, -1.14389e-07, 0.98271, -0.185149, -2.66453e-14, -2.1179e-08, -1.12412e-07, 1, 0.942389, 0.177552, 1.07799e-07)
|
||||
bind/3/name = &"arm.l"
|
||||
bind/3/bone = -1
|
||||
bind/3/pose = Transform3D(-0.873768, -0.486343, -2.02672e-07, 0.486343, -0.873768, 0, -1.77089e-07, -9.85682e-08, 1, 0.690726, 0.651202, 1.39991e-07)
|
||||
bind/4/name = &"shoulder.r"
|
||||
bind/4/bone = -1
|
||||
bind/4/pose = Transform3D(-0.176299, 0.984337, 1.3201e-07, -0.984337, -0.176299, -1.59872e-14, 2.32732e-08, -1.29942e-07, 1, -0.943948, 0.169065, 1.2461e-07)
|
||||
bind/5/name = &"arm.r"
|
||||
bind/5/bone = -1
|
||||
bind/5/pose = Transform3D(-0.870257, 0.492598, -2.15315e-08, -0.492598, -0.870257, -4.44089e-15, -1.87379e-08, 1.06064e-08, 1, -0.690192, 0.653943, -1.48609e-08)
|
||||
bind/6/name = &"hip.l"
|
||||
bind/6/bone = -1
|
||||
bind/6/pose = Transform3D(0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, -0.3528)
|
||||
bind/7/name = &"upper_leg.l"
|
||||
bind/7/bone = -1
|
||||
bind/7/pose = Transform3D(7.54979e-08, 0, 1, 0, -1, 0, 1, 0, -7.54979e-08, -1.22397e-08, 0.3528, -0.16212)
|
||||
bind/8/name = &"lower_leg.l"
|
||||
bind/8/bone = -1
|
||||
bind/8/pose = Transform3D(7.54979e-08, 0, 1, 0, -1, 0, 1, 0, -7.54979e-08, -1.22397e-08, 0.248877, -0.16212)
|
||||
bind/9/name = &"hip.r"
|
||||
bind/9/bone = -1
|
||||
bind/9/pose = Transform3D(0, 0, -1, -1, 0, 0, 0, 1, 0, 0, 0, -0.3528)
|
||||
bind/10/name = &"upper_leg.r"
|
||||
bind/10/bone = -1
|
||||
bind/10/pose = Transform3D(-4.37114e-08, 0, -1, 0, -1, 0, -1, 0, 4.37114e-08, -6.35966e-09, 0.3528, -0.145492)
|
||||
bind/11/name = &"lower_leg.r"
|
||||
bind/11/bone = -1
|
||||
bind/11/pose = Transform3D(-4.37114e-08, 0, -1, 0, -1, 0, -1, 0, 4.37114e-08, -6.35966e-09, 0.24472, -0.145492)
|
||||
bind/12/name = &"neutral_bone"
|
||||
bind/12/bone = -1
|
||||
bind/12/pose = Transform3D(1, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_3fe0i"]
|
||||
resource_name = "RESET"
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("helper:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("helper:position")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.096, 1.141, 0.538)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_erypk"]
|
||||
resource_name = "collect_helper_part2"
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("helper:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.0960083, 1.1406784, 0.538002), Vector3(0.0960083, -0.08320968, 0.538002)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("helper:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_4r34j"]
|
||||
resource_name = "helper_visible"
|
||||
length = 0.01
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("helper:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.0960083, -0.08320968, 0.538002)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("helper:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_kitjm"]
|
||||
resource_name = "idle-loop"
|
||||
length = 1.0833334
|
||||
loop_mode = 1
|
||||
tracks/0/type = "rotation_3d"
|
||||
tracks/0/imported = true
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Armature/Skeleton3D:head")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = PackedFloat32Array(0, 1, 0, 0, -0.024488833, 0.9997001, 0.06666667, 1, 0, 0, -0.023532195, 0.9997231, 0.1, 1, 0, 0, -0.022525162, 0.9997464, 0.13333334, 1, 0, 0, -0.021227574, 0.9997747, 0.16666667, 1, 0, 0, -0.0196859, 0.9998062, 0.2, 1, 0, 0, -0.017911708, 0.9998396, 0.3, 1, 0, 0, -0.0121470615, 0.99992627, 0.33333334, 1, 0, 0, -0.010233168, 0.9999477, 0.36666667, 1, 0, 0, -0.008458738, 0.99996424, 0.4, 1, 0, 0, -0.0068586585, 0.9999765, 0.43333334, 1, 0, 0, -0.0054794243, 0.99998504, 0.46666667, 1, 0, 0, -0.0043675266, 0.99999046, 0.53333336, 1, 0, 0, -0.0032827677, 0.99999464, 0.6333333, 1, 0, 0, -0.0048711714, 0.9999882, 0.6666667, 1, 0, 0, -0.006087676, 0.99998146, 0.7, 1, 0, 0, -0.0076296404, 0.999971, 0.73333335, 1, 0, 0, -0.009345958, 0.99995637, 0.76666665, 1, 0, 0, -0.011190119, 0.9999375, 0.8333333, 1, 0, 0, -0.015075953, 0.99988645, 0.8666667, 1, 0, 0, -0.016989721, 0.99985576, 0.9, 1, 0, 0, -0.018798813, 0.99982333, 0.93333334, 1, 0, 0, -0.020456744, 0.9997908, 0.96666664, 1, 0, 0, -0.021917041, 0.9997598, 1, 1, 0, 0, -0.023133267, 0.9997325, 1.0666667, 1, 0, 0, -0.024345534, 0.9997037, 1.0833334, 1, 0, 0, -0.024488833, 0.9997001)
|
||||
tracks/1/type = "rotation_3d"
|
||||
tracks/1/imported = true
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Armature/Skeleton3D:arm.l")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = PackedFloat32Array(0, 1, 7.424678e-08, 3.9001094e-08, -0.4683429, 0.8835468, 0.033333335, 1, 7.4302335e-08, 3.8917683e-08, -0.46721676, 0.88414294, 0.06666667, 1, 7.4431775e-08, 3.872237e-08, -0.46458033, 0.885531, 0.1, 1, 7.462511e-08, 3.84281e-08, -0.4606092, 0.887603, 0.13333334, 1, 7.4872105e-08, 3.8047695e-08, -0.45547733, 0.8902474, 0.16666667, 1, 7.51624e-08, 3.7593928e-08, -0.44935825, 0.8933517, 0.2, 1, 7.549224e-08, 3.706932e-08, -0.44228724, 0.8968735, 0.23333333, 1, 7.583646e-08, 3.651112e-08, -0.43476743, 0.90054274, 0.3, 1, 7.6531585e-08, 3.5348503e-08, -0.41911793, 0.90793186, 0.33333334, 1, 7.686551e-08, 3.4772025e-08, -0.4113643, 0.9114711, 0.36666667, 1, 7.717001e-08, 3.4235477e-08, -0.40415135, 0.91469216, 0.4, 1, 7.744037e-08, 3.3749966e-08, -0.39762765, 0.91754687, 0.43333334, 1, 7.767019e-08, 3.333025e-08, -0.39199018, 0.91996944, 0.46666667, 1, 7.785327e-08, 3.2991093e-08, -0.38743636, 0.9218965, 0.5, 1, 7.798345e-08, 3.2747245e-08, -0.3841631, 0.9232653, 0.53333336, 1, 6.41315e-08, 3.9174488e-08, -0.3829864, 0.9237541, 0.56666666, 1, 6.0626874e-08, 4.085854e-08, -0.38372338, 0.92344815, 0.6, 1, 6.052203e-08, 4.1052278e-08, -0.38631013, 0.922369, 0.6333333, 1, 6.034729e-08, 4.1372523e-08, -0.39058882, 0.9205653, 0.6666667, 1, 6.011109e-08, 4.1800266e-08, -0.39630932, 0.9181171, 0.7, 1, 5.9811555e-08, 4.2334484e-08, -0.40346235, 0.91499627, 0.73333335, 1, 5.9477394e-08, 4.2919936e-08, -0.41131318, 0.91149414, 0.76666665, 1, 5.911788e-08, 4.3537902e-08, -0.41961336, 0.9077029, 0.8333333, 1, 5.836256e-08, 4.4798206e-08, -0.43658403, 0.8996635, 0.8666667, 1, 5.7999003e-08, 4.5387402e-08, -0.4445384, 0.8957598, 0.9, 1, 5.7664e-08, 4.5920824e-08, -0.45175117, 0.89214396, 0.93333334, 1, 5.7369746e-08, 4.6382066e-08, -0.45799688, 0.8889538, 0.96666664, 1, 5.7128684e-08, 4.6754995e-08, -0.46305287, 0.88633066, 1, 1, 5.6953294e-08, 4.7023583e-08, -0.4666979, 0.8844168, 1.0333333, 1, 7.078811e-08, 4.0605606e-08, -0.46801406, 0.8837211, 1.0833334, 1, 7.424678e-08, 3.9001094e-08, -0.4683429, 0.8835468)
|
||||
tracks/2/type = "rotation_3d"
|
||||
tracks/2/imported = true
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Armature/Skeleton3D:arm.r")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = PackedFloat32Array(0, 1, 2.4243331e-08, 6.898198e-08, 0.43887928, 0.89854604, 0.033333335, 1, 2.4169724e-08, 6.9008046e-08, 0.43792248, 0.89901274, 0.06666667, 1, 2.3997506e-08, 6.906872e-08, 0.43568337, 0.9001, 0.1, 1, 2.3738348e-08, 6.915911e-08, 0.43231246, 0.901724, 0.13333334, 1, 2.3403869e-08, 6.927417e-08, 0.42795923, 0.90379816, 0.16666667, 1, 2.300568e-08, 6.940882e-08, 0.4227731, 0.9062357, 0.2, 1, 2.254637e-08, 6.956098e-08, 0.41678596, 0.90900475, 0.23333333, 1, 2.205883e-08, 6.9718844e-08, 0.41042495, 0.9118944, 0.3, 1, 2.1047086e-08, 7.0034545e-08, 0.3972056, 0.9177296, 0.33333334, 1, 2.0547182e-08, 7.018466e-08, 0.39066452, 0.9205331, 0.36666667, 1, 2.0082878e-08, 7.032063e-08, 0.38458377, 0.9230901, 0.4, 1, 1.9663542e-08, 7.0440585e-08, 0.37908745, 0.92536086, 0.43333334, 1, 1.9301613e-08, 7.054196e-08, 0.3743401, 0.9272915, 0.46666667, 1, 1.9009542e-08, 7.062232e-08, 0.3705068, 0.92882985, 0.5, 1, 1.8799755e-08, 7.067924e-08, 0.36775205, 0.9299239, 0.56666666, 1, 2.034004e-08, 7.140312e-08, 0.36774907, 0.929925, 0.6, 1, 2.0572921e-08, 7.134004e-08, 0.37080446, 0.92871106, 0.6333333, 1, 2.0953191e-08, 7.123523e-08, 0.3757913, 0.9267043, 0.6666667, 1, 2.1453479e-08, 7.109394e-08, 0.3823476, 0.92401856, 0.7, 1, 2.2059782e-08, 7.091751e-08, 0.39028642, 0.9206936, 0.73333335, 1, 2.2704533e-08, 7.072357e-08, 0.39872035, 0.91707265, 0.76666665, 1, 2.3360691e-08, 7.051947e-08, 0.40729463, 0.91329694, 0.8, 1, 2.400152e-08, 7.0313504e-08, 0.4156599, 0.90952015, 0.8333333, 1, 2.4600622e-08, 7.011499e-08, 0.42347273, 0.90590894, 0.8666667, 1, 2.509242e-08, 6.994767e-08, 0.42988047, 0.9028859, 0.9, 1, 2.5464708e-08, 6.981838e-08, 0.4347276, 0.900562, 0.93333334, 1, 2.5075877e-08, 6.94488e-08, 0.43768612, 0.8991279, 0.96666664, 1, 2.4243331e-08, 6.898199e-08, 0.4388793, 0.89854604, 1.0833334, 1, 2.4243331e-08, 6.898198e-08, 0.43887928, 0.89854604)
|
||||
tracks/3/type = "rotation_3d"
|
||||
tracks/3/imported = true
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Armature/Skeleton3D:hip.l")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = PackedFloat32Array(0, 1, -0.5, -0.5, -0.5, 0.5)
|
||||
tracks/4/type = "rotation_3d"
|
||||
tracks/4/imported = true
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Armature/Skeleton3D:upper_leg.l")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = PackedFloat32Array(0, 1, -0.7071068, -2.6692542e-08, 2.6692542e-08, 0.7071068)
|
||||
tracks/5/type = "rotation_3d"
|
||||
tracks/5/imported = true
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Armature/Skeleton3D:hip.r")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = PackedFloat32Array(0, 1, -0.5, 0.5, 0.5, 0.5)
|
||||
tracks/6/type = "rotation_3d"
|
||||
tracks/6/imported = true
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("Armature/Skeleton3D:upper_leg.r")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = PackedFloat32Array(0, 1, -0.7071068, -1.5454312e-08, 1.5454312e-08, 0.7071068)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_i5730"]
|
||||
resource_name = "jump"
|
||||
length = 0.20833333
|
||||
tracks/0/type = "rotation_3d"
|
||||
tracks/0/imported = true
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Armature/Skeleton3D:head")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1)
|
||||
tracks/1/type = "rotation_3d"
|
||||
tracks/1/imported = true
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Armature/Skeleton3D:arm.l")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = PackedFloat32Array(0, 1, 0.036538295, -0.050690103, -0.42360502, 0.9036893, 0.033333335, 1, 0.08287326, -0.118203335, -0.41701508, 0.89736193, 0.06666667, 1, 0.19100359, -0.27582675, -0.38983727, 0.8575921, 0.1, 1, 0.3289899, -0.47714087, -0.32671192, 0.7465666, 0.13333334, 1, 0.44907475, -0.65257686, -0.23154037, 0.5646809, 0.16666667, 1, 0.5169525, -0.7519604, -0.14098726, 0.38397694, 0.20833333, 1, 0.53779584, -0.7825644, -0.09865995, 0.2977161)
|
||||
tracks/2/type = "rotation_3d"
|
||||
tracks/2/imported = true
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Armature/Skeleton3D:arm.r")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = PackedFloat32Array(0, 1, 2.349101e-08, 6.948292e-08, 0.42525995, 0.90507126, 0.033333335, 1, -0.018352704, -0.016519874, 0.416211, 0.9089327, 0.06666667, 1, -0.056133576, -0.05052778, 0.39663497, 0.9148643, 0.1, 1, -0.10461941, -0.09417161, 0.3696238, 0.91845775, 0.13333334, 1, -0.15477219, -0.13931593, 0.33939558, 0.9173044, 0.16666667, 1, -0.19763152, -0.17789513, 0.31164458, 0.912235, 0.20833333, 1, -0.2195022, -0.19758171, 0.2967719, 0.9081336)
|
||||
tracks/3/type = "rotation_3d"
|
||||
tracks/3/imported = true
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Armature/Skeleton3D:hip.l")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = PackedFloat32Array(0, 1, -0.5, -0.5, -0.5, 0.5)
|
||||
tracks/4/type = "rotation_3d"
|
||||
tracks/4/imported = true
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Armature/Skeleton3D:upper_leg.l")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = PackedFloat32Array(0, 1, -0.7071068, -2.6692542e-08, 2.6692542e-08, 0.7071068, 0.033333335, 1, -0.70673823, 0.022826672, 0.022826724, 0.7067383, 0.06666667, 1, -0.70362854, 0.07004856, 0.07004862, 0.7036286, 0.1, 1, -0.6949302, 0.13065991, 0.13065997, 0.6949302, 0.13333334, 1, -0.6802412, 0.19305934, 0.1930594, 0.6802412, 0.16666667, 1, -0.66300935, 0.24580197, 0.24580202, 0.66300935, 0.20833333, 1, -0.6525517, 0.27235317, 0.2723532, 0.6525517)
|
||||
tracks/5/type = "rotation_3d"
|
||||
tracks/5/imported = true
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Armature/Skeleton3D:hip.r")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = PackedFloat32Array(0, 1, -0.5, 0.5, 0.5, 0.5)
|
||||
tracks/6/type = "rotation_3d"
|
||||
tracks/6/imported = true
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("Armature/Skeleton3D:upper_leg.r")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = PackedFloat32Array(0, 1, -0.7071068, -1.5454312e-08, 1.5454312e-08, 0.7071068, 0.033333335, 1, -0.706891, 0.01746796, 0.017467992, 0.70689106, 0.06666667, 1, -0.7050892, 0.053378057, 0.05337809, 0.7050892, 0.1, 1, -0.7000768, 0.09946126, 0.09946129, 0.7000767, 0.13333334, 1, -0.6916174, 0.14719175, 0.14719178, 0.69161737, 0.16666667, 1, -0.68162763, 0.18810582, 0.18810587, 0.6816276, 0.20833333, 1, -0.6754944, 0.20906316, 0.2090632, 0.6754943)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_4m5ha"]
|
||||
resource_name = "jump1-loop"
|
||||
length = 0.5833333
|
||||
loop_mode = 1
|
||||
tracks/0/type = "rotation_3d"
|
||||
tracks/0/imported = true
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Armature/Skeleton3D:head")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1)
|
||||
tracks/1/type = "rotation_3d"
|
||||
tracks/1/imported = true
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Armature/Skeleton3D:arm.l")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = PackedFloat32Array(0, 1, 0.16491105, -0.19907025, -0.46216232, 0.8482815, 0.033333335, 1, 0.16292813, -0.1966766, -0.44568896, 0.8579826, 0.06666667, 1, 0.15795462, -0.19067287, -0.40574467, 0.8798099, 0.1, 1, 0.14960615, -0.18059514, -0.34231567, 0.909848, 0.13333334, 1, 0.13738729, -0.16584532, -0.25570658, 0.94246185, 0.16666667, 1, 0.12086617, -0.14590205, -0.14725594, 0.970783, 0.2, 1, 0.10003102, -0.12075119, -0.02095889, 0.9874076, 0.23333333, 1, 0.07746595, -0.09351207, 0.10570058, 0.9869559, 0.26666668, 1, 0.05509115, -0.06650261, 0.22280262, 0.9710312, 0.3, 1, 0.03475427, -0.041953206, 0.32283667, 0.9448855, 0.33333334, 1, 0.01797073, -0.021693187, 0.4011522, 0.9155782, 0.36666667, 1, 0.0073409793, -0.008861614, 0.44884396, 0.89353603, 0.4, 1, 0.001871625, -0.0022593576, 0.47281396, 0.8811574, 0.43333334, 1, -6.8684805e-08, 3.97834e-08, 0.43325853, 0.9012697, 0.46666667, 1, -4.6923528e-08, 4.2163578e-08, 0.2959903, 0.95519096, 0.5, 1, -5.022673e-09, 4.4119368e-08, 0.031682793, 0.99949807, 0.53333336, 1, 3.723895e-08, 4.2906425e-08, -0.23490036, 0.97201943, 0.56666666, 1, 5.9497896e-08, 4.091479e-08, -0.37530804, 0.9269002, 0.5833333, 1, 6.728594e-08, 3.9968324e-08, -0.4244344, 0.9054587)
|
||||
tracks/2/type = "rotation_3d"
|
||||
tracks/2/imported = true
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Armature/Skeleton3D:arm.r")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = PackedFloat32Array(0, 1, 0.12278029, 0.103681155, 0.47836125, 0.8633341, 0.033333335, 1, 0.12142256, 0.10253463, 0.4610096, 0.87304837, 0.06666667, 1, 0.117976256, 0.09962444, 0.4187322, 0.89488554, 0.1, 1, 0.11208792, 0.09465207, 0.3511598, 0.9247508, 0.13333334, 1, 0.10329391, 0.08722602, 0.2582469, 0.9565723, 0.16666667, 1, 0.09115662, 0.07697676, 0.14110272, 0.98277926, 0.2, 1, 0.0755583, 0.06380485, 0.0039358935, 0.9950901, 0.23333333, 1, 0.058495414, 0.049396202, -0.13330726, 0.9881131, 0.26666668, 1, 0.041513238, 0.035055704, -0.25931442, 0.9642634, 0.3, 1, 0.02609686, 0.022037433, -0.36583734, 0.9300518, 0.33333334, 1, 0.013439841, 0.011349292, -0.44816688, 0.89377695, 0.36666667, 1, 0.005481215, 0.00462867, -0.49766386, 0.8673403, 0.4, 1, 0.0013952059, 0.0011782625, -0.52240455, 0.8526958, 0.43333334, 1, -2.5545276e-08, 6.776717e-08, -0.4822765, 0.87601906, 0.46666667, 1, -1.4686288e-08, 7.412076e-08, -0.34021562, 0.94034743, 0.5, 1, 6.0131793e-09, 8.1016715e-08, -0.060081095, 0.9981935, 0.53333336, 1, 2.6220649e-08, 8.1283744e-08, 0.22496933, 0.9743659, 0.56666666, 1, 2.6558359e-08, 7.398688e-08, 0.37372044, 0.9275414, 0.5833333, 1, 2.349101e-08, 6.948292e-08, 0.42525995, 0.90507126)
|
||||
tracks/3/type = "rotation_3d"
|
||||
tracks/3/imported = true
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Armature/Skeleton3D:hip.l")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = PackedFloat32Array(0, 1, -0.5, -0.5, -0.5, 0.5)
|
||||
tracks/4/type = "rotation_3d"
|
||||
tracks/4/imported = true
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Armature/Skeleton3D:upper_leg.l")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = PackedFloat32Array(0, 1, -0.6980985, 0.1125101, 0.112510145, 0.6980985, 0.033333335, 1, -0.6953522, 0.11572834, 0.11419779, 0.7000365, 0.06666667, 1, -0.6890111, 0.123073585, 0.118044704, 0.70440197, 0.1, 1, -0.6795414, 0.133829, 0.123665184, 0.7106477, 0.13333334, 1, -0.66739976, 0.14726606, 0.13066608, 0.71820384, 0.16666667, 1, -0.65306926, 0.16264959, 0.13865215, 0.72651315, 0.23333333, 1, -0.62081605, 0.19557627, 0.15563886, 0.7430437, 0.26666668, 1, -0.60487473, 0.2110678, 0.16357923, 0.75021255, 0.3, 1, -0.59004927, 0.22505257, 0.170718, 0.7563391, 0.33333334, 1, -0.57712626, 0.23692986, 0.1767586, 0.76127917, 0.36666667, 1, -0.5683018, 0.24488069, 0.18079057, 0.76444834, 0.4, 1, -0.56363004, 0.2490393, 0.18289568, 0.76606137, 0.43333334, 1, -0.57315195, 0.23559785, 0.17271246, 0.7656114, 0.46666667, 1, -0.6011017, 0.19609173, 0.14375125, 0.76128864, 0.53333336, 1, -0.68163, 0.057088032, 0.04185022, 0.7282651, 0.56666666, 1, -0.7004931, 0.015788428, 0.01157425, 0.71339065, 0.5833333, 1, -0.7071068, -2.6692542e-08, 2.6692542e-08, 0.7071068)
|
||||
tracks/5/type = "rotation_3d"
|
||||
tracks/5/imported = true
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Armature/Skeleton3D:hip.r")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = PackedFloat32Array(0, 1, -0.5, 0.5, 0.5, 0.5)
|
||||
tracks/6/type = "rotation_3d"
|
||||
tracks/6/imported = true
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("Armature/Skeleton3D:upper_leg.r")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = PackedFloat32Array(0, 1, -0.7023051, -0.08226587, -0.08226583, 0.702305, 0.033333335, 1, -0.7002828, -0.07615434, -0.07683486, 0.705621, 0.06666667, 1, -0.6954091, -0.062060937, -0.06430797, 0.7130351, 0.1, 1, -0.6876369, -0.041140474, -0.045705575, 0.7234459, 0.13333334, 1, -0.6768588, -0.014601349, -0.022094617, 0.73563635, 0.16666667, 1, -0.6630332, 0.01627228, 0.005390068, 0.7483938, 0.23333333, 1, -0.6279835, 0.083747916, 0.0655246, 0.77092785, 0.26666668, 1, -0.6090053, 0.115754455, 0.09408087, 0.77901363, 0.3, 1, -0.5905409, 0.1446456, 0.119875684, 0.78483695, 0.33333334, 1, -0.5739046, 0.1690913, 0.14171518, 0.7886435, 0.36666667, 1, -0.56231534, 0.18534684, 0.15624487, 0.79059196, 0.4, 1, -0.5561034, 0.19382134, 0.16382195, 0.7914195, 0.43333334, 1, -0.5651424, 0.18495072, 0.15646008, 0.78862387, 0.46666667, 1, -0.593492, 0.15372734, 0.13004649, 0.7792454, 0.53333336, 1, -0.67835075, 0.04472942, 0.037839115, 0.7323987, 0.56666666, 1, -0.69949377, 0.012381507, 0.010474229, 0.71445477, 0.5833333, 1, -0.7071068, -1.5454312e-08, 1.5454312e-08, 0.7071068)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_qw38m"]
|
||||
resource_name = "pickup"
|
||||
length = 0.20833333
|
||||
tracks/0/type = "rotation_3d"
|
||||
tracks/0/imported = true
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Armature/Skeleton3D:head")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1)
|
||||
tracks/1/type = "rotation_3d"
|
||||
tracks/1/imported = true
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Armature/Skeleton3D:arm.l")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = PackedFloat32Array(0, 1, 6.728594e-08, 3.9968324e-08, -0.4244344, 0.9054587, 0.033333335, 1, 0.044615045, -0.02984432, -0.4370112, 0.897853, 0.06666667, 1, 0.14010738, -0.09372214, -0.4594671, 0.8720528, 0.1, 1, 0.26287308, -0.17584398, -0.47896206, 0.8188846, 0.13333334, 1, 0.38504738, -0.25757024, -0.48653138, 0.74073166, 0.16666667, 1, 0.48032945, -0.3213074, -0.4823678, 0.65830576, 0.20833333, 1, 0.523814, -0.3503956, -0.47677234, 0.612805)
|
||||
tracks/2/type = "rotation_3d"
|
||||
tracks/2/imported = true
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Armature/Skeleton3D:arm.r")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = PackedFloat32Array(0, 1, 2.349101e-08, 6.948292e-08, 0.42525995, 0.90507126, 0.033333335, 1, 0.041553196, 0.033103567, 0.43505287, 0.8988362, 0.06666667, 1, 0.13026266, 0.10377432, 0.45171005, 0.8764819, 0.1, 1, 0.24429049, 0.19461507, 0.46422726, 0.82881856, 0.13333334, 1, 0.35806894, 0.28525713, 0.46552187, 0.7574328, 0.16666667, 1, 0.4473714, 0.35640028, 0.45702252, 0.68115205, 0.20833333, 1, 0.48844275, 0.38911995, 0.44961932, 0.6386328)
|
||||
tracks/3/type = "rotation_3d"
|
||||
tracks/3/imported = true
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Armature/Skeleton3D:hip.l")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = PackedFloat32Array(0, 1, -0.5, -0.5, -0.5, 0.5)
|
||||
tracks/4/type = "rotation_3d"
|
||||
tracks/4/imported = true
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Armature/Skeleton3D:upper_leg.l")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = PackedFloat32Array(0, 1, -0.7071068, -2.6692542e-08, 2.6692542e-08, 0.7071068)
|
||||
tracks/5/type = "rotation_3d"
|
||||
tracks/5/imported = true
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Armature/Skeleton3D:hip.r")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = PackedFloat32Array(0, 1, -0.5, 0.5, 0.5, 0.5)
|
||||
tracks/6/type = "rotation_3d"
|
||||
tracks/6/imported = true
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("Armature/Skeleton3D:upper_leg.r")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = PackedFloat32Array(0, 1, -0.7071068, -1.5454312e-08, 1.5454312e-08, 0.7071068)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_5eaja"]
|
||||
resource_name = "pickup_walk"
|
||||
length = 1.0833334
|
||||
tracks/0/type = "rotation_3d"
|
||||
tracks/0/imported = true
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Armature/Skeleton3D:head")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1)
|
||||
tracks/1/type = "rotation_3d"
|
||||
tracks/1/imported = true
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Armature/Skeleton3D:arm.l")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = PackedFloat32Array(0, 1, 0.44240275, -0.53902584, -0.342163, 0.6298059)
|
||||
tracks/2/type = "rotation_3d"
|
||||
tracks/2/imported = true
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Armature/Skeleton3D:arm.r")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = PackedFloat32Array(0, 1, 0.43278182, 0.49161798, 0.3524288, 0.6684352)
|
||||
tracks/3/type = "rotation_3d"
|
||||
tracks/3/imported = true
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Armature/Skeleton3D:hip.l")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = PackedFloat32Array(0, 1, -0.5, -0.5, -0.5, 0.5)
|
||||
tracks/4/type = "rotation_3d"
|
||||
tracks/4/imported = true
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Armature/Skeleton3D:upper_leg.l")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = PackedFloat32Array(0, 1, -0.60595876, 0.3644366, 0.36443666, 0.6059587, 0.06666667, 1, -0.60595876, 0.3644366, 0.36443666, 0.6059587, 0.1, 1, -0.6032101, 0.36896825, 0.36896828, 0.6032101, 0.13333334, 1, -0.59639233, 0.37988952, 0.37988958, 0.59639245, 0.16666667, 1, -0.5855792, 0.39635456, 0.39635462, 0.5855793, 0.2, 1, -0.5795719, 0.40508807, 0.40508813, 0.57957196, 0.23333333, 1, -0.5895815, 0.39037627, 0.39037627, 0.58958155, 0.26666668, 1, -0.6165933, 0.34613982, 0.34613985, 0.6165933, 0.3, 1, -0.6541701, 0.26844278, 0.2684428, 0.6541701, 0.33333334, 1, -0.6892638, 0.15784594, 0.157846, 0.6892639, 0.36666667, 1, -0.7066153, 0.026357096, 0.026357153, 0.70661545, 0.4, 1, -0.7008727, -0.093687855, -0.0936878, 0.7008728, 0.43333334, 1, -0.6816648, -0.18797097, -0.1879709, 0.6816648, 0.46666667, 1, -0.6618372, -0.24894077, -0.24894069, 0.6618373, 0.5, 1, -0.6517511, -0.27426365, -0.27426362, 0.6517511, 0.53333336, 1, -0.6582527, -0.25827003, -0.25826997, 0.65825266, 0.56666666, 1, -0.67109025, -0.22279571, -0.22279567, 0.67109025, 0.6, 1, -0.6857183, -0.17259939, -0.17259935, 0.68571824, 0.6666667, 1, -0.70495313, -0.05514667, -0.055146623, 0.7049531, 0.7, 1, -0.70691395, -0.016512973, -0.016512923, 0.70691395, 0.73333335, 1, -0.7071068, -0.00015736022, -0.00015730923, 0.7071068, 0.76666665, 1, -0.7070719, 0.0070313667, 0.00703141, 0.70707184, 0.8, 1, -0.70687455, 0.018124059, 0.018124092, 0.70687443, 0.8333333, 1, -0.7056039, 0.046078686, 0.046078723, 0.7056038, 0.8666667, 1, -0.7008078, 0.09417304, 0.09417307, 0.70080763, 0.9, 1, -0.6911309, 0.14945938, 0.14945939, 0.6911309, 0.93333334, 1, -0.67634094, 0.206308, 0.20630804, 0.6763409, 0.96666664, 1, -0.6577143, 0.25963807, 0.2596381, 0.65771425, 1, 1, -0.6378587, 0.3051825, 0.30518252, 0.63785857, 1.0333333, 1, -0.6225582, 0.33529305, 0.33529308, 0.62255806, 1.0666667, 1, -0.61391485, 0.35086837, 0.35086843, 0.6139148, 1.0833334, 1, -0.6107917, 0.3562773, 0.35627735, 0.6107917)
|
||||
tracks/5/type = "rotation_3d"
|
||||
tracks/5/imported = true
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Armature/Skeleton3D:hip.r")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = PackedFloat32Array(0, 1, -0.5, 0.5, 0.5, 0.5)
|
||||
tracks/6/type = "rotation_3d"
|
||||
tracks/6/imported = true
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("Armature/Skeleton3D:upper_leg.r")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = PackedFloat32Array(0, 1, -0.66778064, 0.2325275, 0.23252754, 0.66778064, 0.033333335, 1, -0.6728083, 0.21755226, 0.21755232, 0.6728083, 0.06666667, 1, -0.6822603, 0.18579805, 0.18579808, 0.6822603, 0.1, 1, -0.6924698, 0.14312816, 0.14312819, 0.6924698, 0.13333334, 1, -0.70056885, 0.09593359, 0.09593362, 0.7005689, 0.16666667, 1, -0.7052536, 0.051159598, 0.05115963, 0.70525366, 0.2, 1, -0.7067271, 0.023168769, 0.023168799, 0.70672715, 0.23333333, 1, -0.7070106, 0.011661734, 0.011661766, 0.7070106, 0.26666668, 1, -0.70709205, 0.004570252, 0.004570281, 0.70709205, 0.3, 1, -0.70703137, -0.010325267, -0.010325237, 0.7070314, 0.33333334, 1, -0.7056518, -0.045337453, -0.04533742, 0.7056519, 0.36666667, 1, -0.6996207, -0.102619424, -0.102619395, 0.69962084, 0.4, 1, -0.68725264, -0.16638435, -0.16638432, 0.68725276, 0.43333334, 1, -0.6688022, -0.2295728, -0.22957277, 0.6688022, 0.46666667, 1, -0.6466371, -0.28611276, -0.28611273, 0.6466371, 0.5, 1, -0.6247237, -0.33124068, -0.33124065, 0.6247236, 0.53333336, 1, -0.60671896, -0.36316958, -0.36316955, 0.606719, 0.56666666, 1, -0.5896747, -0.39023554, -0.39023548, 0.5896747, 0.6, 1, -0.573949, -0.4130166, -0.41301656, 0.5739489, 0.6333333, 1, -0.5598276, -0.43196422, -0.4319642, 0.55982757, 0.6666667, 1, -0.5475638, -0.447408, -0.44740796, 0.5475638, 0.7, 1, -0.53831047, -0.45849967, -0.45849964, 0.53831035, 0.73333335, 1, -0.53158885, -0.46627605, -0.46627602, 0.5315888, 0.76666665, 1, -0.5276454, -0.4707339, -0.4707339, 0.5276454, 0.8, 1, -0.531291, -0.46661535, -0.46661535, 0.531291, 0.8333333, 1, -0.5512564, -0.4428502, -0.4428502, 0.5512565, 0.8666667, 1, -0.6014973, -0.37175405, -0.37175405, 0.6014972, 0.9, 1, -0.6556332, -0.26484933, -0.2648493, 0.65563315, 0.93333334, 1, -0.6944868, -0.13299699, -0.13299698, 0.69448674, 0.96666664, 1, -0.7070926, 0.004495856, 0.0044958577, 0.70709246, 1, 1, -0.6961938, 0.12375077, 0.123750776, 0.6961937, 1.0333333, 1, -0.67905474, 0.19719204, 0.19719204, 0.6790547, 1.0666667, 1, -0.6672913, 0.23392808, 0.23392811, 0.6672913, 1.0833334, 1, -0.66282797, 0.24629061, 0.24629065, 0.66282797)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_pg0cp"]
|
||||
resource_name = "reset"
|
||||
length = 0.001
|
||||
tracks/0/type = "rotation_3d"
|
||||
tracks/0/imported = true
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Armature/Skeleton3D:head")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1)
|
||||
tracks/1/type = "rotation_3d"
|
||||
tracks/1/imported = true
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Armature/Skeleton3D:arm.l")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = PackedFloat32Array(0, 1, 6.728594e-08, 3.9968324e-08, -0.4244344, 0.9054587)
|
||||
tracks/2/type = "rotation_3d"
|
||||
tracks/2/imported = true
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Armature/Skeleton3D:arm.r")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = PackedFloat32Array(0, 1, 2.349101e-08, 6.948292e-08, 0.42525995, 0.90507126)
|
||||
tracks/3/type = "rotation_3d"
|
||||
tracks/3/imported = true
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Armature/Skeleton3D:hip.l")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = PackedFloat32Array(0, 1, -0.5, -0.5, -0.5, 0.5)
|
||||
tracks/4/type = "rotation_3d"
|
||||
tracks/4/imported = true
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Armature/Skeleton3D:upper_leg.l")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = PackedFloat32Array(0, 1, -0.7071068, -2.6692542e-08, 2.6692542e-08, 0.7071068)
|
||||
tracks/5/type = "rotation_3d"
|
||||
tracks/5/imported = true
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Armature/Skeleton3D:hip.r")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = PackedFloat32Array(0, 1, -0.5, 0.5, 0.5, 0.5)
|
||||
tracks/6/type = "rotation_3d"
|
||||
tracks/6/imported = true
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("Armature/Skeleton3D:upper_leg.r")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = PackedFloat32Array(0, 1, -0.7071068, -1.5454312e-08, 1.5454312e-08, 0.7071068)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_52h43"]
|
||||
resource_name = "walk-loop"
|
||||
length = 1.0833334
|
||||
tracks/0/type = "rotation_3d"
|
||||
tracks/0/imported = true
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Armature/Skeleton3D:head")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1)
|
||||
tracks/1/type = "rotation_3d"
|
||||
tracks/1/imported = true
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Armature/Skeleton3D:arm.l")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = PackedFloat32Array(0, 1, 0.274355, -0.3806173, -0.37481663, 0.79960775, 0.033333335, 1, 0.2714617, -0.37660342, -0.37592492, 0.801972, 0.06666667, 1, 0.26462373, -0.36711693, -0.3784849, 0.80743337, 0.1, 1, 0.25419867, -0.3526541, -0.3822309, 0.81542486, 0.13333334, 1, 0.24051654, -0.33367264, -0.38686773, 0.8253168, 0.16666667, 1, 0.223897, -0.31061602, -0.39208817, 0.8364536, 0.2, 1, 0.20407194, -0.28311232, -0.39774787, 0.8485275, 0.23333333, 1, 0.18218736, -0.25275153, -0.40330747, 0.86038804, 0.26666668, 1, 0.15845338, -0.21982497, -0.40855402, 0.87158084, 0.3, 1, 0.13305698, -0.1845921, -0.4133, 0.8817056, 0.33333334, 1, 0.10615978, -0.14727713, -0.41738102, 0.8904115, 0.36666667, 1, 0.07725142, -0.10717209, -0.42071414, 0.89752215, 0.4, 1, 0.04718683, -0.06546298, -0.42305017, 0.90250576, 0.46666667, 1, -0.013830324, 0.019187145, -0.42431563, 0.9052055, 0.5, 1, -0.043459024, 0.060291544, -0.42326054, 0.9029545, 0.53333336, 1, -0.07086286, 0.09830934, -0.42130613, 0.89878523, 0.56666666, 1, -0.0958137, 0.13292404, -0.41869774, 0.89322066, 0.6, 1, -0.11789824, 0.1635623, -0.41571766, 0.8868631, 0.6333333, 1, -0.13676141, 0.18973155, -0.41266248, 0.88034546, 0.6666667, 1, -0.15209931, 0.21101007, -0.4098244, 0.8742909, 0.7, 1, -0.16219473, 0.22501555, -0.4077798, 0.869929, 0.73333335, 1, -0.16787551, 0.23289663, -0.40656674, 0.86734104, 0.76666665, 1, -0.16340235, 0.22669093, -0.40752575, 0.869387, 0.8, 1, -0.14386564, 0.19958729, -0.4113879, 0.8776261, 0.8333333, 1, -0.10497887, 0.14563906, -0.4175384, 0.89074713, 0.8666667, 1, -0.045283653, 0.062822886, -0.4231598, 0.90273947, 0.9, 1, 0.02366014, -0.032823984, -0.42408693, 0.9047172, 0.93333334, 1, 0.094985865, -0.13177535, -0.41879725, 0.8934326, 0.96666664, 1, 0.16181995, -0.22449538, -0.40785837, 0.8700963, 1, 1, 0.21807429, -0.30253798, -0.39381355, 0.84013414, 1.0333333, 1, 0.25417697, -0.3526239, -0.38223866, 0.81544113, 1.0666667, 1, 0.27256402, -0.37813258, -0.3755045, 0.8010749, 1.0833334, 1, 0.27887058, -0.3868817, -0.3730568, 0.79585326)
|
||||
tracks/2/type = "rotation_3d"
|
||||
tracks/2/imported = true
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Armature/Skeleton3D:arm.r")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = PackedFloat32Array(0, 1, -0.15459529, -0.21817005, 0.40977544, 0.87211597, 0.033333335, 1, -0.15927261, -0.22477087, 0.40880525, 0.87005097, 0.06666667, 1, -0.16879784, -0.23821317, 0.4067322, 0.865639, 0.1, 1, -0.18100263, -0.255437, 0.40388274, 0.8595747, 0.13333334, 1, -0.19377217, -0.2734578, 0.40066472, 0.85272574, 0.16666667, 1, -0.20507099, -0.28940308, 0.3976105, 0.84622556, 0.2, 1, -0.21054503, -0.29712823, 0.3960597, 0.84292495, 0.23333333, 1, -0.19928291, -0.28123477, 0.3991996, 0.8496076, 0.26666668, 1, -0.16628906, -0.23467276, 0.40729094, 0.8668281, 0.3, 1, -0.110335134, -0.15570866, 0.4174444, 0.88843757, 0.33333334, 1, -0.035037424, -0.049446005, 0.42447835, 0.9034078, 0.36666667, 1, 0.04999893, 0.07056013, 0.42366678, 0.9016806, 0.4, 1, 0.12684685, 0.17901048, 0.4148988, 0.8830199, 0.43333334, 1, 0.18774644, 0.26495403, 0.40221378, 0.85602266, 0.46666667, 1, 0.22797991, 0.32173282, 0.39080286, 0.8317369, 0.5, 1, 0.24508724, 0.3458753, 0.38516036, 0.819728, 0.53333336, 1, 0.24129015, 0.34051675, 0.3864553, 0.822484, 0.56666666, 1, 0.23222496, 0.32772362, 0.38944834, 0.828854, 0.6, 1, 0.21821508, 0.30795246, 0.39380717, 0.8381309, 0.6333333, 1, 0.19955707, 0.28162166, 0.39912558, 0.8494498, 0.6666667, 1, 0.17654917, 0.24915215, 0.40494794, 0.8618415, 0.7, 1, 0.14872853, 0.2098907, 0.4109485, 0.87461245, 0.73333335, 1, 0.1180961, 0.1666612, 0.41629404, 0.88598907, 0.76666665, 1, 0.08543309, 0.120566085, 0.42059168, 0.89513564, 0.8333333, 1, 0.017634049, 0.024885863, 0.4250622, 0.90465015, 0.8666667, 1, -0.01467868, -0.020714985, 0.425123, 0.9047795, 0.9, 1, -0.04446189, -0.062746026, 0.42400077, 0.9023911, 0.93333334, 1, -0.07099054, -0.10018411, 0.4220422, 0.89822274, 0.96666664, 1, -0.09364835, -0.1321596, 0.41964442, 0.8931196, 1, 1, -0.111921966, -0.15794797, 0.4172158, 0.88795096, 1.0333333, 1, -0.12352726, -0.1743257, 0.41544038, 0.88417244, 1.0666667, 1, -0.12948188, -0.18272904, 0.41445833, 0.88208216, 1.0833334, 1, -0.13152054, -0.18560605, 0.4141109, 0.88134265)
|
||||
tracks/3/type = "rotation_3d"
|
||||
tracks/3/imported = true
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Armature/Skeleton3D:hip.l")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = PackedFloat32Array(0, 1, -0.5, -0.5, -0.5, 0.5)
|
||||
tracks/4/type = "rotation_3d"
|
||||
tracks/4/imported = true
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Armature/Skeleton3D:upper_leg.l")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = PackedFloat32Array(0, 1, -0.60595876, 0.3644366, 0.36443666, 0.6059587, 0.06666667, 1, -0.60595876, 0.3644366, 0.36443666, 0.6059587, 0.1, 1, -0.6032101, 0.36896825, 0.36896828, 0.6032101, 0.13333334, 1, -0.59639233, 0.37988952, 0.37988958, 0.59639245, 0.16666667, 1, -0.5855792, 0.39635456, 0.39635462, 0.5855793, 0.2, 1, -0.5795719, 0.40508807, 0.40508813, 0.57957196, 0.23333333, 1, -0.5895815, 0.39037627, 0.39037627, 0.58958155, 0.26666668, 1, -0.6165933, 0.34613982, 0.34613985, 0.6165933, 0.3, 1, -0.6541701, 0.26844278, 0.2684428, 0.6541701, 0.33333334, 1, -0.6892638, 0.15784594, 0.157846, 0.6892639, 0.36666667, 1, -0.7066153, 0.026357096, 0.026357153, 0.70661545, 0.4, 1, -0.7008727, -0.093687855, -0.0936878, 0.7008728, 0.43333334, 1, -0.6816648, -0.18797097, -0.1879709, 0.6816648, 0.46666667, 1, -0.6618372, -0.24894077, -0.24894069, 0.6618373, 0.5, 1, -0.6517511, -0.27426365, -0.27426362, 0.6517511, 0.53333336, 1, -0.6582527, -0.25827003, -0.25826997, 0.65825266, 0.56666666, 1, -0.67109025, -0.22279571, -0.22279567, 0.67109025, 0.6, 1, -0.6857183, -0.17259939, -0.17259935, 0.68571824, 0.6666667, 1, -0.70495313, -0.05514667, -0.055146623, 0.7049531, 0.7, 1, -0.70691395, -0.016512973, -0.016512923, 0.70691395, 0.73333335, 1, -0.7071068, -0.00015736022, -0.00015730923, 0.7071068, 0.76666665, 1, -0.7070719, 0.0070313667, 0.00703141, 0.70707184, 0.8, 1, -0.70687455, 0.018124059, 0.018124092, 0.70687443, 0.8333333, 1, -0.7056039, 0.046078686, 0.046078723, 0.7056038, 0.8666667, 1, -0.7008078, 0.09417304, 0.09417307, 0.70080763, 0.9, 1, -0.6911309, 0.14945938, 0.14945939, 0.6911309, 0.93333334, 1, -0.67634094, 0.206308, 0.20630804, 0.6763409, 0.96666664, 1, -0.6577143, 0.25963807, 0.2596381, 0.65771425, 1, 1, -0.6378587, 0.3051825, 0.30518252, 0.63785857, 1.0333333, 1, -0.6225582, 0.33529305, 0.33529308, 0.62255806, 1.0666667, 1, -0.61391485, 0.35086837, 0.35086843, 0.6139148, 1.0833334, 1, -0.6107917, 0.3562773, 0.35627735, 0.6107917)
|
||||
tracks/5/type = "rotation_3d"
|
||||
tracks/5/imported = true
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Armature/Skeleton3D:hip.r")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = PackedFloat32Array(0, 1, -0.5, 0.5, 0.5, 0.5)
|
||||
tracks/6/type = "rotation_3d"
|
||||
tracks/6/imported = true
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("Armature/Skeleton3D:upper_leg.r")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = PackedFloat32Array(0, 1, -0.66778064, 0.2325275, 0.23252754, 0.66778064, 0.033333335, 1, -0.6728083, 0.21755226, 0.21755232, 0.6728083, 0.06666667, 1, -0.6822603, 0.18579805, 0.18579808, 0.6822603, 0.1, 1, -0.6924698, 0.14312816, 0.14312819, 0.6924698, 0.13333334, 1, -0.70056885, 0.09593359, 0.09593362, 0.7005689, 0.16666667, 1, -0.7052536, 0.051159598, 0.05115963, 0.70525366, 0.2, 1, -0.7067271, 0.023168769, 0.023168799, 0.70672715, 0.23333333, 1, -0.7070106, 0.011661734, 0.011661766, 0.7070106, 0.26666668, 1, -0.70709205, 0.004570252, 0.004570281, 0.70709205, 0.3, 1, -0.70703137, -0.010325267, -0.010325237, 0.7070314, 0.33333334, 1, -0.7056518, -0.045337453, -0.04533742, 0.7056519, 0.36666667, 1, -0.6996207, -0.102619424, -0.102619395, 0.69962084, 0.4, 1, -0.68725264, -0.16638435, -0.16638432, 0.68725276, 0.43333334, 1, -0.6688022, -0.2295728, -0.22957277, 0.6688022, 0.46666667, 1, -0.6466371, -0.28611276, -0.28611273, 0.6466371, 0.5, 1, -0.6247237, -0.33124068, -0.33124065, 0.6247236, 0.53333336, 1, -0.60671896, -0.36316958, -0.36316955, 0.606719, 0.56666666, 1, -0.5896747, -0.39023554, -0.39023548, 0.5896747, 0.6, 1, -0.573949, -0.4130166, -0.41301656, 0.5739489, 0.6333333, 1, -0.5598276, -0.43196422, -0.4319642, 0.55982757, 0.6666667, 1, -0.5475638, -0.447408, -0.44740796, 0.5475638, 0.7, 1, -0.53831047, -0.45849967, -0.45849964, 0.53831035, 0.73333335, 1, -0.53158885, -0.46627605, -0.46627602, 0.5315888, 0.76666665, 1, -0.5276454, -0.4707339, -0.4707339, 0.5276454, 0.8, 1, -0.531291, -0.46661535, -0.46661535, 0.531291, 0.8333333, 1, -0.5512564, -0.4428502, -0.4428502, 0.5512565, 0.8666667, 1, -0.6014973, -0.37175405, -0.37175405, 0.6014972, 0.9, 1, -0.6556332, -0.26484933, -0.2648493, 0.65563315, 0.93333334, 1, -0.6944868, -0.13299699, -0.13299698, 0.69448674, 0.96666664, 1, -0.7070926, 0.004495856, 0.0044958577, 0.70709246, 1, 1, -0.6961938, 0.12375077, 0.123750776, 0.6961937, 1.0333333, 1, -0.67905474, 0.19719204, 0.19719204, 0.6790547, 1.0666667, 1, -0.6672913, 0.23392808, 0.23392811, 0.6672913, 1.0833334, 1, -0.66282797, 0.24629061, 0.24629065, 0.66282797)
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_pj205"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_3fe0i"),
|
||||
&"collect_helper_part2": SubResource("Animation_erypk"),
|
||||
&"helper_visible": SubResource("Animation_4r34j"),
|
||||
&"idle": SubResource("Animation_kitjm"),
|
||||
&"jump": SubResource("Animation_i5730"),
|
||||
&"jump1": SubResource("Animation_4m5ha"),
|
||||
&"pickup": SubResource("Animation_qw38m"),
|
||||
&"pickup_walk": SubResource("Animation_5eaja"),
|
||||
&"reset": SubResource("Animation_pg0cp"),
|
||||
&"walk": SubResource("Animation_52h43")
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ijy7i"]
|
||||
resource_name = "collect_helper_part2"
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("helper:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.0960083, 1.1406784, 0.538002), Vector3(0.0960083, -0.08320968, 0.538002)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("helper:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, true]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_qpqd5"]
|
||||
_data = {
|
||||
&"collect_helper_part2": SubResource("Animation_ijy7i")
|
||||
}
|
||||
|
||||
[node name="Player" type="CharacterBody3D"]
|
||||
collision_mask = 95
|
||||
script = ExtResource("1_dq61c")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00389862, -0.462623, 0.104645)
|
||||
shape = SubResource("BoxShape3D_uk0nh")
|
||||
|
||||
[node name="Camera_Controller" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
top_level = true
|
||||
|
||||
[node name="Camera_Pivot" type="SpringArm3D" parent="Camera_Controller"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.93358, 0.358368, 0, -0.358368, 0.93358, 0, 0, 0)
|
||||
collision_mask = 2
|
||||
spring_length = 5.0
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="Camera_Controller/Camera_Pivot"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.375, 4.596)
|
||||
current = true
|
||||
fov = 70.0
|
||||
|
||||
[node name="RayCast3D" type="RayCast3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.38872, 0)
|
||||
collision_mask = 14
|
||||
|
||||
[node name="InteractRay" parent="." instance=ExtResource("3_wknd5")]
|
||||
transform = Transform3D(1.17, 0, 0, 0, -5.11423e-08, -1.17, 0, 1.17, -5.11423e-08, 0, -0.382462, 0)
|
||||
collision_mask = 12
|
||||
debug_shape_custom_color = Color(0.79, 0.00789999, 0.00789999, 1)
|
||||
|
||||
[node name="Armature" type="Node3D" parent="."]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, -1.41604, 0)
|
||||
|
||||
[node name="Skeleton3D" type="Skeleton3D" parent="Armature"]
|
||||
bones/0/name = "body"
|
||||
bones/0/parent = -1
|
||||
bones/0/rest = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.3528, 0)
|
||||
bones/0/enabled = true
|
||||
bones/0/position = Vector3(0, 0.35279977, 0)
|
||||
bones/0/rotation = Quaternion(0, 0, 0, 1)
|
||||
bones/0/scale = Vector3(1, 1, 1)
|
||||
bones/1/name = "head"
|
||||
bones/1/parent = 0
|
||||
bones/1/rest = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.606169, 0)
|
||||
bones/1/enabled = true
|
||||
bones/1/position = Vector3(0, 0.606169, 0)
|
||||
bones/1/rotation = Quaternion(0, 0, 0, 1)
|
||||
bones/1/scale = Vector3(1, 1, 1)
|
||||
bones/2/name = "shoulder.l"
|
||||
bones/2/parent = 0
|
||||
bones/2/rest = Transform3D(-0.185149, 0.982711, -2.1179e-08, -0.982711, -0.185148, -1.12412e-07, -1.14389e-07, -1.06581e-14, 1, 0, 0.606169, 0)
|
||||
bones/2/enabled = true
|
||||
bones/2/position = Vector3(0, 0.606169, 0)
|
||||
bones/2/rotation = Quaternion(4.4027612e-08, 3.650722e-08, -0.7697886, 0.6382989)
|
||||
bones/2/scale = Vector3(1.0000005, 1.0000004, 1)
|
||||
bones/3/name = "arm.l"
|
||||
bones/3/parent = 2
|
||||
bones/3/rest = Transform3D(0.639711, 0.768615, 1.52624e-08, -0.768616, 0.639711, -1.55777e-07, -1.29496e-07, 8.79214e-08, 1, 2.6077e-08, 0.291873, 4.88498e-15)
|
||||
bones/3/enabled = true
|
||||
bones/3/position = Vector3(2.6077e-08, 0.291873, 4.88498e-15)
|
||||
bones/3/rotation = Quaternion(0.27435496, -0.3806172, -0.37481663, 0.79960763)
|
||||
bones/3/scale = Vector3(1.0000004, 0.99999964, 1)
|
||||
bones/4/name = "shoulder.r"
|
||||
bones/4/parent = 0
|
||||
bones/4/rest = Transform3D(-0.176299, -0.984337, 2.32732e-08, 0.984337, -0.176299, -1.29942e-07, 1.3201e-07, -1.42109e-14, 1, 0, 0.606169, 0)
|
||||
bones/4/enabled = true
|
||||
bones/4/position = Vector3(0, 0.606169, 0)
|
||||
bones/4/rotation = Quaternion(5.0619818e-08, -4.235909e-08, 0.76690906, 0.6417558)
|
||||
bones/4/scale = Vector3(1.0000002, 1.0000002, 1)
|
||||
bones/5/name = "arm.r"
|
||||
bones/5/parent = 4
|
||||
bones/5/rest = Transform3D(0.638308, -0.769781, 1.45754e-07, 0.769781, 0.638308, 1.65745e-08, -1.05794e-07, 1.01619e-07, 1, 2.23517e-08, 0.282945, -5.32907e-15)
|
||||
bones/5/enabled = true
|
||||
bones/5/position = Vector3(2.23517e-08, 0.282945, -5.32907e-15)
|
||||
bones/5/rotation = Quaternion(-0.15459529, -0.21817008, 0.40977547, 0.872116)
|
||||
bones/5/scale = Vector3(0.99999994, 0.99999994, 1)
|
||||
bones/6/name = "hip.l"
|
||||
bones/6/parent = -1
|
||||
bones/6/rest = Transform3D(0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0.3528, 0)
|
||||
bones/6/enabled = true
|
||||
bones/6/position = Vector3(0, 0.35279977, 0)
|
||||
bones/6/rotation = Quaternion(0.5, 0.5, 0.5, -0.5)
|
||||
bones/6/scale = Vector3(1, 1, 1)
|
||||
bones/7/name = "upper_leg.l"
|
||||
bones/7/parent = 6
|
||||
bones/7/rest = Transform3D(1, 0, -7.54979e-08, 7.54979e-08, 0, 1, 0, -1, 0, 0, 0.16212, 0)
|
||||
bones/7/enabled = true
|
||||
bones/7/position = Vector3(0, 0.16212, 0)
|
||||
bones/7/rotation = Quaternion(-0.6059587, 0.3644366, 0.3644366, 0.6059587)
|
||||
bones/7/scale = Vector3(1, 1, 1)
|
||||
bones/8/name = "lower_leg.l"
|
||||
bones/8/parent = 7
|
||||
bones/8/rest = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.103923, 0)
|
||||
bones/8/enabled = true
|
||||
bones/8/position = Vector3(0, 0.103923, 0)
|
||||
bones/8/rotation = Quaternion(0, 0, 0, 1)
|
||||
bones/8/scale = Vector3(1, 1, 1)
|
||||
bones/9/name = "hip.r"
|
||||
bones/9/parent = -1
|
||||
bones/9/rest = Transform3D(0, -1, 0, 0, 0, 1, -1, 0, 0, 0, 0.3528, 0)
|
||||
bones/9/enabled = true
|
||||
bones/9/position = Vector3(0, 0.35279977, 0)
|
||||
bones/9/rotation = Quaternion(0.5, -0.5, -0.5, -0.5)
|
||||
bones/9/scale = Vector3(1, 1, 1)
|
||||
bones/10/name = "upper_leg.r"
|
||||
bones/10/parent = 9
|
||||
bones/10/rest = Transform3D(1, 0, -4.37114e-08, 4.37114e-08, 0, 1, 0, -1, 0, 0, 0.145492, 0)
|
||||
bones/10/enabled = true
|
||||
bones/10/position = Vector3(0, 0.145492, 0)
|
||||
bones/10/rotation = Quaternion(-0.66778064, 0.23252751, 0.23252754, 0.66778064)
|
||||
bones/10/scale = Vector3(1, 1, 1)
|
||||
bones/11/name = "lower_leg.r"
|
||||
bones/11/parent = 10
|
||||
bones/11/rest = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.10808, 0)
|
||||
bones/11/enabled = true
|
||||
bones/11/position = Vector3(0, 0.10808, 0)
|
||||
bones/11/rotation = Quaternion(0, 0, 0, 1)
|
||||
bones/11/scale = Vector3(1, 1, 1)
|
||||
bones/12/name = "neutral_bone"
|
||||
bones/12/parent = -1
|
||||
bones/12/rest = Transform3D(1, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0)
|
||||
bones/12/enabled = true
|
||||
bones/12/position = Vector3(0, 0, 0)
|
||||
bones/12/rotation = Quaternion(-0.70710677, 0, 0, 0.70710677)
|
||||
bones/12/scale = Vector3(1, 1, 1)
|
||||
|
||||
[node name="CharacterMesh" type="MeshInstance3D" parent="Armature/Skeleton3D"]
|
||||
mesh = ExtResource("3_gyuqh")
|
||||
skin = SubResource("Skin_gyuqh")
|
||||
|
||||
[node name="Crosshair" type="Control" parent="."]
|
||||
layout_mode = 3
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -20.0
|
||||
offset_top = -20.0
|
||||
offset_right = 20.0
|
||||
offset_bottom = 20.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("4_gyuqh")
|
||||
metadata/_edit_use_anchors_ = true
|
||||
|
||||
[node name="Horizontal" type="Line2D" parent="Crosshair"]
|
||||
points = PackedVector2Array(-15, 0, 15, 0)
|
||||
width = 2.0
|
||||
|
||||
[node name="Vertical" type="Line2D" parent="Crosshair"]
|
||||
points = PackedVector2Array(0, -15, 0, 15)
|
||||
width = 2.0
|
||||
|
||||
[node name="Inventory" parent="." instance=ExtResource("5_wknd5")]
|
||||
visible = false
|
||||
|
||||
[node name="Balloon" parent="." instance=ExtResource("6_rjb0o")]
|
||||
transform = Transform3D(0.6970959, 0.06369831, 0, -0.06369831, 0.6970959, 0, 0, 0, 0.70000005, 0.2608546, 0.32857847, 0.54166865)
|
||||
visible = false
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_pj205")
|
||||
}
|
||||
|
||||
[node name="helper" type="Node3D" parent="."]
|
||||
transform = Transform3D(0.4, 0, 0, 0, 0.4, 0, 0, 0, 0.4, 0.096, 1.141, 0.538)
|
||||
visible = false
|
||||
|
||||
[node name="helper" parent="helper" instance=ExtResource("7_4r34j")]
|
||||
|
||||
[node name="Chatbot" parent="." instance=ExtResource("8_erypk")]
|
||||
visible = false
|
||||
|
||||
[node name="audio_throw" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("9_qpqd5")
|
||||
volume_db = -3.0
|
||||
|
||||
[node name="audio_pickup" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("10_41dcx")
|
||||
volume_db = -7.0
|
||||
|
||||
[node name="AnimationPlayer2" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_qpqd5")
|
||||
}
|
||||
|
||||
[node name="audio_jump" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("11_a75tr")
|
||||
volume_db = -8.0
|
||||
|
||||
[connection signal="grabbed" from="InteractRay" to="." method="_on_interact_ray_grabbed"]
|
||||
[connection signal="animation_started" from="AnimationPlayer" to="." method="_on_animation_player_animation_started"]
|
||||
@@ -0,0 +1,5 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://b4mmlt4progvd"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cg6wf4m1u7anr" path="res://assets/assets.glb" id="1_nyoif"]
|
||||
|
||||
[node name="assets" instance=ExtResource("1_nyoif")]
|
||||
@@ -0,0 +1,266 @@
|
||||
extends Node3D
|
||||
|
||||
const count_battery_boxes = 4
|
||||
var currently_charged_battery_boxes := 0
|
||||
signal show_door
|
||||
@onready var aliens = $"npcs/aliens"
|
||||
@onready var batteries = $"Objects/Balloons_A2"
|
||||
@onready var chatbot: Control = $npcs/helpers/Chatbot
|
||||
var aliens_start_count: int
|
||||
var batteries_start_count: int
|
||||
var helper_collected = false
|
||||
var not_congratulated_1 = true
|
||||
var not_congratulated_2 = true
|
||||
var release_generators = false
|
||||
var popped_balloons := 0
|
||||
var current_task := 0
|
||||
var current_text: String
|
||||
var rabbit_activated = false
|
||||
var audio_playing = true
|
||||
@onready var checkpoints = [$startpoint,
|
||||
$Objects/pressure_blocks/PressureBlock_A1,
|
||||
$Objects/pressure_blocks/PressureBlock_A2,
|
||||
$Objects/pressure_blocks/PressureBlock_A3,
|
||||
$Objects/pressure_blocks/PressureBlock_A3_1,
|
||||
]
|
||||
@onready var generators = $Objects/generators
|
||||
|
||||
func _ready() -> void:
|
||||
aliens_start_count = aliens.get_child_count()
|
||||
batteries_start_count = batteries.get_child_count()
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if Global.chatbot_opened:
|
||||
return
|
||||
if Input.is_action_just_pressed("Screenshot"):
|
||||
take_screenshot()
|
||||
if Input.is_action_just_pressed("fast_forward"):
|
||||
current_task = (current_task + 1 ) % len(checkpoints)
|
||||
print(current_task, checkpoints[current_task].position)
|
||||
$Player.position = checkpoints[current_task].position + Vector3(0.0, 0.5, 0.0)
|
||||
if Input.is_action_just_pressed("rewind"):
|
||||
current_task = (current_task - 1 ) % len(checkpoints)
|
||||
$Player.position = checkpoints[current_task].position
|
||||
if Input.is_action_just_pressed("inventory"):
|
||||
if current_task == 3:
|
||||
$Player.toggle_inventory()
|
||||
if current_task == 4 and Input.is_action_just_pressed("keypad"):
|
||||
reset_music_volume()
|
||||
$Keypad.visible = true
|
||||
$Hilfestellung/CanvasLayer.visible = false
|
||||
$Player.set_mode('aim')
|
||||
|
||||
if not_congratulated_1 and aliens.get_child_count() <= aliens_start_count-5:
|
||||
not_congratulated_1 = false
|
||||
show_congratulations("Glückwunsch!
|
||||
Die erste Aufgabe ist geschafft.", "Definitionen von KI")
|
||||
|
||||
|
||||
func show_congratulations(text, text_2) -> void:
|
||||
print(text)
|
||||
$Player/helper/helper.celebrate()
|
||||
$Hilfestellung/CanvasLayer.visible = false
|
||||
$Congratulations/CanvasLayer/Panel/Label.text = text
|
||||
$Congratulations/CanvasLayer.visible = true
|
||||
$Congratulations/CanvasLayer/Panel/Label_repeat.text = "(Um die "+ text_2 + " noch einmal nachzulesen, sprechen Sie mit ihrem Helfer)"
|
||||
await get_tree().create_timer(5.0).timeout
|
||||
$Player/helper/helper.stop_anim()
|
||||
$Congratulations/CanvasLayer.visible = false
|
||||
|
||||
func openLinkinBrowser(link):
|
||||
OS.shell_open(link)
|
||||
|
||||
func openAIActinBrowser():
|
||||
openLinkinBrowser("https://eur-lex.europa.eu/legal-content/DE/TXT/?uri=CELEX:32024R1689")
|
||||
|
||||
func openDSGVOinBrowser():
|
||||
openLinkinBrowser("https://dsgvo-gesetz.de/")
|
||||
|
||||
func _on_openChatBot():
|
||||
$Hilfestellung/CanvasLayer.visible = false
|
||||
$HUD.visible = false
|
||||
quiet_down_music()
|
||||
|
||||
|
||||
|
||||
func _on_battery_box_removed_battery() -> void:
|
||||
currently_charged_battery_boxes -= 1
|
||||
print(currently_charged_battery_boxes)
|
||||
|
||||
|
||||
func _on_show_door() -> void:
|
||||
print('showing door')
|
||||
$Objects/spaceship/Door.visible = true
|
||||
$Objects/spaceship/Door.position.y = 0.012
|
||||
$Objects/spaceship/door_cover/CollisionShape3D.disabled = true
|
||||
|
||||
|
||||
func _on_door_body_entered(body: Node3D) -> void:
|
||||
if $Objects/spaceship/Door.visible:
|
||||
DialogueState.currentTask = 5
|
||||
Transition.change_scene("res://quiz.tscn")
|
||||
|
||||
|
||||
func _on_pressure_block_a3_activated() -> void:
|
||||
quiet_down_music()
|
||||
$Objects/pressure_blocks/PressureBlock_A3.current_weight = 10.0
|
||||
DialogueManager.show_chosen_dialogue_balloon(load($Objects/pressure_blocks/PressureBlock_A3.text_on_activation), "/game_balloons/game_balloon_v_2.tscn", "start")
|
||||
|
||||
|
||||
func _on_pressure_block_a_1_activated() -> void:
|
||||
current_task = 1
|
||||
DialogueState.currentTask = 1
|
||||
current_text = "[Enter] oder [t] drücken, um mit den Aliens zu reden"
|
||||
$Hinweistexte/CanvasLayer/Panel/Label.text = "Wenn Sie weiterlaufen werden Ihnen einige Aliens begegnen. Sprechen Sie mit ihnen, um verschiedene Definitionen von Künstlicher Intelligenz (KI) kennenzulernen."
|
||||
$Hinweistexte/CanvasLayer.visible = true
|
||||
if $Tutorial:
|
||||
$Tutorial.queue_free()
|
||||
if $Objects/Bridges/walls_tutorial:
|
||||
$Objects/Bridges/walls_tutorial.queue_free()
|
||||
if $Objects/Chip0/block:
|
||||
$Objects/Chip0/block.queue_free()
|
||||
|
||||
|
||||
func _on_pressure_block_a_2_activated() -> void:
|
||||
current_task = 2
|
||||
current_text = "Zielen mit der Maus, Klicken zum Werfen, [r] zum Wechsel zwischen Wurf- und Kameramodus"
|
||||
$Hinweistexte/CanvasLayer/Panel/Label.text = "Laufen Sie weiter zur Wurfzone.
|
||||
Dort angekommen, können Sie die Ballons abwerfen, um zu entdecken, in was für Systemen KI bereits eingesetzt wird bzw. werden kann.
|
||||
Sammeln Sie danach die Batterien, Sie werden sie im weiteren Verlauf benötigen.
|
||||
Zur Erinnerung: Zielen mit der Maus (Fadenkreuz) und Werfen durch Klicken. Wenn Sie kein Fadenkreuz sehen, evtl. [r] drücken, um den Modus zu wechseln."
|
||||
$Hinweistexte/CanvasLayer.visible = true
|
||||
|
||||
|
||||
func _on_pressure_block_deactivated() -> void:
|
||||
$Hinweistexte/CanvasLayer.visible = false
|
||||
$Hilfestellung/CanvasLayer/Panel/Label.text = current_text
|
||||
$Hilfestellung/CanvasLayer.visible = true
|
||||
|
||||
|
||||
func _on_pressure_block_a_3_1_activated() -> void:
|
||||
reset_music_volume()
|
||||
current_task = 3
|
||||
DialogueState.currentTask = 3
|
||||
current_text = "Auswahl der Batterien im Inventar [c], Einfügen mit [f] - ([e] zum wieder rausholen, [q] ablegen)"
|
||||
$Objects/pressure_blocks/PressureBlock_A3_1.current_weight = 10.0
|
||||
$AnimationPlayer.play("start_ordering_game")
|
||||
_on_pressure_block_deactivated()
|
||||
|
||||
|
||||
func _on_balloon_tree_exited() -> void:
|
||||
popped_balloons += 1
|
||||
if popped_balloons == Global.TOTAL_BALLOONS_A2 and current_task == 2:
|
||||
not_congratulated_2 = false
|
||||
DialogueState.batteriesFlag = true
|
||||
show_congratulations("Glückwunsch!
|
||||
Die 2. Aufgabe ist geschafft.", "KI-Systeme")
|
||||
$Objects/arrows/after_throw.visible = true
|
||||
$Objects/Fences/no_arrows/barrier_throw.position.x = 4.0
|
||||
$Hilfestellung/CanvasLayer/Panel/Label.text = "Sammeln Sie die Batterien auf (durch Vorbeilaufen) - einen Counter dazu sehen Sie oben links"
|
||||
$Hilfestellung/CanvasLayer.visible = true
|
||||
|
||||
|
||||
func _on_pressure_block_a_4_activated() -> void:
|
||||
quiet_down_music()
|
||||
current_task = 4
|
||||
DialogueState.currentTask = 4
|
||||
DialogueState.personalDataFlag = true
|
||||
$Objects/spaceship/keypad.visible = true
|
||||
current_text = "[k] drücken zum Starten des nächsten Minispiels"
|
||||
$Hilfestellung/CanvasLayer.visible = true
|
||||
$Objects/pressure_blocks/PressureBlock_A4.current_weight = 10.0
|
||||
DialogueManager.show_chosen_dialogue_balloon(load($Objects/pressure_blocks/PressureBlock_A4.text_on_activation), "/game_balloons/game_balloon_v_2.tscn", "start")
|
||||
_on_pressure_block_deactivated()
|
||||
|
||||
|
||||
func _on_keypad_game_finished() -> void:
|
||||
$Keypad.visible = false
|
||||
$Objects/spaceship/keypad.visible = false
|
||||
$Hilfestellung/CanvasLayer/Panel/Label.text = "Gehen Sie durch die Tür ins Raumschiff"
|
||||
$Hilfestellung/CanvasLayer.visible = true
|
||||
show_door.emit()
|
||||
|
||||
|
||||
func _on_battery_3_battery_collected() -> void:
|
||||
$Player/helper.visible = true
|
||||
#TODO implement if helper should replace battery 3 (since it's also a chatbot)
|
||||
|
||||
|
||||
func _on_animation_player_animation_finished(anim_name: StringName) -> void:
|
||||
if anim_name == "collect_helper_part1":
|
||||
$Player/AnimationPlayer2.play("collect_helper_part2")
|
||||
if anim_name == 'follow_rabbit':
|
||||
$AnimationPlayer.play('rotate_label')
|
||||
if anim_name == "ordering_finished":
|
||||
generators.queue_free()
|
||||
show_congratulations("Glückwunsch!
|
||||
Die 3. Aufgabe ist geschafft.", "Risikostufen von KI")
|
||||
$Objects/pressure_blocks/PressureBlock_A4.position = Vector3(-87.26, 3.787, 209.9)
|
||||
|
||||
|
||||
func _on_helper_corner_dialogue_finished() -> void:
|
||||
if not helper_collected:
|
||||
$AnimationPlayer.play("collect_helper_part1")
|
||||
$npcs/helpers/helper_corner/CollisionShape3D.disabled = true
|
||||
helper_collected = true
|
||||
$Objects/chip1/star.queue_free()
|
||||
|
||||
|
||||
func _on_battery_box_fully_charged() -> void:
|
||||
currently_charged_battery_boxes += 1
|
||||
print('currently charged boxes: ', currently_charged_battery_boxes)
|
||||
if currently_charged_battery_boxes == count_battery_boxes:
|
||||
print('all boxes are full')
|
||||
await get_tree().create_timer(1.5).timeout
|
||||
$AnimationPlayer.play("ordering_finished")
|
||||
$Objects/Chip0/Arrows_A4.visible = true
|
||||
|
||||
|
||||
func _on_player_inventory_opened() -> void:
|
||||
$Hilfestellung/CanvasLayer.visible = false
|
||||
$HUD.visible = false
|
||||
|
||||
|
||||
func _on_player_inventory_closed() -> void:
|
||||
$Hilfestellung/CanvasLayer.visible = true
|
||||
$HUD.visible = true
|
||||
|
||||
|
||||
func _on_balloon_popped(balloon: Balloon) -> void:
|
||||
$Player/helper/helper.play_small_celebration()
|
||||
|
||||
|
||||
func _on_chatbot_closing_chatbot() -> void:
|
||||
if current_task > 0:
|
||||
$HUD.visible = true
|
||||
$Hilfestellung/CanvasLayer.visible = true
|
||||
reset_music_volume()
|
||||
|
||||
func take_screenshot():
|
||||
print('taking screenshot')
|
||||
var image = get_viewport().get_texture().get_image()
|
||||
image.save_png("user://screenshot"+Time.get_datetime_string_from_system()+".png")
|
||||
|
||||
|
||||
func _on_start_rabbit_body_entered(body: Node3D) -> void:
|
||||
if not rabbit_activated:
|
||||
$AnimationPlayer.play('follow_rabbit')
|
||||
rabbit_activated = true
|
||||
|
||||
func quiet_down_music() -> void:
|
||||
$AudioStreamPlayer.volume_db = -20.0
|
||||
|
||||
func reset_music_volume() -> void:
|
||||
$AudioStreamPlayer.volume_db = -10.0
|
||||
|
||||
func toggle_music() -> void:
|
||||
if not audio_playing:
|
||||
audio_playing = true
|
||||
$AudioStreamPlayer.play()
|
||||
else:
|
||||
$AudioStreamPlayer.stop()
|
||||
audio_playing = false
|
||||
|
||||
|
||||
func _on_audio_stream_player_finished() -> void:
|
||||
$AudioStreamPlayer.play()
|
||||
@@ -0,0 +1 @@
|
||||
uid://d0lyomtjfroou
|
||||
@@ -0,0 +1,15 @@
|
||||
[gd_resource type="Terrain3DMaterial" load_steps=2 format=3 uid="uid://dtdjnbbnpdyqg"]
|
||||
|
||||
[ext_resource type="Shader" uid="uid://01qauauvd8aa" path="res://addons/terrain_3d/extras/shaders/minimum.gdshader" id="1_yvehn"]
|
||||
|
||||
[resource]
|
||||
_shader_parameters = {
|
||||
&"color_high": Color(0.5019608, 0.4, 0.2, 1),
|
||||
&"color_low": Color(0.055, 0.216, 0.11, 1),
|
||||
&"flat_terrain_normals": false,
|
||||
&"height_scale": 1.0,
|
||||
&"height_split": 1.0
|
||||
}
|
||||
shader_override_enabled = true
|
||||
shader_override = ExtResource("1_yvehn")
|
||||
show_region_grid = true
|
||||
|
After Width: | Height: | Size: 208 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c2crd1tqwu4i"
|
||||
path="res://.godot/imported/Metal049A.png-af30c4a6a788f1059dad8d458b88d8e5.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Resources/Terrains/textures/Metal049A_1K-PNG/Metal049A.png"
|
||||
dest_files=["res://.godot/imported/Metal049A.png-af30c4a6a788f1059dad8d458b88d8e5.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
@@ -0,0 +1,58 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://k8b0a35qcriu"
|
||||
valid=false
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Resources/Terrains/textures/Metal049A_1K-PNG/Metal049A_1K-PNG.blend"
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/root_script=null
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_name_suffixes=true
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
materials/extract=0
|
||||
materials/extract_format=0
|
||||
materials/extract_path=""
|
||||
_subresources={}
|
||||
blender/nodes/visible=0
|
||||
blender/nodes/active_collection_only=false
|
||||
blender/nodes/punctual_lights=true
|
||||
blender/nodes/cameras=true
|
||||
blender/nodes/custom_properties=true
|
||||
blender/nodes/modifiers=1
|
||||
blender/meshes/colors=false
|
||||
blender/meshes/uvs=true
|
||||
blender/meshes/normals=true
|
||||
blender/meshes/export_geometry_nodes_instances=false
|
||||
blender/meshes/tangents=true
|
||||
blender/meshes/skins=2
|
||||
blender/meshes/export_bones_deforming_mesh_only=false
|
||||
blender/materials/unpack_enabled=true
|
||||
blender/materials/export_materials=1
|
||||
blender/animation/limit_playback=true
|
||||
blender/animation/always_sample=true
|
||||
blender/animation/group_tracks=true
|
||||
gltf/naming_version=2
|
||||
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0"?>
|
||||
<materialx version="1.39" fileprefix="./">
|
||||
<open_pbr_surface type="surfaceshader" xpos="6.159420" ypos="-1.879310" name="Metal049A_1K_PNG_OpenPbrSurface">
|
||||
<input type="color3" name="base_color" nodename="Metal049A_1K_PNG_Color" />
|
||||
<input type="float" name="base_metalness" nodename="Metal049A_1K_PNG_Metalness" />
|
||||
<input type="vector3" name="geometry_normal" nodename="NormalMap" />
|
||||
<input type="float" name="specular_roughness" nodename="Metal049A_1K_PNG_Roughness" />
|
||||
</open_pbr_surface>
|
||||
<surfacematerial type="material" xpos="8.695652" ypos="0.000000" name="Metal049A_1K_PNG">
|
||||
<input type="surfaceshader" name="surfaceshader" nodename="Metal049A_1K_PNG_OpenPbrSurface" />
|
||||
<input type="displacementshader" name="displacementshader" nodename="displacement" />
|
||||
</surfacematerial>
|
||||
<tiledimage type="color3" xpos="3.623188" ypos="-3.103448" name="Metal049A_1K_PNG_Color">
|
||||
<input type="filename" value="Metal049A_1K-PNG_Color.png" colorspace="srgb_texture" name="file" />
|
||||
<input type="vector2" value="1.0, 1.0" name="uvtiling" />
|
||||
</tiledimage>
|
||||
<tiledimage type="float" xpos="3.623188" ypos="5.163793" name="Metal049A_1K_PNG_Displacement">
|
||||
<input type="filename" value="Metal049A_1K-PNG_Displacement.png" name="file" />
|
||||
<input type="vector2" value="1.0, 1.0" name="uvtiling" />
|
||||
</tiledimage>
|
||||
<displacement type="displacementshader" xpos="6.159420" ypos="1.879310" name="displacement">
|
||||
<input type="float" name="displacement" nodename="Metal049A_1K_PNG_Displacement" />
|
||||
<input type="float" value="1.0" name="scale" />
|
||||
</displacement>
|
||||
<tiledimage type="float" xpos="3.623188" ypos="-1.758621" name="Metal049A_1K_PNG_Metalness">
|
||||
<input type="filename" value="Metal049A_1K-PNG_Metalness.png" name="file" />
|
||||
<input type="vector2" value="1.0, 1.0" name="uvtiling" />
|
||||
</tiledimage>
|
||||
<tiledimage type="vector3" xpos="1.086957" ypos="0.879310" name="Metal049A_1K_PNG_NormalGL">
|
||||
<input type="filename" value="Metal049A_1K-PNG_NormalGL.png" name="file" />
|
||||
<input type="vector2" value="1.0, 1.0" name="uvtiling" />
|
||||
</tiledimage>
|
||||
<normalmap type="vector3" xpos="3.623188" ypos="3.586207" name="NormalMap">
|
||||
<input type="vector3" name="in" nodename="Metal049A_1K_PNG_NormalGL" />
|
||||
<input type="float" value="1.0" name="scale" />
|
||||
</normalmap>
|
||||
<tiledimage type="float" xpos="3.623188" ypos="-0.413793" name="Metal049A_1K_PNG_Roughness">
|
||||
<input type="filename" value="Metal049A_1K-PNG_Roughness.png" name="file" />
|
||||
<input type="vector2" value="1.0, 1.0" name="uvtiling" />
|
||||
</tiledimage>
|
||||
</materialx>
|
||||
@@ -0,0 +1,19 @@
|
||||
[gd_resource type="StandardMaterial3D" load_steps=6 format=3 uid="acg_bsi79hm4"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://acg_0b6m4z8d" id="Color" path="./Metal049A_1K-PNG_Color.png"]
|
||||
[ext_resource type="Texture2D" uid="uid://acg_d70su2z9" id="Metalness" path="./Metal049A_1K-PNG_Metalness.png"]
|
||||
[ext_resource type="Texture2D" uid="uid://acg_q1sedajb" id="Displacement" path="./Metal049A_1K-PNG_Displacement.png"]
|
||||
[ext_resource type="Texture2D" uid="uid://acg_w7dtvmnb" id="Roughness" path="./Metal049A_1K-PNG_Roughness.png"]
|
||||
[ext_resource type="Texture2D" uid="uid://acg_70ebfpqw" id="NormalGL" path="./Metal049A_1K-PNG_NormalGL.png"]
|
||||
[resource]
|
||||
albedo_texture = ExtResource("Color")
|
||||
metallic_texture = ExtResource("Metalness")
|
||||
metallic = 1.0
|
||||
metallic_texture_channel = 4
|
||||
roughness_texture = ExtResource("Roughness")
|
||||
roughness_texture_channel = 4
|
||||
normal_texture = ExtResource("NormalGL")
|
||||
normal_enabled = true
|
||||
heightmap_texture = ExtResource("Displacement")
|
||||
heightmap_scale = 1.0
|
||||
heightmap_enabled = true
|
||||
|
After Width: | Height: | Size: 523 KiB |
@@ -0,0 +1,41 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ymsbb8ebr4be"
|
||||
path.s3tc="res://.godot/imported/Metal049A_1K-PNG_Color.png-b49d04f407d2e9f51385bd00b6d2b523.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Resources/Terrains/textures/Metal049A_1K-PNG/Metal049A_1K-PNG_Color.png"
|
||||
dest_files=["res://.godot/imported/Metal049A_1K-PNG_Color.png-b49d04f407d2e9f51385bd00b6d2b523.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
|
After Width: | Height: | Size: 660 KiB |
@@ -0,0 +1,41 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://eeqc0v5aml83"
|
||||
path.s3tc="res://.godot/imported/Metal049A_1K-PNG_Displacement.png-edeb5a8909a4a38b237ba41f02a3e746.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Resources/Terrains/textures/Metal049A_1K-PNG/Metal049A_1K-PNG_Displacement.png"
|
||||
dest_files=["res://.godot/imported/Metal049A_1K-PNG_Displacement.png-edeb5a8909a4a38b237ba41f02a3e746.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=7
|
||||
roughness/src_normal="res://Resources/Terrains/textures/Metal049A_1K-PNG/Metal049A_1K-PNG_NormalGL.png"
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
|
After Width: | Height: | Size: 4.2 KiB |
@@ -0,0 +1,41 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cashf8o1kyiyl"
|
||||
path.s3tc="res://.godot/imported/Metal049A_1K-PNG_Metalness.png-977c78b622afff4ae8f6c1ae7fd71d24.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Resources/Terrains/textures/Metal049A_1K-PNG/Metal049A_1K-PNG_Metalness.png"
|
||||
dest_files=["res://.godot/imported/Metal049A_1K-PNG_Metalness.png-977c78b622afff4ae8f6c1ae7fd71d24.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
|
After Width: | Height: | Size: 1.7 MiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://3d7y5qhidukr"
|
||||
path="res://.godot/imported/Metal049A_1K-PNG_NormalDX.png-6ce689dc3d10533969f3cac9567aac29.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Resources/Terrains/textures/Metal049A_1K-PNG/Metal049A_1K-PNG_NormalDX.png"
|
||||
dest_files=["res://.godot/imported/Metal049A_1K-PNG_NormalDX.png-6ce689dc3d10533969f3cac9567aac29.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 1.7 MiB |
@@ -0,0 +1,41 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b7hpibl4jwxs1"
|
||||
path.s3tc="res://.godot/imported/Metal049A_1K-PNG_NormalGL.png-9d579f937c7a21b488aebd999266e82a.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Resources/Terrains/textures/Metal049A_1K-PNG/Metal049A_1K-PNG_NormalGL.png"
|
||||
dest_files=["res://.godot/imported/Metal049A_1K-PNG_NormalGL.png-9d579f937c7a21b488aebd999266e82a.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=1
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=1
|
||||
roughness/src_normal="res://Resources/Terrains/textures/Metal049A_1K-PNG/Metal049A_1K-PNG_NormalGL.png"
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
|
After Width: | Height: | Size: 318 KiB |
@@ -0,0 +1,41 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c26ux424gd22x"
|
||||
path.s3tc="res://.godot/imported/Metal049A_1K-PNG_Roughness.png-cf591183f3ff358a18aa539a0a51ac6a.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Resources/Terrains/textures/Metal049A_1K-PNG/Metal049A_1K-PNG_Roughness.png"
|
||||
dest_files=["res://.godot/imported/Metal049A_1K-PNG_Roughness.png-cf591183f3ff358a18aa539a0a51ac6a.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
|
After Width: | Height: | Size: 879 KiB |
@@ -0,0 +1,41 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b451ixfesvaxq"
|
||||
path.s3tc="res://.godot/imported/packed_albedo_height.png-9b200ee014c5e8138260b365d753e3fc.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Resources/Terrains/textures/Metal049A_1K-PNG/packed_albedo_height.png"
|
||||
dest_files=["res://.godot/imported/packed_albedo_height.png-9b200ee014c5e8138260b365d753e3fc.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=2
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 877 KiB |
@@ -0,0 +1,41 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://spq2bgvqimc7"
|
||||
path.s3tc="res://.godot/imported/packed_normal_roughness.png-7ea0c3d6cd52642900c3cc2a3dd2382f.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Resources/Terrains/textures/Metal049A_1K-PNG/packed_normal_roughness.png"
|
||||
dest_files=["res://.godot/imported/packed_normal_roughness.png-7ea0c3d6cd52642900c3cc2a3dd2382f.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=2
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 221 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://nfsuuh75rq3f"
|
||||
path="res://.godot/imported/Plastic013A.png-62daefd537b68b47f3b9a1bc7b8c8649.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Resources/Terrains/textures/Plastic013A_1K-PNG/Plastic013A.png"
|
||||
dest_files=["res://.godot/imported/Plastic013A.png-62daefd537b68b47f3b9a1bc7b8c8649.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
@@ -0,0 +1,58 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://sme4m6ddgaub"
|
||||
valid=false
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Resources/Terrains/textures/Plastic013A_1K-PNG/Plastic013A_1K-PNG.blend"
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/root_script=null
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_name_suffixes=true
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
materials/extract=0
|
||||
materials/extract_format=0
|
||||
materials/extract_path=""
|
||||
_subresources={}
|
||||
blender/nodes/visible=0
|
||||
blender/nodes/active_collection_only=false
|
||||
blender/nodes/punctual_lights=true
|
||||
blender/nodes/cameras=true
|
||||
blender/nodes/custom_properties=true
|
||||
blender/nodes/modifiers=1
|
||||
blender/meshes/colors=false
|
||||
blender/meshes/uvs=true
|
||||
blender/meshes/normals=true
|
||||
blender/meshes/export_geometry_nodes_instances=false
|
||||
blender/meshes/tangents=true
|
||||
blender/meshes/skins=2
|
||||
blender/meshes/export_bones_deforming_mesh_only=false
|
||||
blender/materials/unpack_enabled=true
|
||||
blender/materials/export_materials=1
|
||||
blender/animation/limit_playback=true
|
||||
blender/animation/always_sample=true
|
||||
blender/animation/group_tracks=true
|
||||
gltf/naming_version=2
|
||||
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0"?>
|
||||
<materialx version="1.39" fileprefix="./">
|
||||
<open_pbr_surface name="Plastic013A_1K_PNG_OpenPbrSurface" xpos="6.159420" type="surfaceshader" ypos="-1.879310">
|
||||
<input name="base_color" nodename="Plastic013A_1K_PNG_Color" type="color3" />
|
||||
<input name="geometry_normal" nodename="NormalMap" type="vector3" />
|
||||
<input name="specular_roughness" nodename="Plastic013A_1K_PNG_Roughness" type="float" />
|
||||
</open_pbr_surface>
|
||||
<surfacematerial name="Plastic013A_1K_PNG" xpos="8.695652" type="material" ypos="0.000000">
|
||||
<input name="surfaceshader" nodename="Plastic013A_1K_PNG_OpenPbrSurface" type="surfaceshader" />
|
||||
<input name="displacementshader" nodename="displacement" type="displacementshader" />
|
||||
</surfacematerial>
|
||||
<tiledimage name="Plastic013A_1K_PNG_Color" xpos="3.623188" type="color3" ypos="-3.103448">
|
||||
<input name="file" colorspace="srgb_texture" type="filename" value="Plastic013A_1K-PNG_Color.png" />
|
||||
<input name="uvtiling" type="vector2" value="1.0, 1.0" />
|
||||
</tiledimage>
|
||||
<tiledimage name="Plastic013A_1K_PNG_Displacement" xpos="3.623188" type="float" ypos="5.163793">
|
||||
<input name="file" type="filename" value="Plastic013A_1K-PNG_Displacement.png" />
|
||||
<input name="uvtiling" type="vector2" value="1.0, 1.0" />
|
||||
</tiledimage>
|
||||
<displacement name="displacement" xpos="6.159420" type="displacementshader" ypos="1.879310">
|
||||
<input name="displacement" nodename="Plastic013A_1K_PNG_Displacement" type="float" />
|
||||
<input name="scale" type="float" value="1.0" />
|
||||
</displacement>
|
||||
<tiledimage name="Plastic013A_1K_PNG_NormalGL" xpos="1.086957" type="vector3" ypos="0.879310">
|
||||
<input name="file" type="filename" value="Plastic013A_1K-PNG_NormalGL.png" />
|
||||
<input name="uvtiling" type="vector2" value="1.0, 1.0" />
|
||||
</tiledimage>
|
||||
<normalmap name="NormalMap" xpos="3.623188" type="vector3" ypos="3.586207">
|
||||
<input name="in" nodename="Plastic013A_1K_PNG_NormalGL" type="vector3" />
|
||||
<input name="scale" type="float" value="1.0" />
|
||||
</normalmap>
|
||||
<tiledimage name="Plastic013A_1K_PNG_Roughness" xpos="3.623188" type="float" ypos="-0.413793">
|
||||
<input name="file" type="filename" value="Plastic013A_1K-PNG_Roughness.png" />
|
||||
<input name="uvtiling" type="vector2" value="1.0, 1.0" />
|
||||
</tiledimage>
|
||||
</materialx>
|
||||
@@ -0,0 +1,15 @@
|
||||
[gd_resource type="StandardMaterial3D" load_steps=5 format=3 uid="acg_duvs16ey"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://acg_dn0thus9" id="Color" path="./Plastic013A_1K-PNG_Color.png"]
|
||||
[ext_resource type="Texture2D" uid="uid://acg_unpc623f" id="Displacement" path="./Plastic013A_1K-PNG_Displacement.png"]
|
||||
[ext_resource type="Texture2D" uid="uid://acg_tm8a3y1l" id="Roughness" path="./Plastic013A_1K-PNG_Roughness.png"]
|
||||
[ext_resource type="Texture2D" uid="uid://acg_0n9f2kmz" id="NormalGL" path="./Plastic013A_1K-PNG_NormalGL.png"]
|
||||
[resource]
|
||||
albedo_texture = ExtResource("Color")
|
||||
roughness_texture = ExtResource("Roughness")
|
||||
roughness_texture_channel = 4
|
||||
normal_texture = ExtResource("NormalGL")
|
||||
normal_enabled = true
|
||||
heightmap_texture = ExtResource("Displacement")
|
||||
heightmap_scale = 1.0
|
||||
heightmap_enabled = true
|
||||
|
After Width: | Height: | Size: 543 KiB |
@@ -0,0 +1,41 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cj812bnkpphrn"
|
||||
path.s3tc="res://.godot/imported/Plastic013A_1K-PNG_Color.png-14d6f487d2ccecae33d0ee54b94ed48c.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Resources/Terrains/textures/Plastic013A_1K-PNG/Plastic013A_1K-PNG_Color.png"
|
||||
dest_files=["res://.godot/imported/Plastic013A_1K-PNG_Color.png-14d6f487d2ccecae33d0ee54b94ed48c.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
|
After Width: | Height: | Size: 1.9 MiB |
@@ -0,0 +1,41 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d3tab2l5tqi7i"
|
||||
path.s3tc="res://.godot/imported/Plastic013A_1K-PNG_Displacement.png-2c9d27de05b243240097f282b6d32a6f.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Resources/Terrains/textures/Plastic013A_1K-PNG/Plastic013A_1K-PNG_Displacement.png"
|
||||
dest_files=["res://.godot/imported/Plastic013A_1K-PNG_Displacement.png-2c9d27de05b243240097f282b6d32a6f.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=7
|
||||
roughness/src_normal="res://Resources/Terrains/textures/Plastic013A_1K-PNG/Plastic013A_1K-PNG_NormalGL.png"
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
|
After Width: | Height: | Size: 5.3 MiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://6ks77scpmv0t"
|
||||
path="res://.godot/imported/Plastic013A_1K-PNG_NormalDX.png-b1bbfd75b874421b15c67667b89115be.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Resources/Terrains/textures/Plastic013A_1K-PNG/Plastic013A_1K-PNG_NormalDX.png"
|
||||
dest_files=["res://.godot/imported/Plastic013A_1K-PNG_NormalDX.png-b1bbfd75b874421b15c67667b89115be.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 5.3 MiB |
@@ -0,0 +1,41 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://1olubinyiafc"
|
||||
path.s3tc="res://.godot/imported/Plastic013A_1K-PNG_NormalGL.png-cc73060ee8ee6e71aa49c6967a15fb99.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Resources/Terrains/textures/Plastic013A_1K-PNG/Plastic013A_1K-PNG_NormalGL.png"
|
||||
dest_files=["res://.godot/imported/Plastic013A_1K-PNG_NormalGL.png-cc73060ee8ee6e71aa49c6967a15fb99.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=1
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=1
|
||||
roughness/src_normal="res://Resources/Terrains/textures/Plastic013A_1K-PNG/Plastic013A_1K-PNG_NormalGL.png"
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
|
After Width: | Height: | Size: 591 KiB |
@@ -0,0 +1,41 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dvaxasa3r15oj"
|
||||
path.s3tc="res://.godot/imported/Plastic013A_1K-PNG_Roughness.png-1c4442489bb773f8b1af0709f14c4d89.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Resources/Terrains/textures/Plastic013A_1K-PNG/Plastic013A_1K-PNG_Roughness.png"
|
||||
dest_files=["res://.godot/imported/Plastic013A_1K-PNG_Roughness.png-1c4442489bb773f8b1af0709f14c4d89.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
|
After Width: | Height: | Size: 1.8 MiB |
@@ -0,0 +1,41 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://doplg6oeefgil"
|
||||
path.s3tc="res://.godot/imported/packed_albedo_height.png-7955e52c9478f0e101b9cc32d2e9b413.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Resources/Terrains/textures/Plastic013A_1K-PNG/packed_albedo_height.png"
|
||||
dest_files=["res://.godot/imported/packed_albedo_height.png-7955e52c9478f0e101b9cc32d2e9b413.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=2
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
After Width: | Height: | Size: 2.4 MiB |
@@ -0,0 +1,41 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://boexwv4y50kii"
|
||||
path.s3tc="res://.godot/imported/packed_normal_roughness.png-42be8fdd457e8732b7fc7133544465f7.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Resources/Terrains/textures/Plastic013A_1K-PNG/packed_normal_roughness.png"
|
||||
dest_files=["res://.godot/imported/packed_normal_roughness.png-42be8fdd457e8732b7fc7133544465f7.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=2
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
@@ -0,0 +1,42 @@
|
||||
[gd_resource type="ArrayMesh" load_steps=3 format=4 uid="uid://dka5ewv6regyf"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jkj82"]
|
||||
resource_name = "pink_em"
|
||||
cull_mode = 2
|
||||
albedo_color = Color(0, 0.8235294, 0.8156863, 1)
|
||||
roughness = 0.5
|
||||
emission_enabled = true
|
||||
emission = Color(0, 0.5764706, 0.4862745, 1)
|
||||
emission_energy_multiplier = 2.7091084
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_0h1bv"]
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-1, -1, -1, 4, 2, 3.6964846),
|
||||
"format": 34359742465,
|
||||
"index_count": 60,
|
||||
"index_data": PackedByteArray("AAABAAIAAwACAAEAAAAEAAEABAADAAEABQAAAAIABAAAAAUAAwAGAAIABQACAAYABAAHAAMABAAFAAcABwAIAAMABgAJAAUABQAKAAcABwAKAAgABQAJAAoAAwAIAAsAAwALAAYACgALAAgABgALAAkACgAJAAsA"),
|
||||
"name": "pink_em",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
"vertex_count": 12,
|
||||
"vertex_data": PackedByteArray("AACAvwAAgL80kyxAAACAvwAAgD/PTDI/AACAvwAAgD80kyxAAACAPwAAgD8AAIC/AACAvwAAgL/PTDI/AACAPwAAgL8AAIA/AACAPwAAgD8AAIA/AACAPwAAgL8AAIC/AABAQAAAgD/PTDI/AABAQAAAgL80kyxAAABAQAAAgL/PTDI/AABAQAAAgD80kyxA")
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
|
||||
[resource]
|
||||
resource_name = "assets_Cube_046"
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-1, -1, -1, 4, 2, 3.6964846),
|
||||
"attribute_data": PackedByteArray("AADAPgAAgD8AACA/AABAPwAAID8AAIA/AADAPgAAQD8AAMA+AABAPwAAID8AAAA/AAAgPwAAQD8AAMA+AAAAPwAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAID8AAIA+AADAPgAAgD4AACA/AAAAAAAAID8AAIA+AADAPgAAAAAAAAA+AAAAPwAAwD4AAIA+AADAPgAAAD8AAAA+AACAPgAAwD4AAAA/AADAPgAAgD4AACA/AAAAPwAAYD8AAIA+AABgPwAAAD8AACA/AACAPgAAID8AAIA+AAAgPwAAAD8AAMA+AAAAPwAAID8AAIA+AAAgPwAAAD8AAMA+AACAPgAAwD4AAAA/AAAgPwAAAD8AACA/AAAAPwAAwD4AAAA/"),
|
||||
"format": 34359742487,
|
||||
"index_count": 60,
|
||||
"index_data": PackedByteArray("AAABAAIAAAADAAEABAAFAAYABAAHAAUACAAJAAoACAALAAkADAANAA4ADAAPAA0AEAARABIAEAATABEAEQAUABIAEQAVABQAFgAXABgAFgAZABcAFgAaABkAFgAbABoAHAAdAB4AHAAfAB0AIAAhACIAIAAjACEA"),
|
||||
"material": SubResource("StandardMaterial3D_jkj82"),
|
||||
"name": "pink_em",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
"vertex_count": 36,
|
||||
"vertex_data": PackedByteArray("AACAvwAAgL80kyxAAACAvwAAgD/PTDI/AACAvwAAgD80kyxAAACAvwAAgL/PTDI/AACAvwAAgL/PTDI/AACAPwAAgD8AAIC/AACAvwAAgD/PTDI/AACAPwAAgL8AAIC/AACAPwAAgD8AAIA/AABAQAAAgL80kyxAAACAPwAAgL8AAIA/AABAQAAAgD80kyxAAACAPwAAgL8AAIA/AACAvwAAgD80kyxAAACAPwAAgD8AAIA/AACAvwAAgL80kyxAAACAvwAAgL/PTDI/AACAPwAAgL8AAIA/AACAPwAAgL8AAIC/AACAvwAAgL80kyxAAABAQAAAgL/PTDI/AABAQAAAgL80kyxAAACAPwAAgD8AAIC/AACAvwAAgD80kyxAAACAvwAAgD/PTDI/AACAPwAAgD8AAIA/AABAQAAAgD80kyxAAABAQAAAgD/PTDI/AABAQAAAgL/PTDI/AABAQAAAgD80kyxAAABAQAAAgD/PTDI/AABAQAAAgL80kyxAAACAPwAAgL8AAIC/AABAQAAAgD/PTDI/AACAPwAAgD8AAIC/AABAQAAAgL/PTDI/AAD/f/9///8AAP9//3///wAA/3//f///AAD/f/9///8AAEDF/3///wAAQMX/f///AABAxf9///8AAEDF/3///0FF/3////8/QUX/f////z9BRf9/////P0FF/3////8/vbr/f/9///+9uv9//3///726/3//f///vbr/f/9/////fwAA//9e3f9/AAD//17d/38AAP//Xt3/fwAA//9e3f9/AAD///+//38AAP///7//f///vjr/v/9///++Ov+//3///746/7//f///vjr/v/9///////+//3///////7////9//3///////3//f///////f/9///////9//3//////QMX///+///9Axf///7///0DF////v///QMX///+/")
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_0h1bv")
|
||||
@@ -0,0 +1,42 @@
|
||||
[gd_resource type="ArrayMesh" load_steps=3 format=4 uid="uid://m3hcjcox5dkf"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_0yxht"]
|
||||
resource_name = "antenna"
|
||||
cull_mode = 2
|
||||
albedo_color = Color(0.7499889, 0.77488834, 0.81999606, 1)
|
||||
metallic = 0.11764705
|
||||
roughness = 0.4738562
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_6gtti"]
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.047843218, -0.78447527, -0.037635345, 0.0956862, 1.5689504, 0.07527069),
|
||||
"format": 34896613377,
|
||||
"index_count": 564,
|
||||
"index_data": PackedByteArray("EgAjAAEAQgABACMAEgAoACMAKABCACMAJAASAAEADAAoABIAJAABAEMAAQBEAEMAQgBEAAEABwAkAEMABwBDAEQAJQASACQAJQAMABIAJgAkAAcAJgAlACQAFgAmAAcARQAMACUARgAlACYARgBFACUAGQBGACYAGQAmABYAOgBFAEYARwBGABkARwA6AEYAFgAHACcAJwAHAEQAJwBEABQAFwAWACcANAAZABYANAAWABcASABHABkASAAZADQAFQAnABQAFwAnABUARABJABQAFQAUAEkARABKAEkARABCAEoAMQAVAEkASwAXABUASwAVADEAMQBJAAYASQBKAAYAAgAxAAYAAgAGAEoAGAAxAAIAGABLADEAMwAXAEsAMwA0ABcAHgBLABgAHgAzAEsADgA0ADMADgBIADQANQAzAB4ANQAOADMAMgAeABgANgA1AB4ANgAeADIAMgAYADAAMAAYAAIADQA2ADIAHAAyADAADQAyABwAMAACAC4ALgACAEoAHAAwABoAGgAwAC4ALgBKACkAGgAuAAUABQAuACkASgBMACkABQApAEwASgBCAEwATABCAAsAKgAFAEwAKgBMAAsAEwALAEIAEwAqAAsAKAATAEIALQAFACoALQAaAAUAKwAqABMAKwAtACoAGwATACgAGwArABMADAAbACgALwAaAC0ALwAcABoAHQAtACsAHQAvAC0ALAArABsALAAdACsAAwAbAAwAAwAsABsARQADAAwAPgAcAC8APgANABwATQAvAB0ATQA+AC8AQAAdACwAQABNAB0AHwAsAAMAHwBAACwADwADAEUADwAfAAMAOgAPAEUATgBAAB8ATwBNAEAATgBPAEAATwBQAE0AUAA+AE0AUQAfAA8AUQBOAB8AUgAPADoAUgBRAA8AUwBSADoAUwA6AEcAQQBRAFIAOQBSAFMAOQBBAFIAVABTAEcAVABHAEgAEAA5AFMAEABTAFQAOAA5ABAAQQAiAFEAIgBOAFEAIQAiAEEAVQBBADkAVQAhAEEAOABVADkAIQBWACIAVQBWACEAIgAKAE4AVgAKACIACgBPAE4AVwBVADgAVwA4ABAAVwBWAFUAVgAAAAoACgA/AE8AAAA/AAoAPwBQAE8AVgBYAAAAAABYAD8AVgBZAFgAWQBWAFcAWAARAD8APwARAFAAWAAJABEAWABZAAkAEQBaAFAAUABaAD4AWgANAD4ACQA9ABEAEQA9AFoACQBZAD0AWgBbAA0APQBbAFoAWwA2AA0AWQA8AD0APQA8AFsAWwBcADYAPABcAFsAXAA1ADYAWQA7ADwAXABdADUAXQAOADUAPAAgAFwAIABdAFwAOwAgADwAWQBeADsAOwBeACAAWQBXAF4AXQBfAA4AXwBIAA4AXwBUAEgAIAAIAF0ACABfAF0AXgAIACAANwBUAF8ACAA3AF8ANwAQAFQAVwAQADcABAA3AAgABABXADcAXgAEAAgAXgBXAAQA"),
|
||||
"lods": [0.022081114, PackedByteArray("EgAjAAEAIwAUAAEAJAASAAEABwAkAAEABwABABQAJQASACQAJgAkAAcAJgAlACQAFgAmAAcAGQAlACYAGQAmABYAFgAHACcAJwAHABQAJQAMABIAFwAWACcAAwAMACUAGQADACUADAAoABIAEgAoACMADAAbACgAAwAbAAwAKAATACMAGwATACgAEwALACMAKQAjAAsAFAAjACkAEwAqAAsAGwArABMAKwAqABMALAArABsAAwAsABsAKwAtACoAKgAFAAsALQAFACoABQApAAsAHQAtACsALAAdACsALQAaAAUABQAuACkAGgAuAAUALwAaAC0AHQAvAC0AGgAwAC4ALgACACkAMAACAC4AAgAGACkAFAApAAYALwAcABoAHAAwABoAFQAUAAYAFQAnABQAFwAnABUAMQAVAAYAAgAxAAYAFwAVADEAGAAxAAIAMAAYAAIAGAAXADEAMgAYADAAHAAyADAAHgAXABgAMgAeABgAHgAzABcAMwA0ABcANAAWABcANQAzAB4ANgAeADIANgA1AB4ADQAyABwADQA2ADIANQAOADMADgA0ADMANAAZABYACAAOADUANgAIADUANwA0AA4ACAA3AA4AEAAZADQANwAQADQABAA3AAgAOAAQADcABAA4ADcAEAA5ABkAOAA5ABAAOQA6ABkAOgADABkABAAIACAAIAAIADYAOwA4AAQAOwAEACAAPAAgADYAOwAgADwAPAA2AA0AOwA8AD0APQA8AA0AOwAAADgACQA7AD0AAAA7AAkAPQANAD4APgANABwAPgAcAC8AHQA+AC8AEQA9AD4AEQA+AB0ACQA9ABEACQARAD8APwARAB0AAAAJAD8APwAdAEAAQAAdACwAAAA/AAoACgA/AEAAHwBAACwACgBAAB8AHwAsAAMADwAfAAMADwAKAB8AOgAPAAMAAAAKACIAIgAKAA8AQQAPADoAQQAiAA8AOQBBADoAIQAAACIAIQAiAEEAIQBBADkAOAAAACEAOAAhADkA"), 0.044029586, PackedByteArray("EgATAAEAEwALAAEABwASAAEAEwAFAAsABgABAAsABQAGAAsAFAABAAYABwABABQAFQAUAAYAFQAHABQAAgAVAAYABQACAAYAFgAHABUAFwAVAAIAFwAWABUAGAAXAAIAGAACAAUAGQAWABcAFgAMAAcAGQAMABYADAASAAcAGgAYAAUAGgAFABMAGwATABIAGwAaABMADAAbABIAHAAYABoAAwAbAAwAGQADAAwAHQAaABsAHQAcABoAAwAdABsAHAAeABgAHgAXABgAHgAZABcADQAeABwAHQANABwACAAZAB4ADQAIAB4AHwAdAAMADwADABkADwAfAAMACAAQABkAEAAPABkACgAdAB8ADwAKAB8AEQANAB0ACgARAB0AIAAIAA0AEQAgAA0ABAAQAAgABAAIACAACQAgABEACQAEACAACQARAAoABAAhABAACQAAAAQABAAAACEAAAAJAAoAIQAiABAAIQAAACIAEAAiAA8AAAAKACIAIgAKAA8A"), 0.09930834, PackedByteArray("BQALAAEABgABAAsABQAGAAsABwABAAYADAAFAAEADAABAAcAAwAFAAwABwADAAwABQACAAYAAgAHAAYADQACAAUAAwANAAUADgAHAAIADQAOAAIADwADAAcAEAAHAA4AEAAPAAcADQAIAA4ACAAQAA4AEQANAAMAEQAIAA0ADwAKAAMACgARAAMAEAAKAA8ACQAIABEACQARAAoABAAQAAgACQAEAAgABAAAABAACQAAAAQAAAAKABAAAAAJAAoA"), 0.20832618, PackedByteArray("BQAGAAEABwABAAYABQACAAYAAgAHAAYAAwAFAAEAAwABAAcABQAIAAIACAAHAAIACQAFAAMACQAIAAUACgADAAcACgAJAAMACAAKAAcAAAAJAAoACQAAAAgAAAAKAAgA"), 0.3821529, PackedByteArray("AwABAAEAAwACAAEAAgAEAAEABAADAAEAAAACAAMAAAAEAAIAAAADAAQA"), 0.51358193, PackedByteArray("AAABAAEAAAACAAEAAgAAAAEAAAAAAAIA")],
|
||||
"name": "antenna",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
"vertex_count": 96,
|
||||
"vertex_data": PackedByteArray("U3UAAAAAAACXiP//AAAAAFN1bNv//wAAo21IkgAAAABTdQAA//8AAIbMbNv/vwAAPlb//9juAAAgHmzb/z8AALBkkiT//wAAhswAAP8/AACwZJIkAAAAAEft////fwAATpvatgAAAAD747Zt/78AAHBatm3Y7gAAcFq2bSYRAAB9DZIk/78AAOO7kiT/PwAAU3Vs2wAAAACGzGzb/z8AAOYj////fwAAIB5s2/+/AACeNtq2/38AABtE2rb/vwAATpvatv//AADyCEiS/38AAIHy2rb/vwAAps3atiYRAADVxEiS/78AANXESJL/PwAAo21Ikv//AADIjLZtAAAAAAiXkiTY7gAAIB4AAP8/AABYMpIkJhEAAO+6//8mEQAA+0Js2yYRAAD2aNq2JhEAABtE2rb/PwAAohBs2/9/AACrp2zbJhEAAO+6///Y7gAAA9ps2/9/AACB8tq2/z8AAPufSJImEQAA///atv9/AACrp2zb2O4AAFPSSJL/fwAAps3attjuAAD7Qmzb2O4AAPufSJLY7gAASjtIktjuAABwFkiS/78AAMiMtm3//wAAIL+2bdjuAABYMpIk2O4AACAeAAD/vwAAAACSJP9/AACVNbZt/z8AAIbMAAD/vwAA47uSJP+/AABgyZIk/38AAHnxtm3/fwAACJeSJCYRAAAgv7ZtJhEAAH0NkiT/PwAAyd////8/AAA+Vv//JhEAAGQx////PwAASjtIkiYRAABwFkiS/z8AABgotm3/fwAAlTW2bf+/AABkMf///78AAJeI/////wAA9mjattjuAADJ3////78AAPvjtm3/PwAAgoUkSQAAAADbtyRJJhEAALXcJEn/PwAAKlMkSSYRAABPLiRJ/z8AANIgJEn/fwAATy4kSf+/AACiEAAA/38AAPtCAAAmEQAA+0IAANjuAACrpwAAJhEAAAPaAAD/fwAAM+okSf9/AAC13CRJ/78AANu3JEnY7gAAgoUkSf//AACrpwAA2O4AACpTJEnY7gAA")
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
|
||||
[resource]
|
||||
resource_name = "assets_Cylinder_028"
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.047843218, -0.78447527, -0.037635345, 0.0956862, 1.5689504, 0.07527069),
|
||||
"attribute_data": PackedByteArray("AAD/fwAAAAD//wAA/39JEv///38AANs2/3//f///2zaqqkkSqmoAAFTV/3///7Zt/3+2bQAAtm2qKkkS/78AAP//kiSqqiRJVNW2bapqJElVVbZtVRUkSQAAkiRHITT1/z+OgnB9/7809Ueh/7+Ogv+/b/3//0kSVNVJEqnqkiSqqpIkVNXbNv//JEn/f5IkqqrbNlSVtm3/f9s2VVWSJP8/2zaqKv9/VVVJEv8/AAD/P5IkAABJEgAAJElVFbZtjwL/v8qKR6Gp6gAAqepJEqnq2zZU1ZIk/79JElSVAAD/v5IkqeokSanqtm3/v9s2/7+2bf+/JEmqqv9/qqq2bVSVJElUlds2VJWSJKpqtm1VVf9/VJVJEqpqSRL/P0kS/38kSapq2zZVVds2/z+2baoqtm2qKiRJVRWSJKoqkiRVFUkSt17KirdeNPU09bfeyoq33lTVAACqqgAA//9tW6nqbVtU1SRJ/38AAFVVAACqapIkqioAAFUVAACqKts2VRXbNlVVJEn/PyRJVRVtWwAAbVuqKm1b/z9tW1VVbVtVFf9//z//f6pq/3+qam1bVJX/f/9/bVtUlW1b/7//f6qqbVv/v21bqer/f1TVbVs0dUehygpHoUchyoo0dbfe/z9v/coKt95HocqKt97Kim/9/7+Ogv+/R6E09bfeNPU="),
|
||||
"format": 34896613399,
|
||||
"index_count": 564,
|
||||
"index_data": PackedByteArray("HQAyAAIAHQAzADIAMwBVADIAEAAzAB0AMwAeAFUAEAAfADMAHwAeADMABwAfABAAHgAPAFUABwA0AB8AIgA0AAcAHwA1AB4ANAA1AB8AHgA2AA8ANQA2AB4ANgBWAA8AIgA5ADQAVwA5ACIANAAhADUAOQAhADQANQA4ADYAIQA4ADUANgAIAFYAOAAIADYACAA3AFYAVwBYADkACwBYAFcAOQBZACEAWABZADkAIQA7ADgAWQA7ACEAOAAgAAgAOwAgADgACABFADcAIABFAAgARQBaADcARQADAFoAAwAJAFoAIABCAEUAQgADAEUAOwAkACAAJABCACAAPQAkADsAWQA9ADsAAwBGAAkARgBbAAkAQgAjAAMAIwBGAAMAJABBAEIAQQAjAEIAPQARACQAEQBBACQARgAqAFsAKgArAFsAIwBcAEYAXAAqAEYAQQAmACMAJgBcACMAEQBAAEEAQAAmAEEAKgBHACsARwBdACsAXAAnACoAJwBHACoAJgBJAFwASQAnAFwAQABIACYASABJACYARwAOAF0ADgBeAF0AJwAsAEcALAAOAEcASQBKACcASgAsACcASAATAEkAEwBKAEkADgBQAF4AUAABAF4AUAAtAAEATwBQAA4ALABPAA4ATgAtAFAATwBOAFAATgAWAC0AKABPACwASgAoACwAXwBOAE8AKABfAE8AYAAWAE4AXwBgAE4AYAAFABYAYQAoAEoAEwBhAEoAYgBfACgAYQBiACgATQBgAF8AYgBNAF8AFQAFAGAATQAVAGAAFQAuAAUAYwAuABUAYwBkAC4AZQAVAE0AZQBjABUAZgBNAGIAZgBlAE0AZwBmAGIAZwBiAGEALwBkAGMALwANAGQAaAANAC8AaAAAAA0AKQBoAC8ATAAvAGMAKQAvAEwATABjAGUAaQApAEwASwBMAGUAaQBMAEsASwBlAGYARABpAEsAFABLAGYARABLABQAFABmAGcAagBEABQAagAUAEMAQwAUAGcABgBqAEMAQwBnAGsAawBnAGEAawBhABMABgBDAAwADABDAGsAbAAGAAwAbQBrABMADABrAG0AbQATAEgAbAAMACUAJQAMAG0APgBsACUAbgBtAEgAJQBtAG4AbgBIAEAAPgAlAD8APwAlAG4AbwA+AD8AcABuAEAAPwBuAHAAcABAABEAbwA/ADwAPAA/AHAACgBvADwAcQBwABEAPABwAHEAcQARAD0ACgA8ABIAEgA8AHEAcgAKABIAcwBxAD0AEgBxAHMAcwA9AFkAWABzAFkAOgASAHMAOgBzAFgAcgASADoACwA6AFgABAByADoABAA6AAsAdAAYAFEAdAB1ABgAGAB1AHYAdwB0ABkAeAB0AHcAdQB0AHgAeAB3AFIAdQB4AHkAeQB4ABcAdQB5ADAAegB7ABsAegB8AHsAewB8ABoAfQB6ADEAfgB6AH0AfAB6AH4AfgB9AFQAfAB+AH8AfwB+ABwAfAB/AFMA"),
|
||||
"lods": [0.022081114, PackedByteArray("HQAyAAIAHQAzADIAEAAzAB0AMwAeADIAEAAfADMAHwAeADMABwAfABAAHgAPADIABwA0AB8AIgA0AAcAHwA1AB4ANAA1AB8AHgA2AA8ANQA2AB4ANgAIAA8ACAA3AA8ANQA4ADYAOAAIADYANAAhADUAIQA4ADUAIgA5ADQAOQAhADQACwA5ACIACwA6ADkAOgAhADkABAA6AAsABAAKADoAOgASACEACgASADoAIQA7ADgACgA8ABIAEgA9ACEAIQA9ADsAEgA8AD0ACgA+ADwAOwAgADgAOAAgAAgAPQAkADsAOwAkACAAPAARAD0APQARACQAPgA/ADwAPAA/ABEAPgAlAD8APgAGACUAPwBAABEAPwAlAEAAEQBBACQAEQBAAEEAJABBAEIAJABCACAABgAMACUAJQAMAEAABgBDAAwABgBEAEMAIABCAEUAIABFAAgACABFADcARQADADcAQgADAEUAAwAJADcAQgAjAAMAQQAjAEIAAwBGAAkAIwBGAAMARgAqAAkAKgArAAkAIwAnAEYAJwAqAEYAQQAmACMAJgAnACMAQAAmAEEAKgBHACsAJwBHACoARwAOACsADgABACsAJwAsAEcALAAOAEcAQABIACYAQAAMAEgAJgBJACcASABJACYADAATAEgASAATAEkADABDABMASQBKACcAEwBKAEkASgAsACcAQwBKABMAQwAUAEoARAAUAEMASgAoACwAFAAoAEoARABLABQAFABLACgARAApAEsAKQBMAEsASwBMAE0ASwBNACgAKQAvAEwAKQAAAC8AAAANAC8ATAAvABUALwANABUATAAVAE0AFQANAC4AFQAuAAUATQAVAAUATQAFACgAKAAFAE4ABQAWAE4ATgAWAC0AKABOAE8AKABPACwALABPAA4ATwBOAFAATgAtAFAATwBQAA4AUAAtAAEADgBQAAEAUQAwABgAMABRAFIAUgBRABkAMABSABcAGwBTABoAUwAbAFQAVAAbADEAUwBUABwA"), 0.044029586, PackedByteArray("HQAeAAIAHgAPAAIAHwAeAB0AEAAfAB0ABwAfABAAHgAIAA8ACAAJAA8AHwAgAB4AIAAIAB4ABwAhAB8AIQAgAB8AIgAhAAcACwAhACIACAADAAkABAAKAAsAIAAjAAgAIwADAAgAIQAkACAAJAAjACAACwASACEACgASAAsAIQARACQAEgARACEACgAlABIAEgAlABEACgAGACUAJAAmACMAEQAmACQAJQAMABEAEQAMACYABgAMACUAJgAnACMAIwAnAAMADAAoACYAJgAoACcABgAUAAwADAAUACgABgApABQAJwAqAAMAAwAqAAkAKgArAAkAJwAsACoAKAAsACcAKgAOACsALAAOACoADgABACsADgAtAAEAFgAtAA4ALAAWAA4AKAAWACwAKAAFABYAFQAFACgAFAAVACgAFQAuAAUAFQANAC4AFAAvABUALwANABUAKQAvABQAAAANAC8AKQAAAC8AFwAYABkAMAAYABcAHAAbADEAGgAbABwA"), 0.09930834, PackedByteArray("CAAPAAIAEAAIAAIACAAJAA8ABwAIABAACAADAAkABwARAAgAEQADAAgAEgARAAcACwASAAcACgASAAsABAAKAAsACgAMABIAEgAMABEACgAGAAwAEQATAAMAEQAMABMABgAUAAwADAAUABMABgAAABQAAAANABQAFAANABUAFQANAAUAFAAOABMAFAAVAA4AFQAFAA4AEwAOAAMADgAFABYAAwAOAAkAFgABAA4ADgABAAkAFwAYABkAGgAbABwA"), 0.20832618, PackedByteArray("CAAJAAIABwAIAAIACAADAAkACgAIAAcACwAKAAcABAAKAAsACgAMAAgACAAMAAMACgAAAAwAAAANAAwADAAOAAMADAANAA4AAwAOAAkADQAFAA4ADgABAAkABQABAA4A"), 0.3821529, PackedByteArray("BQABAAIABgAFAAIAAAAFAAYAAwAGAAIABAAGAAMABwADAAIABAADAAcA"), 0.51358193, PackedByteArray("AAABAAIAAwAAAAIABAAAAAMABAADAAIA")],
|
||||
"material": SubResource("StandardMaterial3D_0yxht"),
|
||||
"name": "antenna",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
"vertex_count": 128,
|
||||
"vertex_data": PackedByteArray("U3UAAAAAq/2XiP//AACw/ZeI//8AAGP9U3Vs2///UYBTdQAAAABo/aNtSJIAAJH/U3UAAP///5yjbUiSAACR/4bMbNv/v4GqPlb//9ju4KOGzAAA/z8R2LBkkiQAALj/sGSSJP//RoCwZJIkAAC4/yAebNv/PyzVR+3///9/v8ROm9q2AACH//vjtm3/v8aq47uSJP8/eNVwWrZt2O4llX0NkiT/v82qcFq2bSYR2epOm9q2AACH/z5W///Y7pSjl4j//wAA/+JH7f///39Yx4bMAAD/P0AnU3UAAAAA/xxTdQAA////YlN1bNsAAK3/hsxs2/8/ftWmzdq2JhFD6oHy2rb/v+Wq1cRIkv8/jNXIjLZtAADI/06b2rb//3eA1cRIkv+/cqoIl5Ik2O4XlaNtSJL//22AG0Tatv+/baryCEiS/3//vyAeAAD/P27YIB5s2/+/06rmI////38rxZ422rb/f/+/U3Vs2wAArf/IjLZtAADI/1gykiQmEWzq5iP///9/2cYgHgAA/z8PKO+6//8mEdLrq6ds2yYR8er7n0iSJhEJ64Hy2rb/PxnVA9ps2/9//7/vuv//2O6Vo///2rb/f/+/IL+2bSYReuoIl5IkJhHn6lPSSJL/f/+/YMmSJP9//7958bZt/38AwIbMAAD/v6Wy47uSJP+/hqogv7Zt2O6FlfufSJLY7vWUps3attjuu5VYMpIk2O6SlSAeAAD/v/2yq6ds29juDZX7Qmzb2O6blaIQbNv/f/+/yIy2bf//NoBKO0iS2O6zlXAWSJL/v+CqAACSJP9//799DZIk/z8x1ZU1tm3/P3DV9mjatiYREusbRNq2/z+R1ftCbNsmEWPq77r//yYR/uDvuv//2O5No4bMAAD/vztNIB4AAP+/F03J3////z8J2Mnf////v56ygoUkSQAA2v/btyRJJhGK6vvjtm3/PznVl4j//////5xkMf///78Fs/Zo2rbY7uyUZDH///8/dtg+Vv//JhE87HAWSJL/Px7VSjtIkiYRS+qVNbZt/7+Pqhgotm3/fwDAKlMkSSYRyuqChSRJAADa/08uJEn/P2jV0iAkSf9/AsBPLiRJ/7+bqvtCAAAmETXsohAAAP9/JMX7QgAA2O7boypTJEnY7jeVq6cAANjumqOChSRJ//8kgNu3JEnY7naVA9oAAP9/xsS13CRJ/7+/qjPqJEn/fwLAq6cAACYR2eu13CRJ/z9D1cnf////P87YZDH///8/39c+Vv//JhFs4Mnf////v8Cyl4j//////5xkMf///7/qsvtCAAAmEYgfq6cAACYRCh8D2gAA/3+vOKIQAAD/fxw5+0IAANjub1yrpwAA2O6sXLRXUfivh7HXLaiOBxx8IPxveDAoAID5/yEBM3/+f/n/U4J6AfPA0q3Vbs0u/n/7/1yDn/wAgPv/pn6A/9K16Rr+fwMA7oLbAZJ/KwESfa/9Q4H+/TV/1P8AgAMAKdzFsqX/538kwhJhWxE2UBUAsX+XAC9/BID9/1iBfgDwf0QAZX/zAJ1/DAEDgAAAYX6gAdh+0AFrfv4BBYP1/JyAB//AgHz+LVCG7rF9if6qm6jIaIAs//p//f/7fwAAHYBw/7zhhLwXL1KRuaitCJ2AIADmf3kAy3+OAPmB/QAH0cM/mH/NAM+ALADif4gAOn+KASR/tgF7gj0BjlfcP7d+BAL1glQCln7IATt/+QCXgfj93z6p1kuC0QGofSj+DH4F/+iE5gRugSv+IYE0/teATv5tgNT+SH5e/wyAvv8zgHD/Wn/b/+Hj1XfUy/paoimcPgBAdKi3riMRwb9eKP5/BAC1f1oBtoGgABP/sH5mqcW+v4AL/32RGNCmiLfWYYDz/huAfv8LfR/+fX29/keAqv4AgAQACoEj/RKC2PsXgx77wVZX98NIYOTmLR+/04Ml+yZAHFH5dwkIJXzjBAhl7TXrfNsE730fBFJ3wyjzftoCKNCjbqzuCK/k94qbgL5FVg7/UH+h1+S/lBsbiCgI62PhHjxCnDxNnt4y6aPwJO1L")
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_6gtti")
|
||||
@@ -0,0 +1,40 @@
|
||||
[gd_resource type="ArrayMesh" load_steps=3 format=3 uid="uid://dxs6dl0kt33hf"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_eac83"]
|
||||
resource_name = "gold"
|
||||
cull_mode = 2
|
||||
albedo_color = Color(0.5599798, 0.46687463, 0.24808455, 1)
|
||||
metallic = 0.8496732
|
||||
roughness = 0.61764705
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_4me7l"]
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-10.976849, 0, -1, 21.953697, 1e-05, 2),
|
||||
"format": 34896613377,
|
||||
"index_count": 6,
|
||||
"index_data": PackedByteArray(0, 0, 1, 0, 2, 0, 0, 0, 3, 0, 1, 0),
|
||||
"name": "gold",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
"vertex_count": 4,
|
||||
"vertex_data": PackedByteArray(0, 0, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
|
||||
[resource]
|
||||
resource_name = "assets_Plane_012"
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-10.976849, 0, -1, 21.953697, 1e-05, 2),
|
||||
"attribute_data": PackedByteArray(0, 0, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0),
|
||||
"format": 34896613399,
|
||||
"index_count": 6,
|
||||
"index_data": PackedByteArray(0, 0, 1, 0, 2, 0, 0, 0, 3, 0, 1, 0),
|
||||
"material": SubResource("StandardMaterial3D_eac83"),
|
||||
"name": "gold",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
"vertex_count": 4,
|
||||
"vertex_data": PackedByteArray(0, 0, 0, 0, 255, 255, 255, 191, 255, 255, 0, 0, 0, 0, 255, 191, 255, 255, 0, 0, 255, 255, 255, 191, 0, 0, 0, 0, 0, 0, 255, 191, 255, 255, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127)
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_4me7l")
|
||||