So many changes I'm too lazy to list
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://4qsmkgrm8frw"
|
||||
path="res://.godot/imported/dynamic_area_loader.svg-bb5edbb9d069c941e62133cf9dbec682.ctex"
|
||||
path="res://.godot/imported/dynamic_area_loader.svg-fa3950f3b8a6d937b7e13d9057d16e83.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
@ -11,8 +11,8 @@ metadata={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/core/dynamic_area_loader/dynamic_area_loader.svg"
|
||||
dest_files=["res://.godot/imported/dynamic_area_loader.svg-bb5edbb9d069c941e62133cf9dbec682.ctex"]
|
||||
source_file="res://_development/ayuroo/dynamic_area_loader/dynamic_area_loader.svg"
|
||||
dest_files=["res://.godot/imported/dynamic_area_loader.svg-fa3950f3b8a6d937b7e13d9057d16e83.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://hrdl2qmxv3ve"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bj2bhtdul8xct" path="res://src/core/dynamic_area_loader/dynamic_area_loader.gd" id="1_gcydo"]
|
||||
[ext_resource type="Script" uid="uid://bj2bhtdul8xct" path="res://_development/ayuroo/dynamic_area_loader/dynamic_area_loader.gd" id="1_gcydo"]
|
||||
|
||||
[node name="DynamicAreaLoader" type="Area3D"]
|
||||
collision_layer = 0
|
||||
16
source/_development/ayuroo/heartbeat_effect.gd
Normal file
@ -0,0 +1,16 @@
|
||||
extends Node3D
|
||||
|
||||
@export var heartbeat_max_distance: float = 25.0
|
||||
@export_exp_easing("attenuation") var falloff: float = 3.5
|
||||
|
||||
@onready var beat_vibration: VibrationComponent = $BeatVibration
|
||||
|
||||
|
||||
func _physics_process(_delta: float) -> void:
|
||||
var player: PlayerCharacter = GameGlobals.get_player()
|
||||
|
||||
if is_instance_valid(player):
|
||||
var distance: float = Utils.node_distance(self, player)
|
||||
var strength: float = remap(distance, 0.0, heartbeat_max_distance, 1.0, 0.0)
|
||||
strength = ease(strength, falloff)
|
||||
beat_vibration.magnitude_multiplier = strength
|
||||
1
source/_development/ayuroo/heartbeat_effect.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://dybhpfhrqsk6y
|
||||
47
source/_development/ayuroo/heartbeat_effect.tscn
Normal file
@ -0,0 +1,47 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://b57cpxwxpn40j"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dybhpfhrqsk6y" path="res://_development/ayuroo/heartbeat_effect.gd" id="1_gjfos"]
|
||||
[ext_resource type="Script" uid="uid://bbwtct3hoxwws" path="res://src/core/vibration_component.gd" id="2_h7kji"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_akavr"]
|
||||
resource_name = "heartbeat_anim"
|
||||
loop_mode = 1
|
||||
tracks/0/type = "method"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("BeatVibration")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.3),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"vibrate"
|
||||
}, {
|
||||
"args": [],
|
||||
"method": &"vibrate"
|
||||
}]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_5124f"]
|
||||
_data = {
|
||||
&"heartbeat_anim": SubResource("Animation_akavr")
|
||||
}
|
||||
|
||||
[node name="HeartbeatEffect" type="Node3D"]
|
||||
script = ExtResource("1_gjfos")
|
||||
heartbeat_max_distance = 60.0
|
||||
falloff = 1.75
|
||||
|
||||
[node name="BeatVibration" type="Node" parent="."]
|
||||
script = ExtResource("2_h7kji")
|
||||
weak_magnitude = 1.0
|
||||
strong_magnitude = 1.0
|
||||
metadata/_custom_type_script = "uid://bbwtct3hoxwws"
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_5124f")
|
||||
}
|
||||
autoplay = "heartbeat_anim"
|
||||
@ -0,0 +1,166 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://cer6jlrgjjiud"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://k3edwxkml8dd" path="res://src/gameplay/props/electrics/hologram_projector/hologram_projector_floor.tscn" id="1_rj064"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_rj064"]
|
||||
sky_horizon_color = Color(0.66224277, 0.6717428, 0.6867428, 1)
|
||||
ground_horizon_color = Color(0.66224277, 0.6717428, 0.6867428, 1)
|
||||
|
||||
[sub_resource type="Sky" id="Sky_wrunm"]
|
||||
sky_material = SubResource("ProceduralSkyMaterial_rj064")
|
||||
|
||||
[sub_resource type="Environment" id="Environment_ryav0"]
|
||||
background_mode = 2
|
||||
sky = SubResource("Sky_wrunm")
|
||||
tonemap_mode = 2
|
||||
glow_enabled = true
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_rj064"]
|
||||
transparency = 4
|
||||
albedo_color = Color(1, 1, 1, 0.6156863)
|
||||
|
||||
[sub_resource type="CapsuleMesh" id="CapsuleMesh_bl7je"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_wrunm"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Character:scale")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1, 1, 1)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Character:position")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_rj064"]
|
||||
resource_name = "teleport"
|
||||
length = 2.5
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Character:scale")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0.23333338, 0.33333334, 0.6333333, 0.73333335, 1.0333333, 1.1333332, 1.4666667, 1.5666667, 1.8666668, 1.9666667, 2.2833333, 2.3833334, 2.5),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1, 1, 1), Vector3(0.5, 0.05, 0.5), Vector3(0.5, 0.05, 0.5), Vector3(1, 1, 1), Vector3(1, 1, 1), Vector3(0.5, 0.05, 0.5), Vector3(0.5, 0.05, 0.5), Vector3(1, 1, 1), Vector3(1, 1, 1), Vector3(0.5, 0.05, 0.5), Vector3(0.5, 0.05, 0.5), Vector3(1, 1, 1), Vector3(1, 1, 1)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Character:position")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.33333334, 0.43333334, 0.6333333, 1.1666666, 1.3333334, 1.9999998, 2.2, 2.5),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0), Vector3(0, 0, 0), Vector3(0, 0, 0), Vector3(4, 0, 0), Vector3(4, 0, 0), Vector3(-3.5992231, 0, -5), Vector3(-3.5992231, 0, -5), Vector3(0, 0, 0), Vector3(0, 0, 0)]
|
||||
}
|
||||
tracks/2/type = "method"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("HologramProjectorFloor")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0.33333337, 2.2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"values": [{
|
||||
"args": [false],
|
||||
"method": &"set_glowing"
|
||||
}, {
|
||||
"args": [true],
|
||||
"method": &"set_glowing"
|
||||
}]
|
||||
}
|
||||
tracks/3/type = "method"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("HologramProjectorFloor2")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0.6333333, 1.1666667),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"values": [{
|
||||
"args": [true],
|
||||
"method": &"set_glowing"
|
||||
}, {
|
||||
"args": [false],
|
||||
"method": &"set_glowing"
|
||||
}]
|
||||
}
|
||||
tracks/4/type = "method"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("HologramProjectorFloor3")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(1.3333334, 2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"values": [{
|
||||
"args": [true],
|
||||
"method": &"set_glowing"
|
||||
}, {
|
||||
"args": [false],
|
||||
"method": &"set_glowing"
|
||||
}]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ryav0"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_wrunm"),
|
||||
&"teleport": SubResource("Animation_rj064")
|
||||
}
|
||||
|
||||
[node name="Node3D" type="Node3D"]
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
environment = SubResource("Environment_ryav0")
|
||||
|
||||
[node name="Character" type="Node3D" parent="."]
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Character"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
material_override = SubResource("StandardMaterial3D_rj064")
|
||||
mesh = SubResource("CapsuleMesh_bl7je")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ryav0")
|
||||
}
|
||||
autoplay = "teleport"
|
||||
|
||||
[node name="HologramProjectorFloor" parent="." instance=ExtResource("1_rj064")]
|
||||
|
||||
[node name="HologramProjectorFloor2" parent="." instance=ExtResource("1_rj064")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 0)
|
||||
|
||||
[node name="HologramProjectorFloor3" parent="." instance=ExtResource("1_rj064")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.6, 0, -5)
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="."]
|
||||
transform = Transform3D(0.94264144, 0, -0.33380684, 0, 1, 0, 0.33380684, 0, 0.94264144, 0.175, 1.04, 2.02)
|
||||
fov = 90.0
|
||||
@ -1,19 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://ddfnb7m4ufpmu"
|
||||
path="res://.godot/imported/Liquid Gold.mp3-22723f81c2494a2c1e2a1680e9834f48.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/levels/_chase_test/Liquid Gold.mp3"
|
||||
dest_files=["res://.godot/imported/Liquid Gold.mp3-22723f81c2494a2c1e2a1680e9834f48.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0.0
|
||||
bpm=80.0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@ -3,7 +3,11 @@ extends Level
|
||||
signal beat_tick(beat: int)
|
||||
|
||||
const SPEED_TRANSITION_DISTANCE: float = 0.1
|
||||
const BPM: int = 160
|
||||
|
||||
@export var chase_anim: StringName = &""
|
||||
@export var debug_from_marker: StringName = &""
|
||||
@export var bpm: float = 160.0
|
||||
@export var debug_play_beat_tick: bool = false
|
||||
|
||||
var _previous_beat: int = 0
|
||||
|
||||
@ -12,13 +16,18 @@ var _previous_beat: int = 0
|
||||
@onready var music_animation: AnimationPlayer = $MusicAnimation
|
||||
@onready var debug_visualizer: MeshInstance3D = $ProgressTrack/PlayerDesiredProgress/DebugVisualizer
|
||||
@onready var music: AudioStreamPlayer = $Music
|
||||
@onready var beat_sfx: AudioStreamPlayer = $Beat
|
||||
@onready var bar_sfx: AudioStreamPlayer = $Bar
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
InputManager.set_mouse_captured(true)
|
||||
beat_tick.connect(_on_beat_tick)
|
||||
|
||||
GameGlobals.player.global_position = PlayerSpawnPoint.get_spawn_point_by_identifier(&"ChaseBeginning").global_position
|
||||
#if OS.is_debug_build():
|
||||
#var spawnpoint := PlayerSpawnPoint.get_spawnpoint_by_identifier(&"ChaseInfrontBeginning")
|
||||
##var spawnpoint := PlayerSpawnPoint.get_spawnpoint_by_identifier(&"ChaseBeginning")
|
||||
#GameGlobals.player.global_position = spawnpoint.global_position
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
@ -29,7 +38,7 @@ func _process(_delta: float) -> void:
|
||||
var _current_time: float = music_animation.current_animation_position + AudioServer.get_time_since_last_mix()
|
||||
SPrint.print_msgf("Current Music-Time: %s" % _current_time)
|
||||
_current_time -= AudioServer.get_output_latency()
|
||||
var beat := int(_current_time * BPM / 60.0)
|
||||
var beat := int(_current_time * bpm / 60.0)
|
||||
|
||||
if _previous_beat != beat:
|
||||
_previous_beat = beat
|
||||
@ -37,9 +46,13 @@ func _process(_delta: float) -> void:
|
||||
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
if not music_animation.is_playing():
|
||||
return
|
||||
|
||||
var player_character: PlayerCharacter = GameGlobals.player
|
||||
|
||||
var player_offset: float = progress_track.curve.get_closest_offset(player_character.global_position)
|
||||
var local_position: Vector3 = progress_track.to_local(player_character.global_position)
|
||||
var player_offset: float = progress_track.curve.get_closest_offset(local_position)
|
||||
var desired_speed_scale: float = remap(
|
||||
(player_desired_progress.progress - player_offset) + SPEED_TRANSITION_DISTANCE,
|
||||
0.0, SPEED_TRANSITION_DISTANCE,
|
||||
@ -47,14 +60,25 @@ func _physics_process(delta: float) -> void:
|
||||
)
|
||||
player_character.speed_scale = move_toward(
|
||||
player_character.speed_scale,
|
||||
clampf(desired_speed_scale, 0.1, 1.05),
|
||||
clampf(desired_speed_scale, 0.1, 1.1),
|
||||
delta
|
||||
)
|
||||
|
||||
|
||||
func _on_start_chase_area_body_entered(_body: Node3D) -> void:
|
||||
music_animation.play(&"main_track")
|
||||
if not OS.is_debug_build() or debug_from_marker.is_empty():
|
||||
music_animation.play(chase_anim)
|
||||
else:
|
||||
music_animation.play_section_with_markers(chase_anim, debug_from_marker)
|
||||
await get_tree().process_frame
|
||||
|
||||
var player: PlayerCharacter = GameGlobals.get_player()
|
||||
if is_instance_valid(player):
|
||||
player.global_position = debug_visualizer.global_position
|
||||
|
||||
|
||||
func _on_beat_tick(beat: int) -> void:
|
||||
if debug_play_beat_tick:
|
||||
beat_sfx.play()
|
||||
|
||||
debug_visualizer.scale = Vector3.ONE * (1.25 if beat % 2 == 0 else 1.0)
|
||||
|
||||
@ -1,129 +0,0 @@
|
||||
[gd_scene load_steps=17 format=3 uid="uid://d013wo01v8lr5"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cdgei0ihcem0n" path="res://_development/ayuroo/levels/_chase_test/_chase_test.gd" id="1_tqtrq"]
|
||||
[ext_resource type="Material" uid="uid://c38215ysnknyk" path="res://assets/materials/dev/dark/dark_01.tres" id="2_14tye"]
|
||||
[ext_resource type="AnimationLibrary" uid="uid://ck15gq8qw1rfg" path="res://_development/ayuroo/levels/_chase_test/_chase_anim.tres" id="2_gsfaw"]
|
||||
[ext_resource type="Script" uid="uid://3hlvt5k34xva" path="res://src/core/player_spawn_point.gd" id="3_hw8mu"]
|
||||
[ext_resource type="Script" uid="uid://dp6jy00a6xuhk" path="res://tools/beat_measurer.gd" id="4_hw8mu"]
|
||||
[ext_resource type="PackedScene" uid="uid://c0jearfhlqcvr" path="res://src/gameplay/hazards/saw/saw.tscn" id="5_yax8p"]
|
||||
[ext_resource type="PackedScene" uid="uid://kne8gkorpuop" path="res://src/ui/menus/death_screen/death_screen.tscn" id="6_u6lfm"]
|
||||
[ext_resource type="Script" uid="uid://bbwtct3hoxwws" path="res://src/core/vibration_component.gd" id="7_mop3m"]
|
||||
[ext_resource type="PackedScene" uid="uid://dawmen0hlfaaq" path="res://src/ui/menus/pause_menu/pause_menu.tscn" id="8_ff8bp"]
|
||||
[ext_resource type="PackedScene" uid="uid://srvm3v1grugk" path="res://_development/ayuroo/levels/_experimental/_layout_test.tscn" id="9_gsfaw"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_tqtrq"]
|
||||
sky_horizon_color = Color(0.66224277, 0.6717428, 0.6867428, 1)
|
||||
ground_horizon_color = Color(0.66224277, 0.6717428, 0.6867428, 1)
|
||||
|
||||
[sub_resource type="Sky" id="Sky_yax8p"]
|
||||
sky_material = SubResource("ProceduralSkyMaterial_tqtrq")
|
||||
|
||||
[sub_resource type="Environment" id="Environment_u6lfm"]
|
||||
background_mode = 2
|
||||
sky = SubResource("Sky_yax8p")
|
||||
tonemap_mode = 2
|
||||
glow_enabled = true
|
||||
|
||||
[sub_resource type="Curve3D" id="Curve3D_tqtrq"]
|
||||
_data = {
|
||||
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1150),
|
||||
"tilts": PackedFloat32Array(0, 0)
|
||||
}
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="SphereMesh" id="SphereMesh_tqtrq"]
|
||||
radius = 0.15
|
||||
height = 0.3
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_gsfaw"]
|
||||
size = Vector3(14, 5, 1)
|
||||
|
||||
[node name="ChaseTest" type="Node3D"]
|
||||
script = ExtResource("1_tqtrq")
|
||||
metadata/_custom_type_script = "uid://cigop0ivp5vvu"
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||
transform = Transform3D(-0.8660254, -0.43301278, 0.25, 0, 0.49999997, 0.86602545, -0.50000006, 0.75, -0.43301266, 0, 0, 0)
|
||||
shadow_enabled = true
|
||||
directional_shadow_max_distance = 1.0
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
environment = SubResource("Environment_u6lfm")
|
||||
|
||||
[node name="Music" type="AudioStreamPlayer" parent="."]
|
||||
volume_db = -6.0
|
||||
|
||||
[node name="MusicAnimation" type="AnimationPlayer" parent="."]
|
||||
callback_mode_process = 0
|
||||
libraries = {
|
||||
&"": ExtResource("2_gsfaw")
|
||||
}
|
||||
|
||||
[node name="PlayerSpawnPoint" type="Marker3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||
script = ExtResource("3_hw8mu")
|
||||
spawn_id = &"ChaseBeginning"
|
||||
metadata/_custom_type_script = "uid://3hlvt5k34xva"
|
||||
|
||||
[node name="ProgressTrack" type="Path3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
curve = SubResource("Curve3D_tqtrq")
|
||||
|
||||
[node name="PlayerDesiredProgress" type="PathFollow3D" parent="ProgressTrack"]
|
||||
rotation_mode = 0
|
||||
loop = false
|
||||
|
||||
[node name="DebugVisualizer" type="MeshInstance3D" parent="ProgressTrack/PlayerDesiredProgress"]
|
||||
mesh = SubResource("SphereMesh_tqtrq")
|
||||
|
||||
[node name="BeatMeasurer" type="Node" parent="ProgressTrack" node_paths=PackedStringArray("path")]
|
||||
script = ExtResource("4_hw8mu")
|
||||
path = NodePath("..")
|
||||
track_duration = 208.54
|
||||
track_bpm = 160
|
||||
metadata/_custom_type_script = "uid://dp6jy00a6xuhk"
|
||||
|
||||
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="."]
|
||||
use_collision = true
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="CSGCombiner3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -580)
|
||||
size = Vector3(14, 1, 1161)
|
||||
material = ExtResource("2_14tye")
|
||||
|
||||
[node name="Saws" type="Node3D" parent="."]
|
||||
|
||||
[node name="ResetSaw" parent="Saws" instance=ExtResource("5_yax8p")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 1, -1006.4116)
|
||||
|
||||
[node name="Saw" parent="Saws" instance=ExtResource("5_yax8p")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, -46)
|
||||
|
||||
[node name="Saw2" parent="Saws" instance=ExtResource("5_yax8p")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, -53)
|
||||
|
||||
[node name="VibrationComponent" type="Node" parent="."]
|
||||
script = ExtResource("7_mop3m")
|
||||
duration = 0.1
|
||||
delay = 0.188
|
||||
strong_magnitude = 0.0
|
||||
metadata/_custom_type_script = "uid://bbwtct3hoxwws"
|
||||
|
||||
[node name="Menus" type="CanvasLayer" parent="."]
|
||||
|
||||
[node name="DeathScreen" parent="Menus" instance=ExtResource("6_u6lfm")]
|
||||
|
||||
[node name="PauseMenu" parent="Menus" instance=ExtResource("8_ff8bp")]
|
||||
|
||||
[node name="LayoutTest" parent="." instance=ExtResource("9_gsfaw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -3.5, 28)
|
||||
|
||||
[node name="StartChaseArea" type="Area3D" parent="."]
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StartChaseArea"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0)
|
||||
shape = SubResource("BoxShape3D_gsfaw")
|
||||
|
||||
[connection signal="body_entered" from="StartChaseArea" to="." method="_on_start_chase_area_body_entered"]
|
||||
@ -0,0 +1,131 @@
|
||||
[gd_scene load_steps=12 format=3 uid="uid://btjepmbw1mq6j"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://8y3swwnmxwg2" path="res://src/core/world/world.tscn" id="1_7hw7e"]
|
||||
[ext_resource type="Script" uid="uid://dfnb036hysorj" path="res://src/core/world/level/level_loader.gd" id="2_5eifk"]
|
||||
[ext_resource type="Script" uid="uid://3hlvt5k34xva" path="res://src/core/spawnpoint/player_spawn_point.gd" id="3_5eifk"]
|
||||
[ext_resource type="PackedScene" uid="uid://drr80goa61wrx" path="res://src/core/world/level/level_area.tscn" id="4_clslv"]
|
||||
[ext_resource type="Script" uid="uid://u2s0spt1rud4" path="res://src/core/game_state_overrider.gd" id="6_gynur"]
|
||||
[ext_resource type="Script" uid="uid://bfv3de7iqflhv" path="res://src/core/damage/death_area.gd" id="6_tys81"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_77q0j"]
|
||||
size = Vector3(29, 14, 149)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_clslv"]
|
||||
size = Vector3(29, 14, 1175)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_gynur"]
|
||||
size = Vector3(29, 14, 1762)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_tys81"]
|
||||
size = Vector3(1, 2, 0.5)
|
||||
|
||||
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_gynur"]
|
||||
|
||||
[node name="ChaseTestWorld" instance=ExtResource("1_7hw7e")]
|
||||
initial_spawn_id = &"Staircase"
|
||||
debug_spawn_point = &"ChaseInfrontBeginning"
|
||||
|
||||
[node name="Spawnpoints" type="Node" parent="." index="0"]
|
||||
|
||||
[node name="SpawnStaircase" type="Marker3D" parent="Spawnpoints" index="0"]
|
||||
script = ExtResource("3_5eifk")
|
||||
spawn_id = &"Staircase"
|
||||
metadata/_custom_type_script = "uid://3hlvt5k34xva"
|
||||
|
||||
[node name="SpawnInfrontChase" type="Marker3D" parent="Spawnpoints" index="1"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, -26)
|
||||
script = ExtResource("3_5eifk")
|
||||
spawn_id = &"ChaseInfrontBeginning"
|
||||
metadata/_custom_type_script = "uid://3hlvt5k34xva"
|
||||
|
||||
[node name="SpawnChaseBeginning" type="Marker3D" parent="Spawnpoints" index="2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, -28)
|
||||
script = ExtResource("3_5eifk")
|
||||
spawn_id = &"ChaseBeginning"
|
||||
metadata/_custom_type_script = "uid://3hlvt5k34xva"
|
||||
|
||||
[node name="LevelLoaders" type="Node" parent="." index="1"]
|
||||
|
||||
[node name="LoaderLayoutTest" type="Marker3D" parent="LevelLoaders" index="0"]
|
||||
script = ExtResource("2_5eifk")
|
||||
scene_path = "uid://srvm3v1grugk"
|
||||
load_threaded = false
|
||||
override_level_id = false
|
||||
level_id = &"LayoutTest"
|
||||
metadata/_custom_type_script = "uid://dfnb036hysorj"
|
||||
|
||||
[node name="LoaderChaseLGTest" type="Marker3D" parent="LevelLoaders" index="1"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.5, 3.5, -37.5)
|
||||
script = ExtResource("2_5eifk")
|
||||
scene_path = "uid://d013wo01v8lr5"
|
||||
override_level_id = false
|
||||
level_id = &"ChaseTest"
|
||||
metadata/_custom_type_script = "uid://dfnb036hysorj"
|
||||
|
||||
[node name="LoaderChaseEFTest" type="Marker3D" parent="LevelLoaders" index="2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.5, 3.5, -37.5)
|
||||
script = ExtResource("2_5eifk")
|
||||
scene_path = "uid://bdkbqhgw8nhh6"
|
||||
override_level_id = false
|
||||
level_id = &"ChaseTest"
|
||||
metadata/_custom_type_script = "uid://dfnb036hysorj"
|
||||
|
||||
[node name="LevelAreas" type="Node" parent="." index="2"]
|
||||
|
||||
[node name="LayoutTestArea" parent="LevelAreas" index="0" node_paths=PackedStringArray("level_loader", "loaded_if_spawnpoint") instance=ExtResource("4_clslv")]
|
||||
level_loader = NodePath("../../LevelLoaders/LoaderLayoutTest")
|
||||
loaded_if_spawnpoint = [NodePath("../../Spawnpoints/SpawnStaircase"), NodePath("../../Spawnpoints/SpawnChaseBeginning"), NodePath("../../Spawnpoints/SpawnInfrontChase")]
|
||||
keep_loaded_duration = 20.0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="LevelAreas/LayoutTestArea" index="0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6.5, -69)
|
||||
shape = SubResource("BoxShape3D_77q0j")
|
||||
debug_color = Color(1, 1, 0, 0.41960785)
|
||||
|
||||
[node name="ChaseLGArea" parent="LevelAreas" index="1" node_paths=PackedStringArray("level_loader", "loaded_if_spawnpoint") instance=ExtResource("4_clslv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.5, 0, 0)
|
||||
level_loader = NodePath("../../LevelLoaders/LoaderChaseLGTest")
|
||||
loaded_if_spawnpoint = [NodePath("../../Spawnpoints/SpawnChaseBeginning")]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="LevelAreas/ChaseLGArea" index="0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6.5, -613.54346)
|
||||
shape = SubResource("BoxShape3D_clslv")
|
||||
debug_color = Color(1, 1, 0, 0.41960785)
|
||||
|
||||
[node name="ChaseEFArea" parent="LevelAreas" index="2" node_paths=PackedStringArray("level_loader", "loaded_if_spawnpoint") instance=ExtResource("4_clslv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.5, 0, 0)
|
||||
level_loader = NodePath("../../LevelLoaders/LoaderChaseEFTest")
|
||||
loaded_if_spawnpoint = [NodePath("../../Spawnpoints/SpawnChaseBeginning")]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="LevelAreas/ChaseEFArea" index="0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6.5, -907.04346)
|
||||
shape = SubResource("BoxShape3D_gynur")
|
||||
debug_color = Color(1, 1, 0, 0.41960785)
|
||||
|
||||
[node name="Checkpoints" type="Node" parent="." index="3"]
|
||||
|
||||
[node name="GameStateOverrider" type="Area3D" parent="Checkpoints" index="0" node_paths=PackedStringArray("level_loader", "spawnpoint")]
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
script = ExtResource("6_gynur")
|
||||
do_save = false
|
||||
override_chapter_index = false
|
||||
level_loader = NodePath("../../LevelLoaders/LoaderLayoutTest")
|
||||
spawnpoint = NodePath("../../Spawnpoints/SpawnInfrontChase")
|
||||
use_player_transform = false
|
||||
metadata/_custom_type_script = "uid://u2s0spt1rud4"
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Checkpoints/GameStateOverrider" index="0"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5, -23.751904)
|
||||
shape = SubResource("BoxShape3D_tys81")
|
||||
|
||||
[node name="DeathArea" type="Area3D" parent="." index="4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -7, 0)
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
script = ExtResource("6_tys81")
|
||||
death_type = 1
|
||||
metadata/_custom_type_script = "uid://bfv3de7iqflhv"
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="DeathArea" index="0"]
|
||||
shape = SubResource("WorldBoundaryShape3D_gynur")
|
||||
@ -0,0 +1,14 @@
|
||||
[gd_resource type="Resource" script_class="WorldInfo" load_steps=6 format=3 uid="uid://d0y8d244covqn"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dlf1vq0qej6bs" path="res://src/core/world/world_info.gd" id="1_5vaia"]
|
||||
[ext_resource type="Script" uid="uid://dhaus6vq5oigj" path="res://src/core/world/level/level_info.gd" id="1_akwq6"]
|
||||
[ext_resource type="Resource" uid="uid://dc6x0whf4601" path="res://_development/ayuroo/levels/_experimental/level_layout_test.tres" id="2_ik5w1"]
|
||||
[ext_resource type="Resource" uid="uid://stvk354xpola" path="res://_development/ayuroo/levels/_chase_test/everlasting_fun/level_everlasting_fun.tres" id="2_riadp"]
|
||||
[ext_resource type="Resource" uid="uid://o7u7x13isl7e" path="res://_development/ayuroo/levels/_chase_test/liquid_gold/level_liquid_gold.tres" id="3_ik5w1"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_5vaia")
|
||||
world_path = "uid://btjepmbw1mq6j"
|
||||
initial_level = &"LayoutTest"
|
||||
levels = Array[ExtResource("1_akwq6")]([ExtResource("2_ik5w1"), ExtResource("2_riadp"), ExtResource("3_ik5w1")])
|
||||
metadata/_custom_type_script = "uid://dlf1vq0qej6bs"
|
||||
BIN
source/_development/ayuroo/levels/_chase_test/bar.ogg
Normal file
19
source/_development/ayuroo/levels/_chase_test/bar.ogg.import
Normal file
@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://bycnxkxch1dmo"
|
||||
path="res://.godot/imported/bar.ogg-ba9604d6d5e0363a87b05d7ba864b7b8.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/levels/_chase_test/bar.ogg"
|
||||
dest_files=["res://.godot/imported/bar.ogg-ba9604d6d5e0363a87b05d7ba864b7b8.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
BIN
source/_development/ayuroo/levels/_chase_test/beat.ogg
Normal file
@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://c6eyxsodomokn"
|
||||
path="res://.godot/imported/beat.ogg-bcda8bfd4ebb685197697e4166af0061.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/levels/_chase_test/beat.ogg"
|
||||
dest_files=["res://.godot/imported/beat.ogg-bcda8bfd4ebb685197697e4166af0061.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://dxx77jtvkpmdh"
|
||||
path="res://.godot/imported/Everlasting Fun (Derivative Version) 【INDIGO PARK FAN MUSIC VIDEO.mp3-fef5003c96572304e3d1534cc4fc1c8f.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/levels/_chase_test/everlasting_fun/Everlasting Fun (Derivative Version) 【INDIGO PARK FAN MUSIC VIDEO.mp3"
|
||||
dest_files=["res://.godot/imported/Everlasting Fun (Derivative Version) 【INDIGO PARK FAN MUSIC VIDEO.mp3-fef5003c96572304e3d1534cc4fc1c8f.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0.0
|
||||
bpm=176.0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@ -0,0 +1,122 @@
|
||||
[gd_scene load_steps=14 format=3 uid="uid://bdkbqhgw8nhh6"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cdgei0ihcem0n" path="res://_development/ayuroo/levels/_chase_test/_chase_test.gd" id="1_ksy85"]
|
||||
[ext_resource type="AudioStream" uid="uid://bxka3egn4m01r" path="res://_development/ayuroo/levels/_chase_test/tick.ogg" id="2_2frp2"]
|
||||
[ext_resource type="AnimationLibrary" uid="uid://ct8oebsc01o7j" path="res://_development/ayuroo/levels/_chase_test/everlasting_fun/_ef_chase_anim.tres" id="2_r4hpf"]
|
||||
[ext_resource type="Script" uid="uid://dp6jy00a6xuhk" path="res://tools/beat_measurer.gd" id="3_c3hig"]
|
||||
[ext_resource type="AudioStream" uid="uid://bji7bb0rrangg" path="res://_development/ayuroo/levels/_chase_test/tack.ogg" id="3_c4bhh"]
|
||||
[ext_resource type="Material" uid="uid://c38215ysnknyk" path="res://assets/materials/dev/dark/dark_01.tres" id="4_gmmry"]
|
||||
[ext_resource type="PackedScene" uid="uid://c0jearfhlqcvr" path="res://src/gameplay/hazards/saw/saw.tscn" id="5_86lpt"]
|
||||
[ext_resource type="Script" uid="uid://bueqrebp8o36n" path="res://tools/anim_player_editor_calls.gd" id="5_c4bhh"]
|
||||
[ext_resource type="Script" uid="uid://bbwtct3hoxwws" path="res://src/core/vibration_component.gd" id="6_t80us"]
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_2frp2"]
|
||||
playback_mode = 2
|
||||
streams_count = 2
|
||||
stream_0/stream = ExtResource("2_2frp2")
|
||||
stream_1/stream = ExtResource("3_c4bhh")
|
||||
|
||||
[sub_resource type="Curve3D" id="Curve3D_tqtrq"]
|
||||
_data = {
|
||||
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1533),
|
||||
"tilts": PackedFloat32Array(0, 0)
|
||||
}
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="SphereMesh" id="SphereMesh_tqtrq"]
|
||||
radius = 0.15
|
||||
height = 0.3
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_gsfaw"]
|
||||
size = Vector3(14, 5, 1)
|
||||
|
||||
[node name="ChaseTest" type="Node3D"]
|
||||
script = ExtResource("1_ksy85")
|
||||
chase_anim = &"everlasting_fun"
|
||||
debug_from_marker = &"IntroEnd"
|
||||
bpm = 176.0
|
||||
metadata/_custom_type_script = "uid://cigop0ivp5vvu"
|
||||
|
||||
[node name="Music" type="AudioStreamPlayer" parent="."]
|
||||
volume_db = -6.0
|
||||
|
||||
[node name="Beat" type="AudioStreamPlayer" parent="."]
|
||||
stream = SubResource("AudioStreamRandomizer_2frp2")
|
||||
volume_db = -3.0
|
||||
max_polyphony = 4
|
||||
|
||||
[node name="Bar" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("3_c4bhh")
|
||||
volume_db = -6.0
|
||||
|
||||
[node name="MusicAnimation" type="AnimationPlayer" parent="."]
|
||||
callback_mode_process = 0
|
||||
libraries = {
|
||||
&"": ExtResource("2_r4hpf")
|
||||
}
|
||||
script = ExtResource("5_c4bhh")
|
||||
|
||||
[node name="ProgressTrack" type="Path3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
curve = SubResource("Curve3D_tqtrq")
|
||||
|
||||
[node name="PlayerDesiredProgress" type="PathFollow3D" parent="ProgressTrack"]
|
||||
rotation_mode = 0
|
||||
loop = false
|
||||
|
||||
[node name="DebugVisualizer" type="MeshInstance3D" parent="ProgressTrack/PlayerDesiredProgress"]
|
||||
mesh = SubResource("SphereMesh_tqtrq")
|
||||
|
||||
[node name="BeatMeasurer" type="Node" parent="ProgressTrack" node_paths=PackedStringArray("path")]
|
||||
script = ExtResource("3_c3hig")
|
||||
path = NodePath("..")
|
||||
track_duration = 290.06
|
||||
track_bpm = 176
|
||||
metadata/_custom_type_script = "uid://dp6jy00a6xuhk"
|
||||
|
||||
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="."]
|
||||
use_collision = true
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="CSGCombiner3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -767.75)
|
||||
size = Vector3(14, 1, 1536.5)
|
||||
material = ExtResource("4_gmmry")
|
||||
|
||||
[node name="Saws" type="Node3D" parent="."]
|
||||
|
||||
[node name="ResetSaw" parent="Saws" instance=ExtResource("5_86lpt")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 1, -1511.1943)
|
||||
|
||||
[node name="Saw" parent="Saws" instance=ExtResource("5_86lpt")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, -46)
|
||||
|
||||
[node name="Saw2" parent="Saws" instance=ExtResource("5_86lpt")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, -53)
|
||||
|
||||
[node name="HeavyBeatVibration" type="Node" parent="."]
|
||||
script = ExtResource("6_t80us")
|
||||
duration = 0.075
|
||||
sync_to_audio = true
|
||||
weak_magnitude = 0.25
|
||||
strong_magnitude = 0.5
|
||||
magnitude_multiplier = 0.0
|
||||
metadata/_custom_type_script = "uid://bbwtct3hoxwws"
|
||||
|
||||
[node name="LightBeatVibration" type="Node" parent="."]
|
||||
script = ExtResource("6_t80us")
|
||||
duration = 0.075
|
||||
delay = 0.125
|
||||
sync_to_audio = true
|
||||
strong_magnitude = 0.0
|
||||
metadata/_custom_type_script = "uid://bbwtct3hoxwws"
|
||||
|
||||
[node name="StartChaseArea" type="Area3D" parent="."]
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StartChaseArea"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0)
|
||||
shape = SubResource("BoxShape3D_gsfaw")
|
||||
|
||||
[connection signal="started_vibration" from="HeavyBeatVibration" to="Beat" method="play"]
|
||||
[connection signal="body_entered" from="StartChaseArea" to="." method="_on_start_chase_area_body_entered"]
|
||||
@ -0,0 +1,9 @@
|
||||
[gd_resource type="Resource" script_class="LevelInfo" load_steps=2 format=3 uid="uid://stvk354xpola"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dhaus6vq5oigj" path="res://src/core/world/level/level_info.gd" id="1_85ilw"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_85ilw")
|
||||
level_path = "uid://bdkbqhgw8nhh6"
|
||||
level_id = &"EverlastingFun"
|
||||
metadata/_custom_type_script = "uid://dhaus6vq5oigj"
|
||||
@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://ccsijhfcbaqx0"
|
||||
path="res://.godot/imported/bass_filtered.ogg-2411c7db56777a627b361ecd634f0496.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/levels/_chase_test/everlasting_fun/music/bass_filtered.ogg"
|
||||
dest_files=["res://.godot/imported/bass_filtered.ogg-2411c7db56777a627b361ecd634f0496.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://4kmkg4m5da1u"
|
||||
path="res://.godot/imported/bass_filtered2.ogg-f005cb269ff931fb707dbe27834b4ad9.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/levels/_chase_test/everlasting_fun/music/bass_filtered2.ogg"
|
||||
dest_files=["res://.godot/imported/bass_filtered2.ogg-f005cb269ff931fb707dbe27834b4ad9.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://ddfnb7m4ufpmu"
|
||||
path="res://.godot/imported/Liquid Gold.mp3-6d2cb1e626d7f1dcf7172550bf2c5308.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/levels/_chase_test/liquid_gold/Liquid Gold.mp3"
|
||||
dest_files=["res://.godot/imported/Liquid Gold.mp3-6d2cb1e626d7f1dcf7172550bf2c5308.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0.0
|
||||
bpm=80.0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@ -1,6 +1,6 @@
|
||||
[gd_resource type="AnimationLibrary" load_steps=4 format=3 uid="uid://ck15gq8qw1rfg"]
|
||||
|
||||
[ext_resource type="AudioStream" uid="uid://ddfnb7m4ufpmu" path="res://_development/ayuroo/levels/_chase_test/Liquid Gold.mp3" id="1_58hp1"]
|
||||
[ext_resource type="AudioStream" uid="uid://ddfnb7m4ufpmu" path="res://_development/ayuroo/levels/_chase_test/liquid_gold/Liquid Gold.mp3" id="1_58hp1"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_tqtrq"]
|
||||
length = 0.001
|
||||
@ -103,8 +103,8 @@ tracks/4/path = NodePath("VibrationComponent")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(2.625, 4.5, 6, 6.75, 7.5, 8.25, 9, 9.1875, 9.375, 9.5625, 9.75, 9.9375, 10.125, 10.3125, 10.5, 12, 12.375, 12.75, 13.125, 13.5, 13.875, 14.25, 14.625, 15, 15.375, 15.75, 16.125, 16.5, 16.875, 17.25, 17.625, 18, 18.375, 18.75, 19.125, 19.5, 19.875, 20.25, 20.625, 21, 21.375, 21.75, 22.125, 22.5, 22.875, 23.25, 23.625, 24, 24.75, 25.5, 26.25, 27, 27.75, 28.5, 28.875, 29.25, 30, 30.75, 31.5, 32.25, 33, 33.75, 34.5, 34.875, 35.25, 36, 36.75, 37.5, 38.25, 39, 39.75, 40.5, 41.25, 42, 42.75, 43.5, 44.25, 45, 45.375, 45.75, 46.125, 47.625, 48, 48.375, 48.75, 49.125, 49.5, 49.875, 50.25, 50.625, 51, 51.375, 51.75, 52.125, 52.5, 52.875, 53.25, 53.625, 54, 54.375, 54.75, 55.125, 55.5, 55.875, 56.25, 56.625, 57, 57.375, 57.75, 58.125, 58.5, 58.875, 59.25, 59.625, 60, 60.375, 60.75, 61.125, 61.5, 61.875, 62.25, 62.625, 63, 63.375, 63.75, 64.125, 64.5, 64.875, 65.25, 65.625, 66, 66.375, 66.75, 67.125, 67.5, 67.875, 68.25, 68.625, 69, 69.375, 69.75, 70.125, 70.5, 70.875, 71.25, 71.625, 72, 77.625, 78, 78.375, 78.75, 79.125, 79.5, 79.875, 80.25, 80.625, 81, 81.375, 81.75, 82.125, 82.5, 82.875, 83.25, 83.625, 84, 84.375, 84.75, 85.125, 85.5, 85.875, 86.25, 86.625, 87, 87.375, 87.75, 88.125, 88.5, 88.875, 89.25, 89.625, 90, 90.375, 90.75, 91.125, 91.5, 91.875, 92.25, 92.625, 93, 93.375, 93.75, 94.125, 94.5, 94.875, 95.25, 95.625, 96, 96.375, 96.75, 97.125, 97.5, 97.875, 98.25, 98.625, 99, 99.375, 99.75, 100.125, 100.5, 101.625, 102, 102.375, 102.75, 103.125, 103.5, 103.875, 104.25, 104.625, 105, 105.375, 105.75, 106.125, 106.5, 106.875, 107.25, 107.625, 108, 108.375, 108.75, 109.125, 109.5, 109.875, 110.25, 110.625, 111, 111.375, 111.75, 112.125, 112.5, 112.875, 113.25, 113.625, 114, 114.375, 114.75, 115.125, 115.5, 115.875, 116.25, 116.625, 117, 117.375, 117.75, 118.125, 118.5, 118.875, 119.25, 119.625, 120, 120.375, 120.75, 121.125, 121.5, 121.875, 122.25, 122.625, 123, 123.375, 123.75, 124.125, 124.5, 124.875, 125.25, 125.625, 126, 132, 138, 138.75, 139.5, 140.25, 141, 141.75, 142.5, 143.25, 144, 144.375, 144.75, 145.125, 145.5, 145.875, 146.25, 146.625, 147, 147.1875, 147.375, 147.5625, 147.75, 147.9375, 148.125, 148.29951, 148.5, 149.625, 150, 150.375, 150.75, 151.125, 151.5, 151.875, 152.25, 152.625, 153, 153.375, 153.75, 154.125, 154.5, 154.875, 155.25, 155.625, 156, 156.375, 156.75, 157.125, 157.5, 157.875, 158.25, 158.625, 159, 159.375, 159.75, 160.125, 160.5, 160.875, 161.25, 161.625, 162, 162.375, 162.75, 163.125, 163.5, 163.875, 164.25, 164.625, 165, 165.375, 165.75, 166.125, 166.5, 166.875, 167.25, 167.625, 168, 168.375, 168.75, 169.125, 169.5, 169.875, 170.25, 170.625, 171, 171.375, 171.75, 172.125, 172.5, 173.625, 174, 174.375, 174.75, 175.125, 175.5, 175.875, 176.25, 176.625, 177, 177.375, 177.75, 178.125, 178.5, 178.875, 179.25, 179.625, 180, 180.375, 180.75, 181.125, 181.5, 181.875, 182.25, 182.625, 183, 183.375, 183.75, 184.125, 184.5, 184.875, 185.25, 185.625, 186, 186.375, 186.75, 187.125, 187.5, 187.875, 188.25, 188.625, 189, 189.375, 189.75, 190.125, 190.5, 190.875, 191.25, 191.625, 192, 192.375, 192.75, 193.125, 193.5, 193.875, 194.25, 194.625, 195, 195.375, 195.75, 196.125, 196.5, 196.875, 197.25, 197.625, 198, 198.75, 199.5, 200.25, 201, 201.75),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||
"times": PackedFloat32Array(2.625, 4.5, 4.875, 5.25, 6, 6.75, 7.5, 8.25, 9, 9.1875, 9.375, 9.5625, 9.75, 9.9375, 10.125, 10.3125, 10.5, 11.625, 12, 12.375, 12.75, 13.125, 13.5, 13.875, 14.25, 14.625, 15, 15.375, 15.75, 16.125, 16.5, 16.875, 17.25, 17.625, 18, 18.375, 18.75, 19.125, 19.5, 19.875, 20.25, 20.625, 21, 21.375, 21.75, 22.125, 22.5, 22.875, 23.25, 23.625, 24, 24.75, 25.5, 26.25, 27, 27.75, 28.5, 28.875, 29.25, 30, 30.75, 31.5, 32.25, 33, 33.75, 34.5, 34.875, 35.25, 36, 36.75, 37.5, 38.25, 39, 39.75, 40.5, 41.25, 42, 42.375, 42.75, 43.125, 43.5, 43.875, 44.25, 45, 45.375, 45.75, 46.125, 47.625, 48, 48.375, 48.75, 49.125, 49.5, 49.875, 50.25, 50.625, 51, 51.375, 51.75, 52.125, 52.5, 52.875, 53.25, 53.625, 54, 54.375, 54.75, 55.125, 55.5, 55.875, 56.25, 56.625, 57, 57.375, 57.75, 58.125, 58.5, 58.875, 59.25, 59.625, 60, 60.375, 60.75, 61.125, 61.5, 61.875, 62.25, 62.625, 63, 63.375, 63.75, 64.125, 64.5, 64.875, 65.25, 65.625, 66, 66.375, 66.75, 67.125, 67.5, 67.875, 68.25, 68.625, 69, 69.375, 69.75, 70.125, 70.5, 70.875, 71.25, 71.625, 77.625, 78, 78.375, 78.75, 79.125, 79.5, 79.875, 80.25, 80.625, 81, 81.375, 81.75, 82.125, 82.5, 82.875, 83.25, 83.625, 84, 84.375, 84.75, 85.125, 85.5, 85.875, 86.25, 86.625, 87, 87.375, 87.75, 88.125, 88.5, 88.875, 89.25, 89.625, 90, 90.375, 90.75, 91.125, 91.5, 91.875, 92.25, 92.625, 93, 93.375, 93.75, 94.125, 94.5, 94.875, 95.25, 95.625, 96, 96.375, 96.75, 97.125, 97.5, 97.875, 98.25, 98.625, 99, 99.375, 99.75, 100.125, 101.625, 102, 102.375, 102.75, 103.125, 103.5, 103.875, 104.25, 104.625, 105, 105.375, 105.75, 106.125, 106.5, 106.875, 107.25, 107.625, 108, 108.375, 108.75, 109.125, 109.5, 109.875, 110.25, 110.625, 111, 111.375, 111.75, 112.125, 112.5, 112.875, 113.25, 113.625, 114, 114.375, 114.75, 115.125, 115.5, 115.875, 116.25, 116.625, 117, 117.375, 117.75, 118.125, 118.5, 118.875, 119.25, 119.625, 120, 120.375, 120.75, 121.125, 121.5, 121.875, 122.25, 122.625, 123, 123.375, 123.75, 124.125, 124.5, 124.875, 125.25, 125.625, 126, 132, 132.75, 133.5, 134.25, 135, 135.75, 136.5, 138, 138.75, 139.5, 140.25, 141, 141.75, 142.5, 143.25, 144, 144.375, 144.75, 145.125, 145.5, 145.875, 146.25, 146.625, 147, 147.1875, 147.375, 147.5625, 147.75, 147.9375, 148.125, 148.29951, 148.5, 149.625, 150, 150.375, 150.75, 151.125, 151.5, 151.875, 152.25, 152.625, 153, 153.375, 153.75, 154.125, 154.5, 154.875, 155.25, 155.625, 156, 156.375, 156.75, 157.125, 157.5, 157.875, 158.25, 158.625, 159, 159.375, 159.75, 160.125, 160.5, 160.875, 161.25, 161.625, 162, 162.375, 162.75, 163.125, 163.5, 163.875, 164.25, 164.625, 165, 165.375, 165.75, 166.125, 166.5, 166.875, 167.25, 167.625, 168, 168.375, 168.75, 169.125, 169.5, 169.875, 170.25, 170.625, 171, 171.375, 171.75, 172.125, 172.5, 173.625, 174, 174.375, 174.75, 175.125, 175.5, 175.875, 176.25, 176.625, 177, 177.375, 177.75, 178.125, 178.5, 178.875, 179.25, 179.625, 180, 180.375, 180.75, 181.125, 181.5, 181.875, 182.25, 182.625, 183, 183.375, 183.75, 184.125, 184.5, 184.875, 185.25, 185.625, 186, 186.375, 186.75, 187.125, 187.5, 187.875, 188.25, 188.625, 189, 189.375, 189.75, 190.125, 190.5, 190.875, 191.25, 191.625, 192, 192.375, 192.75, 193.125, 193.5, 193.875, 194.25, 194.625, 195, 195.375, 195.75, 196.125, 196.5, 196.875, 197.25, 197.625, 198, 198.75, 199.5, 200.25, 201, 201.75),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"vibrate"
|
||||
@ -1407,11 +1407,41 @@ tracks/4/keys = {
|
||||
}, {
|
||||
"args": [],
|
||||
"method": &"vibrate"
|
||||
}, {
|
||||
"args": [],
|
||||
"method": &"vibrate"
|
||||
}, {
|
||||
"args": [],
|
||||
"method": &"vibrate"
|
||||
}, {
|
||||
"args": [],
|
||||
"method": &"vibrate"
|
||||
}, {
|
||||
"args": [],
|
||||
"method": &"vibrate"
|
||||
}, {
|
||||
"args": [],
|
||||
"method": &"vibrate"
|
||||
}, {
|
||||
"args": [],
|
||||
"method": &"vibrate"
|
||||
}, {
|
||||
"args": [],
|
||||
"method": &"vibrate"
|
||||
}, {
|
||||
"args": [],
|
||||
"method": &"vibrate"
|
||||
}, {
|
||||
"args": [],
|
||||
"method": &"vibrate"
|
||||
}, {
|
||||
"args": [],
|
||||
"method": &"vibrate"
|
||||
}]
|
||||
}
|
||||
|
||||
[resource]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_tqtrq"),
|
||||
&"main_track": SubResource("Animation_2iqw8")
|
||||
&"liquid_gold": SubResource("Animation_2iqw8")
|
||||
}
|
||||
@ -0,0 +1,104 @@
|
||||
[gd_scene load_steps=13 format=3 uid="uid://d013wo01v8lr5"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cdgei0ihcem0n" path="res://_development/ayuroo/levels/_chase_test/_chase_test.gd" id="1_l86vi"]
|
||||
[ext_resource type="AnimationLibrary" uid="uid://ck15gq8qw1rfg" path="res://_development/ayuroo/levels/_chase_test/liquid_gold/_lg_chase_anim.tres" id="2_kddul"]
|
||||
[ext_resource type="AudioStream" uid="uid://c6eyxsodomokn" path="res://_development/ayuroo/levels/_chase_test/beat.ogg" id="2_pwoi6"]
|
||||
[ext_resource type="Script" uid="uid://dp6jy00a6xuhk" path="res://tools/beat_measurer.gd" id="3_pwoi6"]
|
||||
[ext_resource type="AudioStream" uid="uid://bycnxkxch1dmo" path="res://_development/ayuroo/levels/_chase_test/bar.ogg" id="3_ytnb7"]
|
||||
[ext_resource type="Material" uid="uid://c38215ysnknyk" path="res://assets/materials/dev/dark/dark_01.tres" id="4_ytnb7"]
|
||||
[ext_resource type="Script" uid="uid://bueqrebp8o36n" path="res://tools/anim_player_editor_calls.gd" id="5_1cy10"]
|
||||
[ext_resource type="PackedScene" uid="uid://c0jearfhlqcvr" path="res://src/gameplay/hazards/saw/saw.tscn" id="5_i68vn"]
|
||||
[ext_resource type="Script" uid="uid://bbwtct3hoxwws" path="res://src/core/vibration_component.gd" id="6_1cy10"]
|
||||
|
||||
[sub_resource type="Curve3D" id="Curve3D_tqtrq"]
|
||||
_data = {
|
||||
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1150),
|
||||
"tilts": PackedFloat32Array(0, 0)
|
||||
}
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="SphereMesh" id="SphereMesh_tqtrq"]
|
||||
radius = 0.15
|
||||
height = 0.3
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_gsfaw"]
|
||||
size = Vector3(14, 5, 1)
|
||||
|
||||
[node name="ChaseTest" type="Node3D"]
|
||||
script = ExtResource("1_l86vi")
|
||||
chase_anim = &"liquid_gold"
|
||||
metadata/_custom_type_script = "uid://cigop0ivp5vvu"
|
||||
|
||||
[node name="Music" type="AudioStreamPlayer" parent="."]
|
||||
volume_db = -6.0
|
||||
|
||||
[node name="Beat" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("2_pwoi6")
|
||||
volume_db = -6.0
|
||||
|
||||
[node name="Bar" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("3_ytnb7")
|
||||
volume_db = -6.0
|
||||
|
||||
[node name="MusicAnimation" type="AnimationPlayer" parent="."]
|
||||
callback_mode_process = 0
|
||||
libraries = {
|
||||
&"": ExtResource("2_kddul")
|
||||
}
|
||||
script = ExtResource("5_1cy10")
|
||||
|
||||
[node name="ProgressTrack" type="Path3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
curve = SubResource("Curve3D_tqtrq")
|
||||
|
||||
[node name="PlayerDesiredProgress" type="PathFollow3D" parent="ProgressTrack"]
|
||||
rotation_mode = 0
|
||||
loop = false
|
||||
|
||||
[node name="DebugVisualizer" type="MeshInstance3D" parent="ProgressTrack/PlayerDesiredProgress"]
|
||||
mesh = SubResource("SphereMesh_tqtrq")
|
||||
|
||||
[node name="BeatMeasurer" type="Node" parent="ProgressTrack" node_paths=PackedStringArray("path")]
|
||||
script = ExtResource("3_pwoi6")
|
||||
path = NodePath("..")
|
||||
track_duration = 208.54
|
||||
track_bpm = 160
|
||||
metadata/_custom_type_script = "uid://dp6jy00a6xuhk"
|
||||
|
||||
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="."]
|
||||
use_collision = true
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="CSGCombiner3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -580)
|
||||
size = Vector3(14, 1, 1161)
|
||||
material = ExtResource("4_ytnb7")
|
||||
|
||||
[node name="Saws" type="Node3D" parent="."]
|
||||
|
||||
[node name="ResetSaw" parent="Saws" instance=ExtResource("5_i68vn")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 1, -1144.4116)
|
||||
|
||||
[node name="Saw" parent="Saws" instance=ExtResource("5_i68vn")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, -46)
|
||||
|
||||
[node name="Saw2" parent="Saws" instance=ExtResource("5_i68vn")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, -53)
|
||||
|
||||
[node name="VibrationComponent" type="Node" parent="."]
|
||||
script = ExtResource("6_1cy10")
|
||||
duration = 0.1
|
||||
editor_delay = 0.125
|
||||
sync_to_audio = true
|
||||
weak_magnitude = 0.25
|
||||
strong_magnitude = 0.5
|
||||
metadata/_custom_type_script = "uid://bbwtct3hoxwws"
|
||||
|
||||
[node name="StartChaseArea" type="Area3D" parent="."]
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StartChaseArea"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0)
|
||||
shape = SubResource("BoxShape3D_gsfaw")
|
||||
|
||||
[connection signal="body_entered" from="StartChaseArea" to="." method="_on_start_chase_area_body_entered"]
|
||||
@ -0,0 +1,9 @@
|
||||
[gd_resource type="Resource" script_class="LevelInfo" load_steps=2 format=3 uid="uid://o7u7x13isl7e"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dhaus6vq5oigj" path="res://src/core/world/level/level_info.gd" id="1_d8a7e"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_d8a7e")
|
||||
level_path = "uid://d013wo01v8lr5"
|
||||
level_id = &"LiquidGold"
|
||||
metadata/_custom_type_script = "uid://dhaus6vq5oigj"
|
||||
BIN
source/_development/ayuroo/levels/_chase_test/tack.ogg
Normal file
@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://bji7bb0rrangg"
|
||||
path="res://.godot/imported/tack.ogg-cd39970f45e3a933f4451b2a0a071d52.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/levels/_chase_test/tack.ogg"
|
||||
dest_files=["res://.godot/imported/tack.ogg-cd39970f45e3a933f4451b2a0a071d52.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
BIN
source/_development/ayuroo/levels/_chase_test/tick.ogg
Normal file
@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://bxka3egn4m01r"
|
||||
path="res://.godot/imported/tick.ogg-6c7d8f870a6de2550d73f74e3425f11e.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/levels/_chase_test/tick.ogg"
|
||||
dest_files=["res://.godot/imported/tick.ogg-6c7d8f870a6de2550d73f74e3425f11e.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@ -0,0 +1,191 @@
|
||||
[gd_scene load_steps=19 format=3 uid="uid://d3ag4d4r8qcw7"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://clhy3kiceqf2o" path="res://src/gameplay/characters/player/player_character.tscn" id="1_uvw2h"]
|
||||
[ext_resource type="Script" uid="uid://bj2bhtdul8xct" path="res://_development/ayuroo/dynamic_area_loader/dynamic_area_loader.gd" id="2_vkr6n"]
|
||||
[ext_resource type="Script" uid="uid://3hlvt5k34xva" path="res://src/core/spawnpoint/player_spawn_point.gd" id="3_1q3mf"]
|
||||
[ext_resource type="PackedScene" uid="uid://c0jearfhlqcvr" path="res://src/gameplay/hazards/saw/saw.tscn" id="4_mduwu"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_g60qb"]
|
||||
sky_horizon_color = Color(0.662243, 0.671743, 0.686743, 1)
|
||||
ground_horizon_color = Color(0.662243, 0.671743, 0.686743, 1)
|
||||
|
||||
[sub_resource type="Sky" id="Sky_yaqeo"]
|
||||
sky_material = SubResource("ProceduralSkyMaterial_g60qb")
|
||||
|
||||
[sub_resource type="Environment" id="Environment_4rgsp"]
|
||||
background_mode = 2
|
||||
sky = SubResource("Sky_yaqeo")
|
||||
tonemap_mode = 2
|
||||
glow_enabled = true
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_g60qb"]
|
||||
albedo_color = Color(1, 0.426083, 0.0827108, 1)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_g60qb"]
|
||||
size = Vector3(9, 4, 9)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_yaqeo"]
|
||||
size = Vector3(9, 4, 9)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_4rgsp"]
|
||||
size = Vector3(12, 4, 7)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_m4fap"]
|
||||
size = Vector3(4, 4, 11)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_k1ge7"]
|
||||
size = Vector3(25, 4, 21.3)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_ka7nb"]
|
||||
size = Vector3(25, 4, 6)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_kaxur"]
|
||||
size = Vector3(22, 4, 7)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_0qpgw"]
|
||||
size = Vector3(9, 4, 25)
|
||||
|
||||
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_g60qb"]
|
||||
|
||||
[sub_resource type="CylinderMesh" id="CylinderMesh_g60qb"]
|
||||
|
||||
[node name="DynamicLoadTestMap" type="Node"]
|
||||
|
||||
[node name="PlayerCharacter" parent="." instance=ExtResource("1_uvw2h")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 10)
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||
transform = Transform3D(-0.866025, -0.433013, 0.25, 0, 0.5, 0.866025, -0.5, 0.75, -0.433013, 0, 0, 0)
|
||||
shadow_enabled = true
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
environment = SubResource("Environment_4rgsp")
|
||||
|
||||
[node name="Areas" type="Node" parent="."]
|
||||
|
||||
[node name="AlwaysLoaded" type="CSGCombiner3D" parent="Areas"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 9)
|
||||
use_collision = true
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="Areas/AlwaysLoaded"]
|
||||
size = Vector3(8, 1, 7)
|
||||
material = SubResource("StandardMaterial3D_g60qb")
|
||||
|
||||
[node name="PerformanceTestPlatform1" type="Area3D" parent="Areas" node_paths=PackedStringArray("placeholder_node")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 2, 0)
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
script = ExtResource("2_vkr6n")
|
||||
placeholder_node = NodePath("Area1")
|
||||
loaded_if_spawnpoint = Array[int]([0])
|
||||
metadata/_custom_type_script = "uid://bj2bhtdul8xct"
|
||||
|
||||
[node name="Area1" parent="Areas/PerformanceTestPlatform1" instance_placeholder="res://src/maps/_dynamic_load_test/area_1.tscn"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, -2, 2)
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Areas/PerformanceTestPlatform1"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0.5, 2)
|
||||
shape = SubResource("BoxShape3D_g60qb")
|
||||
debug_color = Color(0.678973, 0.504376, 0, 0.42)
|
||||
|
||||
[node name="PerformanceTestPlatform2" type="Area3D" parent="Areas" node_paths=PackedStringArray("placeholder_node")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 2, -7)
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
script = ExtResource("2_vkr6n")
|
||||
placeholder_node = NodePath("Area2")
|
||||
loaded_if_spawnpoint = Array[int]([1])
|
||||
metadata/_custom_type_script = "uid://bj2bhtdul8xct"
|
||||
|
||||
[node name="Area2" parent="Areas/PerformanceTestPlatform2" instance_placeholder="res://src/maps/_dynamic_load_test/area_2.tscn"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, -2, 2)
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Areas/PerformanceTestPlatform2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0.5, 2)
|
||||
shape = SubResource("BoxShape3D_yaqeo")
|
||||
debug_color = Color(0.678973, 0.504376, 0, 0.42)
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="Areas/PerformanceTestPlatform2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.5, 0.5, 3.67773)
|
||||
shape = SubResource("BoxShape3D_4rgsp")
|
||||
debug_color = Color(0.678973, 0.504376, 0, 0.42)
|
||||
|
||||
[node name="CollisionShape3D3" type="CollisionShape3D" parent="Areas/PerformanceTestPlatform2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.5, 0.5, 5.67773)
|
||||
shape = SubResource("BoxShape3D_m4fap")
|
||||
debug_color = Color(0.678973, 0.504376, 0, 0.42)
|
||||
|
||||
[node name="Hallway1Loader" type="Area3D" parent="Areas" node_paths=PackedStringArray("placeholder_node")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 2, -7)
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
script = ExtResource("2_vkr6n")
|
||||
placeholder_node = NodePath("Hallway1")
|
||||
metadata/_custom_type_script = "uid://bj2bhtdul8xct"
|
||||
|
||||
[node name="Hallway1" parent="Areas/Hallway1Loader" instance_placeholder="res://src/maps/_dynamic_load_test/hallway_1.tscn"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, -2, 15)
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Areas/Hallway1Loader"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0.5, 17.85)
|
||||
shape = SubResource("BoxShape3D_k1ge7")
|
||||
debug_color = Color(0.678973, 0.504376, 0, 0.42)
|
||||
|
||||
[node name="Hallway2Loader" type="Area3D" parent="Areas" node_paths=PackedStringArray("placeholder_node")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 2, -7)
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
script = ExtResource("2_vkr6n")
|
||||
placeholder_node = NodePath("Hallway2")
|
||||
metadata/_custom_type_script = "uid://bj2bhtdul8xct"
|
||||
|
||||
[node name="Hallway2" parent="Areas/Hallway2Loader" instance_placeholder="res://src/maps/_dynamic_load_test/hallway_2.tscn"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, -2, 15)
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Areas/Hallway2Loader"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0.5, 25.5)
|
||||
shape = SubResource("BoxShape3D_ka7nb")
|
||||
debug_color = Color(0.678973, 0.504376, 0, 0.42)
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="Areas/Hallway2Loader"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 0.5, 3.67773)
|
||||
shape = SubResource("BoxShape3D_kaxur")
|
||||
debug_color = Color(0.678973, 0.504376, 0, 0.42)
|
||||
|
||||
[node name="CollisionShape3D3" type="CollisionShape3D" parent="Areas/Hallway2Loader"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 0.5, 12.6777)
|
||||
shape = SubResource("BoxShape3D_0qpgw")
|
||||
debug_color = Color(0.678973, 0.504376, 0, 0.42)
|
||||
|
||||
[node name="WorldFloor" type="StaticBody3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||
metadata/_edit_lock_ = true
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="WorldFloor"]
|
||||
shape = SubResource("WorldBoundaryShape3D_g60qb")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(5.58473, 6.33307, 0, -6.33307, 5.58473, 0, 0, 0, 8.44375, -13.6652, 0, -15.4998)
|
||||
mesh = SubResource("CylinderMesh_g60qb")
|
||||
|
||||
[node name="PlayerSpawnPoint" type="Marker3D" parent="."]
|
||||
transform = Transform3D(0.330597, 0, 0.943772, 0, 1, 0, -0.943772, 0, 0.330597, 2.60837, 0.5, 3.3168)
|
||||
script = ExtResource("3_1q3mf")
|
||||
spawn_index = 3
|
||||
metadata/_custom_type_script = "uid://3hlvt5k34xva"
|
||||
|
||||
[node name="PlayerSpawnPoint2" type="Marker3D" parent="."]
|
||||
transform = Transform3D(0.330597, 0, 0.943772, 0, 1, 0, -0.943772, 0, 0.330597, 2.60837, 0.5, -2.6832)
|
||||
script = ExtResource("3_1q3mf")
|
||||
spawn_index = 4
|
||||
metadata/_custom_type_script = "uid://3hlvt5k34xva"
|
||||
|
||||
[node name="PlayerSpawnPoint3" type="Marker3D" parent="."]
|
||||
transform = Transform3D(0.43358, 0, -0.901115, 0, 1, 0, 0.901115, 0, 0.43358, -14.3916, 0.5, -2.6832)
|
||||
script = ExtResource("3_1q3mf")
|
||||
spawn_index = 2
|
||||
metadata/_custom_type_script = "uid://3hlvt5k34xva"
|
||||
|
||||
[node name="Saw" parent="." instance=ExtResource("4_mduwu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.31477, 1.59362, 6.44809)
|
||||
6426
source/_development/ayuroo/levels/_dynamic_load_test/area_1.tscn
Normal file
6426
source/_development/ayuroo/levels/_dynamic_load_test/area_2.tscn
Normal file
@ -0,0 +1,56 @@
|
||||
[gd_scene format=3 uid="uid://dr0gtcel5qdqg"]
|
||||
|
||||
[node name="Hallway1" type="CSGCombiner3D"]
|
||||
use_collision = true
|
||||
|
||||
[node name="Floor" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 1)
|
||||
size = Vector3(8, 1, 3)
|
||||
|
||||
[node name="Floor2" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.5, 0, 7.5)
|
||||
size = Vector3(3, 1, 10)
|
||||
|
||||
[node name="Floor3" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.5, 0, 10.5)
|
||||
size = Vector3(21, 1, 4)
|
||||
|
||||
[node name="Ceiling" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 5, 1)
|
||||
size = Vector3(8, 1, 3)
|
||||
|
||||
[node name="Ceiling2" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.5, 5, 7.5)
|
||||
size = Vector3(3, 1, 10)
|
||||
|
||||
[node name="Ceiling3" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.5, 5, 10.5)
|
||||
size = Vector3(21, 1, 4)
|
||||
|
||||
[node name="Wall" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 2.5, 13)
|
||||
size = Vector3(24, 6, 1)
|
||||
|
||||
[node name="Wall2" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 2.5, -1)
|
||||
size = Vector3(8, 6, 1)
|
||||
|
||||
[node name="Wall3" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.5, 2.5, 8)
|
||||
size = Vector3(17, 6, 1)
|
||||
|
||||
[node name="Wall4" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 2.5, 3)
|
||||
size = Vector3(5, 6, 1)
|
||||
|
||||
[node name="Wall5" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.5, 2.5, 6)
|
||||
size = Vector3(1, 6, 15)
|
||||
|
||||
[node name="Wall6" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 2.5, 5.5)
|
||||
size = Vector3(1, 6, 4)
|
||||
|
||||
[node name="Wall7" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.5, 2.5, 11)
|
||||
size = Vector3(1, 6, 5)
|
||||
@ -0,0 +1,68 @@
|
||||
[gd_scene format=3 uid="uid://loo81pvlxlhh"]
|
||||
|
||||
[node name="Hallway2" type="CSGCombiner3D"]
|
||||
use_collision = true
|
||||
|
||||
[node name="Floor" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.5, 0, 1.5)
|
||||
size = Vector3(3, 1, 14)
|
||||
|
||||
[node name="Floor2" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.5, 0, -7)
|
||||
size = Vector3(7, 1, 3)
|
||||
|
||||
[node name="Floor3" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18.5, 0, -12)
|
||||
size = Vector3(3, 1, 7)
|
||||
|
||||
[node name="Floor4" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.5, 0, -14)
|
||||
size = Vector3(9, 1, 3)
|
||||
|
||||
[node name="Wall" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 2.5, -16)
|
||||
size = Vector3(12, 6, 1)
|
||||
|
||||
[node name="Wall2" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.5, 2.5, -12)
|
||||
size = Vector3(9, 6, 1)
|
||||
|
||||
[node name="Wall3" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.5, 2.5, -9)
|
||||
size = Vector3(5, 6, 1)
|
||||
|
||||
[node name="Wall4" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18.5, 2.5, -5)
|
||||
size = Vector3(5, 6, 1)
|
||||
|
||||
[node name="Wall5" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20.5, 2.5, -11)
|
||||
size = Vector3(1, 6, 11)
|
||||
|
||||
[node name="Wall6" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.5, 2.5, -10.5)
|
||||
size = Vector3(1, 6, 2)
|
||||
|
||||
[node name="Wall7" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.5, 2.5, 0)
|
||||
size = Vector3(1, 6, 17)
|
||||
|
||||
[node name="Wall8" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.5, 2.5, 2)
|
||||
size = Vector3(1, 6, 13)
|
||||
|
||||
[node name="Ceiling" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.5, 5, 1.5)
|
||||
size = Vector3(3, 1, 14)
|
||||
|
||||
[node name="Ceiling2" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.5, 5, -7)
|
||||
size = Vector3(7, 1, 3)
|
||||
|
||||
[node name="Ceiling3" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18.5, 5, -12)
|
||||
size = Vector3(3, 1, 7)
|
||||
|
||||
[node name="Ceiling4" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.5, 5, -14)
|
||||
size = Vector3(9, 1, 3)
|
||||
BIN
source/_development/ayuroo/levels/_experimental/CircusTent.glb
Normal file
@ -0,0 +1,42 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://bootbqfud7nre"
|
||||
path="res://.godot/imported/CircusTent.glb-0b97f9616c16e1aced60e18ac3a57bf0.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/levels/_experimental/CircusTent.glb"
|
||||
dest_files=["res://.godot/imported/CircusTent.glb-0b97f9616c16e1aced60e18ac3a57bf0.scn"]
|
||||
|
||||
[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=2
|
||||
meshes/lightmap_texel_size=2.0
|
||||
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={}
|
||||
gltf/naming_version=2
|
||||
gltf/embedded_image_handling=1
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
@ -0,0 +1,44 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://t47dsnj63y0q"
|
||||
path.s3tc="res://.godot/imported/CircusTent_texture_02.png-4e53f948574944f15359cfab26877cc1.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "a4091b6db3fc67af97a848a98d5046da"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/levels/_experimental/CircusTent_texture_02.png"
|
||||
dest_files=["res://.godot/imported/CircusTent_texture_02.png-4e53f948574944f15359cfab26877cc1.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: 2.7 KiB |
@ -0,0 +1,44 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://pcmndib445ch"
|
||||
path.s3tc="res://.godot/imported/CircusTent_texture_02_2.png-72d00f784254062ea8406c13e57b7f70.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "671c567d75d6cffe7d16440771c026c5"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/levels/_experimental/CircusTent_texture_02_2.png"
|
||||
dest_files=["res://.godot/imported/CircusTent_texture_02_2.png-72d00f784254062ea8406c13e57b7f70.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: 9.6 KiB |
@ -0,0 +1,44 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ceoaurr14k8s0"
|
||||
path.s3tc="res://.godot/imported/CircusTent_texture_13.png-733cbf96e6cf53acbb1f3cc2d83015cc.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "5220913b82328d262f5516be440341d3"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/levels/_experimental/CircusTent_texture_13.png"
|
||||
dest_files=["res://.godot/imported/CircusTent_texture_13.png-733cbf96e6cf53acbb1f3cc2d83015cc.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
|
||||
BIN
source/_development/ayuroo/levels/_experimental/_layout_test.exr
Normal file
@ -0,0 +1,29 @@
|
||||
[remap]
|
||||
|
||||
importer="2d_array_texture"
|
||||
type="CompressedTexture2DArray"
|
||||
uid="uid://cwby3s5qgxau"
|
||||
path.bptc="res://.godot/imported/_layout_test.exr-6f5dc0c4020d35a10bdf319a94bdf8f9.bptc.ctexarray"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/levels/_experimental/_layout_test.exr"
|
||||
dest_files=["res://.godot/imported/_layout_test.exr-6f5dc0c4020d35a10bdf319a94bdf8f9.bptc.ctexarray"]
|
||||
|
||||
[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/channel_pack=1
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
slices/horizontal=1
|
||||
slices/vertical=2
|
||||
@ -1,16 +1,27 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://srvm3v1grugk"]
|
||||
[gd_scene load_steps=11 format=3 uid="uid://srvm3v1grugk"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cigop0ivp5vvu" path="res://src/core/level/level.gd" id="1_0kdur"]
|
||||
[ext_resource type="Script" uid="uid://cigop0ivp5vvu" path="res://src/core/world/level/level.gd" id="1_0kdur"]
|
||||
[ext_resource type="Material" uid="uid://c38215ysnknyk" path="res://assets/materials/dev/dark/dark_01.tres" id="2_cxrf3"]
|
||||
[ext_resource type="Script" uid="uid://briioihkxilxm" path="res://addons/proto_shape/proto_ramp/proto_ramp.gd" id="3_cv3fe"]
|
||||
[ext_resource type="Material" uid="uid://bwbwqb84pmji3" path="res://assets/materials/dev/orange/orange_04.tres" id="4_kb2k5"]
|
||||
[ext_resource type="PackedScene" uid="uid://clhy3kiceqf2o" path="res://src/gameplay/characters/player/player_character.tscn" id="5_p8lkr"]
|
||||
[ext_resource type="PackedScene" uid="uid://bootbqfud7nre" path="res://_development/ayuroo/levels/_experimental/CircusTent.glb" id="6_cv3fe"]
|
||||
[ext_resource type="PackedScene" uid="uid://gjyynl2fnvj2" path="res://_development/ayuroo/levels/_experimental/_test_level.glb" id="6_cxrf3"]
|
||||
[ext_resource type="PackedScene" uid="uid://do54no1h1pv8i" path="res://_development/ayuroo/models/circus_tent/circus_tent_inside.glb" id="6_kb2k5"]
|
||||
[ext_resource type="LightmapGIData" uid="uid://c0mcaeg0ikvmo" path="res://_development/ayuroo/levels/_experimental/_layout_test.lmbake" id="7_cv3fe"]
|
||||
[ext_resource type="Script" uid="uid://dbcy7qdq4hqlg" path="res://addons/lightmap_probe_grid/lightmap_probe_grid.gd" id="9_p8lkr"]
|
||||
|
||||
[sub_resource type="Environment" id="Environment_cv3fe"]
|
||||
tonemap_mode = 2
|
||||
glow_strength = 1.25
|
||||
glow_bloom = 1.0
|
||||
|
||||
[node name="LayoutTest" type="Node3D"]
|
||||
script = ExtResource("1_0kdur")
|
||||
metadata/_custom_type_script = "uid://cigop0ivp5vvu"
|
||||
|
||||
[node name="Blockout" type="CSGCombiner3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -50, 0)
|
||||
visible = false
|
||||
use_collision = true
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="Blockout"]
|
||||
@ -275,20 +286,796 @@ calculation = 0
|
||||
steps = 16
|
||||
metadata/_custom_type_script = "uid://briioihkxilxm"
|
||||
|
||||
[node name="Lighting" type="Node3D" parent="."]
|
||||
[node name="LightmapGI" type="LightmapGI" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
quality = 3
|
||||
supersampling = true
|
||||
bounces = 5
|
||||
interior = true
|
||||
texel_scale = 2.0
|
||||
generate_probes_subdiv = 4
|
||||
light_data = ExtResource("7_cv3fe")
|
||||
|
||||
[node name="SpotLight3D" type="SpotLight3D" parent="Lighting"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, 1, 0, -1, -4.371139e-08, 0, 6, -4)
|
||||
spot_range = 8.0
|
||||
[node name="CircusTentInside" parent="LightmapGI" instance=ExtResource("6_kb2k5")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -8, -51.474396)
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="Lighting"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 5, -12.5)
|
||||
[node name="CircusTent2" parent="LightmapGI" instance=ExtResource("6_cv3fe")]
|
||||
visible = false
|
||||
|
||||
[node name="OmniLight3D2" type="OmniLight3D" parent="Lighting"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 5, -17.5)
|
||||
[node name="Main" parent="LightmapGI" instance=ExtResource("6_cxrf3")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
|
||||
|
||||
[node name="OmniLight3D3" type="OmniLight3D" parent="Lighting"]
|
||||
[node name="Lighting" type="Node3D" parent="LightmapGI"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
|
||||
|
||||
[node name="SpotLight3D" type="SpotLight3D" parent="LightmapGI/Lighting"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, 1, 0, -1, -4.371139e-08, 0, 5.4, -4)
|
||||
light_energy = 2.0
|
||||
light_bake_mode = 1
|
||||
spot_range = 14.0
|
||||
spot_angle = 63.718216
|
||||
|
||||
[node name="SpotLight3D2" type="SpotLight3D" parent="LightmapGI/Lighting"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, 1, 0, -1, -4.371139e-08, -1, 61.4, -78)
|
||||
light_energy = 10.0
|
||||
light_bake_mode = 1
|
||||
spot_range = 310.0
|
||||
spot_angle = 73.011505
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="LightmapGI/Lighting"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 5, -15.5)
|
||||
light_energy = 2.0
|
||||
light_bake_mode = 1
|
||||
shadow_enabled = true
|
||||
omni_range = 10.0
|
||||
|
||||
[node name="OmniLight3D2" type="OmniLight3D" parent="LightmapGI/Lighting"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 5, -21.5)
|
||||
light_energy = 2.0
|
||||
light_bake_mode = 1
|
||||
shadow_enabled = true
|
||||
omni_range = 10.0
|
||||
|
||||
[node name="OmniLight3D3" type="OmniLight3D" parent="LightmapGI/Lighting"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5, -21.5)
|
||||
light_energy = 2.0
|
||||
light_bake_mode = 1
|
||||
shadow_enabled = true
|
||||
omni_range = 10.0
|
||||
|
||||
[node name="PlayerCharacter" parent="." instance=ExtResource("5_p8lkr")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9999999, 0)
|
||||
[node name="OmniLight3D4" type="OmniLight3D" parent="LightmapGI/Lighting"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5, -43.5)
|
||||
light_energy = 2.0
|
||||
light_bake_mode = 1
|
||||
omni_range = 83.0
|
||||
|
||||
[node name="ReflectionProbes" type="Node3D" parent="LightmapGI"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
|
||||
|
||||
[node name="ReflectionProbe" type="ReflectionProbe" parent="LightmapGI/ReflectionProbes"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 2.6, 3.35)
|
||||
size = Vector3(14, 6.8, 5.3)
|
||||
interior = true
|
||||
|
||||
[node name="ReflectionProbe2" type="ReflectionProbe" parent="LightmapGI/ReflectionProbes"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.049999952, 4.2, -2.0000005)
|
||||
size = Vector3(6.1, 10, 16)
|
||||
interior = true
|
||||
|
||||
[node name="ReflectionProbe3" type="ReflectionProbe" parent="LightmapGI/ReflectionProbes"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.3999996, 6.0999994, -13)
|
||||
size = Vector3(15, 6.2000003, 10)
|
||||
interior = true
|
||||
|
||||
[node name="ReflectionProbe4" type="ReflectionProbe" parent="LightmapGI/ReflectionProbes"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.8999996, 6.2, -22.5)
|
||||
size = Vector3(16, 6, 13)
|
||||
interior = true
|
||||
|
||||
[node name="LightmapProbeGrid" type="Node3D" parent="LightmapGI"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.1629105, 1.0473042, 3.522971)
|
||||
script = ExtResource("9_p8lkr")
|
||||
size = Vector3(11.510193, 3.0946074, 2.6259294)
|
||||
probes_number = Vector3i(5, 3, 3)
|
||||
far_distance = 1.0
|
||||
object_size = 1.0
|
||||
metadata/_custom_type_script = "uid://dbcy7qdq4hqlg"
|
||||
|
||||
[node name="LightmapProbe 0, 0, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.7550964, 1.5473037, 1.3129647)
|
||||
|
||||
[node name="LightmapProbe 0, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.7550964, 1.5473037, 0)
|
||||
|
||||
[node name="LightmapProbe 0, 0, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.7550964, 1.5473037, -1.3129647)
|
||||
|
||||
[node name="LightmapProbe 0, 1, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.7550964, 0, 1.3129647)
|
||||
|
||||
[node name="LightmapProbe 0, 1, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.7550964, 0, 0)
|
||||
|
||||
[node name="LightmapProbe 0, 1, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.7550964, 0, -1.3129647)
|
||||
|
||||
[node name="LightmapProbe 0, 2, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.7550964, -1.5473037, 1.3129647)
|
||||
|
||||
[node name="LightmapProbe 0, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.7550964, -1.5473037, 0)
|
||||
|
||||
[node name="LightmapProbe 0, 2, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.7550964, -1.5473037, -1.3129647)
|
||||
|
||||
[node name="LightmapProbe 1, 0, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.8775482, 1.5473037, 1.3129647)
|
||||
|
||||
[node name="LightmapProbe 1, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.8775482, 1.5473037, 0)
|
||||
|
||||
[node name="LightmapProbe 1, 0, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.8775482, 1.5473037, -1.3129647)
|
||||
|
||||
[node name="LightmapProbe 1, 1, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.8775482, 0, 1.3129647)
|
||||
|
||||
[node name="LightmapProbe 1, 2, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.8775482, -1.5473037, 1.3129647)
|
||||
|
||||
[node name="LightmapProbe 1, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.8775482, -1.5473037, 0)
|
||||
|
||||
[node name="LightmapProbe 1, 2, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.8775482, -1.5473037, -1.3129647)
|
||||
|
||||
[node name="LightmapProbe 2, 0, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5473037, 1.3129647)
|
||||
|
||||
[node name="LightmapProbe 2, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5473037, 0)
|
||||
|
||||
[node name="LightmapProbe 2, 0, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5473037, -1.3129647)
|
||||
|
||||
[node name="LightmapProbe 2, 1, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.3129647)
|
||||
|
||||
[node name="LightmapProbe 2, 1, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.3129647)
|
||||
|
||||
[node name="LightmapProbe 2, 2, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.5473037, 1.3129647)
|
||||
|
||||
[node name="LightmapProbe 2, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.5473037, 0)
|
||||
|
||||
[node name="LightmapProbe 2, 2, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.5473037, -1.3129647)
|
||||
|
||||
[node name="LightmapProbe 3, 0, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.8775482, 1.5473037, 1.3129647)
|
||||
|
||||
[node name="LightmapProbe 3, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.8775482, 1.5473037, 0)
|
||||
|
||||
[node name="LightmapProbe 3, 0, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.8775482, 1.5473037, -1.3129647)
|
||||
|
||||
[node name="LightmapProbe 3, 1, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.8775482, 0, 1.3129647)
|
||||
|
||||
[node name="LightmapProbe 3, 1, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.8775482, 0, -1.3129647)
|
||||
|
||||
[node name="LightmapProbe 3, 2, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.8775482, -1.5473037, 1.3129647)
|
||||
|
||||
[node name="LightmapProbe 3, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.8775482, -1.5473037, 0)
|
||||
|
||||
[node name="LightmapProbe 3, 2, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.8775482, -1.5473037, -1.3129647)
|
||||
|
||||
[node name="LightmapProbe 4, 0, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.7550964, 1.5473037, 1.3129647)
|
||||
|
||||
[node name="LightmapProbe 4, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.7550964, 1.5473037, 0)
|
||||
|
||||
[node name="LightmapProbe 4, 0, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.7550964, 1.5473037, -1.3129647)
|
||||
|
||||
[node name="LightmapProbe 4, 1, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.7550964, 0, 1.3129647)
|
||||
|
||||
[node name="LightmapProbe 4, 1, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.7550964, 0, 0)
|
||||
|
||||
[node name="LightmapProbe 4, 1, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.7550964, 0, -1.3129647)
|
||||
|
||||
[node name="LightmapProbe 4, 2, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.7550964, -1.5473037, 1.3129647)
|
||||
|
||||
[node name="LightmapProbe 4, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.7550964, -1.5473037, 0)
|
||||
|
||||
[node name="LightmapProbe 4, 2, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.7550964, -1.5473037, -1.3129647)
|
||||
|
||||
[node name="LightmapProbeGrid2" type="Node3D" parent="LightmapGI"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.068351865, 2.7555513, -4.830836)
|
||||
script = ExtResource("9_p8lkr")
|
||||
size = Vector3(4.6403966, 6.5111017, 9.133811)
|
||||
probes_number = Vector3i(4, 3, 5)
|
||||
far_distance = 1.0
|
||||
object_size = 1.0
|
||||
metadata/_custom_type_script = "uid://dbcy7qdq4hqlg"
|
||||
|
||||
[node name="LightmapProbe 1, 0, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7733995, 3.2555509, -2.2834525)
|
||||
|
||||
[node name="LightmapProbe 1, 0, 4" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7733995, 3.2555509, -4.5669055)
|
||||
|
||||
[node name="LightmapProbe 1, 1, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7733995, 0, 4.5669055)
|
||||
|
||||
[node name="LightmapProbe 1, 1, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7733995, 0, 2.2834527)
|
||||
|
||||
[node name="LightmapProbe 1, 1, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7733995, 0, 0)
|
||||
|
||||
[node name="LightmapProbe 1, 1, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7733995, 0, -2.2834525)
|
||||
|
||||
[node name="LightmapProbe 1, 2, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7733995, -3.2555509, 4.5669055)
|
||||
|
||||
[node name="LightmapProbe 1, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7733995, -3.2555509, 2.2834527)
|
||||
|
||||
[node name="LightmapProbe 2, 0, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.77339935, 3.2555509, -2.2834525)
|
||||
|
||||
[node name="LightmapProbe 2, 0, 4" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.77339935, 3.2555509, -4.5669055)
|
||||
|
||||
[node name="LightmapProbe 2, 1, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.77339935, 0, 4.5669055)
|
||||
|
||||
[node name="LightmapProbe 2, 1, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.77339935, 0, 2.2834527)
|
||||
|
||||
[node name="LightmapProbe 2, 1, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.77339935, 0, 0)
|
||||
|
||||
[node name="LightmapProbe 2, 1, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.77339935, 0, -2.2834525)
|
||||
|
||||
[node name="LightmapProbe 2, 2, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.77339935, -3.2555509, 4.5669055)
|
||||
|
||||
[node name="LightmapProbe 2, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.77339935, -3.2555509, 2.2834527)
|
||||
|
||||
[node name="LightmapProbeGrid3" type="Node3D" parent="LightmapGI"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.1702933, 5.1552534, -15.174561)
|
||||
script = ExtResource("9_p8lkr")
|
||||
size = Vector3(13.117686, 3.1503634, 3.0525174)
|
||||
probes_number = Vector3i(4, 3, 3)
|
||||
far_distance = 1.0
|
||||
object_size = 1.0
|
||||
metadata/_custom_type_script = "uid://dbcy7qdq4hqlg"
|
||||
|
||||
[node name="LightmapProbe 0, 0, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.558843, 1.5751817, 1.5262587)
|
||||
|
||||
[node name="LightmapProbe 0, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.558843, 1.5751817, 0)
|
||||
|
||||
[node name="LightmapProbe 0, 0, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.558843, 1.5751817, -1.5262587)
|
||||
|
||||
[node name="LightmapProbe 0, 1, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.558843, 0, 1.5262587)
|
||||
|
||||
[node name="LightmapProbe 0, 1, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.558843, 0, 0)
|
||||
|
||||
[node name="LightmapProbe 0, 1, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.558843, 0, -1.5262587)
|
||||
|
||||
[node name="LightmapProbe 0, 2, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.558843, -1.5751817, 1.5262587)
|
||||
|
||||
[node name="LightmapProbe 0, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.558843, -1.5751817, 0)
|
||||
|
||||
[node name="LightmapProbe 0, 2, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.558843, -1.5751817, -1.5262587)
|
||||
|
||||
[node name="LightmapProbe 1, 0, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.1862812, 1.5751817, 1.5262587)
|
||||
|
||||
[node name="LightmapProbe 1, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.1862812, 1.5751817, 0)
|
||||
|
||||
[node name="LightmapProbe 1, 0, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.1862812, 1.5751817, -1.5262587)
|
||||
|
||||
[node name="LightmapProbe 1, 1, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.1862812, 0, 1.5262587)
|
||||
|
||||
[node name="LightmapProbe 1, 1, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.1862812, 0, 0)
|
||||
|
||||
[node name="LightmapProbe 1, 1, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.1862812, 0, -1.5262587)
|
||||
|
||||
[node name="LightmapProbe 1, 2, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.1862812, -1.5751817, 1.5262587)
|
||||
|
||||
[node name="LightmapProbe 1, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.1862812, -1.5751817, 0)
|
||||
|
||||
[node name="LightmapProbe 1, 2, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.1862812, -1.5751817, -1.5262587)
|
||||
|
||||
[node name="LightmapProbe 2, 0, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1862807, 1.5751817, 1.5262587)
|
||||
|
||||
[node name="LightmapProbe 2, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1862807, 1.5751817, 0)
|
||||
|
||||
[node name="LightmapProbe 2, 0, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1862807, 1.5751817, -1.5262587)
|
||||
|
||||
[node name="LightmapProbe 2, 1, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1862807, 0, 1.5262587)
|
||||
|
||||
[node name="LightmapProbe 2, 1, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1862807, 0, 0)
|
||||
|
||||
[node name="LightmapProbe 2, 1, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1862807, 0, -1.5262587)
|
||||
|
||||
[node name="LightmapProbe 2, 2, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1862807, -1.5751817, 1.5262587)
|
||||
|
||||
[node name="LightmapProbe 2, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1862807, -1.5751817, 0)
|
||||
|
||||
[node name="LightmapProbe 2, 2, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1862807, -1.5751817, -1.5262587)
|
||||
|
||||
[node name="LightmapProbe 3, 0, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.558842, 1.5751817, 1.5262587)
|
||||
|
||||
[node name="LightmapProbe 3, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.558842, 1.5751817, 0)
|
||||
|
||||
[node name="LightmapProbe 3, 0, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.558842, 1.5751817, -1.5262587)
|
||||
|
||||
[node name="LightmapProbe 3, 1, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.558842, 0, 1.5262587)
|
||||
|
||||
[node name="LightmapProbe 3, 1, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.558842, 0, 0)
|
||||
|
||||
[node name="LightmapProbe 3, 1, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.558842, 0, -1.5262587)
|
||||
|
||||
[node name="LightmapProbe 3, 2, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.558842, -1.5751817, 1.5262587)
|
||||
|
||||
[node name="LightmapProbe 3, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.558842, -1.5751817, 0)
|
||||
|
||||
[node name="LightmapProbe 3, 2, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.558842, -1.5751817, -1.5262587)
|
||||
|
||||
[node name="LightmapProbeGrid7" type="Node3D" parent="LightmapGI"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.16657281, 5.1552534, -10.783033)
|
||||
script = ExtResource("9_p8lkr")
|
||||
size = Vector3(5.1102457, 3.1503634, 3.0513806)
|
||||
probes_number = Vector3i(3, 3, 2)
|
||||
far_distance = 1.0
|
||||
object_size = 1.0
|
||||
metadata/_custom_type_script = "uid://dbcy7qdq4hqlg"
|
||||
|
||||
[node name="LightmapProbe 0, 0, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid7"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5551229, 1.5751817, 1.5256903)
|
||||
|
||||
[node name="LightmapProbe 0, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid7"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5551229, 1.5751817, -1.5256903)
|
||||
|
||||
[node name="LightmapProbe 0, 1, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid7"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5551229, 0, 1.5256903)
|
||||
|
||||
[node name="LightmapProbe 0, 1, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid7"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5551229, 0, -1.5256903)
|
||||
|
||||
[node name="LightmapProbe 0, 2, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid7"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5551229, -1.5751817, 1.5256903)
|
||||
|
||||
[node name="LightmapProbe 0, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid7"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5551229, -1.5751817, -1.5256903)
|
||||
|
||||
[node name="LightmapProbe 1, 0, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid7"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5751817, 1.5256903)
|
||||
|
||||
[node name="LightmapProbe 1, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid7"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5751817, -1.5256903)
|
||||
|
||||
[node name="LightmapProbe 1, 1, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid7"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.5256903)
|
||||
|
||||
[node name="LightmapProbe 1, 1, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid7"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.5256903)
|
||||
|
||||
[node name="LightmapProbe 1, 2, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid7"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.5751817, 1.5256903)
|
||||
|
||||
[node name="LightmapProbe 1, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid7"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.5751817, -1.5256903)
|
||||
|
||||
[node name="LightmapProbe 2, 0, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid7"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5551229, 1.5751817, 1.5256903)
|
||||
|
||||
[node name="LightmapProbe 2, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid7"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5551229, 1.5751817, -1.5256903)
|
||||
|
||||
[node name="LightmapProbe 2, 1, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid7"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5551229, 0, 1.5256903)
|
||||
|
||||
[node name="LightmapProbe 2, 1, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid7"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5551229, 0, -1.5256903)
|
||||
|
||||
[node name="LightmapProbe 2, 2, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid7"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5551229, -1.5751817, 1.5256903)
|
||||
|
||||
[node name="LightmapProbe 2, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid7"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5551229, -1.5751817, -1.5256903)
|
||||
|
||||
[node name="LightmapProbeGrid5" type="Node3D" parent="LightmapGI"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.1702933, 5.1552534, -20.643461)
|
||||
script = ExtResource("9_p8lkr")
|
||||
size = Vector3(13.117686, 3.1503634, 6.0269423)
|
||||
probes_number = Vector3i(4, 3, 4)
|
||||
far_distance = 1.0
|
||||
object_size = 1.0
|
||||
metadata/_custom_type_script = "uid://dbcy7qdq4hqlg"
|
||||
|
||||
[node name="LightmapProbe 0, 0, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.558843, 1.5751817, 3.0134711)
|
||||
|
||||
[node name="LightmapProbe 0, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.558843, 1.5751817, 1.0044904)
|
||||
|
||||
[node name="LightmapProbe 0, 0, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.558843, 1.5751817, -1.0044904)
|
||||
|
||||
[node name="LightmapProbe 0, 0, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.558843, 1.5751817, -3.0134711)
|
||||
|
||||
[node name="LightmapProbe 0, 1, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.558843, 0, 3.0134711)
|
||||
|
||||
[node name="LightmapProbe 0, 1, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.558843, 0, 1.0044904)
|
||||
|
||||
[node name="LightmapProbe 0, 1, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.558843, 0, -1.0044904)
|
||||
|
||||
[node name="LightmapProbe 0, 1, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.558843, 0, -3.0134711)
|
||||
|
||||
[node name="LightmapProbe 0, 2, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.558843, -1.5751817, 3.0134711)
|
||||
|
||||
[node name="LightmapProbe 0, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.558843, -1.5751817, 1.0044904)
|
||||
|
||||
[node name="LightmapProbe 0, 2, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.558843, -1.5751817, -1.0044904)
|
||||
|
||||
[node name="LightmapProbe 0, 2, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.558843, -1.5751817, -3.0134711)
|
||||
|
||||
[node name="LightmapProbe 1, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.1862812, 1.5751817, 1.0044904)
|
||||
|
||||
[node name="LightmapProbe 1, 0, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.1862812, 1.5751817, -1.0044904)
|
||||
|
||||
[node name="LightmapProbe 1, 0, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.1862812, 1.5751817, -3.0134711)
|
||||
|
||||
[node name="LightmapProbe 1, 1, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.1862812, 0, 1.0044904)
|
||||
|
||||
[node name="LightmapProbe 1, 1, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.1862812, 0, -1.0044904)
|
||||
|
||||
[node name="LightmapProbe 1, 1, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.1862812, 0, -3.0134711)
|
||||
|
||||
[node name="LightmapProbe 1, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.1862812, -1.5751817, 1.0044904)
|
||||
|
||||
[node name="LightmapProbe 1, 2, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.1862812, -1.5751817, -1.0044904)
|
||||
|
||||
[node name="LightmapProbe 1, 2, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.1862812, -1.5751817, -3.0134711)
|
||||
|
||||
[node name="LightmapProbe 2, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1862807, 1.5751817, 1.0044904)
|
||||
|
||||
[node name="LightmapProbe 2, 0, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1862807, 1.5751817, -1.0044904)
|
||||
|
||||
[node name="LightmapProbe 2, 0, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1862807, 1.5751817, -3.0134711)
|
||||
|
||||
[node name="LightmapProbe 2, 1, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1862807, 0, 1.0044904)
|
||||
|
||||
[node name="LightmapProbe 2, 1, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1862807, 0, -1.0044904)
|
||||
|
||||
[node name="LightmapProbe 2, 1, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1862807, 0, -3.0134711)
|
||||
|
||||
[node name="LightmapProbe 2, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1862807, -1.5751817, 1.0044904)
|
||||
|
||||
[node name="LightmapProbe 2, 2, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1862807, -1.5751817, -1.0044904)
|
||||
|
||||
[node name="LightmapProbe 2, 2, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1862807, -1.5751817, -3.0134711)
|
||||
|
||||
[node name="LightmapProbe 3, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.558842, 1.5751817, 1.0044904)
|
||||
|
||||
[node name="LightmapProbe 3, 0, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.558842, 1.5751817, -1.0044904)
|
||||
|
||||
[node name="LightmapProbe 3, 0, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.558842, 1.5751817, -3.0134711)
|
||||
|
||||
[node name="LightmapProbe 3, 1, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.558842, 0, 1.0044904)
|
||||
|
||||
[node name="LightmapProbe 3, 1, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.558842, 0, -1.0044904)
|
||||
|
||||
[node name="LightmapProbe 3, 1, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.558842, 0, -3.0134711)
|
||||
|
||||
[node name="LightmapProbe 3, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.558842, -1.5751817, 1.0044904)
|
||||
|
||||
[node name="LightmapProbe 3, 2, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.558842, -1.5751817, -1.0044904)
|
||||
|
||||
[node name="LightmapProbe 3, 2, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid5"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.558842, -1.5751817, -3.0134711)
|
||||
|
||||
[node name="LightmapProbeGrid6" type="Node3D" parent="LightmapGI"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.8476844, 5.1552534, -26.633574)
|
||||
script = ExtResource("9_p8lkr")
|
||||
size = Vector3(3.0817313, 3.1503634, 3.1212702)
|
||||
probes_number = Vector3i(2, 3, 3)
|
||||
far_distance = 1.0
|
||||
object_size = 1.0
|
||||
metadata/_custom_type_script = "uid://dbcy7qdq4hqlg"
|
||||
|
||||
[node name="LightmapProbe 0, 0, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid6"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5408657, 1.5751817, 1.5606351)
|
||||
|
||||
[node name="LightmapProbe 0, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid6"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5408657, 1.5751817, 0)
|
||||
|
||||
[node name="LightmapProbe 0, 0, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid6"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5408657, 1.5751817, -1.5606351)
|
||||
|
||||
[node name="LightmapProbe 0, 1, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid6"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5408657, 0, 1.5606351)
|
||||
|
||||
[node name="LightmapProbe 0, 1, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid6"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5408657, 0, 0)
|
||||
|
||||
[node name="LightmapProbe 0, 1, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid6"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5408657, 0, -1.5606351)
|
||||
|
||||
[node name="LightmapProbe 0, 2, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid6"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5408657, -1.5751817, 1.5606351)
|
||||
|
||||
[node name="LightmapProbe 0, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid6"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5408657, -1.5751817, 0)
|
||||
|
||||
[node name="LightmapProbe 0, 2, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid6"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5408657, -1.5751817, -1.5606351)
|
||||
|
||||
[node name="LightmapProbe 1, 0, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid6"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5408657, 1.5751817, 1.5606351)
|
||||
|
||||
[node name="LightmapProbe 1, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid6"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5408657, 1.5751817, 0)
|
||||
|
||||
[node name="LightmapProbe 1, 0, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid6"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5408657, 1.5751817, -1.5606351)
|
||||
|
||||
[node name="LightmapProbe 1, 1, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid6"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5408657, 0, 1.5606351)
|
||||
|
||||
[node name="LightmapProbe 1, 1, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid6"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5408657, 0, 0)
|
||||
|
||||
[node name="LightmapProbe 1, 2, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid6"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5408657, -1.5751817, 1.5606351)
|
||||
|
||||
[node name="LightmapProbe 1, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid6"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5408657, -1.5751817, 0)
|
||||
|
||||
[node name="LightmapProbeGrid4" type="Node3D" parent="LightmapGI"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.31298542, 4.872013, -32.370583)
|
||||
script = ExtResource("9_p8lkr")
|
||||
size = Vector3(22.084244, 3.7168427, 8.489476)
|
||||
probes_number = Vector3i(4, 3, 4)
|
||||
far_distance = 1.0
|
||||
object_size = 1.0
|
||||
metadata/_custom_type_script = "uid://dbcy7qdq4hqlg"
|
||||
|
||||
[node name="LightmapProbe 0, 0, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.042128, 1.8584228, 4.244747)
|
||||
|
||||
[node name="LightmapProbe 0, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.042128, 1.8584228, 1.414913)
|
||||
|
||||
[node name="LightmapProbe 0, 0, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.042128, 1.8584228, -1.414914)
|
||||
|
||||
[node name="LightmapProbe 0, 0, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.042128, 1.8584228, -4.244747)
|
||||
|
||||
[node name="LightmapProbe 0, 1, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.042128, 0, 4.244747)
|
||||
|
||||
[node name="LightmapProbe 0, 1, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.042128, 0, 1.414913)
|
||||
|
||||
[node name="LightmapProbe 0, 1, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.042128, 0, -1.414914)
|
||||
|
||||
[node name="LightmapProbe 0, 1, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.042128, 0, -4.244747)
|
||||
|
||||
[node name="LightmapProbe 0, 2, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.042128, -1.8584228, 4.244747)
|
||||
|
||||
[node name="LightmapProbe 0, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.042128, -1.8584228, 1.414913)
|
||||
|
||||
[node name="LightmapProbe 0, 2, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.042128, -1.8584228, -1.414914)
|
||||
|
||||
[node name="LightmapProbe 0, 2, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.042128, -1.8584228, -4.244747)
|
||||
|
||||
[node name="LightmapProbe 1, 0, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.680708, 1.8584228, 4.244747)
|
||||
|
||||
[node name="LightmapProbe 1, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.680708, 1.8584228, 1.414913)
|
||||
|
||||
[node name="LightmapProbe 1, 0, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.680708, 1.8584228, -1.414914)
|
||||
|
||||
[node name="LightmapProbe 1, 0, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.680708, 1.8584228, -4.244747)
|
||||
|
||||
[node name="LightmapProbe 1, 1, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.680708, 0, 4.244747)
|
||||
|
||||
[node name="LightmapProbe 1, 1, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.680708, 0, 1.414913)
|
||||
|
||||
[node name="LightmapProbe 1, 1, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.680708, 0, -1.414914)
|
||||
|
||||
[node name="LightmapProbe 1, 1, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.680708, 0, -4.244747)
|
||||
|
||||
[node name="LightmapProbe 1, 2, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.680708, -1.8584228, 4.244747)
|
||||
|
||||
[node name="LightmapProbe 1, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.680708, -1.8584228, 1.414913)
|
||||
|
||||
[node name="LightmapProbe 1, 2, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.680708, -1.8584228, -1.414914)
|
||||
|
||||
[node name="LightmapProbe 1, 2, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.680708, -1.8584228, -4.244747)
|
||||
|
||||
[node name="LightmapProbe 2, 0, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.680709, 1.8584228, 4.244747)
|
||||
|
||||
[node name="LightmapProbe 2, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.680709, 1.8584228, 1.414913)
|
||||
|
||||
[node name="LightmapProbe 2, 0, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.680709, 1.8584228, -1.414914)
|
||||
|
||||
[node name="LightmapProbe 2, 0, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.680709, 1.8584228, -4.244747)
|
||||
|
||||
[node name="LightmapProbe 2, 1, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.680709, 0, 4.244747)
|
||||
|
||||
[node name="LightmapProbe 2, 1, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.680709, 0, 1.414913)
|
||||
|
||||
[node name="LightmapProbe 2, 1, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.680709, 0, -1.414914)
|
||||
|
||||
[node name="LightmapProbe 2, 1, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.680709, 0, -4.244747)
|
||||
|
||||
[node name="LightmapProbe 2, 2, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.680709, -1.8584228, 4.244747)
|
||||
|
||||
[node name="LightmapProbe 2, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.680709, -1.8584228, 1.414913)
|
||||
|
||||
[node name="LightmapProbe 2, 2, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.680709, -1.8584228, -1.414914)
|
||||
|
||||
[node name="LightmapProbe 2, 2, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.680709, -1.8584228, -4.244747)
|
||||
|
||||
[node name="LightmapProbe 3, 0, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.042128, 1.8584228, 4.244747)
|
||||
|
||||
[node name="LightmapProbe 3, 0, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.042128, 1.8584228, 1.414913)
|
||||
|
||||
[node name="LightmapProbe 3, 0, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.042128, 1.8584228, -1.414914)
|
||||
|
||||
[node name="LightmapProbe 3, 0, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.042128, 1.8584228, -4.244747)
|
||||
|
||||
[node name="LightmapProbe 3, 1, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.042128, 0, 4.244747)
|
||||
|
||||
[node name="LightmapProbe 3, 1, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.042128, 0, 1.414913)
|
||||
|
||||
[node name="LightmapProbe 3, 1, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.042128, 0, -1.414914)
|
||||
|
||||
[node name="LightmapProbe 3, 1, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.042128, 0, -4.244747)
|
||||
|
||||
[node name="LightmapProbe 3, 2, 0" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.042128, -1.8584228, 4.244747)
|
||||
|
||||
[node name="LightmapProbe 3, 2, 1" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.042128, -1.8584228, 1.414913)
|
||||
|
||||
[node name="LightmapProbe 3, 2, 2" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.042128, -1.8584228, -1.414914)
|
||||
|
||||
[node name="LightmapProbe 3, 2, 3" type="LightmapProbe" parent="LightmapGI/LightmapProbeGrid4"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.042128, -1.8584228, -4.244747)
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
environment = SubResource("Environment_cv3fe")
|
||||
|
||||
BIN
source/_development/ayuroo/levels/_experimental/_test_level.glb
Normal file
@ -0,0 +1,59 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://gjyynl2fnvj2"
|
||||
path="res://.godot/imported/_test_level.glb-c15adbbda92bd882ec1270fadbfafbef.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/levels/_experimental/_test_level.glb"
|
||||
dest_files=["res://.godot/imported/_test_level.glb-c15adbbda92bd882ec1270fadbfafbef.scn"]
|
||||
|
||||
[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=2
|
||||
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={
|
||||
"meshes": {
|
||||
"Main_Cylinder": {
|
||||
"generate/lightmap_uv": 2,
|
||||
"generate/lods": 2,
|
||||
"generate/shadow_meshes": 0,
|
||||
"lods/normal_merge_angle": 20.0,
|
||||
"save_to_file/enabled": false,
|
||||
"save_to_file/fallback_path": "",
|
||||
"save_to_file/path": ""
|
||||
}
|
||||
},
|
||||
"nodes": {
|
||||
"PATH:Cube": {
|
||||
"generate/occluder": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
gltf/naming_version=2
|
||||
gltf/embedded_image_handling=1
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
@ -0,0 +1,44 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cno3emivftt23"
|
||||
path.s3tc="res://.godot/imported/_test_level_texture_02.png-229502b47aa79be08819e18707cdd050.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "a4091b6db3fc67af97a848a98d5046da"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/levels/_experimental/_test_level_texture_02.png"
|
||||
dest_files=["res://.godot/imported/_test_level_texture_02.png-229502b47aa79be08819e18707cdd050.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: 9.6 KiB |
@ -0,0 +1,44 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dputr5bj2tbgh"
|
||||
path.s3tc="res://.godot/imported/_test_level_texture_13.png-a0514b44f564dc67d27b95473e4540f6.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "5220913b82328d262f5516be440341d3"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/levels/_experimental/_test_level_texture_13.png"
|
||||
dest_files=["res://.godot/imported/_test_level_texture_13.png-a0514b44f564dc67d27b95473e4540f6.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
|
||||
@ -0,0 +1,9 @@
|
||||
[gd_resource type="Resource" script_class="LevelInfo" load_steps=2 format=3 uid="uid://dc6x0whf4601"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dhaus6vq5oigj" path="res://src/core/world/level/level_info.gd" id="1_3pj77"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_3pj77")
|
||||
level_path = "uid://srvm3v1grugk"
|
||||
level_id = &"LayoutTest"
|
||||
metadata/_custom_type_script = "uid://dhaus6vq5oigj"
|
||||
423
source/_development/ayuroo/levels/_test/_test_areas.tscn
Normal file
@ -0,0 +1,423 @@
|
||||
[gd_scene load_steps=28 format=3 uid="uid://bf4p7da201ev5"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dk4pqgs08xphi" path="res://src/core/camera/camera_shaker/camera_trauma_causer.gd" id="1_3ajg4"]
|
||||
[ext_resource type="Script" uid="uid://cigop0ivp5vvu" path="res://src/core/world/level/level.gd" id="1_8yfr8"]
|
||||
[ext_resource type="Environment" uid="uid://xe70va0pjc6c" path="res://resources/game_environment.tres" id="1_f6q7b"]
|
||||
[ext_resource type="PackedScene" uid="uid://c0jearfhlqcvr" path="res://src/gameplay/hazards/saw/saw.tscn" id="2_amnsq"]
|
||||
[ext_resource type="PackedScene" uid="uid://u56f1ks46ob6" path="res://src/gameplay/hazards/saw/saw.blend" id="3_f6q7b"]
|
||||
[ext_resource type="Script" uid="uid://c2w177bb5r70x" path="res://addons/controller_icons/objects/ControllerIconTexture.gd" id="4_8yfr8"]
|
||||
[ext_resource type="Script" uid="uid://cy2248x8tuoj4" path="res://src/gameplay/illusionary/illusionary_wall.gd" id="5_7g5fl"]
|
||||
[ext_resource type="Shader" uid="uid://dvpk3m7f8x5pc" path="res://src/vfx/shaders/dissolving_wall/dissolving_wall.gdshader" id="6_5mjhv"]
|
||||
[ext_resource type="Texture2D" uid="uid://jpmuawwwmwci" path="res://src/vfx/shaders/dissolving_wall/dissolving_wall_noise.tres" id="7_wa30a"]
|
||||
[ext_resource type="PackedScene" uid="uid://bcu5jlicrvor3" path="res://src/core/chapter/chapter_area.tscn" id="8_itwv6"]
|
||||
[ext_resource type="Script" uid="uid://chm33pvd77o5e" path="res://src/core/dialogue/voiceline_component.gd" id="9_b8a7g"]
|
||||
[ext_resource type="Script" uid="uid://3hlvt5k34xva" path="res://src/core/spawnpoint/player_spawn_point.gd" id="10_amnsq"]
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_j5wjh"]
|
||||
height = 2.75
|
||||
radius = 0.8
|
||||
|
||||
[sub_resource type="Texture2D" id="Texture2D_mfdv2"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
script = ExtResource("4_8yfr8")
|
||||
path = "run"
|
||||
metadata/_custom_type_script = "uid://c2w177bb5r70x"
|
||||
|
||||
[sub_resource type="Texture2D" id="Texture2D_iotsf"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
script = ExtResource("4_8yfr8")
|
||||
path = "crouch"
|
||||
metadata/_custom_type_script = "uid://c2w177bb5r70x"
|
||||
|
||||
[sub_resource type="Texture2D" id="Texture2D_hve3p"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
script = ExtResource("4_8yfr8")
|
||||
path = "jump"
|
||||
metadata/_custom_type_script = "uid://c2w177bb5r70x"
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_lc2xo"]
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_215e1"]
|
||||
gradient = SubResource("Gradient_lc2xo")
|
||||
fill_to = Vector2(0.66453, 0.262821)
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_215e1"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("6_5mjhv")
|
||||
shader_parameter/albedo = Color(1, 1, 1, 1)
|
||||
shader_parameter/texture_albedo = SubResource("GradientTexture2D_215e1")
|
||||
shader_parameter/texture_dissolve = ExtResource("7_wa30a")
|
||||
shader_parameter/alpha_scissor_threshold = 0.0
|
||||
shader_parameter/roughness = 0.0
|
||||
shader_parameter/metallic_texture_channel = Vector4(0, 0, 0, 0)
|
||||
shader_parameter/specular = 0.0
|
||||
shader_parameter/metallic = 0.0
|
||||
shader_parameter/uv1_blend_sharpness = 1.0
|
||||
shader_parameter/uv1_scale = Vector3(1, 1, 1)
|
||||
shader_parameter/uv1_offset = Vector3(0, 0, 0)
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_mfdv2"]
|
||||
size = Vector3(4, 3, 1)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_lc2xo"]
|
||||
size = Vector3(4, 3, 5)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_iotsf"]
|
||||
size = Vector3(4, 3, 1)
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_lc2xo"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("6_5mjhv")
|
||||
shader_parameter/albedo = Color(1, 1, 1, 1)
|
||||
shader_parameter/texture_albedo = SubResource("GradientTexture2D_215e1")
|
||||
shader_parameter/texture_dissolve = ExtResource("7_wa30a")
|
||||
shader_parameter/alpha_scissor_threshold = 0.0
|
||||
shader_parameter/roughness = 0.0
|
||||
shader_parameter/metallic_texture_channel = Vector4(0, 0, 0, 0)
|
||||
shader_parameter/specular = 0.0
|
||||
shader_parameter/metallic = 0.0
|
||||
shader_parameter/uv1_blend_sharpness = 1.0
|
||||
shader_parameter/uv1_scale = Vector3(1, 1, 1)
|
||||
shader_parameter/uv1_offset = Vector3(0, 0, 0)
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_lc2xo"]
|
||||
size = Vector3(4, 3, 4)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_215e1"]
|
||||
size = Vector3(5, 3, 5)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_7sc4i"]
|
||||
size = Vector3(4, 3, 4)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_hve3p"]
|
||||
size = Vector3(31, 8, 21)
|
||||
|
||||
[node name="TestAreas" type="Node3D"]
|
||||
script = ExtResource("1_8yfr8")
|
||||
metadata/_custom_type_script = "uid://cigop0ivp5vvu"
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
environment = ExtResource("1_f6q7b")
|
||||
|
||||
[node name="IntroArea" type="Node3D" parent="."]
|
||||
|
||||
[node name="Blockout" type="Node3D" parent="IntroArea"]
|
||||
|
||||
[node name="Outline" type="CSGCombiner3D" parent="IntroArea/Blockout"]
|
||||
use_collision = true
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="IntroArea/Blockout/Outline"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -4.5)
|
||||
flip_faces = true
|
||||
size = Vector3(4, 3, 11)
|
||||
|
||||
[node name="CSGBox3D2" type="CSGBox3D" parent="IntroArea/Blockout/Outline"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, -22)
|
||||
flip_faces = true
|
||||
size = Vector3(31, 14, 25)
|
||||
|
||||
[node name="TEMPRamps" type="CSGCombiner3D" parent="IntroArea/Blockout"]
|
||||
use_collision = true
|
||||
|
||||
[node name="Ramp" type="CSGBox3D" parent="IntroArea/Blockout/TEMPRamps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.866025, -0.5, 0, 0.5, 0.866025, -12.1053, 2.01959, -23.9749)
|
||||
size = Vector3(4, 1, 10)
|
||||
|
||||
[node name="Ramp2" type="CSGBox3D" parent="IntroArea/Blockout/TEMPRamps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.965926, -0.258819, 0, 0.258819, 0.965926, -8.1053, 2.01959, -23.9749)
|
||||
size = Vector3(4, 1, 10)
|
||||
|
||||
[node name="Ramp3" type="CSGBox3D" parent="IntroArea/Blockout/TEMPRamps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.984808, -0.173648, 0, 0.173648, 0.984808, -5.1053, 1.71959, -23.9749)
|
||||
size = Vector3(2, 1, 10)
|
||||
|
||||
[node name="Ramp4" type="CSGBox3D" parent="IntroArea/Blockout/TEMPRamps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.996195, -0.0871558, 0, 0.0871558, 0.996195, -3.1053, 2.31959, -23.9749)
|
||||
size = Vector3(2, 1, 10)
|
||||
|
||||
[node name="CrouchAndStairTest" type="CSGCombiner3D" parent="IntroArea/Blockout"]
|
||||
use_collision = true
|
||||
|
||||
[node name="CSGBox3D3" type="CSGBox3D" parent="IntroArea/Blockout/CrouchAndStairTest"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.10534, 0.919588, -15.1089)
|
||||
|
||||
[node name="CSGBox3D4" type="CSGBox3D" parent="IntroArea/Blockout/CrouchAndStairTest"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.10534, 1.11959, -15.1089)
|
||||
|
||||
[node name="CSGBox3D5" type="CSGBox3D" parent="IntroArea/Blockout/CrouchAndStairTest"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.10534, 1.31959, -15.1089)
|
||||
|
||||
[node name="CSGBox3D6" type="CSGBox3D" parent="IntroArea/Blockout/CrouchAndStairTest"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.10534, 1.51959, -15.1089)
|
||||
|
||||
[node name="CSGBox3D7" type="CSGBox3D" parent="IntroArea/Blockout/CrouchAndStairTest"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.10534, 1.71959, -15.1089)
|
||||
|
||||
[node name="CSGBox3D8" type="CSGBox3D" parent="IntroArea/Blockout/CrouchAndStairTest"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.10534, 1.91959, -15.1089)
|
||||
|
||||
[node name="CSGBox3D9" type="CSGBox3D" parent="IntroArea/Blockout/CrouchAndStairTest"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.10534, 2.11959, -15.1089)
|
||||
|
||||
[node name="CSGBox3D10" type="CSGBox3D" parent="IntroArea/Blockout/CrouchAndStairTest"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.10534, 2.31959, -15.1089)
|
||||
|
||||
[node name="CSGBox3D11" type="CSGBox3D" parent="IntroArea/Blockout/CrouchAndStairTest"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.1053, 2.51959, -15.1089)
|
||||
|
||||
[node name="CSGBox3D12" type="CSGBox3D" parent="IntroArea/Blockout/CrouchAndStairTest"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.1053, 2.71959, -15.1089)
|
||||
|
||||
[node name="CSGBox3D13" type="CSGBox3D" parent="IntroArea/Blockout/CrouchAndStairTest"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.1053, 2.91959, -15.1089)
|
||||
|
||||
[node name="CameraTraumaCauser" type="Marker3D" parent="IntroArea/Blockout"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13, 1, -31)
|
||||
script = ExtResource("1_3ajg4")
|
||||
continues_shake = true
|
||||
distance_falloff = 0.392292
|
||||
max_shake_intensity = 0.1
|
||||
metadata/_custom_type_script = "uid://dk4pqgs08xphi"
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="IntroArea"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6, -24)
|
||||
omni_range = 20.0
|
||||
|
||||
[node name="Saw" parent="IntroArea" instance=ExtResource("2_amnsq")]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0.5, -25)
|
||||
|
||||
[node name="Saw2" parent="IntroArea" instance=ExtResource("2_amnsq")]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.2, 0.5, -25)
|
||||
|
||||
[node name="Saw3" parent="IntroArea" instance=ExtResource("2_amnsq")]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.4, 0.5, -25)
|
||||
|
||||
[node name="Saw4" parent="IntroArea" instance=ExtResource("2_amnsq")]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.6, 0.5, -25)
|
||||
|
||||
[node name="Saw5" parent="IntroArea" instance=ExtResource("2_amnsq")]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.8, 0.5, -25)
|
||||
|
||||
[node name="Saw6" parent="IntroArea" instance=ExtResource("2_amnsq")]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 1, 0.5, -25)
|
||||
|
||||
[node name="Saw7" parent="IntroArea" instance=ExtResource("2_amnsq")]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 5, 0.5, -25)
|
||||
|
||||
[node name="SawSkin" parent="IntroArea/Saw7" index="0"]
|
||||
transform = Transform3D(-0.4491593, 0.82250214, 0, -0.82250214, -0.4491593, 0, 0, 0, 1, 0, 0, 0)
|
||||
|
||||
[node name="SawSkin2" parent="IntroArea/Saw7/SawSkin" index="1" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(0.907697, -0.41963, -2.22045e-16, 0.41963, 0.907697, 0, -3.55271e-15, -3.55271e-15, 1, 0, 0, 0.0999999)
|
||||
|
||||
[node name="SawSkin3" parent="IntroArea/Saw7/SawSkin" index="2" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(0.438149, 0.898906, -3.55271e-15, -0.898906, 0.438149, 0, 3.55271e-15, 1.77636e-15, 1, 0, 0, 0.2)
|
||||
|
||||
[node name="SawSkin4" parent="IntroArea/Saw7/SawSkin" index="3" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(-0.575553, 0.817769, 3.55271e-15, -0.817769, -0.575553, 5.32907e-15, 7.10543e-15, 0, 1, 0, 0, 0.3)
|
||||
|
||||
[node name="SawSkin5" parent="IntroArea/Saw7/SawSkin" index="4" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(0.0698509, 0.997561, 3.55271e-15, -0.997561, 0.0698509, 6.38378e-15, 7.32747e-15, -7.10543e-15, 1, 0, 0, 0.4)
|
||||
|
||||
[node name="SawSkin6" parent="IntroArea/Saw7/SawSkin" index="5" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(0.834063, 0.551677, 0, -0.551677, 0.834063, 7.10543e-15, 1.42109e-14, -6.21725e-15, 1, 0, 0, 0.5)
|
||||
|
||||
[node name="SawSkin7" parent="IntroArea/Saw7/SawSkin" index="6" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(0.187532, -0.982263, -6.21725e-15, 0.982263, 0.187532, -3.55271e-15, 1.06581e-14, -7.77156e-15, 1, 0, 0, 0.599999)
|
||||
|
||||
[node name="SawSkin8" parent="IntroArea/Saw7/SawSkin" index="7" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(-0.997299, 0.0735269, 3.55271e-15, -0.0735269, -0.997299, -5.32907e-15, -3.55271e-15, -5.32907e-15, 1, 0, 0, 0.599999)
|
||||
|
||||
[node name="SawSkin9" parent="IntroArea/Saw7/SawSkin" index="8" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(0.861875, -0.507134, -7.10543e-15, 0.507134, 0.861875, 3.55271e-15, -1.06581e-14, 0, 1, 0, 0, 0.699999)
|
||||
|
||||
[node name="SawSkin10" parent="IntroArea/Saw7/SawSkin" index="9" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(-0.642194, 0.766551, 7.10543e-15, -0.766551, -0.642194, -8.88178e-16, -7.10543e-15, 0, 1, 0, 0, 0.799999)
|
||||
|
||||
[node name="SawSkin11" parent="IntroArea/Saw7/SawSkin" index="10" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(0.986419, -0.16429, -7.10543e-15, 0.16429, 0.986419, 0, -7.10543e-15, -3.55271e-15, 1, 0, 0, 0.899999)
|
||||
|
||||
[node name="SawSkin12" parent="IntroArea/Saw7/SawSkin" index="11" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(-0.962893, 0.269909, 7.10543e-15, -0.269909, -0.962893, 7.77156e-16, -1.06581e-14, -2.66454e-15, 1, 0, 0, 0.999999)
|
||||
|
||||
[node name="SawSkin13" parent="IntroArea/Saw7/SawSkin" index="12" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(0.569512, -0.821991, -3.55271e-15, 0.821991, 0.569512, -7.10543e-15, -1.42109e-14, -4.44089e-15, 1, 0, 0, 1.1)
|
||||
|
||||
[node name="SawSkin14" parent="IntroArea/Saw7/SawSkin" index="13" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(0.620221, 0.784436, -1.06581e-14, -0.784436, 0.620221, 5.32907e-15, -1.42109e-14, -5.32907e-15, 1, 0, 0, 1.2)
|
||||
|
||||
[node name="SawSkin15" parent="IntroArea/Saw7/SawSkin" index="14" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(-0.978, -0.208642, 1.06581e-14, 0.208642, -0.978, 3.10862e-15, -1.42109e-14, -3.55271e-15, 1, 0, 0, 1.3)
|
||||
|
||||
[node name="SawSkin16" parent="IntroArea/Saw7/SawSkin" index="15" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(-0.801411, 0.598117, 0, -0.598117, -0.801411, 0, -3.55271e-15, -3.55271e-15, 1, 0, 0, 1.4)
|
||||
|
||||
[node name="SawSkin17" parent="IntroArea/Saw7/SawSkin" index="16" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(-0.61442, -0.788984, 3.55271e-15, 0.788984, -0.61442, 4.44089e-16, 5.32907e-15, 0, 1, 0, 0, 1.5)
|
||||
|
||||
[node name="SawSkin18" parent="IntroArea/Saw7/SawSkin" index="17" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(0.394174, -0.919041, -3.55271e-15, 0.919041, 0.394174, -5.9952e-15, 3.55271e-15, 0, 1, 0, 0, 1.6)
|
||||
|
||||
[node name="SawSkin19" parent="IntroArea/Saw7/SawSkin" index="18" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(-0.274452, -0.961605, -3.55271e-15, 0.961605, -0.274452, -7.10543e-15, 7.99361e-15, -7.10543e-15, 1, 0, 0, 1.7)
|
||||
|
||||
[node name="SawSkin20" parent="IntroArea/Saw7/SawSkin" index="19" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(-0.93005, -0.367446, 0, 0.367446, -0.93005, -7.10543e-15, 1.77636e-14, -3.55271e-15, 1, 0, 0, 1.8)
|
||||
|
||||
[node name="SawSkin21" parent="IntroArea/Saw7/SawSkin" index="20" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(0.0194621, 0.999816, 7.10543e-15, -0.999816, 0.0194621, 4.66294e-15, 1.07692e-14, -7.10543e-15, 1, 0, 0, 1.9)
|
||||
|
||||
[node name="SawSkin22" parent="IntroArea/Saw7/SawSkin" index="21" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(0.96059, -0.277995, -3.55271e-15, 0.277995, 0.96059, 4.44089e-15, -7.10543e-15, -5.32907e-15, 1, 0, 0, 1.9)
|
||||
|
||||
[node name="SawSkin23" parent="IntroArea/Saw7/SawSkin" index="22" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(-0.738498, 0.674265, 7.10543e-15, -0.674265, -0.738498, -2.22045e-15, -1.06581e-14, 0, 1, 0, 0, 2)
|
||||
|
||||
[node name="SawSkin24" parent="IntroArea/Saw7/SawSkin" index="23" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(0.469959, -0.882696, -7.10543e-15, 0.882696, 0.469959, -6.66134e-16, -5.32907e-15, 3.55271e-15, 1, 0, 0, 2.1)
|
||||
|
||||
[node name="SawSkin25" parent="IntroArea/Saw7/SawSkin" index="24" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(-0.931191, 0.364552, 7.10543e-15, -0.364552, -0.931191, 1.33227e-15, -7.10543e-15, -3.55271e-15, 1, 0, 0, 2.2)
|
||||
|
||||
[node name="SawSkin26" parent="IntroArea/Saw7/SawSkin" index="25" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(0.886351, -0.463031, -7.10543e-15, 0.463031, 0.886351, -2.44249e-15, -1.06581e-14, 0, 1, 0, 0, 2.3)
|
||||
|
||||
[node name="SawSkin27" parent="IntroArea/Saw7/SawSkin" index="26" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(-0.38739, 0.921924, 3.55271e-15, -0.921924, -0.38739, 7.54952e-15, -1.24345e-14, -7.10543e-15, 1, 0, 0, 2.4)
|
||||
|
||||
[node name="SawSkin28" parent="IntroArea/Saw7/SawSkin" index="27" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(-0.768913, -0.639366, 1.06581e-14, 0.639366, -0.768913, -3.33067e-15, -1.06581e-14, 0, 1, 0, 0, 2.5)
|
||||
|
||||
[node name="SawSkin29" parent="IntroArea/Saw7/SawSkin" index="28" instance=ExtResource("3_f6q7b")]
|
||||
transform = Transform3D(1.00001, 0.00207399, -1.06581e-14, -0.00207399, 1.00001, -5.55112e-15, -1.77636e-14, -3.55271e-15, 0.999999, 0, 0, 2.6)
|
||||
|
||||
[node name="CollisionShape3D" parent="IntroArea/Saw7/DeathArea" index="0"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 5.96046e-08, 1.275)
|
||||
shape = SubResource("CylinderShape3D_j5wjh")
|
||||
|
||||
[node name="RunPrompt" type="Sprite3D" parent="IntroArea"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.59307, -4.14257)
|
||||
cast_shadow = 0
|
||||
gi_mode = 0
|
||||
visibility_range_begin = 0.75
|
||||
visibility_range_begin_margin = 0.25
|
||||
visibility_range_end = 5.0
|
||||
visibility_range_end_margin = 1.0
|
||||
visibility_range_fade_mode = 1
|
||||
double_sided = false
|
||||
texture_filter = 1
|
||||
texture = SubResource("Texture2D_mfdv2")
|
||||
|
||||
[node name="CrouchPrompt" type="Sprite3D" parent="IntroArea"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 1.59307, -18.1426)
|
||||
cast_shadow = 0
|
||||
gi_mode = 0
|
||||
visibility_range_begin = 0.75
|
||||
visibility_range_begin_margin = 0.25
|
||||
visibility_range_end = 5.0
|
||||
visibility_range_end_margin = 1.0
|
||||
visibility_range_fade_mode = 1
|
||||
double_sided = false
|
||||
texture_filter = 1
|
||||
texture = SubResource("Texture2D_iotsf")
|
||||
|
||||
[node name="JumpPrompt" type="Sprite3D" parent="IntroArea"]
|
||||
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -3, 3.59307, -19.1426)
|
||||
cast_shadow = 0
|
||||
gi_mode = 0
|
||||
visibility_range_begin = 0.75
|
||||
visibility_range_begin_margin = 0.25
|
||||
visibility_range_end = 5.0
|
||||
visibility_range_end_margin = 1.0
|
||||
visibility_range_fade_mode = 1
|
||||
double_sided = false
|
||||
texture_filter = 1
|
||||
texture = SubResource("Texture2D_hve3p")
|
||||
|
||||
[node name="IllusionaryWall" type="Node3D" parent="IntroArea" node_paths=PackedStringArray("static_body", "mesh", "appear_area", "disappear_area")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -8)
|
||||
script = ExtResource("5_7g5fl")
|
||||
static_body = NodePath("BlockingWall")
|
||||
mesh = NodePath("DissolvingMesh")
|
||||
appear_area = NodePath("AppearArea")
|
||||
disappear_area = NodePath("AppearArea")
|
||||
metadata/_custom_type_script = "uid://cy2248x8tuoj4"
|
||||
|
||||
[node name="DissolvingMesh" type="MeshInstance3D" parent="IntroArea/IllusionaryWall"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0.00292015)
|
||||
material_override = SubResource("ShaderMaterial_215e1")
|
||||
mesh = SubResource("BoxMesh_mfdv2")
|
||||
|
||||
[node name="AppearArea" type="Area3D" parent="IntroArea/IllusionaryWall"]
|
||||
process_mode = 1
|
||||
collision_layer = 0
|
||||
collision_mask = 3
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="IntroArea/IllusionaryWall/AppearArea"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||
shape = SubResource("BoxShape3D_lc2xo")
|
||||
debug_color = Color(0.933125, 2.06e-05, 0.645944, 0.42)
|
||||
|
||||
[node name="BlockingWall" type="StaticBody3D" parent="IntroArea/IllusionaryWall"]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="IntroArea/IllusionaryWall/BlockingWall"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||
shape = SubResource("BoxShape3D_iotsf")
|
||||
|
||||
[node name="IllusionaryWall2" type="Node3D" parent="IntroArea" node_paths=PackedStringArray("static_body", "mesh", "appear_area", "disappear_area")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13.5, 1, -32.5)
|
||||
script = ExtResource("5_7g5fl")
|
||||
inverse = true
|
||||
static_body = NodePath("BlockingWall")
|
||||
mesh = NodePath("DissolvingMesh")
|
||||
appear_area = NodePath("AppearArea")
|
||||
disappear_area = NodePath("AppearArea")
|
||||
metadata/_custom_type_script = "uid://cy2248x8tuoj4"
|
||||
|
||||
[node name="DissolvingMesh" type="MeshInstance3D" parent="IntroArea/IllusionaryWall2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||
material_override = SubResource("ShaderMaterial_lc2xo")
|
||||
mesh = SubResource("BoxMesh_lc2xo")
|
||||
|
||||
[node name="AppearArea" type="Area3D" parent="IntroArea/IllusionaryWall2"]
|
||||
process_mode = 1
|
||||
collision_layer = 0
|
||||
collision_mask = 3
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="IntroArea/IllusionaryWall2/AppearArea"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0.5, 0.5)
|
||||
shape = SubResource("BoxShape3D_215e1")
|
||||
debug_color = Color(0.933125, 2.06e-05, 0.645944, 0.42)
|
||||
|
||||
[node name="BlockingWall" type="StaticBody3D" parent="IntroArea/IllusionaryWall2"]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="IntroArea/IllusionaryWall2/BlockingWall"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||
shape = SubResource("BoxShape3D_7sc4i")
|
||||
|
||||
[node name="ChapterArea" parent="." instance=ExtResource("8_itwv6")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, -21)
|
||||
chapter_index = 1
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ChapterArea"]
|
||||
shape = SubResource("BoxShape3D_hve3p")
|
||||
|
||||
[node name="VoicelineComponent" type="Node" parent="."]
|
||||
script = ExtResource("9_b8a7g")
|
||||
metadata/_custom_type_script = "uid://chm33pvd77o5e"
|
||||
|
||||
[node name="SpawnPoints" type="Node" parent="."]
|
||||
|
||||
[node name="PlayerSpawnPoint" type="Marker3D" parent="SpawnPoints"]
|
||||
script = ExtResource("10_amnsq")
|
||||
metadata/_custom_type_script = "uid://3hlvt5k34xva"
|
||||
|
||||
[node name="PlayerSpawnPoint2" type="Marker3D" parent="SpawnPoints"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -15)
|
||||
script = ExtResource("10_amnsq")
|
||||
metadata/_custom_type_script = "uid://3hlvt5k34xva"
|
||||
|
||||
[editable path="IntroArea/Saw7"]
|
||||
@ -0,0 +1,55 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://do54no1h1pv8i"
|
||||
path="res://.godot/imported/circus_tent_inside.glb-f2d16e6fd6c77c2210ee6ff3ce64f43d.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/models/circus_tent/circus_tent_inside.glb"
|
||||
dest_files=["res://.godot/imported/circus_tent_inside.glb-f2d16e6fd6c77c2210ee6ff3ce64f43d.scn"]
|
||||
|
||||
[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=2
|
||||
meshes/lightmap_texel_size=2.0
|
||||
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={
|
||||
"materials": {
|
||||
"prototype_grid_orange": {
|
||||
"use_external/enabled": false,
|
||||
"use_external/fallback_path": "",
|
||||
"use_external/path": ""
|
||||
},
|
||||
"prototype_grid_red": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/fallback_path": "res://assets/materials/cloth/red_cloth.tres",
|
||||
"use_external/path": "uid://coc0q5sjnejkb"
|
||||
}
|
||||
}
|
||||
}
|
||||
gltf/naming_version=0
|
||||
gltf/embedded_image_handling=1
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
@ -0,0 +1,44 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bxipfm03yci3a"
|
||||
path.s3tc="res://.godot/imported/circus_tent_inside_texture_02.png-bf8619fb6ee6cd04a4b97816e89764fe.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "a4091b6db3fc67af97a848a98d5046da"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/models/circus_tent/circus_tent_inside_texture_02.png"
|
||||
dest_files=["res://.godot/imported/circus_tent_inside_texture_02.png-bf8619fb6ee6cd04a4b97816e89764fe.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: 2.7 KiB |
@ -0,0 +1,44 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b1ap5aiudw4xe"
|
||||
path.s3tc="res://.godot/imported/circus_tent_inside_texture_02_1.png-d0f41eb5896b9fac8cfbc4d5ec507d5f.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "671c567d75d6cffe7d16440771c026c5"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/models/circus_tent/circus_tent_inside_texture_02_1.png"
|
||||
dest_files=["res://.godot/imported/circus_tent_inside_texture_02_1.png-d0f41eb5896b9fac8cfbc4d5ec507d5f.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
|
||||
@ -0,0 +1,55 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://btcrglmmn74yk"
|
||||
path="res://.godot/imported/circus_tent_outside.glb-f6abe07355e411c161c7737a0c199717.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/models/circus_tent/circus_tent_outside.glb"
|
||||
dest_files=["res://.godot/imported/circus_tent_outside.glb-f6abe07355e411c161c7737a0c199717.scn"]
|
||||
|
||||
[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={
|
||||
"materials": {
|
||||
"prototype_grid_orange": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/fallback_path": "res://_development/ayuroo/models/circus_tent/prototype_grid_orange.tres",
|
||||
"use_external/path": "uid://dknefw4cwovq"
|
||||
},
|
||||
"prototype_grid_red": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/fallback_path": "res://_development/ayuroo/models/circus_tent/prototype_grid_red.tres",
|
||||
"use_external/path": "uid://dictg13b71nlf"
|
||||
}
|
||||
}
|
||||
}
|
||||
gltf/naming_version=2
|
||||
gltf/embedded_image_handling=1
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
@ -0,0 +1,44 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bve8ckrjjnnl6"
|
||||
path.s3tc="res://.godot/imported/circus_tent_outside_texture_02.png-a2700e20b834c39be78b89df01505add.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "a4091b6db3fc67af97a848a98d5046da"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/models/circus_tent/circus_tent_outside_texture_02.png"
|
||||
dest_files=["res://.godot/imported/circus_tent_outside_texture_02.png-a2700e20b834c39be78b89df01505add.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: 2.7 KiB |
@ -0,0 +1,44 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://gfin457shn1d"
|
||||
path.s3tc="res://.godot/imported/circus_tent_outside_texture_02_1.png-6cf227f1bd9069a72d323a69b9e2a746.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
generator_parameters={
|
||||
"md5": "671c567d75d6cffe7d16440771c026c5"
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://_development/ayuroo/models/circus_tent/circus_tent_outside_texture_02_1.png"
|
||||
dest_files=["res://.godot/imported/circus_tent_outside_texture_02_1.png-6cf227f1bd9069a72d323a69b9e2a746.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
|
||||
@ -0,0 +1,10 @@
|
||||
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://dknefw4cwovq"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://bve8ckrjjnnl6" path="res://_development/ayuroo/models/circus_tent/circus_tent_outside_texture_02.png" id="1_52pi3"]
|
||||
|
||||
[resource]
|
||||
resource_name = "prototype_grid_orange"
|
||||
albedo_texture = ExtResource("1_52pi3")
|
||||
roughness = 0.97
|
||||
uv1_scale = Vector3(2, 2, 1)
|
||||
uv1_offset = Vector3(0, -1, 0)
|
||||
@ -0,0 +1,10 @@
|
||||
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://dictg13b71nlf"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://gfin457shn1d" path="res://_development/ayuroo/models/circus_tent/circus_tent_outside_texture_02_1.png" id="1_g6aqn"]
|
||||
|
||||
[resource]
|
||||
resource_name = "prototype_grid_red"
|
||||
albedo_texture = ExtResource("1_g6aqn")
|
||||
roughness = 0.97
|
||||
uv1_scale = Vector3(2, 2, 1)
|
||||
uv1_offset = Vector3(0, -1, 0)
|
||||
66
source/_development/ayuroo/rich_text_effect/effects.tscn
Normal file
@ -0,0 +1,66 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://b3wpm3qll2e6g"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://41co2svrlbkc" path="res://src/ui/rich_effects/loading_text_effect.gd" id="1_f8j4s"]
|
||||
[ext_resource type="Script" uid="uid://ysronki6hr11" path="res://src/ui/rich_effects/loading_text_effect_v2.gd" id="2_yf0e7"]
|
||||
|
||||
[sub_resource type="RichTextEffect" id="RichTextEffect_pk08u"]
|
||||
resource_name = "RichTextLoading"
|
||||
script = ExtResource("1_f8j4s")
|
||||
metadata/_custom_type_script = "uid://41co2svrlbkc"
|
||||
|
||||
[sub_resource type="RichTextEffect" id="RichTextEffect_3pfe6"]
|
||||
resource_name = "RichTextLoadingV2"
|
||||
script = ExtResource("2_yf0e7")
|
||||
metadata/_custom_type_script = "uid://ysronki6hr11"
|
||||
|
||||
[node name="Effects" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="Label" type="RichTextLabel" parent="."]
|
||||
clip_contents = false
|
||||
layout_mode = 0
|
||||
offset_left = 122.0
|
||||
offset_top = 91.0
|
||||
offset_right = 197.0
|
||||
offset_bottom = 114.0
|
||||
bbcode_enabled = true
|
||||
text = "[loading]Loading...[/loading]"
|
||||
fit_content = true
|
||||
autowrap_mode = 0
|
||||
custom_effects = [SubResource("RichTextEffect_pk08u")]
|
||||
|
||||
[node name="Panel" type="Panel" parent="Label"]
|
||||
show_behind_parent = true
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="Label2" type="RichTextLabel" parent="."]
|
||||
clip_contents = false
|
||||
layout_mode = 0
|
||||
offset_left = 122.0
|
||||
offset_top = 142.0
|
||||
offset_right = 197.0
|
||||
offset_bottom = 165.0
|
||||
bbcode_enabled = true
|
||||
text = "[loadingv2]Loading...[/loadingv2]"
|
||||
fit_content = true
|
||||
autowrap_mode = 0
|
||||
custom_effects = [SubResource("RichTextEffect_3pfe6")]
|
||||
|
||||
[node name="Panel" type="Panel" parent="Label2"]
|
||||
show_behind_parent = true
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
BIN
source/addons/StairsCharacter3D.zip
Normal file
93
source/addons/SunshineClouds2/CloudsDriverIcon.svg
Normal file
@ -0,0 +1,93 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="300mm"
|
||||
height="300mm"
|
||||
viewBox="0 0 300 300"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
inkscape:version="1.4.2 (f4327f4, 2025-05-13)"
|
||||
sodipodi:docname="CloudsDriverIcon.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:zoom="0.62178608"
|
||||
inkscape:cx="391.61378"
|
||||
inkscape:cy="1083.17"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="1912"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<defs
|
||||
id="defs1">
|
||||
<inkscape:path-effect
|
||||
effect="fillet_chamfer"
|
||||
id="path-effect2"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
nodesatellites_param="F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,0,0,1"
|
||||
radius="0"
|
||||
unit="px"
|
||||
method="auto"
|
||||
mode="F"
|
||||
chamfer_steps="1"
|
||||
flexible="false"
|
||||
use_knot_distance="true"
|
||||
apply_no_radius="true"
|
||||
apply_with_radius="true"
|
||||
only_selected="false"
|
||||
hide_knots="false" />
|
||||
</defs>
|
||||
<path
|
||||
id="path1"
|
||||
style="fill:#000000;fill-opacity:0;stroke:#e6e6e6;stroke-width:40.7049;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
d="m 107.63242,116.83678 c -35.648665,0.0768 -54.17281,40.5211 -45.353591,74.58516 -47.89015,14.64454 -37.757808,84.71214 -37.757808,84.71214 82.309479,-0.92951 164.765009,1.06968 247.040219,0.4444 3.26145,-58.36035 -23.37281,-76.52904 -97.24363,-81.69025 1.5e-4,-33.86727 -28.63176,-78.05142 -66.68519,-78.05145 z"
|
||||
inkscape:label="Clouds"
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:path-effect="#path-effect2"
|
||||
inkscape:original-d="m 107.63242,116.83678 c -35.648665,0.0768 -54.17281,40.5211 -45.353591,74.58516 -47.89015,14.64454 -37.757808,84.71214 -37.757808,84.71214 82.309479,-0.92951 164.765009,1.06968 247.040219,0.4444 3.26145,-58.36035 -23.37281,-76.52904 -97.24363,-81.69025 1.5e-4,-33.86727 -28.63176,-78.05142 -66.68519,-78.05145 z" />
|
||||
<path
|
||||
id="path4"
|
||||
style="fill:#ff6600;fill-opacity:0;stroke:#fc7f7f;stroke-width:40.8588;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 226.95252,156.95821 c 15.15331,-10.49881 20.38772,-26.41152 21.06398,-44.70033 1.086,-32.172214 -24.36333,-59.073896 -56.84261,-60.086559 -20.34742,-0.609593 -37.46401,6.164106 -48.74725,22.969734"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
<path
|
||||
id="path2"
|
||||
style="fill:#ff6600;fill-opacity:0;stroke:#fc7f7f;stroke-width:40.8584;stroke-linecap:round;stroke-miterlimit:3.2;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 142.62304,67.212668 c -5.22903,-6.422132 -1.84287,-1.673099 -9.51664,-9.385412 m 29.79425,1.217576"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
id="path2-8"
|
||||
style="fill:#ff6600;fill-opacity:0;stroke:#fc7f7f;stroke-width:40.8584;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3.2;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||
d="m 187.80165,43.516692 c 0.41414,-8.248856 -0.25037,-2.465605 -0.79247,-13.290068 M 208.4025,50.76432"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
id="path2-8-5"
|
||||
style="fill:#ff6600;fill-opacity:0;stroke:#fc7f7f;stroke-width:40.8584;stroke-linecap:round;stroke-miterlimit:3.2;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
||||
d="m 233.97325,61.313695 c 6.31526,-5.404057 1.63011,-1.883634 9.17011,-9.753551 m -0.28878,29.537347"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
id="path2-8-5-1"
|
||||
style="fill:#ff6600;fill-opacity:0;stroke:#fc7f7f;stroke-width:40.8584;stroke-linecap:round;stroke-miterlimit:3.2;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 255.77387,109.1385 c 8.32022,0.51722 2.49326,-0.21598 13.4297,-0.61232 m -21.09415,20.92081"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
id="path2-8-5-1-7"
|
||||
style="fill:#ff6600;fill-opacity:0;stroke:#fc7f7f;stroke-width:40.8584;stroke-linecap:round;stroke-miterlimit:3.2;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 237.5067,154.62009 c 5.44552,6.24299 1.89903,1.61035 9.8321,9.06083 m -29.82074,-0.21935"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.6 KiB |
43
source/addons/SunshineClouds2/CloudsDriverIcon.svg.import
Normal file
@ -0,0 +1,43 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b404vxesyde33"
|
||||
path="res://.godot/imported/CloudsDriverIcon.svg-faa29143230a8cbda673ccfc6652c810.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/SunshineClouds2/CloudsDriverIcon.svg"
|
||||
dest_files=["res://.godot/imported/CloudsDriverIcon.svg-faa29143230a8cbda673ccfc6652c810.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=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=128
|
||||
detect_3d/compress_to=0
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
233
source/addons/SunshineClouds2/CloudsInc.txt
Normal file
@ -0,0 +1,233 @@
|
||||
#define SCENE_DATA_FLAGS_USE_AMBIENT_LIGHT (1 << 0)
|
||||
#define SCENE_DATA_FLAGS_USE_AMBIENT_CUBEMAP (1 << 1)
|
||||
#define SCENE_DATA_FLAGS_USE_REFLECTION_CUBEMAP (1 << 2)
|
||||
#define SCENE_DATA_FLAGS_USE_ROUGHNESS_LIMITER (1 << 3)
|
||||
#define SCENE_DATA_FLAGS_USE_FOG (1 << 4)
|
||||
#define SCENE_DATA_FLAGS_USE_UV2_MATERIAL (1 << 5)
|
||||
#define SCENE_DATA_FLAGS_USE_PANCAKE_SHADOWS (1 << 6)
|
||||
#define SCENE_DATA_FLAGS_IN_SHADOW_PASS (1 << 7)
|
||||
#define MAX_VIEWS 2
|
||||
|
||||
#define GODOT_VERSION_MAJOR 4
|
||||
#define GODOT_VERSION_MINOR 5
|
||||
|
||||
|
||||
struct SceneData {
|
||||
#if (GODOT_VERSION_MAJOR == 4) && (GODOT_VERSION_MINOR == 4)
|
||||
|
||||
// godot version 4.4
|
||||
highp mat4 projection_matrix;
|
||||
highp mat4 inv_projection_matrix;
|
||||
highp mat4 inv_view_matrix;
|
||||
highp mat4 view_matrix;
|
||||
|
||||
// only used for multiview
|
||||
highp mat4 projection_matrix_view[MAX_VIEWS];
|
||||
highp mat4 inv_projection_matrix_view[MAX_VIEWS];
|
||||
highp vec4 eye_offset[MAX_VIEWS];
|
||||
|
||||
// Used for billboards to cast correct shadows.
|
||||
highp mat4 main_cam_inv_view_matrix;
|
||||
|
||||
highp vec2 viewport_size;
|
||||
highp vec2 screen_pixel_size;
|
||||
|
||||
// Use vec4s because std140 doesn't play nice with vec2s, z and w are wasted.
|
||||
highp vec4 directional_penumbra_shadow_kernel[32];
|
||||
highp vec4 directional_soft_shadow_kernel[32];
|
||||
highp vec4 penumbra_shadow_kernel[32];
|
||||
highp vec4 soft_shadow_kernel[32];
|
||||
|
||||
mediump mat3 radiance_inverse_xform;
|
||||
|
||||
mediump vec4 ambient_light_color_energy;
|
||||
|
||||
mediump float ambient_color_sky_mix;
|
||||
bool use_ambient_light;
|
||||
bool use_ambient_cubemap;
|
||||
bool use_reflection_cubemap;
|
||||
|
||||
highp vec2 shadow_atlas_pixel_size;
|
||||
highp vec2 directional_shadow_pixel_size;
|
||||
|
||||
uint directional_light_count;
|
||||
mediump float dual_paraboloid_side;
|
||||
highp float z_far;
|
||||
highp float z_near;
|
||||
|
||||
bool roughness_limiter_enabled;
|
||||
mediump float roughness_limiter_amount;
|
||||
mediump float roughness_limiter_limit;
|
||||
mediump float opaque_prepass_threshold;
|
||||
|
||||
bool fog_enabled;
|
||||
uint fog_mode;
|
||||
highp float fog_density;
|
||||
highp float fog_height;
|
||||
|
||||
highp float fog_height_density;
|
||||
highp float fog_depth_curve;
|
||||
highp float fog_depth_begin;
|
||||
highp float taa_frame_count;
|
||||
|
||||
mediump vec3 fog_light_color;
|
||||
highp float fog_depth_end;
|
||||
|
||||
mediump float fog_sun_scatter;
|
||||
mediump float fog_aerial_perspective;
|
||||
highp float time;
|
||||
mediump float reflection_multiplier; // one normally, zero when rendering reflections
|
||||
|
||||
vec2 taa_jitter;
|
||||
bool material_uv2_mode;
|
||||
float emissive_exposure_normalization;
|
||||
|
||||
float IBL_exposure_normalization;
|
||||
bool pancake_shadows;
|
||||
uint camera_visible_layers;
|
||||
float pass_alpha_multiplier;
|
||||
|
||||
#elif (GODOT_VERSION_MAJOR == 4) && (GODOT_VERSION_MINOR == 5)
|
||||
/* 4.5 definition */
|
||||
mat4 projection_matrix;
|
||||
mat4 inv_projection_matrix;
|
||||
mat4 inv_view_matrix;
|
||||
mat4 view_matrix;
|
||||
|
||||
// only used for multiview
|
||||
mat4 projection_matrix_view[MAX_VIEWS];
|
||||
mat4 inv_projection_matrix_view[MAX_VIEWS];
|
||||
vec4 eye_offset[MAX_VIEWS];
|
||||
|
||||
// Used for billboards to cast correct shadows.
|
||||
mat4 main_cam_inv_view_matrix;
|
||||
|
||||
vec2 viewport_size;
|
||||
vec2 screen_pixel_size;
|
||||
|
||||
// Use vec4s because std140 doesn't play nice with vec2s, z and w are wasted.
|
||||
vec4 directional_penumbra_shadow_kernel[32];
|
||||
vec4 directional_soft_shadow_kernel[32];
|
||||
vec4 penumbra_shadow_kernel[32];
|
||||
vec4 soft_shadow_kernel[32];
|
||||
|
||||
vec2 shadow_atlas_pixel_size;
|
||||
vec2 directional_shadow_pixel_size;
|
||||
|
||||
uint directional_light_count;
|
||||
float dual_paraboloid_side;
|
||||
float z_far;
|
||||
float z_near;
|
||||
|
||||
float roughness_limiter_amount;
|
||||
float roughness_limiter_limit;
|
||||
float opaque_prepass_threshold;
|
||||
uint flags;
|
||||
|
||||
mat3 radiance_inverse_xform;
|
||||
|
||||
vec4 ambient_light_color_energy;
|
||||
|
||||
float ambient_color_sky_mix;
|
||||
float fog_density;
|
||||
float fog_height;
|
||||
float fog_height_density;
|
||||
|
||||
float fog_depth_curve;
|
||||
float fog_depth_begin;
|
||||
float fog_depth_end;
|
||||
float fog_sun_scatter;
|
||||
|
||||
vec3 fog_light_color;
|
||||
float fog_aerial_perspective;
|
||||
|
||||
float time;
|
||||
float taa_frame_count;
|
||||
vec2 taa_jitter;
|
||||
|
||||
float emissive_exposure_normalization;
|
||||
float IBL_exposure_normalization;
|
||||
uint camera_visible_layers;
|
||||
float pass_alpha_multiplier;
|
||||
#endif
|
||||
};
|
||||
|
||||
struct GenericData{
|
||||
vec3 extralargenoiseposition;
|
||||
float extralargenoisescale;
|
||||
|
||||
vec3 largenoiseposition;
|
||||
float cloud_lighting_sharpness;
|
||||
|
||||
vec3 mediumnoiseposition;
|
||||
float lighting_step_distance;
|
||||
|
||||
vec3 smallnoiseposition;
|
||||
float atmospheric_density;
|
||||
|
||||
vec4 ambientLightColor;
|
||||
vec4 ambientGroundLightColor;
|
||||
vec4 ambientfogdistancecolor;
|
||||
|
||||
float small_noise_scale;
|
||||
float min_step_distance;
|
||||
float max_step_distance;
|
||||
float lod_bias;
|
||||
|
||||
float cloud_sharpness;
|
||||
float directionalLightsCount;
|
||||
float powderStrength;
|
||||
float anisotropy;
|
||||
|
||||
float cloud_floor;
|
||||
float cloud_ceiling;
|
||||
float max_step_count;
|
||||
float max_lighting_step_count;
|
||||
|
||||
float filterIndex;
|
||||
float blurPower;
|
||||
float blurQuality;
|
||||
float curlPower;
|
||||
|
||||
vec2 WindDirection;
|
||||
float fogEffectGround;
|
||||
float samplePointsCount;
|
||||
|
||||
float pointLightsCount;
|
||||
float pointEffectorCount;
|
||||
float windSweptRange;
|
||||
float windSweptPower;
|
||||
|
||||
vec2 raster_size;
|
||||
float large_noise_scale;
|
||||
float medium_noise_scale;
|
||||
|
||||
float time;
|
||||
float cloud_coverage;
|
||||
float cloud_density;
|
||||
float small_noise_strength;
|
||||
|
||||
float cloud_lighting_power;
|
||||
float accumilation_decay;
|
||||
float isAccumulationA;
|
||||
float resolutionscale;
|
||||
};
|
||||
|
||||
struct DirectionalLight {
|
||||
vec4 direction; //w = shadow sample count
|
||||
vec4 color; //a = intensity
|
||||
};
|
||||
|
||||
struct PointLight {
|
||||
vec4 position; //w = radius
|
||||
vec4 color; //a = intensity
|
||||
};
|
||||
|
||||
struct PointEffector {
|
||||
vec3 position; //w = radius
|
||||
float radius;
|
||||
|
||||
float power;
|
||||
float attenuation;
|
||||
vec2 reserved;
|
||||
};
|
||||
37
source/addons/SunshineClouds2/Dock/AccordionButton.gd
Normal file
@ -0,0 +1,37 @@
|
||||
@tool
|
||||
extends Button
|
||||
class_name AccordionButton
|
||||
|
||||
#var downcaret : CompressedTexture2D = preload("res://addons/SunshineClouds2/Dock/Icons/caret-down-solid.svg")
|
||||
#var upcaret : CompressedTexture2D = preload("res://addons/SunshineClouds2/Dock/Icons/caret-down-solid.svg")
|
||||
|
||||
var curvisible : bool = false
|
||||
|
||||
func _enter_tree() -> void:
|
||||
icon = ResourceLoader.load("res://addons/SunshineClouds2/Dock/Icons/caret-down-solid.svg")
|
||||
expand_icon = true
|
||||
icon_alignment = HORIZONTAL_ALIGNMENT_RIGHT
|
||||
if (!pressed.is_connected(ButtonPressed.bind())):
|
||||
pressed.connect(ButtonPressed.bind())
|
||||
|
||||
func ButtonPressed():
|
||||
curvisible = !curvisible
|
||||
_handleVisibility()
|
||||
|
||||
func Open():
|
||||
curvisible = true
|
||||
_handleVisibility()
|
||||
|
||||
func Close():
|
||||
curvisible = false
|
||||
_handleVisibility()
|
||||
|
||||
func _handleVisibility():
|
||||
if (!curvisible):
|
||||
icon = ResourceLoader.load("res://addons/SunshineClouds2/Dock/Icons/caret-down-solid.svg")
|
||||
else:
|
||||
icon = ResourceLoader.load("res://addons/SunshineClouds2/Dock/Icons/caret-up-solid.svg")
|
||||
|
||||
for child in get_parent().get_children():
|
||||
if (child != self and child is Control):
|
||||
child.visible = curvisible
|
||||
@ -0,0 +1 @@
|
||||
uid://cb3ho8b5lgx55
|
||||
17
source/addons/SunshineClouds2/Dock/AdaptingGridContainer.gd
Normal file
@ -0,0 +1,17 @@
|
||||
@tool
|
||||
extends GridContainer
|
||||
|
||||
@export var TargetColumnCount : int = 1
|
||||
@export var MinimumColumnSize : float = 100.0
|
||||
|
||||
func _enter_tree() -> void:
|
||||
if (!self.resized.is_connected(OnSizeChange.bind())):
|
||||
self.resized.connect(OnSizeChange.bind())
|
||||
|
||||
func OnSizeChange():
|
||||
if (TargetColumnCount <= 0):
|
||||
TargetColumnCount = 0
|
||||
|
||||
var width = size.x
|
||||
var newColumnCount : int = clamp(floor(width / MinimumColumnSize), 1, TargetColumnCount)
|
||||
columns = newColumnCount
|
||||
@ -0,0 +1 @@
|
||||
uid://cb12y8ylifwet
|
||||
14
source/addons/SunshineClouds2/Dock/CloudsDrawBrush.tscn
Normal file
@ -0,0 +1,14 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://bqphpk7wftndj"]
|
||||
|
||||
[ext_resource type="Material" uid="uid://b3fgicfsq7yvh" path="res://addons/SunshineClouds2/Dock/Materials/DrawBrushToolsMaterial.tres" id="1_t2125"]
|
||||
|
||||
[sub_resource type="PlaneMesh" id="PlaneMesh_gqrd6"]
|
||||
|
||||
[node name="DrawBrush" type="MeshInstance3D"]
|
||||
mesh = SubResource("PlaneMesh_gqrd6")
|
||||
surface_material_override/0 = ExtResource("1_t2125")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
material_override = ExtResource("1_t2125")
|
||||
mesh = SubResource("PlaneMesh_gqrd6")
|
||||
982
source/addons/SunshineClouds2/Dock/CloudsEditorController.gd
Normal file
@ -0,0 +1,982 @@
|
||||
@tool
|
||||
extends Control
|
||||
class_name CloudsEditorController
|
||||
|
||||
@export_category("Driver Tools")
|
||||
@export var CloudsStatusLabel : Label
|
||||
@export var CloudsActiveToggle : CheckButton
|
||||
@export var CloudsDriverRefresh : Button
|
||||
@export var CloudsDriverAccordianButton : AccordionButton
|
||||
@export_category("Mask Tools")
|
||||
@export var UseMaskToggle : CheckButton
|
||||
@export var MaskStatusLabel : Label
|
||||
@export var MaskFilePath : LineEdit
|
||||
@export var MaskResolution : SpinBox
|
||||
@export var MaskWidth : SpinBox
|
||||
@export_category("Draw Tools")
|
||||
@export var DrawWeightEnable : TextureButton
|
||||
@export var DrawColorEnable : TextureButton
|
||||
@export var DrawColorPicker : ColorPicker
|
||||
|
||||
@export var DrawTools : Control
|
||||
@export var DrawSharpness : HSlider
|
||||
@export var DrawStrength : HSlider
|
||||
|
||||
@export var compute_shader : RDShaderFile
|
||||
@export var DrawingColor : Color
|
||||
@export var InvertedDrawingColor : Color
|
||||
|
||||
@export_range(100,50000,50) var DefaultBrushSize : float = 1000.0
|
||||
@export_range(100,50000,50) var DefaultCloudsHeight : float = 2000.0
|
||||
|
||||
var driver : SunshineCloudsDriverGD
|
||||
|
||||
var currentRoot : Node
|
||||
|
||||
var currentDrawingMask : RID = RID()
|
||||
|
||||
enum DRAWINGMODE {none, weight, color, setValue}
|
||||
|
||||
var drawScale : float
|
||||
var currentCloudsHeight : float
|
||||
var currentDrawMode : DRAWINGMODE = DRAWINGMODE.none
|
||||
var drawingCurrently : bool = false
|
||||
var drawInverted : bool = false
|
||||
var drawBrushToolMaterial : BaseMaterial3D = preload("res://addons/SunshineClouds2/Dock/Materials/DrawBrushToolsMaterial.tres")
|
||||
var drawBrushToolPrefab : PackedScene = preload("res://addons/SunshineClouds2/Dock/CloudsDrawBrush.tscn")
|
||||
var drawBrushTool : MeshInstance3D
|
||||
|
||||
#region Compute Variables
|
||||
var computeEnabled : bool = false
|
||||
var rd : RenderingDevice
|
||||
var shader : RID = RID()
|
||||
var pipeline : RID = RID()
|
||||
|
||||
var uniform_set : RID
|
||||
var push_constants : PackedByteArray
|
||||
|
||||
var last_image_data : PackedByteArray = []
|
||||
#endregion
|
||||
|
||||
var pause_updates : bool = false
|
||||
|
||||
|
||||
func _enter_tree() -> void:
|
||||
drawScale = DefaultBrushSize
|
||||
|
||||
func _notification(what):
|
||||
if what == NOTIFICATION_PREDELETE and is_instance_valid(self):
|
||||
RenderingServer.call_on_render_thread(ClearCompute)
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
|
||||
if (currentDrawMode != DRAWINGMODE.none):
|
||||
|
||||
var selection = EditorInterface.get_selection()
|
||||
if (selection.get_selected_nodes().size() == 0):
|
||||
if (driver != null):
|
||||
selection.add_node(driver)
|
||||
|
||||
if (currentDrawMode == DRAWINGMODE.color):
|
||||
drawBrushToolMaterial.albedo_color = DrawColorPicker.color
|
||||
|
||||
if (drawingCurrently):
|
||||
|
||||
RenderingServer.call_on_render_thread(ExecuteCompute.bindv([delta, false, Color.WHITE]))
|
||||
|
||||
func InitialSceneLoad() -> void:
|
||||
var sceneRoot = await FindSceneNode()
|
||||
SceneChanged(sceneRoot)
|
||||
print("initial scene load")
|
||||
|
||||
await get_tree().create_timer(0.5).timeout
|
||||
var version_info = Engine.get_version_info()
|
||||
|
||||
var file = FileAccess.open("res://addons/SunshineClouds2/CloudsInc.txt", FileAccess.READ_WRITE)
|
||||
var content = file.get_as_text()
|
||||
var major_index = content.find("GODOT_VERSION_MAJOR") + 20
|
||||
var minor_index = content.find("GODOT_VERSION_MINOR") + 20
|
||||
|
||||
if content[major_index] != str(version_info.major) || content[minor_index] != str(version_info.minor):
|
||||
print("Version conflict, updating and reimporting...")
|
||||
content[major_index] = str(version_info.major)
|
||||
content[minor_index] = str(version_info.minor)
|
||||
file.store_string(content)
|
||||
file.close()
|
||||
|
||||
EditorInterface.get_resource_filesystem().reimport_files(["res://addons/SunshineClouds2/SunshineCloudsCompute.glsl", "res://addons/SunshineClouds2/SunshineCloudsPostCompute.glsl", "res://addons/SunshineClouds2/SunshineCloudsPreCompute.glsl"])
|
||||
await get_tree().create_timer(0.1).timeout
|
||||
if driver != null && driver.clouds_resource != null:
|
||||
driver.clouds_resource.refresh_compute()
|
||||
|
||||
print("Version change may cause some errors during first load, these should not impact functionality, if there is impacted functionality please report it to the creator of the plugin.")
|
||||
print("Version updated, launching normally.")
|
||||
else:
|
||||
print("Version correct, launching normally.")
|
||||
file.close()
|
||||
|
||||
|
||||
func RefreshSceneNode() -> void:
|
||||
var sceneRoot = await FindSceneNode()
|
||||
|
||||
SceneChanged(sceneRoot)
|
||||
|
||||
func FindSceneNode() -> Node:
|
||||
var editorInterface = EditorPlugin.new().get_editor_interface()
|
||||
var sceneRoot = editorInterface.get_edited_scene_root()
|
||||
var iterationcount: int = 300 #30 seconds of checking.
|
||||
while sceneRoot == null && iterationcount > 0:
|
||||
await get_tree().create_timer(0.1).timeout
|
||||
iterationcount -= 1
|
||||
sceneRoot = editorInterface.get_edited_scene_root()
|
||||
|
||||
return sceneRoot
|
||||
|
||||
func SceneChanged(scene_root : Node):
|
||||
|
||||
pause_updates = true
|
||||
DrawWeightEnable.button_pressed = false
|
||||
DrawColorEnable.button_pressed = false
|
||||
last_image_data = []
|
||||
DisableDrawMode()
|
||||
|
||||
currentRoot = scene_root
|
||||
driver = RetrieveCloudsDriver(scene_root)
|
||||
if (driver != null && driver.clouds_resource != null):
|
||||
driver.clouds_resource.maskDrawnRid = RID()
|
||||
|
||||
MaskWidth.value = driver.clouds_resource.mask_width_km
|
||||
UseMaskToggle.button_pressed = driver.clouds_resource.extra_large_used_as_mask
|
||||
|
||||
if ResourceLoader.exists(MaskFilePath.text):
|
||||
var image = ResourceLoader.load(MaskFilePath.text) as Image
|
||||
if image:
|
||||
print("retrieved mask scale")
|
||||
MaskResolution.value = image.get_width()
|
||||
pause_updates = false
|
||||
UpdateStatusDisplay()
|
||||
|
||||
func RetrieveCloudsDriver(scene_root : Node) -> SunshineCloudsDriverGD:
|
||||
if (scene_root != null):
|
||||
for child in scene_root.get_children():
|
||||
if child is SunshineCloudsDriverGD:
|
||||
return child
|
||||
|
||||
var newDriver = RetrieveCloudsDriver(child)
|
||||
if (newDriver):
|
||||
return newDriver
|
||||
|
||||
return null
|
||||
|
||||
func UpdateStatusDisplay():
|
||||
|
||||
if (driver != null):
|
||||
CloudsActiveToggle.disabled = false
|
||||
CloudsActiveToggle.button_pressed = driver.update_continuously
|
||||
CloudsDriverRefresh.visible = false
|
||||
CloudsStatusLabel.text = "Clouds present"
|
||||
|
||||
if ResourceLoader.exists(MaskFilePath.text):
|
||||
MaskStatusLabel.text = "Mask Detected: " + MaskFilePath.text
|
||||
DrawTools.visible = true
|
||||
else:
|
||||
MaskStatusLabel.text = "Mask Not Found."
|
||||
DrawTools.visible = false
|
||||
|
||||
else:
|
||||
CloudsActiveToggle.disabled = true
|
||||
CloudsActiveToggle.button_pressed = false
|
||||
CloudsDriverRefresh.visible = true
|
||||
DrawTools.visible = false
|
||||
CloudsDriverAccordianButton.Open()
|
||||
CloudsStatusLabel.text = "Clouds not present"
|
||||
|
||||
|
||||
if driver != null && driver.clouds_resource != null:
|
||||
UseMaskToggle.disabled = false
|
||||
else:
|
||||
UseMaskToggle.disabled = true
|
||||
UseMaskToggle.button_pressed = false
|
||||
|
||||
|
||||
func UpdateMaskSettings():
|
||||
if (pause_updates):
|
||||
return
|
||||
print("Update mask settings")
|
||||
if (driver != null && driver.clouds_resource != null):
|
||||
driver.clouds_resource.mask_width_km = MaskWidth.value
|
||||
driver.clouds_resource.extra_large_used_as_mask = UseMaskToggle.button_pressed
|
||||
if (!UseMaskToggle.button_pressed):
|
||||
driver.clouds_resource.extra_large_noise_patterns = ResourceLoader.load("res://addons/SunshineClouds2/NoiseTextures/ExtraLargeScaleNoise.tres")
|
||||
elif ResourceLoader.exists(MaskFilePath.text):
|
||||
driver.clouds_resource.extra_large_noise_patterns = ResourceLoader.load(MaskFilePath.text)
|
||||
|
||||
InitializeMaskTexture()
|
||||
|
||||
func InitializeMaskTexture():
|
||||
#if (driver == null):
|
||||
#return
|
||||
|
||||
if not rd:
|
||||
rd = RenderingServer.get_rendering_device()
|
||||
if not rd:
|
||||
return
|
||||
#currentDrawingMask = driver.clouds_resource.mask_rid
|
||||
#var useDriverData : bool = driver != null && driver.clouds_resource != null
|
||||
#
|
||||
print("initializing mask")
|
||||
if ResourceLoader.exists(MaskFilePath.text):
|
||||
print("loading mask")
|
||||
var image = ResourceLoader.load(MaskFilePath.text) as CompressedTexture2D
|
||||
if (!image || image.get_width() != MaskResolution.value):
|
||||
print(MaskFilePath.text)
|
||||
print("mask incorrect size found size:", image.get_width(), " desired:", MaskResolution.value)
|
||||
image = Image.create(MaskResolution.value, MaskResolution.value, false, Image.FORMAT_RGBAF)
|
||||
image.clear_mipmaps()
|
||||
image.save_exr(MaskFilePath.text)
|
||||
|
||||
var editorFileSystem := EditorInterface.get_resource_filesystem()
|
||||
editorFileSystem.scan()
|
||||
else:
|
||||
var image = Image.create(MaskResolution.value, MaskResolution.value, false, Image.FORMAT_RGBAF)
|
||||
image.clear_mipmaps()
|
||||
image.save_exr(MaskFilePath.text)
|
||||
|
||||
var editorFileSystem := EditorInterface.get_resource_filesystem()
|
||||
editorFileSystem.scan()
|
||||
|
||||
|
||||
|
||||
#driver.clouds_resource.mask_rid = currentDrawingMask
|
||||
#driver.clouds_resource.extra_large_noise_patterns = ResourceLoader.load(MaskFilePath.text)
|
||||
#driver.clouds_resource.last_size = Vector2i.ZERO
|
||||
|
||||
RenderingServer.call_on_render_thread(InitializeCompute)
|
||||
call_deferred("UpdateStatusDisplay")
|
||||
|
||||
#region Draw mode
|
||||
|
||||
#region Compute
|
||||
|
||||
func InitializeCompute():
|
||||
computeEnabled = false
|
||||
#if driver == null:
|
||||
#return
|
||||
|
||||
#currentDrawingMask = driver.clouds_resource.mask_rid
|
||||
#if !currentDrawingMask.is_valid():
|
||||
#return
|
||||
|
||||
if not rd:
|
||||
rd = RenderingServer.get_rendering_device()
|
||||
if not rd:
|
||||
computeEnabled = false
|
||||
printerr("No rendering device on load.")
|
||||
return
|
||||
ClearCompute()
|
||||
if not compute_shader:
|
||||
compute_shader = ResourceLoader.load("res://addons/SunshineClouds2/Dock/MaskDrawingCompute.glsl")
|
||||
|
||||
if not compute_shader:
|
||||
computeEnabled = false
|
||||
printerr("No Shader found for drawing tool.")
|
||||
ClearCompute()
|
||||
return
|
||||
|
||||
var shader_spirv = compute_shader.get_spirv()
|
||||
shader = rd.shader_create_from_spirv(shader_spirv)
|
||||
if shader.is_valid():
|
||||
pipeline = rd.compute_pipeline_create(shader)
|
||||
else:
|
||||
computeEnabled = false
|
||||
printerr("Shader failed to compile.")
|
||||
ClearCompute()
|
||||
return
|
||||
|
||||
var uniforms_array : Array[RDUniform] = []
|
||||
|
||||
var newFormat : RDTextureFormat = RDTextureFormat.new()
|
||||
newFormat.format = RenderingDevice.DATA_FORMAT_R32G32B32A32_SFLOAT
|
||||
newFormat.height = MaskResolution.value
|
||||
newFormat.width = MaskResolution.value
|
||||
newFormat.usage_bits = RenderingDevice.TEXTURE_USAGE_STORAGE_BIT | RenderingDevice.TEXTURE_USAGE_SAMPLING_BIT | RenderingDevice.TEXTURE_USAGE_CAN_COPY_FROM_BIT
|
||||
|
||||
var image : Image
|
||||
if ResourceLoader.exists(MaskFilePath.text):
|
||||
image = (ResourceLoader.load(MaskFilePath.text) as CompressedTexture2D).get_image()
|
||||
|
||||
if image == null:
|
||||
image = Image.create(MaskResolution.value, MaskResolution.value, false, Image.FORMAT_RGBAF)
|
||||
|
||||
currentDrawingMask = rd.texture_create(newFormat, RDTextureView.new(), [image.get_data()])
|
||||
|
||||
if (driver != null && driver.clouds_resource != null):
|
||||
driver.clouds_resource.update_mask(currentDrawingMask)
|
||||
|
||||
var mask_uniform = RDUniform.new()
|
||||
mask_uniform.uniform_type = RenderingDevice.UNIFORM_TYPE_IMAGE
|
||||
mask_uniform.binding = 0
|
||||
mask_uniform.add_id(currentDrawingMask)
|
||||
uniforms_array.append(mask_uniform)
|
||||
|
||||
uniform_set = rd.uniform_set_create(uniforms_array, shader, 0)
|
||||
computeEnabled = true
|
||||
|
||||
func ClearCompute():
|
||||
if rd:
|
||||
if shader.is_valid():
|
||||
rd.free_rid(shader)
|
||||
shader = RID()
|
||||
|
||||
if currentDrawingMask.is_valid():
|
||||
rd.free_rid(currentDrawingMask)
|
||||
currentDrawingMask = RID()
|
||||
|
||||
func ExecuteCompute(delta : float, setvalue : bool, setvalueColor : Color):
|
||||
if (!computeEnabled):
|
||||
return
|
||||
|
||||
var resolution : float = MaskResolution.value
|
||||
var drawPosition : Vector2 = Vector2.ZERO
|
||||
var drawRadius = 0.0
|
||||
|
||||
if (!setvalue):
|
||||
drawPosition = Vector2(drawBrushTool.global_position.x, drawBrushTool.global_position.z)
|
||||
drawPosition = (drawPosition / (MaskWidth.value * 1000.0)) * resolution
|
||||
drawPosition += Vector2(resolution * 0.5, resolution * 0.5)
|
||||
|
||||
drawRadius = (drawBrushTool.scale.x / (MaskWidth.value * 1000.0)) * resolution
|
||||
|
||||
var groups = ceil(resolution / 32) + 1
|
||||
var drawSharpness = DrawSharpness.value
|
||||
var drawStrength = DrawStrength.value * delta
|
||||
if (drawInverted):
|
||||
drawStrength = -drawStrength
|
||||
|
||||
var editingtype : float = 0.0
|
||||
if setvalue:
|
||||
editingtype = 2.0
|
||||
elif currentDrawMode == DRAWINGMODE.color:
|
||||
editingtype = 1.0
|
||||
|
||||
var ms = StreamPeerBuffer.new()
|
||||
ms.put_float(drawPosition.x)
|
||||
ms.put_float(drawPosition.y)
|
||||
ms.put_float(drawRadius)
|
||||
ms.put_float(drawSharpness)
|
||||
|
||||
ms.put_float(drawStrength)
|
||||
ms.put_float(editingtype)
|
||||
ms.put_float(resolution)
|
||||
ms.put_float(0.0)
|
||||
|
||||
if (setvalue):
|
||||
ms.put_float(setvalueColor.r)
|
||||
ms.put_float(setvalueColor.g)
|
||||
ms.put_float(setvalueColor.b)
|
||||
ms.put_float(setvalueColor.a)
|
||||
else:
|
||||
ms.put_float(DrawColorPicker.color.r)
|
||||
ms.put_float(DrawColorPicker.color.g)
|
||||
ms.put_float(DrawColorPicker.color.b)
|
||||
ms.put_float(0.0)
|
||||
|
||||
push_constants = ms.get_data_array()
|
||||
|
||||
var compute_list = rd.compute_list_begin()
|
||||
rd.compute_list_bind_compute_pipeline(compute_list, pipeline)
|
||||
rd.compute_list_bind_uniform_set(compute_list, uniform_set, 0)
|
||||
rd.compute_list_set_push_constant(compute_list, push_constants, push_constants.size())
|
||||
rd.compute_list_dispatch(compute_list, groups, groups, 1)
|
||||
rd.compute_list_end()
|
||||
|
||||
|
||||
await RenderingServer.frame_post_draw
|
||||
|
||||
rd.texture_get_data_async(currentDrawingMask, 0, CompleteRetreval)
|
||||
|
||||
func CompleteRetreval(data):
|
||||
last_image_data = data
|
||||
#for byte in data:
|
||||
#print(byte)
|
||||
#print("RetrevalComplete ", data)
|
||||
#var image = Image.create_from_data(MaskResolution.value, MaskResolution.value, false, Image.FORMAT_RGBAF, data)
|
||||
##rd.texture_update(RenderingServer.texture_get_rd_texture(currentMask.get_rid()),0, data)
|
||||
#image.save_png(MaskFilePath.text)
|
||||
|
||||
#var editorFileSystem := EditorInterface.get_resource_filesystem()
|
||||
#editorFileSystem.scan()
|
||||
|
||||
#endregion
|
||||
|
||||
func IterateCursorLocation(viewport_camera: Camera3D, event:InputEventMouse):
|
||||
if (is_instance_valid(driver) && driver.clouds_resource != null):
|
||||
currentCloudsHeight = (driver.clouds_resource.cloud_floor + driver.clouds_resource.cloud_ceiling) / 2.0
|
||||
else:
|
||||
currentCloudsHeight = DefaultCloudsHeight
|
||||
var ray_origin = viewport_camera.project_ray_origin(event.position)
|
||||
var ray_dir = viewport_camera.project_ray_normal(event.position)
|
||||
|
||||
var result : float = RetrieveTravelDistance(ray_origin, ray_dir)
|
||||
if (result == -1.0):
|
||||
drawBrushTool.visible = false
|
||||
else:
|
||||
drawBrushTool.visible = true
|
||||
drawBrushTool.global_position = ray_origin + ray_dir * result
|
||||
drawBrushTool.global_position.y = driver.clouds_resource.cloud_floor
|
||||
|
||||
func BeginCursorDraw():
|
||||
drawingCurrently = true
|
||||
|
||||
func EndCursorDraw():
|
||||
drawingCurrently = false
|
||||
|
||||
func ScaleDrawingCircleUp():
|
||||
drawScale = min(drawScale + (drawScale * 0.1), 100000.0)
|
||||
SetDrawScale()
|
||||
|
||||
func ScaleDrawingCircleDown():
|
||||
drawScale = max(drawScale - (drawScale * 0.1), 100.0)
|
||||
SetDrawScale()
|
||||
|
||||
func DrawModeCancel():
|
||||
DrawWeightEnable.button_pressed = false
|
||||
DrawColorEnable.button_pressed = false
|
||||
DisableDrawMode()
|
||||
|
||||
|
||||
func SetDrawScale():
|
||||
if driver != null && driver.clouds_resource != null:
|
||||
drawBrushTool.scale = Vector3(drawScale, driver.clouds_resource.cloud_ceiling - driver.clouds_resource.cloud_floor, drawScale)
|
||||
else:
|
||||
drawBrushTool.scale = Vector3(drawScale, 1000.0, drawScale)
|
||||
|
||||
#region Draw Mode Toggles
|
||||
|
||||
func FloodFill():
|
||||
var resultColor : Color = DrawColorPicker.color
|
||||
resultColor.a = DrawStrength.value / DrawStrength.max_value
|
||||
RenderingServer.call_on_render_thread(ExecuteCompute.bindv([0.0, true, resultColor]))
|
||||
await get_tree().create_timer(0.2).timeout
|
||||
call_deferred("DisableDrawMode")
|
||||
|
||||
func DrawWeightToggled():
|
||||
DrawColorEnable.button_pressed = false
|
||||
|
||||
if DrawWeightEnable.button_pressed && EnableDrawMode():
|
||||
currentDrawMode = DRAWINGMODE.weight
|
||||
else:
|
||||
DrawWeightEnable.button_pressed = false
|
||||
|
||||
func DrawColorToggled():
|
||||
DrawWeightEnable.button_pressed = false
|
||||
|
||||
if DrawColorEnable.button_pressed && EnableDrawMode():
|
||||
currentDrawMode = DRAWINGMODE.color
|
||||
else:
|
||||
DrawColorEnable.button_pressed = false
|
||||
|
||||
func EnableDrawMode() -> bool:
|
||||
if (!computeEnabled):
|
||||
InitializeMaskTexture()
|
||||
|
||||
if (!is_instance_valid(currentRoot)):
|
||||
return false
|
||||
drawBrushToolMaterial.albedo_color = DrawingColor
|
||||
if (!is_instance_valid(drawBrushTool)):
|
||||
drawBrushTool = drawBrushToolPrefab.instantiate() as MeshInstance3D
|
||||
currentRoot.add_child(drawBrushTool)
|
||||
SetDrawScale()
|
||||
|
||||
return true
|
||||
|
||||
func DisableDrawMode():
|
||||
DrawColorEnable.button_pressed = false
|
||||
DrawWeightEnable.button_pressed = false
|
||||
currentDrawMode = DRAWINGMODE.none
|
||||
drawInverted = false
|
||||
if (drawingCurrently):
|
||||
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
|
||||
drawingCurrently = false
|
||||
|
||||
if (is_instance_valid(drawBrushTool)):
|
||||
drawBrushTool.queue_free()
|
||||
drawBrushTool = null
|
||||
|
||||
if (last_image_data.size() > 0):
|
||||
print("Saved image to disc")
|
||||
var image = Image.create_from_data(MaskResolution.value, MaskResolution.value, false, Image.FORMAT_RGBAF, last_image_data)
|
||||
|
||||
image.save_exr(MaskFilePath.text)
|
||||
var editorFileSystem := EditorInterface.get_resource_filesystem()
|
||||
editorFileSystem.scan()
|
||||
|
||||
last_image_data = []
|
||||
|
||||
if (driver != null && driver.clouds_resource != null):
|
||||
driver.clouds_resource.extra_large_noise_patterns = ResourceLoader.load(MaskFilePath.text)
|
||||
|
||||
#endregion
|
||||
|
||||
func SetDrawInvert(mode : bool):
|
||||
if (currentDrawMode == DRAWINGMODE.weight && drawInverted != mode):
|
||||
drawInverted = mode
|
||||
drawBrushToolMaterial.albedo_color = InvertedDrawingColor if drawInverted else DrawingColor
|
||||
|
||||
|
||||
#region draw tools helpers
|
||||
|
||||
func RetrieveTravelDistance(pos : Vector3, dir :Vector3) -> float:
|
||||
var t : float = (currentCloudsHeight - pos.y) / dir.y
|
||||
if (dir.y == 0 || t < 0.0):
|
||||
return -1.0
|
||||
|
||||
|
||||
return t * dir.length()
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
#Updates
|
||||
func SetCloudsUpdating():
|
||||
if (driver != null):
|
||||
driver.update_continuously = CloudsActiveToggle.button_pressed
|
||||
|
||||
UpdateStatusDisplay()
|
||||
|
||||
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#@tool
|
||||
#extends MeshInstance3D
|
||||
#class_name WanderingTerrainDrawnStamp
|
||||
#
|
||||
#
|
||||
#@export var visibleColorMat : ShaderMaterial = preload("res://addons/WanderingTerrain/Materials/StampMaterials/EraseChunkVisibleColorMat.tres")
|
||||
#@export var highlightedColorMat : ShaderMaterial = preload("res://addons/WanderingTerrain/Materials/StampMaterials/EraseChunkHighlightedColorMat.tres")
|
||||
#@export var thisStampIndex : Vector2
|
||||
#@export var currentHeightmapImageTexture: Texture2D
|
||||
#@export var currentColormapImageTexture: Texture2D
|
||||
#@export var currentSplatmapImageTexture: Texture2D
|
||||
#@export var currentMaterial : ShaderMaterial
|
||||
#
|
||||
#var newHeightmapImage : Image
|
||||
#var newColormapImage : Image
|
||||
#var newSplatmapImage : Image
|
||||
#var newHeightmapdrawingDirty : bool = false
|
||||
#var newColormapdrawingDirty : bool = false
|
||||
#var newSplatmapdrawingDirty : bool = false
|
||||
#var pixelChanged : bool = false
|
||||
#
|
||||
#enum DrawingUpdateMode {sculpting, colorpainting, splatpainting}
|
||||
#
|
||||
#var thisRect : Rect2
|
||||
#
|
||||
#
|
||||
#func InitializeDrawnStamp(resolution : int, indexPosition : Vector2, position : Vector3, currentUpdateType : DrawingUpdateMode):
|
||||
#add_to_group("WanderingTerrainSculptingStamps", true);
|
||||
#thisStampIndex = indexPosition
|
||||
#global_position = position
|
||||
#currentMaterial = material_override.duplicate()
|
||||
#material_override = currentMaterial
|
||||
#
|
||||
#UpdateDrawnStamp(resolution, currentUpdateType)
|
||||
#
|
||||
#func SetVisible():
|
||||
#currentMaterial.next_pass = visibleColorMat
|
||||
#
|
||||
#func SetHidden():
|
||||
#currentMaterial.next_pass = null
|
||||
#
|
||||
#func Highlight():
|
||||
#currentMaterial.next_pass = highlightedColorMat
|
||||
#
|
||||
#func Unhightlight():
|
||||
#currentMaterial.next_pass = visibleColorMat
|
||||
#
|
||||
#func CheckHasAnyUpdate() -> bool:
|
||||
#
|
||||
#if (pixelChanged || currentHeightmapImageTexture != null || currentColormapImageTexture != null || currentSplatmapImageTexture != null):
|
||||
#return true
|
||||
#
|
||||
#return false
|
||||
#
|
||||
#func UpdateDrawnStamp(resolution : int, currentUpdateType : DrawingUpdateMode):
|
||||
#
|
||||
#match currentUpdateType:
|
||||
#DrawingUpdateMode.sculpting:
|
||||
#
|
||||
#if (newHeightmapImage == null || newHeightmapImage.get_width() != resolution):
|
||||
#if (currentHeightmapImageTexture != null && currentHeightmapImageTexture.get_width() == resolution):
|
||||
#newHeightmapImage = currentHeightmapImageTexture.get_image()
|
||||
#else:
|
||||
#currentHeightmapImageTexture = null
|
||||
#newHeightmapdrawingDirty = true
|
||||
#newHeightmapImage = Image.create(resolution, resolution, false, Image.FORMAT_RGF)
|
||||
#for x in resolution:
|
||||
#for y in resolution:
|
||||
#newHeightmapImage.set_pixel(x,y, Color(0.0,0.0,0.0,0.0))
|
||||
#
|
||||
#
|
||||
#var imageTexture = ImageTexture.create_from_image(newHeightmapImage)
|
||||
#currentMaterial.set_shader_parameter("HeightMap", imageTexture)
|
||||
#
|
||||
#DrawingUpdateMode.colorpainting:
|
||||
#
|
||||
#if (newColormapImage == null || newColormapImage.get_width() != resolution):
|
||||
#if (currentColormapImageTexture != null && currentColormapImageTexture.get_width() == resolution):
|
||||
#newColormapImage = currentColormapImageTexture.get_image()
|
||||
#else:
|
||||
#currentColormapImageTexture = null
|
||||
#newColormapdrawingDirty = true
|
||||
#newColormapImage = Image.create(resolution, resolution, false, Image.FORMAT_RGBAF)
|
||||
#for x in resolution:
|
||||
#for y in resolution:
|
||||
#newColormapImage.set_pixel(x,y, Color(0.0,0.0,0.0,0.0))
|
||||
#
|
||||
#var imageTexture = ImageTexture.create_from_image(newColormapImage)
|
||||
#currentMaterial.set_shader_parameter("ColorMap", imageTexture)
|
||||
#currentMaterial.set_shader_parameter("HasColorMap", true);
|
||||
#
|
||||
#DrawingUpdateMode.splatpainting:
|
||||
#
|
||||
#if (newSplatmapImage == null || newSplatmapImage.get_width() != resolution):
|
||||
#if (currentSplatmapImageTexture != null && currentSplatmapImageTexture.get_width() == resolution):
|
||||
#newSplatmapImage = currentSplatmapImageTexture.get_image()
|
||||
#else:
|
||||
#currentSplatmapImageTexture = null
|
||||
#newSplatmapdrawingDirty = true
|
||||
#newSplatmapImage = Image.create(resolution, resolution, false, Image.FORMAT_RGBAF)
|
||||
#for x in resolution:
|
||||
#for y in resolution:
|
||||
#newSplatmapImage.set_pixel(x,y, Color(0.0,0.0,0.0,0.0))
|
||||
#
|
||||
#var imageTexture = ImageTexture.create_from_image(newSplatmapImage)
|
||||
#currentMaterial.set_shader_parameter("SplatMap", imageTexture)
|
||||
#currentMaterial.set_shader_parameter("HasSplatMap", true);
|
||||
#
|
||||
#
|
||||
#thisRect = Rect2(Vector2(global_position.x - resolution / 2, global_position.z - resolution / 2),Vector2(resolution, resolution))
|
||||
#
|
||||
#func IsInsideRect(targetPosition : Vector2, stampRadius : float) -> bool:
|
||||
#if thisRect.has_point(targetPosition) || thisRect.has_point(targetPosition + (Vector2(global_position.x, global_position.z) - targetPosition).normalized() * stampRadius):
|
||||
#return true
|
||||
#return false
|
||||
#
|
||||
#
|
||||
#
|
||||
#func PackStamp(terrainController : WanderingTerrainController):
|
||||
#if (newHeightmapdrawingDirty && newHeightmapImage != null):
|
||||
#newHeightmapdrawingDirty = false
|
||||
#var resultingResource = await terrainController.Editor_SaveImageToOutputFolder(newHeightmapImage, name + "_height_savedstamp", "exr")
|
||||
#if (resultingResource != null):
|
||||
#currentHeightmapImageTexture = resultingResource
|
||||
#currentMaterial.set_shader_parameter("HeightMap", currentHeightmapImageTexture)
|
||||
#
|
||||
#if (newColormapdrawingDirty && newColormapImage != null):
|
||||
#newColormapdrawingDirty = false
|
||||
#var resultingResource = await terrainController.Editor_SaveImageToOutputFolder(newColormapImage, name + "_color_savedstamp", "exr")
|
||||
#if (resultingResource != null):
|
||||
#currentColormapImageTexture = resultingResource
|
||||
#currentMaterial.set_shader_parameter("ColorMap", currentColormapImageTexture)
|
||||
#
|
||||
#if (newSplatmapdrawingDirty && newSplatmapImage != null):
|
||||
#newSplatmapdrawingDirty = false
|
||||
#var resultingResource = await terrainController.Editor_SaveImageToOutputFolder(newSplatmapImage, name + "_splatmap_savedstamp", "exr")
|
||||
#if (resultingResource != null):
|
||||
#currentSplatmapImageTexture = resultingResource
|
||||
#currentMaterial.set_shader_parameter("SplatMap", currentSplatmapImageTexture)
|
||||
#
|
||||
#func ColorPainting_DrawOnImage(targetPosition : Vector3, stampRadius : float, stampImage : Image, power : float, color : Color, layer : DrawingUpdateMode):
|
||||
#var localPosition : Vector3 = targetPosition - global_position
|
||||
#var localPositionPixelSpace := Vector2(localPosition.x + 256, localPosition.z + 256)
|
||||
#var stampScale : float = stampImage.get_width() / stampRadius
|
||||
#var stampActualResolution : float = (stampImage.get_width() / stampScale) + 1
|
||||
#
|
||||
#var stampPos : Vector2 = Vector2(localPositionPixelSpace.x, localPositionPixelSpace.y)
|
||||
#var stampTopCornerPos : Vector2 = Vector2(localPositionPixelSpace.x - stampActualResolution / 2, localPositionPixelSpace.y - stampActualResolution / 2 )
|
||||
#var currentPos : Vector2
|
||||
#var thisColor: Color
|
||||
#var stampAlpha: float
|
||||
#var hasNoAlpha = stampImage.detect_alpha() == Image.ALPHA_NONE
|
||||
#
|
||||
#var currentImage : Image
|
||||
#if (layer == DrawingUpdateMode.colorpainting):
|
||||
#newColormapdrawingDirty = true
|
||||
#currentImage = newColormapImage
|
||||
#else:
|
||||
#newSplatmapdrawingDirty = true
|
||||
#currentImage = newSplatmapImage
|
||||
#
|
||||
#for x in stampActualResolution:
|
||||
#if (stampTopCornerPos.x + x >= currentImage.get_width() || x * stampScale >= stampImage.get_width()):
|
||||
#break
|
||||
#for y in stampActualResolution:
|
||||
#if (stampTopCornerPos.y + y >= currentImage.get_height() || y * stampScale >= stampImage.get_width()):
|
||||
#break
|
||||
#currentPos.x = stampTopCornerPos.x + x
|
||||
#currentPos.y = stampTopCornerPos.y + y
|
||||
#if (currentPos.x < 0 || currentPos.y < 0):
|
||||
#continue
|
||||
#
|
||||
#thisColor = currentImage.get_pixelv(currentPos)
|
||||
#if (hasNoAlpha):
|
||||
#stampAlpha = stampImage.get_pixel(x * stampScale,y * stampScale).r
|
||||
#else:
|
||||
#stampAlpha = stampImage.get_pixel(x * stampScale,y * stampScale).a
|
||||
#
|
||||
#if (thisColor.a == 0):
|
||||
#thisColor.r = color.r
|
||||
#thisColor.g = color.g
|
||||
#thisColor.b = color.b
|
||||
#
|
||||
#thisColor.r = lerpf(thisColor.r, color.r, stampAlpha * power * 0.2)
|
||||
#thisColor.g = lerpf(thisColor.g, color.g, stampAlpha * power * 0.2)
|
||||
#thisColor.b = lerpf(thisColor.b, color.b, stampAlpha * power * 0.2)
|
||||
#
|
||||
### Handles opacity, which always goes up.
|
||||
#thisColor.a = clampf(thisColor.a + (stampAlpha * abs(power) * 0.2), 0.0, 1.0)
|
||||
#currentImage.set_pixel(currentPos.x, currentPos.y, thisColor)
|
||||
#pixelChanged = true
|
||||
#
|
||||
#var imageTexture = ImageTexture.create_from_image(currentImage)
|
||||
#
|
||||
#if (layer == DrawingUpdateMode.colorpainting):
|
||||
#currentMaterial.set_shader_parameter("ColorMap", imageTexture)
|
||||
#newColormapImage = currentImage
|
||||
#else:
|
||||
#currentMaterial.set_shader_parameter("SplatMap", imageTexture)
|
||||
#newSplatmapImage = currentImage
|
||||
#
|
||||
#func ColorPainting_EraseOnImage(targetPosition : Vector3, stampRadius : float, stampImage : Image, power : float, layer : DrawingUpdateMode):
|
||||
#var localPosition : Vector3 = targetPosition - global_position
|
||||
#var localPositionPixelSpace := Vector2(localPosition.x + 256, localPosition.z + 256)
|
||||
#var stampScale : float = stampImage.get_width() / stampRadius
|
||||
#var stampActualResolution : float = (stampImage.get_width() / stampScale) + 1
|
||||
#
|
||||
#var stampPos : Vector2 = Vector2(localPositionPixelSpace.x, localPositionPixelSpace.y)
|
||||
#var stampTopCornerPos : Vector2 = Vector2(localPositionPixelSpace.x - stampActualResolution / 2, localPositionPixelSpace.y - stampActualResolution / 2 )
|
||||
#var currentPos : Vector2
|
||||
#var thisColor: Color
|
||||
#var stampAlpha: float
|
||||
#var hasNoAlpha = stampImage.detect_alpha() == Image.ALPHA_NONE
|
||||
#
|
||||
#var currentImage : Image
|
||||
#if (layer == DrawingUpdateMode.colorpainting):
|
||||
#newColormapdrawingDirty = true
|
||||
#currentImage = newColormapImage
|
||||
#else:
|
||||
#newSplatmapdrawingDirty = true
|
||||
#currentImage = newSplatmapImage
|
||||
#
|
||||
#for x in stampActualResolution:
|
||||
#if (stampTopCornerPos.x + x >= currentImage.get_width() || x * stampScale >= stampImage.get_width()):
|
||||
#break
|
||||
#for y in stampActualResolution:
|
||||
#if (stampTopCornerPos.y + y >= currentImage.get_height() || y * stampScale >= stampImage.get_width()):
|
||||
#break
|
||||
#currentPos.x = stampTopCornerPos.x + x
|
||||
#currentPos.y = stampTopCornerPos.y + y
|
||||
#if (currentPos.x < 0 || currentPos.y < 0):
|
||||
#continue
|
||||
#
|
||||
#thisColor = currentImage.get_pixelv(currentPos)
|
||||
#if (hasNoAlpha):
|
||||
#stampAlpha = stampImage.get_pixel(x * stampScale,y * stampScale).r
|
||||
#else:
|
||||
#stampAlpha = stampImage.get_pixel(x * stampScale,y * stampScale).a
|
||||
#
|
||||
#thisColor.a = clampf(thisColor.a - stampAlpha * power * 0.2, 0.0, 1.0)
|
||||
#
|
||||
#currentImage.set_pixel(currentPos.x, currentPos.y, thisColor)
|
||||
#
|
||||
#var imageTexture = ImageTexture.create_from_image(currentImage)
|
||||
#
|
||||
#if (layer == DrawingUpdateMode.colorpainting):
|
||||
#currentMaterial.set_shader_parameter("ColorMap", imageTexture)
|
||||
#newColormapImage = currentImage
|
||||
#else:
|
||||
#currentMaterial.set_shader_parameter("SplatMap", imageTexture)
|
||||
#newSplatmapImage = currentImage
|
||||
#
|
||||
#func Sculpt_EraseOnImage(targetPosition : Vector3, stampRadius : float, stampImage : Image, power : float):
|
||||
#newHeightmapdrawingDirty = true
|
||||
#
|
||||
#var localPosition : Vector3 = targetPosition - global_position
|
||||
#
|
||||
#var localPositionPixelSpace := Vector2(localPosition.x + 256, localPosition.z + 256)
|
||||
#var stampScale : float = stampImage.get_width() / stampRadius
|
||||
#var stampActualResolution : float = (stampImage.get_width() / stampScale) + 1
|
||||
#var hasNoAlpha = stampImage.detect_alpha() == Image.ALPHA_NONE
|
||||
#
|
||||
#
|
||||
#var stampPos : Vector2 = Vector2(localPositionPixelSpace.x, localPositionPixelSpace.y)
|
||||
#var stampTopCornerPos : Vector2 = Vector2(localPositionPixelSpace.x - stampActualResolution / 2, localPositionPixelSpace.y - stampActualResolution / 2 )
|
||||
#var currentPos : Vector2
|
||||
#var thisColor: Color
|
||||
#var stampAlpha: float
|
||||
#
|
||||
#for x in stampActualResolution:
|
||||
#if (stampTopCornerPos.x + x >= newHeightmapImage.get_width() || x * stampScale >= stampImage.get_width()):
|
||||
#break
|
||||
#for y in stampActualResolution:
|
||||
#if (stampTopCornerPos.y + y >= newHeightmapImage.get_height() || y * stampScale >= stampImage.get_width()):
|
||||
#break
|
||||
#currentPos.x = stampTopCornerPos.x + x
|
||||
#currentPos.y = stampTopCornerPos.y + y
|
||||
#if (currentPos.x < 0 || currentPos.y < 0):
|
||||
#continue
|
||||
#
|
||||
#thisColor = newHeightmapImage.get_pixelv(currentPos)
|
||||
#if (hasNoAlpha):
|
||||
#stampAlpha = stampImage.get_pixel(x * stampScale,y * stampScale).r
|
||||
#else:
|
||||
#stampAlpha = stampImage.get_pixel(x * stampScale,y * stampScale).a
|
||||
##thisColor.r += (0.5 - thisColor.r) * stampAlpha * power * 0.2
|
||||
#thisColor.g = clampf(thisColor.g - stampAlpha * power * 0.2, 0.0, 1.0)
|
||||
#newHeightmapImage.set_pixel(currentPos.x, currentPos.y, thisColor)
|
||||
#
|
||||
#var imageTexture = ImageTexture.create_from_image(newHeightmapImage)
|
||||
#
|
||||
#currentMaterial.set_shader_parameter("HeightMap", imageTexture)
|
||||
#
|
||||
#func Sculpt_SmoothOnImage(targetPosition : Vector3, stampRadius : float, stampImage : Image, power : float, worldScale : float):
|
||||
#newHeightmapdrawingDirty = true
|
||||
#
|
||||
#var localPosition : Vector3 = targetPosition - global_position
|
||||
#
|
||||
#var localPositionPixelSpace := Vector2(localPosition.x + 256, localPosition.z + 256)
|
||||
#var stampScale : float = stampImage.get_width() / stampRadius
|
||||
#var stampActualResolution : float = (stampImage.get_width() / stampScale) + 1
|
||||
#
|
||||
#var stampPos : Vector2 = Vector2(localPositionPixelSpace.x, localPositionPixelSpace.y)
|
||||
#var stampTopCornerPos : Vector2 = Vector2(localPositionPixelSpace.x - stampActualResolution / 2, localPositionPixelSpace.y - stampActualResolution / 2 )
|
||||
#var currentPos : Vector2
|
||||
#var thisColor: Color
|
||||
#var stampAlpha: float
|
||||
#var heightValue : float = clamp((targetPosition.y) / worldScale, 0.0, 1.0)
|
||||
#var hasNoAlpha = stampImage.detect_alpha() == Image.ALPHA_NONE
|
||||
#
|
||||
#for x in stampActualResolution:
|
||||
#if (stampTopCornerPos.x + x >= newHeightmapImage.get_width() || x * stampScale >= stampImage.get_width()):
|
||||
#break
|
||||
#for y in stampActualResolution:
|
||||
#if (stampTopCornerPos.y + y >= newHeightmapImage.get_height() || y * stampScale >= stampImage.get_width()):
|
||||
#break
|
||||
#currentPos.x = stampTopCornerPos.x + x
|
||||
#currentPos.y = stampTopCornerPos.y + y
|
||||
#if (currentPos.x < 0 || currentPos.y < 0):
|
||||
#continue
|
||||
#
|
||||
#thisColor = newHeightmapImage.get_pixelv(currentPos)
|
||||
#if (hasNoAlpha):
|
||||
#stampAlpha = stampImage.get_pixel(x * stampScale,y * stampScale).r
|
||||
#else:
|
||||
#stampAlpha = stampImage.get_pixel(x * stampScale,y * stampScale).a
|
||||
#thisColor.r = clampf(thisColor.r + ((heightValue - thisColor.r) * stampAlpha * power * 0.2), 0.0, 1.0)
|
||||
#thisColor.g = clampf(thisColor.g + ((0.0 - thisColor.g) * stampAlpha * power * 0.05), 0.0, 1.0)
|
||||
#
|
||||
#newHeightmapImage.set_pixel(currentPos.x, currentPos.y, thisColor)
|
||||
#pixelChanged = true
|
||||
#
|
||||
#var imageTexture = ImageTexture.create_from_image(newHeightmapImage)
|
||||
#
|
||||
#currentMaterial.set_shader_parameter("HeightMap", imageTexture)
|
||||
#
|
||||
#
|
||||
#func Sculpt_DrawOnImage(targetPosition : Vector3, stampRadius : float, stampImage : Image, power : float, worldScale : float):
|
||||
#newHeightmapdrawingDirty = true
|
||||
#
|
||||
#var localPosition : Vector3 = targetPosition - global_position
|
||||
#
|
||||
#var localPositionPixelSpace := Vector2(localPosition.x + 256, localPosition.z + 256)
|
||||
#var stampScale : float = stampImage.get_width() / stampRadius
|
||||
#var stampActualResolution : float = (stampImage.get_width() / stampScale) + 1
|
||||
#
|
||||
#var stampPos : Vector2 = Vector2(localPositionPixelSpace.x, localPositionPixelSpace.y)
|
||||
#var stampTopCornerPos : Vector2 = Vector2(localPositionPixelSpace.x - stampActualResolution / 2, localPositionPixelSpace.y - stampActualResolution / 2 )
|
||||
#var currentPos : Vector2
|
||||
#var thisColor: Color
|
||||
#var stampAlpha: float
|
||||
#var heightValue = clamp(targetPosition.y / worldScale, 0.0, 1.0)
|
||||
#var hasNoAlpha = stampImage.detect_alpha() == Image.ALPHA_NONE
|
||||
#
|
||||
#for x in stampActualResolution:
|
||||
#if (stampTopCornerPos.x + x >= newHeightmapImage.get_width() || x * stampScale >= stampImage.get_width()):
|
||||
#break
|
||||
#for y in stampActualResolution:
|
||||
#if (stampTopCornerPos.y + y >= newHeightmapImage.get_height() || y * stampScale >= stampImage.get_width()):
|
||||
#break
|
||||
#currentPos.x = stampTopCornerPos.x + x
|
||||
#currentPos.y = stampTopCornerPos.y + y
|
||||
#if (currentPos.x < 0 || currentPos.y < 0):
|
||||
#continue
|
||||
#
|
||||
#thisColor = newHeightmapImage.get_pixelv(currentPos)
|
||||
#if (hasNoAlpha):
|
||||
#stampAlpha = stampImage.get_pixel(x * stampScale,y * stampScale).r
|
||||
#else:
|
||||
#stampAlpha = stampImage.get_pixel(x * stampScale,y * stampScale).a
|
||||
### Handles actual value.
|
||||
#if (thisColor.g == 0):
|
||||
#thisColor.r = heightValue
|
||||
#thisColor.r = clampf(thisColor.r + (stampAlpha * power * 0.05), 0.0, 1.0)
|
||||
### Handles opacity, which always goes up.
|
||||
#thisColor.g = clampf(thisColor.g + (stampAlpha * abs(power) * 0.05), 0.0, 1.0)
|
||||
#newHeightmapImage.set_pixel(currentPos.x, currentPos.y, thisColor)
|
||||
#pixelChanged = true
|
||||
#
|
||||
#var imageTexture = ImageTexture.create_from_image(newHeightmapImage)
|
||||
#
|
||||
#currentMaterial.set_shader_parameter("HeightMap", imageTexture)
|
||||
#
|
||||
#func Sculpt_SetHeightOnImage(targetPosition : Vector3, stampRadius : float, stampImage : Image, heightValue : float, power : float, worldScale : float):
|
||||
#newHeightmapdrawingDirty = true
|
||||
#
|
||||
#var localPosition : Vector3 = targetPosition - global_position
|
||||
#
|
||||
#var localPositionPixelSpace := Vector2(localPosition.x + 256, localPosition.z + 256)
|
||||
#var stampScale : float = stampImage.get_width() / stampRadius
|
||||
#var stampActualResolution : float = (stampImage.get_width() / stampScale) + 1
|
||||
#
|
||||
#var stampPos : Vector2 = Vector2(localPositionPixelSpace.x, localPositionPixelSpace.y)
|
||||
#var stampTopCornerPos : Vector2 = Vector2(localPositionPixelSpace.x - stampActualResolution / 2, localPositionPixelSpace.y - stampActualResolution / 2 )
|
||||
#var currentPos : Vector2
|
||||
#var thisColor: Color
|
||||
#var stampAlpha: float
|
||||
#var currentHeight = clamp(targetPosition.y / worldScale, 0.0, 1.0)
|
||||
#heightValue = clamp(heightValue / worldScale, 0.0, 1.0)
|
||||
#var hasNoAlpha = stampImage.detect_alpha() == Image.ALPHA_NONE
|
||||
#
|
||||
#for x in stampActualResolution:
|
||||
#if (stampTopCornerPos.x + x >= newHeightmapImage.get_width() || x * stampScale >= stampImage.get_width()):
|
||||
#break
|
||||
#for y in stampActualResolution:
|
||||
#if (stampTopCornerPos.y + y >= newHeightmapImage.get_height() || y * stampScale >= stampImage.get_width()):
|
||||
#break
|
||||
#currentPos.x = stampTopCornerPos.x + x
|
||||
#currentPos.y = stampTopCornerPos.y + y
|
||||
#if (currentPos.x < 0 || currentPos.y < 0):
|
||||
#continue
|
||||
#
|
||||
#thisColor = newHeightmapImage.get_pixelv(currentPos)
|
||||
#if (hasNoAlpha):
|
||||
#stampAlpha = stampImage.get_pixel(x * stampScale,y * stampScale).r
|
||||
#else:
|
||||
#stampAlpha = stampImage.get_pixel(x * stampScale,y * stampScale).a
|
||||
#
|
||||
#if (thisColor.g == 0):
|
||||
#thisColor.r = currentHeight
|
||||
#
|
||||
#thisColor.r = clampf(thisColor.r + ((heightValue - thisColor.r) * stampAlpha * power), 0.0, 1.0)
|
||||
### Handles opacity, which always goes up.
|
||||
#thisColor.g = clampf(thisColor.g + (stampAlpha * abs(power) * 0.2), 0.0, 1.0)
|
||||
#newHeightmapImage.set_pixel(currentPos.x, currentPos.y, thisColor)
|
||||
#pixelChanged = true
|
||||
#
|
||||
#var imageTexture = ImageTexture.create_from_image(newHeightmapImage)
|
||||
#
|
||||
#currentMaterial.set_shader_parameter("HeightMap", imageTexture)
|
||||
@ -0,0 +1 @@
|
||||
uid://dnan3ytl8evv1
|
||||
349
source/addons/SunshineClouds2/Dock/CloudsEditorDock.tscn
Normal file
@ -0,0 +1,349 @@
|
||||
[gd_scene load_steps=18 format=3 uid="uid://bsmrb5nocmcin"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dnan3ytl8evv1" path="res://addons/SunshineClouds2/Dock/CloudsEditorController.gd" id="1_c42ej"]
|
||||
[ext_resource type="Texture2D" uid="uid://l06i8g7p2msv" path="res://addons/SunshineClouds2/Dock/Icons/caret-down-solid.svg" id="2_8dri0"]
|
||||
[ext_resource type="Texture2D" uid="uid://b404vxesyde33" path="res://addons/SunshineClouds2/CloudsDriverIcon.svg" id="2_tc6ic"]
|
||||
[ext_resource type="Script" uid="uid://cb3ho8b5lgx55" path="res://addons/SunshineClouds2/Dock/AccordionButton.gd" id="2_wp1ai"]
|
||||
[ext_resource type="StyleBox" uid="uid://dl1aqqpt5iprl" path="res://addons/SunshineClouds2/Dock/DockPanelStyle.tres" id="2_x2oe8"]
|
||||
[ext_resource type="RDShaderFile" uid="uid://ck1yv82gbxncv" path="res://addons/SunshineClouds2/Dock/MaskDrawingCompute.glsl" id="2_yqrwx"]
|
||||
[ext_resource type="Texture2D" uid="uid://dwbw6ov5xxrkq" path="res://addons/SunshineClouds2/Dock/Icons/cloud-solid.svg" id="7_8l8c2"]
|
||||
[ext_resource type="Texture2D" uid="uid://s862ukpen76d" path="res://addons/SunshineClouds2/Dock/Icons/cloud-solid-toggled.svg" id="8_w3q10"]
|
||||
[ext_resource type="Texture2D" uid="uid://lr3flf2kgx3g" path="res://addons/SunshineClouds2/Dock/Icons/cloud-solid-hovered.svg" id="9_kg56n"]
|
||||
[ext_resource type="Texture2D" uid="uid://dpwhekui78xl1" path="res://addons/SunshineClouds2/Dock/Icons/paintbrush-solid.svg" id="10_6j812"]
|
||||
[ext_resource type="Texture2D" uid="uid://ctwabn07mc0k7" path="res://addons/SunshineClouds2/Dock/Icons/paintbrush-solid-toggled.svg" id="11_20jq1"]
|
||||
[ext_resource type="Texture2D" uid="uid://d0orkqlt3nybm" path="res://addons/SunshineClouds2/Dock/Icons/paintbrush-solid-hovered.svg" id="12_lwakg"]
|
||||
[ext_resource type="Script" uid="uid://cb12y8ylifwet" path="res://addons/SunshineClouds2/Dock/AdaptingGridContainer.gd" id="13_w3q10"]
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_yqrwx"]
|
||||
font_size = 24
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_tc6ic"]
|
||||
bg_color = Color(0.257374, 0.311252, 0.386689, 0.564706)
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_yqrwx"]
|
||||
bg_color = Color(0.0680232, 0.0903094, 0.121509, 0.564706)
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ml10g"]
|
||||
|
||||
[node name="CloudsEditor" type="Control" node_paths=PackedStringArray("CloudsStatusLabel", "CloudsActiveToggle", "CloudsDriverRefresh", "CloudsDriverAccordianButton", "UseMaskToggle", "MaskStatusLabel", "MaskFilePath", "MaskResolution", "MaskWidth", "DrawWeightEnable", "DrawColorEnable", "DrawColorPicker", "DrawTools", "DrawSharpness", "DrawStrength")]
|
||||
clip_contents = true
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_bottom = 278.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_c42ej")
|
||||
CloudsStatusLabel = NodePath("ScrollContainer/VBoxContainer/PanelContainer/VBoxContainer/VBoxContainer/Label")
|
||||
CloudsActiveToggle = NodePath("ScrollContainer/VBoxContainer/PanelContainer/VBoxContainer/VBoxContainer/CheckButton")
|
||||
CloudsDriverRefresh = NodePath("ScrollContainer/VBoxContainer/PanelContainer/VBoxContainer/VBoxContainer/DriverQueryButton")
|
||||
CloudsDriverAccordianButton = NodePath("ScrollContainer/VBoxContainer/PanelContainer/VBoxContainer/AccordionButton")
|
||||
UseMaskToggle = NodePath("ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MaskUsageCheckButton")
|
||||
MaskStatusLabel = NodePath("ScrollContainer/VBoxContainer/MaskStatusOutput")
|
||||
MaskFilePath = NodePath("ScrollContainer/VBoxContainer/HBoxContainer/LineEdit")
|
||||
MaskResolution = NodePath("ScrollContainer/VBoxContainer/MaskSettings/VBoxContainer/Resolution/SpinBox")
|
||||
MaskWidth = NodePath("ScrollContainer/VBoxContainer/MaskSettings/VBoxContainer/Width/SpinBox")
|
||||
DrawWeightEnable = NodePath("ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/CloudsWeight")
|
||||
DrawColorEnable = NodePath("ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/CloudsColor")
|
||||
DrawColorPicker = NodePath("ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer/VBoxContainer/GridContainer/ColorPicker")
|
||||
DrawTools = NodePath("ScrollContainer/VBoxContainer/DrawTools")
|
||||
DrawSharpness = NodePath("ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer/VBoxContainer/GridContainer/VBoxContainer/Sharpness")
|
||||
DrawStrength = NodePath("ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer/VBoxContainer/GridContainer/VBoxContainer/Strength")
|
||||
compute_shader = ExtResource("2_yqrwx")
|
||||
DrawingColor = Color(0.769578, 0.731927, 0.149317, 1)
|
||||
InvertedDrawingColor = Color(0.765928, 0.254294, 0.0203708, 1)
|
||||
|
||||
[node name="ScrollContainer" type="ScrollContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
horizontal_scroll_mode = 0
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="HBoxContainer2" type="HBoxContainer" parent="ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
alignment = 1
|
||||
|
||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/HBoxContainer2"]
|
||||
layout_mode = 2
|
||||
text = "Sunshine Clouds Editor"
|
||||
label_settings = SubResource("LabelSettings_yqrwx")
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="ScrollContainer/VBoxContainer/HBoxContainer2"]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("2_tc6ic")
|
||||
expand_mode = 3
|
||||
|
||||
[node name="HSeparator2" type="HSeparator" parent="ScrollContainer/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(0, 18.49)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="MaskStatusOutput" type="Label" parent="ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Mask Detected: res://CloudsMask.png"
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Mask Path:"
|
||||
|
||||
[node name="LineEdit" type="LineEdit" parent="ScrollContainer/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "res://CloudsMask.exr"
|
||||
|
||||
[node name="MaskBuildButton" type="Button" parent="ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
text = "Refresh Mask Reference"
|
||||
|
||||
[node name="MaskSettings" type="PanelContainer" parent="ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_styles/panel = ExtResource("2_x2oe8")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer/VBoxContainer/MaskSettings"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="AccordionButton" type="Button" parent="ScrollContainer/VBoxContainer/MaskSettings/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_styles/hover = SubResource("StyleBoxFlat_tc6ic")
|
||||
theme_override_styles/pressed = SubResource("StyleBoxFlat_yqrwx")
|
||||
theme_override_styles/normal = SubResource("StyleBoxEmpty_ml10g")
|
||||
text = "Mask Settings"
|
||||
icon = ExtResource("2_8dri0")
|
||||
alignment = 0
|
||||
icon_alignment = 2
|
||||
expand_icon = true
|
||||
script = ExtResource("2_wp1ai")
|
||||
metadata/_custom_type_script = "uid://cb3ho8b5lgx55"
|
||||
|
||||
[node name="Resolution" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/MaskSettings/VBoxContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/MaskSettings/VBoxContainer/Resolution"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Mask Resolution"
|
||||
|
||||
[node name="SpinBox" type="SpinBox" parent="ScrollContainer/VBoxContainer/MaskSettings/VBoxContainer/Resolution"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
min_value = 32.0
|
||||
max_value = 1024.0
|
||||
value = 128.0
|
||||
|
||||
[node name="Width" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/MaskSettings/VBoxContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/MaskSettings/VBoxContainer/Width"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Mask Width"
|
||||
|
||||
[node name="SpinBox" type="SpinBox" parent="ScrollContainer/VBoxContainer/MaskSettings/VBoxContainer/Width"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
min_value = 12.0
|
||||
max_value = 1024.0
|
||||
value = 32.0
|
||||
suffix = "km"
|
||||
|
||||
[node name="PanelContainer" type="PanelContainer" parent="ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_styles/panel = ExtResource("2_x2oe8")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer/VBoxContainer/PanelContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="AccordionButton" type="Button" parent="ScrollContainer/VBoxContainer/PanelContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_styles/hover = SubResource("StyleBoxFlat_tc6ic")
|
||||
theme_override_styles/pressed = SubResource("StyleBoxFlat_yqrwx")
|
||||
theme_override_styles/normal = SubResource("StyleBoxEmpty_ml10g")
|
||||
text = "Driver Controls
|
||||
"
|
||||
icon = ExtResource("2_8dri0")
|
||||
alignment = 0
|
||||
icon_alignment = 2
|
||||
expand_icon = true
|
||||
script = ExtResource("2_wp1ai")
|
||||
metadata/_custom_type_script = "uid://cb3ho8b5lgx55"
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer/VBoxContainer/PanelContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/PanelContainer/VBoxContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Clouds not present"
|
||||
|
||||
[node name="CheckButton" type="CheckButton" parent="ScrollContainer/VBoxContainer/PanelContainer/VBoxContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Clouds Updating"
|
||||
|
||||
[node name="DriverQueryButton" type="Button" parent="ScrollContainer/VBoxContainer/PanelContainer/VBoxContainer/VBoxContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
text = "Search for Driver"
|
||||
|
||||
[node name="DrawTools" type="PanelContainer" parent="ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_styles/panel = ExtResource("2_x2oe8")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer/VBoxContainer/DrawTools"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="MaskUsageCheckButton" type="CheckButton" parent="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Clouds Mask Enabled"
|
||||
|
||||
[node name="MarginContainer2" type="MarginContainer" parent="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 10
|
||||
theme_override_constants/margin_top = 10
|
||||
theme_override_constants/margin_right = 10
|
||||
theme_override_constants/margin_bottom = 10
|
||||
|
||||
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer2"]
|
||||
custom_minimum_size = Vector2(0, 50)
|
||||
layout_mode = 2
|
||||
text = "Draw mode allows for creation of clouds directly using a mask texture.
|
||||
|
||||
When mask mode is disabled, the extra large noise pattern is used to add large scale structures to the world, when mask usage is enabled it is treated as a stationary mask in the world, with rgb being used to tint the clouds, and the alpha used to draw clouds.
|
||||
|
||||
Drawing Controls (When drawing either weight, or color):
|
||||
Scroll Wheel: Scale up and down brush size
|
||||
Left Mouse Button: Paint Clouds
|
||||
Ctrl+Left Mouse Button: Erase Clouds
|
||||
Escape: Disable draw mode"
|
||||
autowrap_mode = 3
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(0, 17.4)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 10
|
||||
theme_override_constants/margin_top = 10
|
||||
theme_override_constants/margin_right = 10
|
||||
theme_override_constants/margin_bottom = 10
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="CloudsWeight" type="TextureButton" parent="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(50, 50)
|
||||
layout_mode = 2
|
||||
tooltip_text = "Draw Cloud Weight"
|
||||
focus_mode = 0
|
||||
toggle_mode = true
|
||||
texture_normal = ExtResource("7_8l8c2")
|
||||
texture_pressed = ExtResource("8_w3q10")
|
||||
texture_hover = ExtResource("9_kg56n")
|
||||
ignore_texture_size = true
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="CloudsColor" type="TextureButton" parent="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(50, 50)
|
||||
layout_mode = 2
|
||||
tooltip_text = "Draw Cloud Color"
|
||||
focus_mode = 0
|
||||
toggle_mode = true
|
||||
texture_normal = ExtResource("10_6j812")
|
||||
texture_pressed = ExtResource("11_20jq1")
|
||||
texture_hover = ExtResource("12_lwakg")
|
||||
ignore_texture_size = true
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_override_constants/separation = 25
|
||||
alignment = 2
|
||||
|
||||
[node name="Button" type="Button" parent="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
tooltip_text = "Will fill the mask with the selected color and draw strength (This cannot be undone, make backups of your mask texture)."
|
||||
focus_mode = 0
|
||||
theme_override_colors/font_hover_color = Color(1, 0.1, 0, 0.968627)
|
||||
theme_override_colors/font_color = Color(0.94, 0.313333, 0, 0.682353)
|
||||
text = "Flood Fill mask"
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(0, 17.4)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridContainer" type="GridContainer" parent="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/h_separation = 20
|
||||
columns = 2
|
||||
script = ExtResource("13_w3q10")
|
||||
TargetColumnCount = 2
|
||||
MinimumColumnSize = 250.0
|
||||
|
||||
[node name="ColorPicker" type="ColorPicker" parent="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer/VBoxContainer/GridContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
theme_override_constants/sv_width = 240
|
||||
theme_override_constants/sv_height = 155
|
||||
edit_alpha = false
|
||||
color_mode = 3
|
||||
sampler_visible = false
|
||||
presets_visible = false
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer/VBoxContainer/GridContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Label2" type="Label" parent="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer/VBoxContainer/GridContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Draw Strength:"
|
||||
|
||||
[node name="Strength" type="HSlider" parent="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer/VBoxContainer/GridContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
max_value = 5.0
|
||||
step = 0.0
|
||||
value = 0.5
|
||||
|
||||
[node name="Label3" type="Label" parent="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer/VBoxContainer/GridContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Draw Sharpness:"
|
||||
|
||||
[node name="Sharpness" type="HSlider" parent="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer/VBoxContainer/GridContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
min_value = 0.05
|
||||
max_value = 0.95
|
||||
step = 0.0
|
||||
value = 0.2
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="ScrollContainer/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(0, 50)
|
||||
layout_mode = 2
|
||||
|
||||
[connection signal="text_submitted" from="ScrollContainer/VBoxContainer/HBoxContainer/LineEdit" to="." method="UpdateMaskSettings" unbinds=1]
|
||||
[connection signal="pressed" from="ScrollContainer/VBoxContainer/MaskBuildButton" to="." method="UpdateMaskSettings"]
|
||||
[connection signal="value_changed" from="ScrollContainer/VBoxContainer/MaskSettings/VBoxContainer/Resolution/SpinBox" to="." method="UpdateMaskSettings" unbinds=1]
|
||||
[connection signal="value_changed" from="ScrollContainer/VBoxContainer/MaskSettings/VBoxContainer/Width/SpinBox" to="." method="UpdateMaskSettings" unbinds=1]
|
||||
[connection signal="pressed" from="ScrollContainer/VBoxContainer/PanelContainer/VBoxContainer/VBoxContainer/CheckButton" to="." method="SetCloudsUpdating"]
|
||||
[connection signal="pressed" from="ScrollContainer/VBoxContainer/PanelContainer/VBoxContainer/VBoxContainer/DriverQueryButton" to="." method="RefreshSceneNode"]
|
||||
[connection signal="pressed" from="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MaskUsageCheckButton" to="." method="UpdateMaskSettings"]
|
||||
[connection signal="pressed" from="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/CloudsWeight" to="." method="DrawWeightToggled"]
|
||||
[connection signal="pressed" from="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/CloudsColor" to="." method="DrawColorToggled"]
|
||||
[connection signal="pressed" from="ScrollContainer/VBoxContainer/DrawTools/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/HBoxContainer/Button" to="." method="FloodFill"]
|
||||