first version of EU AI Act game

This commit is contained in:
Anna Hiemenz
2026-05-26 21:46:46 +02:00
commit d370249649
1735 changed files with 79828 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
[gd_scene load_steps=2 format=3 uid="uid://b4mmlt4progvd"]
[ext_resource type="PackedScene" uid="uid://cg6wf4m1u7anr" path="res://assets/assets.glb" id="1_nyoif"]
[node name="assets" instance=ExtResource("1_nyoif")]
Binary file not shown.
+266
View File
@@ -0,0 +1,266 @@
extends Node3D
const count_battery_boxes = 4
var currently_charged_battery_boxes := 0
signal show_door
@onready var aliens = $"npcs/aliens"
@onready var batteries = $"Objects/Balloons_A2"
@onready var chatbot: Control = $npcs/helpers/Chatbot
var aliens_start_count: int
var batteries_start_count: int
var helper_collected = false
var not_congratulated_1 = true
var not_congratulated_2 = true
var release_generators = false
var popped_balloons := 0
var current_task := 0
var current_text: String
var rabbit_activated = false
var audio_playing = true
@onready var checkpoints = [$startpoint,
$Objects/pressure_blocks/PressureBlock_A1,
$Objects/pressure_blocks/PressureBlock_A2,
$Objects/pressure_blocks/PressureBlock_A3,
$Objects/pressure_blocks/PressureBlock_A3_1,
]
@onready var generators = $Objects/generators
func _ready() -> void:
aliens_start_count = aliens.get_child_count()
batteries_start_count = batteries.get_child_count()
func _process(delta: float) -> void:
if Global.chatbot_opened:
return
if Input.is_action_just_pressed("Screenshot"):
take_screenshot()
if Input.is_action_just_pressed("fast_forward"):
current_task = (current_task + 1 ) % len(checkpoints)
print(current_task, checkpoints[current_task].position)
$Player.position = checkpoints[current_task].position + Vector3(0.0, 0.5, 0.0)
if Input.is_action_just_pressed("rewind"):
current_task = (current_task - 1 ) % len(checkpoints)
$Player.position = checkpoints[current_task].position
if Input.is_action_just_pressed("inventory"):
if current_task == 3:
$Player.toggle_inventory()
if current_task == 4 and Input.is_action_just_pressed("keypad"):
reset_music_volume()
$Keypad.visible = true
$Hilfestellung/CanvasLayer.visible = false
$Player.set_mode('aim')
if not_congratulated_1 and aliens.get_child_count() <= aliens_start_count-5:
not_congratulated_1 = false
show_congratulations("Glückwunsch!
Die erste Aufgabe ist geschafft.", "Definitionen von KI")
func show_congratulations(text, text_2) -> void:
print(text)
$Player/helper/helper.celebrate()
$Hilfestellung/CanvasLayer.visible = false
$Congratulations/CanvasLayer/Panel/Label.text = text
$Congratulations/CanvasLayer.visible = true
$Congratulations/CanvasLayer/Panel/Label_repeat.text = "(Um die "+ text_2 + " noch einmal nachzulesen, sprechen Sie mit ihrem Helfer)"
await get_tree().create_timer(5.0).timeout
$Player/helper/helper.stop_anim()
$Congratulations/CanvasLayer.visible = false
func openLinkinBrowser(link):
OS.shell_open(link)
func openAIActinBrowser():
openLinkinBrowser("https://eur-lex.europa.eu/legal-content/DE/TXT/?uri=CELEX:32024R1689")
func openDSGVOinBrowser():
openLinkinBrowser("https://dsgvo-gesetz.de/")
func _on_openChatBot():
$Hilfestellung/CanvasLayer.visible = false
$HUD.visible = false
quiet_down_music()
func _on_battery_box_removed_battery() -> void:
currently_charged_battery_boxes -= 1
print(currently_charged_battery_boxes)
func _on_show_door() -> void:
print('showing door')
$Objects/spaceship/Door.visible = true
$Objects/spaceship/Door.position.y = 0.012
$Objects/spaceship/door_cover/CollisionShape3D.disabled = true
func _on_door_body_entered(body: Node3D) -> void:
if $Objects/spaceship/Door.visible:
DialogueState.currentTask = 5
Transition.change_scene("res://quiz.tscn")
func _on_pressure_block_a3_activated() -> void:
quiet_down_music()
$Objects/pressure_blocks/PressureBlock_A3.current_weight = 10.0
DialogueManager.show_chosen_dialogue_balloon(load($Objects/pressure_blocks/PressureBlock_A3.text_on_activation), "/game_balloons/game_balloon_v_2.tscn", "start")
func _on_pressure_block_a_1_activated() -> void:
current_task = 1
DialogueState.currentTask = 1
current_text = "[Enter] oder [t] drücken, um mit den Aliens zu reden"
$Hinweistexte/CanvasLayer/Panel/Label.text = "Wenn Sie weiterlaufen werden Ihnen einige Aliens begegnen. Sprechen Sie mit ihnen, um verschiedene Definitionen von Künstlicher Intelligenz (KI) kennenzulernen."
$Hinweistexte/CanvasLayer.visible = true
if $Tutorial:
$Tutorial.queue_free()
if $Objects/Bridges/walls_tutorial:
$Objects/Bridges/walls_tutorial.queue_free()
if $Objects/Chip0/block:
$Objects/Chip0/block.queue_free()
func _on_pressure_block_a_2_activated() -> void:
current_task = 2
current_text = "Zielen mit der Maus, Klicken zum Werfen, [r] zum Wechsel zwischen Wurf- und Kameramodus"
$Hinweistexte/CanvasLayer/Panel/Label.text = "Laufen Sie weiter zur Wurfzone.
Dort angekommen, können Sie die Ballons abwerfen, um zu entdecken, in was für Systemen KI bereits eingesetzt wird bzw. werden kann.
Sammeln Sie danach die Batterien, Sie werden sie im weiteren Verlauf benötigen.
Zur Erinnerung: Zielen mit der Maus (Fadenkreuz) und Werfen durch Klicken. Wenn Sie kein Fadenkreuz sehen, evtl. [r] drücken, um den Modus zu wechseln."
$Hinweistexte/CanvasLayer.visible = true
func _on_pressure_block_deactivated() -> void:
$Hinweistexte/CanvasLayer.visible = false
$Hilfestellung/CanvasLayer/Panel/Label.text = current_text
$Hilfestellung/CanvasLayer.visible = true
func _on_pressure_block_a_3_1_activated() -> void:
reset_music_volume()
current_task = 3
DialogueState.currentTask = 3
current_text = "Auswahl der Batterien im Inventar [c], Einfügen mit [f] - ([e] zum wieder rausholen, [q] ablegen)"
$Objects/pressure_blocks/PressureBlock_A3_1.current_weight = 10.0
$AnimationPlayer.play("start_ordering_game")
_on_pressure_block_deactivated()
func _on_balloon_tree_exited() -> void:
popped_balloons += 1
if popped_balloons == Global.TOTAL_BALLOONS_A2 and current_task == 2:
not_congratulated_2 = false
DialogueState.batteriesFlag = true
show_congratulations("Glückwunsch!
Die 2. Aufgabe ist geschafft.", "KI-Systeme")
$Objects/arrows/after_throw.visible = true
$Objects/Fences/no_arrows/barrier_throw.position.x = 4.0
$Hilfestellung/CanvasLayer/Panel/Label.text = "Sammeln Sie die Batterien auf (durch Vorbeilaufen) - einen Counter dazu sehen Sie oben links"
$Hilfestellung/CanvasLayer.visible = true
func _on_pressure_block_a_4_activated() -> void:
quiet_down_music()
current_task = 4
DialogueState.currentTask = 4
DialogueState.personalDataFlag = true
$Objects/spaceship/keypad.visible = true
current_text = "[k] drücken zum Starten des nächsten Minispiels"
$Hilfestellung/CanvasLayer.visible = true
$Objects/pressure_blocks/PressureBlock_A4.current_weight = 10.0
DialogueManager.show_chosen_dialogue_balloon(load($Objects/pressure_blocks/PressureBlock_A4.text_on_activation), "/game_balloons/game_balloon_v_2.tscn", "start")
_on_pressure_block_deactivated()
func _on_keypad_game_finished() -> void:
$Keypad.visible = false
$Objects/spaceship/keypad.visible = false
$Hilfestellung/CanvasLayer/Panel/Label.text = "Gehen Sie durch die Tür ins Raumschiff"
$Hilfestellung/CanvasLayer.visible = true
show_door.emit()
func _on_battery_3_battery_collected() -> void:
$Player/helper.visible = true
#TODO implement if helper should replace battery 3 (since it's also a chatbot)
func _on_animation_player_animation_finished(anim_name: StringName) -> void:
if anim_name == "collect_helper_part1":
$Player/AnimationPlayer2.play("collect_helper_part2")
if anim_name == 'follow_rabbit':
$AnimationPlayer.play('rotate_label')
if anim_name == "ordering_finished":
generators.queue_free()
show_congratulations("Glückwunsch!
Die 3. Aufgabe ist geschafft.", "Risikostufen von KI")
$Objects/pressure_blocks/PressureBlock_A4.position = Vector3(-87.26, 3.787, 209.9)
func _on_helper_corner_dialogue_finished() -> void:
if not helper_collected:
$AnimationPlayer.play("collect_helper_part1")
$npcs/helpers/helper_corner/CollisionShape3D.disabled = true
helper_collected = true
$Objects/chip1/star.queue_free()
func _on_battery_box_fully_charged() -> void:
currently_charged_battery_boxes += 1
print('currently charged boxes: ', currently_charged_battery_boxes)
if currently_charged_battery_boxes == count_battery_boxes:
print('all boxes are full')
await get_tree().create_timer(1.5).timeout
$AnimationPlayer.play("ordering_finished")
$Objects/Chip0/Arrows_A4.visible = true
func _on_player_inventory_opened() -> void:
$Hilfestellung/CanvasLayer.visible = false
$HUD.visible = false
func _on_player_inventory_closed() -> void:
$Hilfestellung/CanvasLayer.visible = true
$HUD.visible = true
func _on_balloon_popped(balloon: Balloon) -> void:
$Player/helper/helper.play_small_celebration()
func _on_chatbot_closing_chatbot() -> void:
if current_task > 0:
$HUD.visible = true
$Hilfestellung/CanvasLayer.visible = true
reset_music_volume()
func take_screenshot():
print('taking screenshot')
var image = get_viewport().get_texture().get_image()
image.save_png("user://screenshot"+Time.get_datetime_string_from_system()+".png")
func _on_start_rabbit_body_entered(body: Node3D) -> void:
if not rabbit_activated:
$AnimationPlayer.play('follow_rabbit')
rabbit_activated = true
func quiet_down_music() -> void:
$AudioStreamPlayer.volume_db = -20.0
func reset_music_volume() -> void:
$AudioStreamPlayer.volume_db = -10.0
func toggle_music() -> void:
if not audio_playing:
audio_playing = true
$AudioStreamPlayer.play()
else:
$AudioStreamPlayer.stop()
audio_playing = false
func _on_audio_stream_player_finished() -> void:
$AudioStreamPlayer.play()
@@ -0,0 +1 @@
uid://d0lyomtjfroou
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,15 @@
[gd_resource type="Terrain3DMaterial" load_steps=2 format=3 uid="uid://dtdjnbbnpdyqg"]
[ext_resource type="Shader" uid="uid://01qauauvd8aa" path="res://addons/terrain_3d/extras/shaders/minimum.gdshader" id="1_yvehn"]
[resource]
_shader_parameters = {
&"color_high": Color(0.5019608, 0.4, 0.2, 1),
&"color_low": Color(0.055, 0.216, 0.11, 1),
&"flat_terrain_normals": false,
&"height_scale": 1.0,
&"height_split": 1.0
}
shader_override_enabled = true
shader_override = ExtResource("1_yvehn")
show_region_grid = true
Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c2crd1tqwu4i"
path="res://.godot/imported/Metal049A.png-af30c4a6a788f1059dad8d458b88d8e5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Resources/Terrains/textures/Metal049A_1K-PNG/Metal049A.png"
dest_files=["res://.godot/imported/Metal049A.png-af30c4a6a788f1059dad8d458b88d8e5.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
@@ -0,0 +1,58 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://k8b0a35qcriu"
valid=false
[deps]
source_file="res://Resources/Terrains/textures/Metal049A_1K-PNG/Metal049A_1K-PNG.blend"
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={}
blender/nodes/visible=0
blender/nodes/active_collection_only=false
blender/nodes/punctual_lights=true
blender/nodes/cameras=true
blender/nodes/custom_properties=true
blender/nodes/modifiers=1
blender/meshes/colors=false
blender/meshes/uvs=true
blender/meshes/normals=true
blender/meshes/export_geometry_nodes_instances=false
blender/meshes/tangents=true
blender/meshes/skins=2
blender/meshes/export_bones_deforming_mesh_only=false
blender/materials/unpack_enabled=true
blender/materials/export_materials=1
blender/animation/limit_playback=true
blender/animation/always_sample=true
blender/animation/group_tracks=true
gltf/naming_version=2
@@ -0,0 +1,41 @@
<?xml version="1.0"?>
<materialx version="1.39" fileprefix="./">
<open_pbr_surface type="surfaceshader" xpos="6.159420" ypos="-1.879310" name="Metal049A_1K_PNG_OpenPbrSurface">
<input type="color3" name="base_color" nodename="Metal049A_1K_PNG_Color" />
<input type="float" name="base_metalness" nodename="Metal049A_1K_PNG_Metalness" />
<input type="vector3" name="geometry_normal" nodename="NormalMap" />
<input type="float" name="specular_roughness" nodename="Metal049A_1K_PNG_Roughness" />
</open_pbr_surface>
<surfacematerial type="material" xpos="8.695652" ypos="0.000000" name="Metal049A_1K_PNG">
<input type="surfaceshader" name="surfaceshader" nodename="Metal049A_1K_PNG_OpenPbrSurface" />
<input type="displacementshader" name="displacementshader" nodename="displacement" />
</surfacematerial>
<tiledimage type="color3" xpos="3.623188" ypos="-3.103448" name="Metal049A_1K_PNG_Color">
<input type="filename" value="Metal049A_1K-PNG_Color.png" colorspace="srgb_texture" name="file" />
<input type="vector2" value="1.0, 1.0" name="uvtiling" />
</tiledimage>
<tiledimage type="float" xpos="3.623188" ypos="5.163793" name="Metal049A_1K_PNG_Displacement">
<input type="filename" value="Metal049A_1K-PNG_Displacement.png" name="file" />
<input type="vector2" value="1.0, 1.0" name="uvtiling" />
</tiledimage>
<displacement type="displacementshader" xpos="6.159420" ypos="1.879310" name="displacement">
<input type="float" name="displacement" nodename="Metal049A_1K_PNG_Displacement" />
<input type="float" value="1.0" name="scale" />
</displacement>
<tiledimage type="float" xpos="3.623188" ypos="-1.758621" name="Metal049A_1K_PNG_Metalness">
<input type="filename" value="Metal049A_1K-PNG_Metalness.png" name="file" />
<input type="vector2" value="1.0, 1.0" name="uvtiling" />
</tiledimage>
<tiledimage type="vector3" xpos="1.086957" ypos="0.879310" name="Metal049A_1K_PNG_NormalGL">
<input type="filename" value="Metal049A_1K-PNG_NormalGL.png" name="file" />
<input type="vector2" value="1.0, 1.0" name="uvtiling" />
</tiledimage>
<normalmap type="vector3" xpos="3.623188" ypos="3.586207" name="NormalMap">
<input type="vector3" name="in" nodename="Metal049A_1K_PNG_NormalGL" />
<input type="float" value="1.0" name="scale" />
</normalmap>
<tiledimage type="float" xpos="3.623188" ypos="-0.413793" name="Metal049A_1K_PNG_Roughness">
<input type="filename" value="Metal049A_1K-PNG_Roughness.png" name="file" />
<input type="vector2" value="1.0, 1.0" name="uvtiling" />
</tiledimage>
</materialx>
@@ -0,0 +1,19 @@
[gd_resource type="StandardMaterial3D" load_steps=6 format=3 uid="acg_bsi79hm4"]
[ext_resource type="Texture2D" uid="uid://acg_0b6m4z8d" id="Color" path="./Metal049A_1K-PNG_Color.png"]
[ext_resource type="Texture2D" uid="uid://acg_d70su2z9" id="Metalness" path="./Metal049A_1K-PNG_Metalness.png"]
[ext_resource type="Texture2D" uid="uid://acg_q1sedajb" id="Displacement" path="./Metal049A_1K-PNG_Displacement.png"]
[ext_resource type="Texture2D" uid="uid://acg_w7dtvmnb" id="Roughness" path="./Metal049A_1K-PNG_Roughness.png"]
[ext_resource type="Texture2D" uid="uid://acg_70ebfpqw" id="NormalGL" path="./Metal049A_1K-PNG_NormalGL.png"]
[resource]
albedo_texture = ExtResource("Color")
metallic_texture = ExtResource("Metalness")
metallic = 1.0
metallic_texture_channel = 4
roughness_texture = ExtResource("Roughness")
roughness_texture_channel = 4
normal_texture = ExtResource("NormalGL")
normal_enabled = true
heightmap_texture = ExtResource("Displacement")
heightmap_scale = 1.0
heightmap_enabled = true
Binary file not shown.

After

Width:  |  Height:  |  Size: 523 KiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ymsbb8ebr4be"
path.s3tc="res://.godot/imported/Metal049A_1K-PNG_Color.png-b49d04f407d2e9f51385bd00b6d2b523.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Resources/Terrains/textures/Metal049A_1K-PNG/Metal049A_1K-PNG_Color.png"
dest_files=["res://.godot/imported/Metal049A_1K-PNG_Color.png-b49d04f407d2e9f51385bd00b6d2b523.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0
Binary file not shown.

After

Width:  |  Height:  |  Size: 660 KiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://eeqc0v5aml83"
path.s3tc="res://.godot/imported/Metal049A_1K-PNG_Displacement.png-edeb5a8909a4a38b237ba41f02a3e746.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Resources/Terrains/textures/Metal049A_1K-PNG/Metal049A_1K-PNG_Displacement.png"
dest_files=["res://.godot/imported/Metal049A_1K-PNG_Displacement.png-edeb5a8909a4a38b237ba41f02a3e746.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=7
roughness/src_normal="res://Resources/Terrains/textures/Metal049A_1K-PNG/Metal049A_1K-PNG_NormalGL.png"
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cashf8o1kyiyl"
path.s3tc="res://.godot/imported/Metal049A_1K-PNG_Metalness.png-977c78b622afff4ae8f6c1ae7fd71d24.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Resources/Terrains/textures/Metal049A_1K-PNG/Metal049A_1K-PNG_Metalness.png"
dest_files=["res://.godot/imported/Metal049A_1K-PNG_Metalness.png-977c78b622afff4ae8f6c1ae7fd71d24.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://3d7y5qhidukr"
path="res://.godot/imported/Metal049A_1K-PNG_NormalDX.png-6ce689dc3d10533969f3cac9567aac29.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Resources/Terrains/textures/Metal049A_1K-PNG/Metal049A_1K-PNG_NormalDX.png"
dest_files=["res://.godot/imported/Metal049A_1K-PNG_NormalDX.png-6ce689dc3d10533969f3cac9567aac29.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b7hpibl4jwxs1"
path.s3tc="res://.godot/imported/Metal049A_1K-PNG_NormalGL.png-9d579f937c7a21b488aebd999266e82a.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Resources/Terrains/textures/Metal049A_1K-PNG/Metal049A_1K-PNG_NormalGL.png"
dest_files=["res://.godot/imported/Metal049A_1K-PNG_NormalGL.png-9d579f937c7a21b488aebd999266e82a.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://Resources/Terrains/textures/Metal049A_1K-PNG/Metal049A_1K-PNG_NormalGL.png"
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0
Binary file not shown.

After

Width:  |  Height:  |  Size: 318 KiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c26ux424gd22x"
path.s3tc="res://.godot/imported/Metal049A_1K-PNG_Roughness.png-cf591183f3ff358a18aa539a0a51ac6a.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Resources/Terrains/textures/Metal049A_1K-PNG/Metal049A_1K-PNG_Roughness.png"
dest_files=["res://.godot/imported/Metal049A_1K-PNG_Roughness.png-cf591183f3ff358a18aa539a0a51ac6a.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0
Binary file not shown.

After

Width:  |  Height:  |  Size: 879 KiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b451ixfesvaxq"
path.s3tc="res://.godot/imported/packed_albedo_height.png-9b200ee014c5e8138260b365d753e3fc.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Resources/Terrains/textures/Metal049A_1K-PNG/packed_albedo_height.png"
dest_files=["res://.godot/imported/packed_albedo_height.png-9b200ee014c5e8138260b365d753e3fc.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=2
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 877 KiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://spq2bgvqimc7"
path.s3tc="res://.godot/imported/packed_normal_roughness.png-7ea0c3d6cd52642900c3cc2a3dd2382f.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Resources/Terrains/textures/Metal049A_1K-PNG/packed_normal_roughness.png"
dest_files=["res://.godot/imported/packed_normal_roughness.png-7ea0c3d6cd52642900c3cc2a3dd2382f.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=2
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://nfsuuh75rq3f"
path="res://.godot/imported/Plastic013A.png-62daefd537b68b47f3b9a1bc7b8c8649.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Resources/Terrains/textures/Plastic013A_1K-PNG/Plastic013A.png"
dest_files=["res://.godot/imported/Plastic013A.png-62daefd537b68b47f3b9a1bc7b8c8649.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
@@ -0,0 +1,58 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://sme4m6ddgaub"
valid=false
[deps]
source_file="res://Resources/Terrains/textures/Plastic013A_1K-PNG/Plastic013A_1K-PNG.blend"
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={}
blender/nodes/visible=0
blender/nodes/active_collection_only=false
blender/nodes/punctual_lights=true
blender/nodes/cameras=true
blender/nodes/custom_properties=true
blender/nodes/modifiers=1
blender/meshes/colors=false
blender/meshes/uvs=true
blender/meshes/normals=true
blender/meshes/export_geometry_nodes_instances=false
blender/meshes/tangents=true
blender/meshes/skins=2
blender/meshes/export_bones_deforming_mesh_only=false
blender/materials/unpack_enabled=true
blender/materials/export_materials=1
blender/animation/limit_playback=true
blender/animation/always_sample=true
blender/animation/group_tracks=true
gltf/naming_version=2
@@ -0,0 +1,36 @@
<?xml version="1.0"?>
<materialx version="1.39" fileprefix="./">
<open_pbr_surface name="Plastic013A_1K_PNG_OpenPbrSurface" xpos="6.159420" type="surfaceshader" ypos="-1.879310">
<input name="base_color" nodename="Plastic013A_1K_PNG_Color" type="color3" />
<input name="geometry_normal" nodename="NormalMap" type="vector3" />
<input name="specular_roughness" nodename="Plastic013A_1K_PNG_Roughness" type="float" />
</open_pbr_surface>
<surfacematerial name="Plastic013A_1K_PNG" xpos="8.695652" type="material" ypos="0.000000">
<input name="surfaceshader" nodename="Plastic013A_1K_PNG_OpenPbrSurface" type="surfaceshader" />
<input name="displacementshader" nodename="displacement" type="displacementshader" />
</surfacematerial>
<tiledimage name="Plastic013A_1K_PNG_Color" xpos="3.623188" type="color3" ypos="-3.103448">
<input name="file" colorspace="srgb_texture" type="filename" value="Plastic013A_1K-PNG_Color.png" />
<input name="uvtiling" type="vector2" value="1.0, 1.0" />
</tiledimage>
<tiledimage name="Plastic013A_1K_PNG_Displacement" xpos="3.623188" type="float" ypos="5.163793">
<input name="file" type="filename" value="Plastic013A_1K-PNG_Displacement.png" />
<input name="uvtiling" type="vector2" value="1.0, 1.0" />
</tiledimage>
<displacement name="displacement" xpos="6.159420" type="displacementshader" ypos="1.879310">
<input name="displacement" nodename="Plastic013A_1K_PNG_Displacement" type="float" />
<input name="scale" type="float" value="1.0" />
</displacement>
<tiledimage name="Plastic013A_1K_PNG_NormalGL" xpos="1.086957" type="vector3" ypos="0.879310">
<input name="file" type="filename" value="Plastic013A_1K-PNG_NormalGL.png" />
<input name="uvtiling" type="vector2" value="1.0, 1.0" />
</tiledimage>
<normalmap name="NormalMap" xpos="3.623188" type="vector3" ypos="3.586207">
<input name="in" nodename="Plastic013A_1K_PNG_NormalGL" type="vector3" />
<input name="scale" type="float" value="1.0" />
</normalmap>
<tiledimage name="Plastic013A_1K_PNG_Roughness" xpos="3.623188" type="float" ypos="-0.413793">
<input name="file" type="filename" value="Plastic013A_1K-PNG_Roughness.png" />
<input name="uvtiling" type="vector2" value="1.0, 1.0" />
</tiledimage>
</materialx>
@@ -0,0 +1,15 @@
[gd_resource type="StandardMaterial3D" load_steps=5 format=3 uid="acg_duvs16ey"]
[ext_resource type="Texture2D" uid="uid://acg_dn0thus9" id="Color" path="./Plastic013A_1K-PNG_Color.png"]
[ext_resource type="Texture2D" uid="uid://acg_unpc623f" id="Displacement" path="./Plastic013A_1K-PNG_Displacement.png"]
[ext_resource type="Texture2D" uid="uid://acg_tm8a3y1l" id="Roughness" path="./Plastic013A_1K-PNG_Roughness.png"]
[ext_resource type="Texture2D" uid="uid://acg_0n9f2kmz" id="NormalGL" path="./Plastic013A_1K-PNG_NormalGL.png"]
[resource]
albedo_texture = ExtResource("Color")
roughness_texture = ExtResource("Roughness")
roughness_texture_channel = 4
normal_texture = ExtResource("NormalGL")
normal_enabled = true
heightmap_texture = ExtResource("Displacement")
heightmap_scale = 1.0
heightmap_enabled = true
Binary file not shown.

After

Width:  |  Height:  |  Size: 543 KiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cj812bnkpphrn"
path.s3tc="res://.godot/imported/Plastic013A_1K-PNG_Color.png-14d6f487d2ccecae33d0ee54b94ed48c.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Resources/Terrains/textures/Plastic013A_1K-PNG/Plastic013A_1K-PNG_Color.png"
dest_files=["res://.godot/imported/Plastic013A_1K-PNG_Color.png-14d6f487d2ccecae33d0ee54b94ed48c.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d3tab2l5tqi7i"
path.s3tc="res://.godot/imported/Plastic013A_1K-PNG_Displacement.png-2c9d27de05b243240097f282b6d32a6f.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Resources/Terrains/textures/Plastic013A_1K-PNG/Plastic013A_1K-PNG_Displacement.png"
dest_files=["res://.godot/imported/Plastic013A_1K-PNG_Displacement.png-2c9d27de05b243240097f282b6d32a6f.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=7
roughness/src_normal="res://Resources/Terrains/textures/Plastic013A_1K-PNG/Plastic013A_1K-PNG_NormalGL.png"
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 MiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://6ks77scpmv0t"
path="res://.godot/imported/Plastic013A_1K-PNG_NormalDX.png-b1bbfd75b874421b15c67667b89115be.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Resources/Terrains/textures/Plastic013A_1K-PNG/Plastic013A_1K-PNG_NormalDX.png"
dest_files=["res://.godot/imported/Plastic013A_1K-PNG_NormalDX.png-b1bbfd75b874421b15c67667b89115be.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 MiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://1olubinyiafc"
path.s3tc="res://.godot/imported/Plastic013A_1K-PNG_NormalGL.png-cc73060ee8ee6e71aa49c6967a15fb99.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Resources/Terrains/textures/Plastic013A_1K-PNG/Plastic013A_1K-PNG_NormalGL.png"
dest_files=["res://.godot/imported/Plastic013A_1K-PNG_NormalGL.png-cc73060ee8ee6e71aa49c6967a15fb99.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://Resources/Terrains/textures/Plastic013A_1K-PNG/Plastic013A_1K-PNG_NormalGL.png"
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0
Binary file not shown.

After

Width:  |  Height:  |  Size: 591 KiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dvaxasa3r15oj"
path.s3tc="res://.godot/imported/Plastic013A_1K-PNG_Roughness.png-1c4442489bb773f8b1af0709f14c4d89.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Resources/Terrains/textures/Plastic013A_1K-PNG/Plastic013A_1K-PNG_Roughness.png"
dest_files=["res://.godot/imported/Plastic013A_1K-PNG_Roughness.png-1c4442489bb773f8b1af0709f14c4d89.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://doplg6oeefgil"
path.s3tc="res://.godot/imported/packed_albedo_height.png-7955e52c9478f0e101b9cc32d2e9b413.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Resources/Terrains/textures/Plastic013A_1K-PNG/packed_albedo_height.png"
dest_files=["res://.godot/imported/packed_albedo_height.png-7955e52c9478f0e101b9cc32d2e9b413.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=2
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://boexwv4y50kii"
path.s3tc="res://.godot/imported/packed_normal_roughness.png-42be8fdd457e8732b7fc7133544465f7.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Resources/Terrains/textures/Plastic013A_1K-PNG/packed_normal_roughness.png"
dest_files=["res://.godot/imported/packed_normal_roughness.png-42be8fdd457e8732b7fc7133544465f7.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=2
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1