107 lines
7.8 KiB
Plaintext
107 lines
7.8 KiB
Plaintext
|
[gd_scene load_steps=15 format=3 uid="uid://b370vrg0nak8d"]
|
||
|
|
||
|
[ext_resource type="Script" path="res://addons/qodot/src/nodes/qodot_map.gd" id="1"]
|
||
|
[ext_resource type="Resource" uid="uid://c36hv0o6g0udo" path="res://addons/qodot/game_definitions/fgd/qodot_fgd.tres" id="2"]
|
||
|
[ext_resource type="Texture2D" uid="uid://df7s57f6m26uf" path="res://addons/qodot/textures/pbr/military-panel/military-panel_metallic.png" id="4"]
|
||
|
[ext_resource type="Texture2D" uid="uid://b3g5hqkvp4mqv" path="res://addons/qodot/textures/pbr/military-panel/military-panel_normal.png" id="5"]
|
||
|
[ext_resource type="Texture2D" uid="uid://cpxl04ai0om41" path="res://addons/qodot/textures/pbr/military-panel/military-panel_roughness.png" id="6"]
|
||
|
[ext_resource type="Texture2D" uid="uid://cshuyxat1wpeh" path="res://addons/qodot/textures/pbr/military-panel/military-panel_ao.png" id="7"]
|
||
|
[ext_resource type="Texture2D" uid="uid://bqr2xncwk0api" path="res://addons/qodot/textures/pbr/military-panel.png" id="8"]
|
||
|
|
||
|
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_uug1j"]
|
||
|
sky_horizon_color = Color(0.64625, 0.65575, 0.67075, 1)
|
||
|
ground_horizon_color = Color(0.64625, 0.65575, 0.67075, 1)
|
||
|
|
||
|
[sub_resource type="Sky" id="Sky_mpkx6"]
|
||
|
sky_material = SubResource("ProceduralSkyMaterial_uug1j")
|
||
|
|
||
|
[sub_resource type="Environment" id="Environment_xhgds"]
|
||
|
background_mode = 2
|
||
|
sky = SubResource("Sky_mpkx6")
|
||
|
tonemap_mode = 2
|
||
|
glow_enabled = true
|
||
|
|
||
|
[sub_resource type="StandardMaterial3D" id="3"]
|
||
|
|
||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8jikr"]
|
||
|
albedo_texture = ExtResource("8")
|
||
|
metallic_texture = ExtResource("4")
|
||
|
roughness_texture = ExtResource("6")
|
||
|
normal_enabled = true
|
||
|
normal_texture = ExtResource("5")
|
||
|
ao_enabled = true
|
||
|
ao_texture = ExtResource("7")
|
||
|
texture_filter = 5
|
||
|
|
||
|
[sub_resource type="ArrayMesh" id="ArrayMesh_ngmfl"]
|
||
|
_surfaces = [{
|
||
|
"aabb": AABB(-4, -4, -4, 8, 8.00001, 8),
|
||
|
"attribute_data": PackedByteArray(0, 0, 0, 63, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 0, 191, 0, 0, 0, 191, 0, 0, 0, 191, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 0, 191, 0, 0, 0, 191, 0, 0, 0, 191, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 0, 191, 0, 0, 0, 191, 0, 0, 0, 191, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 191, 0, 0, 0, 63),
|
||
|
"format": 34359742487,
|
||
|
"index_count": 36,
|
||
|
"index_data": PackedByteArray(0, 0, 1, 0, 2, 0, 0, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0, 4, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 8, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 12, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 16, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 20, 0, 22, 0, 23, 0),
|
||
|
"material": SubResource("StandardMaterial3D_8jikr"),
|
||
|
"primitive": 3,
|
||
|
"uv_scale": Vector4(0, 0, 0, 0),
|
||
|
"vertex_count": 24,
|
||
|
"vertex_data": PackedByteArray(0, 0, 128, 192, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 128, 192, 0, 0, 128, 192, 0, 0, 128, 192, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 128, 192, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 128, 192, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 128, 192, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 128, 192, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 128, 192, 0, 0, 128, 192, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 128, 192, 0, 0, 128, 192, 0, 0, 128, 192, 0, 0, 128, 192, 0, 0, 128, 192, 0, 0, 128, 192, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 128, 192, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 128, 64, 0, 0, 128, 192, 0, 0, 128, 192, 0, 0, 128, 64, 255, 255, 255, 255, 0, 0, 255, 191, 255, 255, 255, 255, 0, 0, 255, 191, 255, 255, 255, 255, 0, 0, 255, 191, 255, 255, 255, 255, 0, 0, 255, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 255, 127, 255, 127, 255, 191, 255, 127, 0, 0, 255, 255, 255, 255, 255, 127, 0, 0, 255, 255, 255, 255, 255, 127, 0, 0, 255, 255, 255, 255, 255, 127, 0, 0, 255, 255, 255, 255, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 191, 255, 127, 255, 255, 255, 127, 255, 191, 255, 255, 255, 127, 255, 255, 255, 255, 255, 255, 255, 127, 255, 255, 255, 255, 255, 255, 255, 127, 255, 255, 255, 255, 255, 255, 255, 127, 255, 255, 255, 255, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 127, 255, 255, 255, 191, 255, 127, 255, 127, 255, 255, 255, 191)
|
||
|
}]
|
||
|
|
||
|
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_bltp6"]
|
||
|
points = PackedVector3Array(-4, 4, -4, -4, -4, -4, 4, -4, -4, 4, 4, -4, -4, 4, 4, -4, -4, 4, 4, -4, 4, 4, 4, 4)
|
||
|
|
||
|
[node name="AutoPBR" type="Node3D"]
|
||
|
|
||
|
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||
|
transform = Transform3D(-0.866023, -0.433016, 0.250001, 0, 0.499998, 0.866027, -0.500003, 0.749999, -0.43301, 0, 0, 0)
|
||
|
shadow_enabled = true
|
||
|
|
||
|
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||
|
environment = SubResource("Environment_xhgds")
|
||
|
|
||
|
[node name="README" type="Node" parent="."]
|
||
|
editor_description = "This scene introduces automatic PBR application.
|
||
|
|
||
|
The standard `SpatialMaterial` used for rendering in Godot supports much more than the basic Albedo channel specified in a map file. Qodot accounts for this by allowing for the automatic application of the normal, metallic, roughness, emission, ambient occlusion and depth texture channels.
|
||
|
|
||
|
These can be enabled by creating a folder with the same name as your texture, and storing it alongside it in the filesystem. Textures with specific prefixes stored in this folder will be treated as custom texture channels to be applied alongside their parent texture.
|
||
|
|
||
|
The default prefixes are as follows:
|
||
|
Normal - texture-name_normal.extension
|
||
|
Metallic - texture-name_metallic.extension
|
||
|
Roughness - texture-name_roughness.extension
|
||
|
Emission - texture-name_emission.extension
|
||
|
Ambient Occlusion - texture-name_ao.extension
|
||
|
Depth - texture-name_depth.extension
|
||
|
|
||
|
These can be modified in the `Qodot/Textures` category of the Project Settings window, and are stored in Godot's standard string matching format. For example, the default normal pattern is `%s_normal.%s`, and will have the first %s replaced with the texture name, and the second %s replaced with the texture extension specified on the QodotMap node."
|
||
|
|
||
|
[node name="QodotMap" type="Node3D" parent="."]
|
||
|
script = ExtResource("1")
|
||
|
map_file = "C:/Users/Embyr/Desktop/qmap-development/addons/qodot/example_scenes/0-visuals/3-auto-pbr/3-auto-pbr.map"
|
||
|
inverse_scale_factor = 16.0
|
||
|
entity_fgd = ExtResource("2")
|
||
|
base_texture_dir = "res://addons/qodot/textures"
|
||
|
texture_file_extensions = PackedStringArray("png")
|
||
|
worldspawn_layers = []
|
||
|
brush_clip_texture = "special/clip"
|
||
|
face_skip_texture = "special/skip"
|
||
|
texture_wads = []
|
||
|
material_file_extension = "tres"
|
||
|
unshaded = false
|
||
|
default_material_albedo_uniform = ""
|
||
|
default_material = SubResource("3")
|
||
|
uv_unwrap_texel_size = 1.0
|
||
|
print_profiling_data = false
|
||
|
use_trenchbroom_group_hierarchy = false
|
||
|
tree_attach_batch_size = null
|
||
|
set_owner_batch_size = 16
|
||
|
|
||
|
[node name="entity_0_worldspawn" type="StaticBody3D" parent="QodotMap"]
|
||
|
|
||
|
[node name="entity_0_mesh_instance" type="MeshInstance3D" parent="QodotMap/entity_0_worldspawn"]
|
||
|
mesh = SubResource("ArrayMesh_ngmfl")
|
||
|
|
||
|
[node name="entity_0_brush_0_collision_shape" type="CollisionShape3D" parent="QodotMap/entity_0_worldspawn"]
|
||
|
shape = SubResource("ConvexPolygonShape3D_bltp6")
|