Add a 3D decals demo (#756)

Co-authored-by: dzil123 <5725958+dzil123@users.noreply.github.com>
This commit is contained in:
Hugo Locurcio
2023-01-17 21:41:53 +01:00
committed by GitHub
parent 682b933dac
commit a667e74db5
56 changed files with 1804 additions and 0 deletions

23
3d/decals/README.md Normal file
View File

@@ -0,0 +1,23 @@
# Decals
This demo includes many examples of Decal nodes in action,
for the purpose of showcasing Godot's rendering capabilities.
The decal filter mode can be adjusted in the top-left corner:
- For games with a pixel art appearance, the Nearest filter mode can be used
instead of Linear.
- Filter modes with Mipmaps prevent decals from looking grainy at a distance, at
a small performance cost. When mipmaps are used without anisotropic filtering,
decals will look blurry when viewed at oblique angles.
- Filter modes with Anisotropic don't look grainy at a distance and also avoid
looking blurry when viewed at oblique angles. However, filter modes with
Anisotropic have a greater performance cost than enabling Mipmaps alone.
Language: GDScript
Renderer: Vulkan Clustered
## Screenshots
![Screenshot](screenshots/decals.png)

91
3d/decals/decal.tscn Normal file
View File

@@ -0,0 +1,91 @@
[gd_scene load_steps=5 format=3 uid="uid://cblgs4wjl5s1e"]
[ext_resource type="Texture2D" uid="uid://ccgkupemr6e1q" path="res://textures/paint.png" id="1_1ro0v"]
[sub_resource type="Animation" id="Animation_cxvbq"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Decal:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Decal:extents")
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_ev4ve"]
resource_name = "fade"
length = 5.0
tracks/0/type = "method"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(5),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"queue_free"
}]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Decal:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Decal:extents")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.2),
"transitions": PackedFloat32Array(0.5, 0.5),
"update": 0,
"values": [Vector3(0, 0, 0), Vector3(1, 1, 1)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_kqdmn"]
_data = {
"RESET": SubResource("Animation_cxvbq"),
"fade": SubResource("Animation_ev4ve")
}
[node name="DecalHolder" type="Node3D"]
[node name="Decal" type="Decal" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0)
extents = Vector3(0, 0, 0)
texture_albedo = ExtResource("1_1ro0v")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
autoplay = "fade"
libraries = {
"": SubResource("AnimationLibrary_kqdmn")
}

View File

@@ -0,0 +1,7 @@
[gd_resource type="Environment" load_steps=2 format=2]
[sub_resource type="Sky" id=1]
[resource]
background_mode = 2
sky = SubResource( 1 )

BIN
3d/decals/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

36
3d/decals/icon.png.import Normal file
View File

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://8c1xtc7yj6s5"
path.s3tc="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.s3tc.ctex"
path.etc2="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.etc2.ctex"
metadata={
"imported_formats": ["s3tc", "etc2"],
"vram_texture": true
}
[deps]
source_file="res://icon.png"
dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.s3tc.ctex", "res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.etc2.ctex"]
[params]
compress/mode=2
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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

39
3d/decals/project.godot Normal file
View File

@@ -0,0 +1,39 @@
; Engine configuration file.
; It's best edited using the editor UI and not directly,
; since the parameters that go here are not all obvious.
;
; Format:
; [section] ; section goes between []
; param=value ; assign values to parameters
config_version=5
_global_script_classes=[]
_global_script_class_icons={}
[application]
config/name="Decals"
run/main_scene="res://test.tscn"
config/features=PackedStringArray("4.0")
config/icon="res://icon.png"
[display]
window/stretch/mode="canvas_items"
window/stretch/aspect="expand"
[input]
place_decal={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":80,"unicode":0,"echo":false,"script":null)
]
}
[rendering]
textures/default_filters/anisotropic_filtering_level=4
textures/decals/filter=5
quality/screen_filters/msaa=3
environment/default_environment="res://default_env.tres"

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 KiB

776
3d/decals/test.tscn Normal file

File diff suppressed because one or more lines are too long

88
3d/decals/tester.gd Normal file
View File

@@ -0,0 +1,88 @@
extends WorldEnvironment
const ROT_SPEED = 0.003
const ZOOM_SPEED = 0.125
const MAIN_BUTTONS = MOUSE_BUTTON_MASK_LEFT | MOUSE_BUTTON_MASK_RIGHT | MOUSE_BUTTON_MASK_MIDDLE
var tester_index = 0
var rot_x = deg_to_rad(-22.5) # This must be kept in sync with RotationX.
var rot_y = deg_to_rad(90) # This must be kept in sync with CameraHolder.
var zoom = 1.5
var base_height = ProjectSettings.get_setting("display/window/size/viewport_height")
@onready var testers = $Testers
@onready var camera_holder = $CameraHolder # Has a position and rotates on Y.
@onready var rotation_x = $CameraHolder/RotationX
@onready var camera = $CameraHolder/RotationX/Camera3D
func _ready():
camera_holder.transform.basis = Basis.from_euler(Vector3(0, rot_y, 0))
rotation_x.transform.basis = Basis.from_euler(Vector3(rot_x, 0, 0))
update_gui()
func _unhandled_input(event):
if event.is_action_pressed("ui_left"):
_on_previous_pressed()
if event.is_action_pressed("ui_right"):
_on_next_pressed()
if event.is_action_pressed("place_decal"):
var origin = camera.global_position
var target = camera.project_position(get_viewport().get_mouse_position(), 100)
var query = PhysicsRayQueryParameters3D.create(origin, target)
var result = camera.get_world_3d().direct_space_state.intersect_ray(query)
if not result.is_empty():
var decal = preload("res://decal.tscn").instantiate()
add_child(decal)
decal.get_node("Decal").modulate = Color(1.0,0.0,0)
decal.position = result["position"]
decal.transform.basis = camera.global_transform.basis
if event is InputEventMouseButton:
if event.button_index == MOUSE_BUTTON_WHEEL_UP:
zoom -= ZOOM_SPEED
if event.button_index == MOUSE_BUTTON_WHEEL_DOWN:
zoom += ZOOM_SPEED
zoom = clampf(zoom, 1.5, 4)
if event is InputEventMouseMotion and event.button_mask & MAIN_BUTTONS:
# Compensate motion speed to be resolution-independent (based on the window height).
var relative_motion = event.relative * DisplayServer.window_get_size().y / base_height
rot_y -= relative_motion.x * ROT_SPEED
rot_x -= relative_motion.y * ROT_SPEED
rot_x = clampf(rot_x, deg_to_rad(-90), 0)
camera_holder.transform.basis = Basis.from_euler(Vector3(0, rot_y, 0))
rotation_x.transform.basis = Basis.from_euler(Vector3(rot_x, 0, 0))
func _process(delta):
var current_tester = testers.get_child(tester_index)
# This code assumes CameraHolder's X and Y coordinates are already correct.
var current_position = camera_holder.global_transform.origin.z
var target_position = current_tester.global_transform.origin.z
camera_holder.global_transform.origin.z = lerpf(current_position, target_position, 3 * delta)
camera.position.z = lerpf(camera.position.z, zoom, 10 * delta)
func _on_previous_pressed():
tester_index = max(0, tester_index - 1)
update_gui()
func _on_next_pressed():
tester_index = min(tester_index + 1, testers.get_child_count() - 1)
update_gui()
func update_gui():
$TestName.text = str(testers.get_child(tester_index).name).capitalize()
$Previous.disabled = tester_index == 0
$Next.disabled = tester_index == testers.get_child_count() - 1
func _on_decal_filter_mode_item_selected(index):
# Indices in the OptionButton match RenderingServer decal filtering constants.
RenderingServer.decals_set_filter(index)

View File

@@ -0,0 +1,7 @@
# License for `checker.png`
Copyright (c) 2020 Kenney
Licensed under CC0 1.0 Universal.
Downloaded from https://kenney.nl/assets/prototype-textures

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://chjqieyps5n5r"
path.s3tc="res://.godot/imported/checker.png-d334a8ae07de292fd4162f184b9dd7bc.s3tc.ctex"
path.etc2="res://.godot/imported/checker.png-d334a8ae07de292fd4162f184b9dd7bc.etc2.ctex"
metadata={
"imported_formats": ["s3tc", "etc2"],
"vram_texture": true
}
[deps]
source_file="res://textures/checker.png"
dest_files=["res://.godot/imported/checker.png-d334a8ae07de292fd4162f184b9dd7bc.s3tc.ctex", "res://.godot/imported/checker.png-d334a8ae07de292fd4162f184b9dd7bc.etc2.ctex"]
[params]
compress/mode=2
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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: 16 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://3mobae4q0h8u"
path="res://.godot/imported/circle_blob.png-465e17a135068a8aa91a1644bf70d07d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/circle_blob.png"
dest_files=["res://.godot/imported/circle_blob.png-465e17a135068a8aa91a1644bf70d07d.ctex"]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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: 15 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://nmhoqlrypsov"
path="res://.godot/imported/circle_blob_emissive.png-ee3c7333e8008f01485f2e01afc3bec3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/circle_blob_emissive.png"
dest_files=["res://.godot/imported/circle_blob_emissive.png-ee3c7333e8008f01485f2e01afc3bec3.ctex"]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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: 9.1 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://co20qeesefkhn"
path="res://.godot/imported/icon_outlined.png-69c9923303c66a64fe5b0208e9f2325d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/icon_outlined.png"
dest_files=["res://.godot/imported/icon_outlined.png-69c9923303c66a64fe5b0208e9f2325d.ctex"]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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: 28 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c4xcp8bsukmny"
path="res://.godot/imported/icon_outlined_normal.png-2573d0f760b55be338be5e9a5c6707c7.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/icon_outlined_normal.png"
dest_files=["res://.godot/imported/icon_outlined_normal.png-2573d0f760b55be338be5e9a5c6707c7.ctex"]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=true
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View File

@@ -0,0 +1,7 @@
# License for `paint.png` and `paint_normal.png`
Copyright (c) 2010 johndn
Licensed under CC BY 3.0 Unported.
Downloaded from https://opengameart.org/content/splatter-pack

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ccgkupemr6e1q"
path="res://.godot/imported/paint.png-879be22678d20d2d134debfc46f5226d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/paint.png"
dest_files=["res://.godot/imported/paint.png-879be22678d20d2d134debfc46f5226d.ctex"]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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: 90 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bm6eht0bqttpo"
path="res://.godot/imported/paint_normal.png-7924e58454336706ecd6d73c7236cdd3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/paint_normal.png"
dest_files=["res://.godot/imported/paint_normal.png-7924e58454336706ecd6d73c7236cdd3.ctex"]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=true
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View File

@@ -0,0 +1,7 @@
# License for `paintedarrow.png` and `paintedarrow_normal.png`
Copyright (c) 2020 Alex Foster
Licensed under CC BY-SA 3.0 Unported.
Downloaded from https://github.com/redeclipse/decals/blob/master/molexted/paintedarrow.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ch1lpd6csfh11"
path="res://.godot/imported/paintedarrow.png-afd3ac8a02b78c875f47d9f11160da86.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/paintedarrow.png"
dest_files=["res://.godot/imported/paintedarrow.png-afd3ac8a02b78c875f47d9f11160da86.ctex"]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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: 63 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b6yhgco8h4kgi"
path="res://.godot/imported/paintedarrow_normal.png-4b8bc9f8589f160a2725bb7ce4e78f8e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/paintedarrow_normal.png"
dest_files=["res://.godot/imported/paintedarrow_normal.png-4b8bc9f8589f160a2725bb7ce4e78f8e.ctex"]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=true
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: 32 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bm2iexos5pt2u"
path="res://.godot/imported/plasma_emissive.png-d3e120dfac38a705e3cbba393f3374a0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/plasma_emissive.png"
dest_files=["res://.godot/imported/plasma_emissive.png-d3e120dfac38a705e3cbba393f3374a0.ctex"]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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: 21 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d2rsv7jw807fs"
path="res://.godot/imported/plasma_stain.png-fb1b75df8104df81c128085d44cae093.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/plasma_stain.png"
dest_files=["res://.godot/imported/plasma_stain.png-fb1b75df8104df81c128085d44cae093.ctex"]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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: 11 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://8plv4ws2kg70"
path="res://.godot/imported/puddles_albedo.png-34ab8e60908190d6183f3888021a458e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/puddles_albedo.png"
dest_files=["res://.godot/imported/puddles_albedo.png-34ab8e60908190d6183f3888021a458e.ctex"]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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: 524 B

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cxswl7oeqadys"
path="res://.godot/imported/puddles_orm.png-977c027ea1bee06a0306ab7a786fb713.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/puddles_orm.png"
dest_files=["res://.godot/imported/puddles_orm.png-977c027ea1bee06a0306ab7a786fb713.ctex"]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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

View File

@@ -0,0 +1,7 @@
# License for `scifi_*.png`
Copyright (c) 2012 Yughues
Licensed under CC0 1.0 Universal.
Downloaded from https://opengameart.org/content/free-decals-01-sci-fi

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d3tsa78sl6f5o"
path="res://.godot/imported/scifi_1_albedo.png-508e162c91511036575fdb6b008a06ff.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/scifi_1_albedo.png"
dest_files=["res://.godot/imported/scifi_1_albedo.png-508e162c91511036575fdb6b008a06ff.ctex"]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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: 51 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c6h101xwgiroy"
path="res://.godot/imported/scifi_1_normal.png-d536a2a8e5910209b99dba70cad76c7a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/scifi_1_normal.png"
dest_files=["res://.godot/imported/scifi_1_normal.png-d536a2a8e5910209b99dba70cad76c7a.ctex"]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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: 259 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bu0lxkb3046jw"
path="res://.godot/imported/scifi_2_albedo.png-c4a001d2893dff30ad740589199edd6a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/scifi_2_albedo.png"
dest_files=["res://.godot/imported/scifi_2_albedo.png-c4a001d2893dff30ad740589199edd6a.ctex"]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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: 81 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://5wewxgmcpq2t"
path="res://.godot/imported/scifi_2_normal.png-fa904ec2a7759f5d1f019bc46a4b445e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/scifi_2_normal.png"
dest_files=["res://.godot/imported/scifi_2_normal.png-fa904ec2a7759f5d1f019bc46a4b445e.ctex"]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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: 163 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cyh57iw40y5pc"
path="res://.godot/imported/scifi_3_albedo.png-4396f6a4198bfacdd7eac036f62447b6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/scifi_3_albedo.png"
dest_files=["res://.godot/imported/scifi_3_albedo.png-4396f6a4198bfacdd7eac036f62447b6.ctex"]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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: 20 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cwg21hcwtkqiw"
path="res://.godot/imported/scifi_3_normal.png-d23a229d70fad8be5081c510f6016d14.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/scifi_3_normal.png"
dest_files=["res://.godot/imported/scifi_3_normal.png-d23a229d70fad8be5081c510f6016d14.ctex"]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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: 618 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://qkykptc4tjno"
path="res://.godot/imported/scifi_4_albedo.png-89afbb728d9f5301d58a017c58e89bbd.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/scifi_4_albedo.png"
dest_files=["res://.godot/imported/scifi_4_albedo.png-89afbb728d9f5301d58a017c58e89bbd.ctex"]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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: 31 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://syxljixxud75"
path="res://.godot/imported/scifi_4_normal.png-a41428b02b49d90d5dd2ec92aa126b24.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/scifi_4_normal.png"
dest_files=["res://.godot/imported/scifi_4_normal.png-a41428b02b49d90d5dd2ec92aa126b24.ctex"]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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