Added Room Generators

This commit is contained in:
Josef 2025-10-26 21:24:26 +01:00
parent 0649065c71
commit e9012cafe8
131 changed files with 75336 additions and 7 deletions

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "addons/rokojori_action_library"]
path = addons/rokojori_action_library
url = git@community.rokojori.com:Rokojori/rj-action-library.git

0
.rokojori/.gdignore Normal file
View File

0
.rokojori/cache/.gdignore vendored Normal file
View File

4
.rokojori/cache/reload-marker.json vendored Normal file
View File

@ -0,0 +1,4 @@
{
"__class__": "Rokojori.RokojoriPlugin+MarkerData",
"time": "2025-10-26T21:19:50.0794119+01:00"
}

View File

7
DomeFox.csproj Normal file
View File

@ -0,0 +1,7 @@
<Project Sdk="Godot.NET.Sdk/4.5.0">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework Condition=" '$(GodotTargetPlatform)' == 'android' ">net9.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
</PropertyGroup>
</Project>

19
DomeFox.sln Normal file
View File

@ -0,0 +1,19 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DomeFox", "DomeFox.csproj", "{ECEAC04D-F59D-4136-B754-0B02351B52BB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
ExportDebug|Any CPU = ExportDebug|Any CPU
ExportRelease|Any CPU = ExportRelease|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{ECEAC04D-F59D-4136-B754-0B02351B52BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ECEAC04D-F59D-4136-B754-0B02351B52BB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ECEAC04D-F59D-4136-B754-0B02351B52BB}.ExportDebug|Any CPU.ActiveCfg = ExportDebug|Any CPU
{ECEAC04D-F59D-4136-B754-0B02351B52BB}.ExportDebug|Any CPU.Build.0 = ExportDebug|Any CPU
{ECEAC04D-F59D-4136-B754-0B02351B52BB}.ExportRelease|Any CPU.ActiveCfg = ExportRelease|Any CPU
{ECEAC04D-F59D-4136-B754-0B02351B52BB}.ExportRelease|Any CPU.Build.0 = ExportRelease|Any CPU
EndGlobalSection
EndGlobal

2069
DomeFox/DomeFox-Main.tscn Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,618 @@
[gd_scene load_steps=117 format=3 uid="uid://7gf2dp1y62wo"]
[ext_resource type="Script" uid="uid://2gudnu1r4pjg" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/SpatialShaderGenerator.cs" id="1_hyk7e"]
[ext_resource type="Script" uid="uid://cxev8s3qvg8sq" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Albedo/AlbedoModule.cs" id="2_j8gjs"]
[ext_resource type="Script" uid="uid://8a10in76h56n" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Alpha/AlphaModule.cs" id="3_ghf00"]
[ext_resource type="Script" uid="uid://dobmqsid1agkj" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Emission/EmissionModule.cs" id="4_mfvyt"]
[ext_resource type="Script" uid="uid://bqk5po80nylsk" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Fading/FadingModule.cs" id="5_sm8dq"]
[ext_resource type="Script" uid="uid://j4aagrd2fmce" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Geometry/NormalOffset/GeometryNormalOffset.cs" id="6_xu2ok"]
[ext_resource type="Script" uid="uid://drc5hdnwme7be" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Geometry/GeometryModule.cs" id="7_2gtvq"]
[ext_resource type="Script" uid="uid://i8cxjpjwhubc" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Masks/MaskReference.cs" id="8_oihxu"]
[ext_resource type="Script" uid="uid://c66d71an78m6m" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Albedo/AlbedoOverlayLayer.cs" id="9_gosrm"]
[ext_resource type="Script" uid="uid://cmo0q35ehg2is" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Masks/AxisMask.cs" id="10_wyalx"]
[ext_resource type="Script" uid="uid://ct0ciw3quxl4g" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Masks/SpatialMaskVariable.cs" id="11_t88uc"]
[ext_resource type="Script" uid="uid://yoc4tx8ahe6b" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Masks/SpatialMasksModule.cs" id="12_feye4"]
[ext_resource type="Script" uid="uid://n0gi67ntpq0y" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Metallic/MetallicModule.cs" id="13_7oqba"]
[ext_resource type="Script" uid="uid://tl4qfoxysj06" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/NormalMap/NormalMapModule.cs" id="14_ymtsl"]
[ext_resource type="Script" uid="uid://dew0uayffwxwk" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Roughness/RoughnessModule.cs" id="15_lya8u"]
[ext_resource type="Script" uid="uid://bakspsqw7d0hn" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/SpatialShaderData.cs" id="16_wi4kk"]
[ext_resource type="Script" uid="uid://ckll7njnako4c" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Shading/ShadingModule.cs" id="17_k5rj5"]
[ext_resource type="Script" uid="uid://c7bmbvoc57ebo" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Specular/SpecularModule.cs" id="18_5lj55"]
[ext_resource type="Script" uid="uid://ckstqai24gfu2" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Transparency/TransparencyModule.cs" id="19_3qlti"]
[ext_resource type="Script" uid="uid://7kmku6bld3yt" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/UV/UVScaleOffset.cs" id="20_teisk"]
[ext_resource type="Script" uid="uid://mcu62dbrsoeh" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/UV/UVChannel.cs" id="21_mlins"]
[ext_resource type="Script" uid="uid://ibhf7a1j2ivl" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/UV/UVSource/MeshUVSource.cs" id="22_ycrwu"]
[ext_resource type="Script" uid="uid://ocri03glwwv7" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/UV/UVModule.cs" id="23_725d0"]
[ext_resource type="Script" uid="uid://7bnmdhvno7ua" path="res://addons/rokojori_action_library/Runtime/Shading/Generators/Spatial/Varyings/SpatialVarying.cs" id="24_g6u3h"]
[ext_resource type="Shader" uid="uid://dwidfv18u7fi0" path="res://DomeFox/Game Objects/Eye/EyeBeam.gdshader" id="25_qf8ke"]
[ext_resource type="Shader" uid="uid://lxygv2l76ka8" path="res://DomeFox/Game Objects/Eye/EyeBeamStencilled.gdshader" id="26_j8gjs"]
[ext_resource type="Script" uid="uid://xnupkyu3042b" path="res://addons/rokojori_action_library/Runtime/Interactions/Collider.cs" id="26_ng42h"]
[sub_resource type="Gradient" id="Gradient_ctpa3"]
offsets = PackedFloat32Array(0, 0.5362319, 1)
colors = PackedColorArray(0.7296205, 0.788094, 0.8733763, 1, 1, 1, 1, 1, 1, 0.81247175, 0.8090962, 1)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_rfged"]
frequency = 0.0757
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_n6fo8"]
noise = SubResource("FastNoiseLite_rfged")
color_ramp = SubResource("Gradient_ctpa3")
[sub_resource type="Gradient" id="Gradient_rsbf7"]
offsets = PackedFloat32Array(0.42610836, 0.56650245, 0.6600985, 1)
colors = PackedColorArray(0, 0, 0, 0, 0.58825254, 0.58825254, 0.58825254, 1, 0.7894473, 0.7894473, 0.7894473, 1, 1, 1, 1, 1)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_gcb85"]
noise_type = 2
frequency = 0.011
fractal_lacunarity = 2.2295
fractal_gain = 0.704
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_jqb63"]
width = 1024
noise = SubResource("FastNoiseLite_gcb85")
color_ramp = SubResource("Gradient_rsbf7")
seamless = true
[sub_resource type="Gradient" id="Gradient_msotc"]
colors = PackedColorArray(0.045159757, 0.045159757, 0.045159757, 1, 1, 1, 1, 1)
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_ctpa3"]
noise = SubResource("FastNoiseLite_gcb85")
color_ramp = SubResource("Gradient_msotc")
seamless = true
[sub_resource type="FastNoiseLite" id="FastNoiseLite_3t4rw"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_3p5o6"]
noise = SubResource("FastNoiseLite_3t4rw")
seamless = true
as_normal_map = true
[sub_resource type="Gradient" id="Gradient_rfged"]
offsets = PackedFloat32Array(0.41379312, 0.56157637, 0.6600985, 0.99753696)
colors = PackedColorArray(0.47284538, 0.47284538, 0.47284538, 1, 0.06552577, 0.06552577, 0.06552577, 1, 0.11304635, 0.11304635, 0.11304635, 1, 0.045159757, 0.045159757, 0.045159757, 1)
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_rsbf7"]
noise = SubResource("FastNoiseLite_gcb85")
color_ramp = SubResource("Gradient_rfged")
seamless = true
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ypsyk"]
transparency = 1
albedo_color = Color(0.55430925, 0.058429297, 0.09021532, 1)
albedo_texture = SubResource("NoiseTexture2D_jqb63")
roughness_texture = SubResource("NoiseTexture2D_rsbf7")
normal_enabled = true
normal_texture = SubResource("NoiseTexture2D_3p5o6")
heightmap_enabled = true
heightmap_scale = 2.0
heightmap_texture = SubResource("NoiseTexture2D_ctpa3")
grow = true
grow_amount = 0.001
[sub_resource type="FastNoiseLite" id="FastNoiseLite_pwyh7"]
frequency = 0.0281
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_v8d1x"]
noise = SubResource("FastNoiseLite_pwyh7")
seamless = true
as_normal_map = true
normalize = false
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mxqtn"]
render_priority = -1
next_pass = SubResource("StandardMaterial3D_ypsyk")
albedo_color = Color(0.6018299, 0.40364695, 0.34445232, 1)
albedo_texture = SubResource("NoiseTexture2D_n6fo8")
roughness = 0.93
normal_enabled = true
normal_texture = SubResource("NoiseTexture2D_v8d1x")
subsurf_scatter_enabled = true
subsurf_scatter_strength = 1.0
subsurf_scatter_skin_mode = true
subsurf_scatter_transmittance_enabled = true
subsurf_scatter_transmittance_depth = 8.0
subsurf_scatter_transmittance_boost = 1.0
stencil_mode = 3
stencil_flags = 2
stencil_reference = 2
[sub_resource type="SphereMesh" id="SphereMesh_ue0no"]
material = SubResource("StandardMaterial3D_mxqtn")
radial_segments = 12
rings = 8
[sub_resource type="Gradient" id="Gradient_gcb85"]
offsets = PackedFloat32Array(0.15700483, 1)
colors = PackedColorArray(0.9684175, 0.92820084, 0.79628056, 1, 0.86658764, 0.5627674, 0.5472763, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_jqb63"]
gradient = SubResource("Gradient_gcb85")
fill = 1
fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(0.8034188, 0.6025641)
[sub_resource type="Gradient" id="Gradient_3t4rw"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_3p5o6"]
noise_type = 2
frequency = 0.0118
fractal_octaves = 3
fractal_lacunarity = 3.433
fractal_gain = 0.2335
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_ypsyk"]
noise = SubResource("FastNoiseLite_3p5o6")
color_ramp = SubResource("Gradient_3t4rw")
seamless = true
as_normal_map = true
normalize = false
bump_strength = 14.7
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_pwyh7"]
albedo_texture = SubResource("GradientTexture2D_jqb63")
roughness = 0.42
normal_enabled = true
normal_texture = SubResource("NoiseTexture2D_ypsyk")
rim_enabled = true
rim = 0.16
rim_tint = 1.0
subsurf_scatter_enabled = true
subsurf_scatter_strength = 1.0
subsurf_scatter_skin_mode = true
subsurf_scatter_transmittance_enabled = true
subsurf_scatter_transmittance_depth = 8.0
subsurf_scatter_transmittance_boost = 1.0
backlight_enabled = true
stencil_mode = 3
stencil_flags = 2
stencil_reference = 2
[sub_resource type="SphereMesh" id="SphereMesh_v8d1x"]
material = SubResource("StandardMaterial3D_pwyh7")
radial_segments = 12
rings = 8
[sub_resource type="Gradient" id="Gradient_l164c"]
colors = PackedColorArray(0.16735566, 0.014338974, 0.037666596, 1, 0.8462217, 0.43223864, 0.32850266, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_66wsp"]
gradient = SubResource("Gradient_l164c")
fill = 1
fill_from = Vector2(0.46581197, 0.74786323)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_vbhju"]
frequency = 0.027
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_ypybk"]
height = 64
noise = SubResource("FastNoiseLite_vbhju")
as_normal_map = true
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_sjtlq"]
albedo_texture = SubResource("GradientTexture2D_66wsp")
roughness = 0.3
normal_enabled = true
normal_texture = SubResource("NoiseTexture2D_ypybk")
stencil_mode = 3
stencil_flags = 2
stencil_reference = 2
[sub_resource type="TorusMesh" id="TorusMesh_0aqcu"]
material = SubResource("StandardMaterial3D_sjtlq")
inner_radius = 0.53
outer_radius = 0.939
[sub_resource type="Gradient" id="Gradient_dgvsu"]
[sub_resource type="GradientTexture1D" id="GradientTexture1D_5p27p"]
gradient = SubResource("Gradient_dgvsu")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_d70gq"]
albedo_color = Color(0, 0, 0, 1)
metallic_specular = 0.0
roughness = 0.0
rim_enabled = true
rim_tint = 0.0
rim_texture = SubResource("GradientTexture1D_5p27p")
[sub_resource type="SphereMesh" id="SphereMesh_mxqtn"]
material = SubResource("StandardMaterial3D_d70gq")
radial_segments = 12
rings = 8
[sub_resource type="FastNoiseLite" id="FastNoiseLite_msotc"]
frequency = 0.0061
fractal_lacunarity = 2.4315
domain_warp_enabled = true
domain_warp_amplitude = 40.0
domain_warp_frequency = 0.061
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_rfged"]
noise = SubResource("FastNoiseLite_msotc")
seamless = true
[sub_resource type="Gradient" id="Gradient_n6fo8"]
[sub_resource type="GradientTexture2D" id="GradientTexture2D_rsbf7"]
gradient = SubResource("Gradient_n6fo8")
fill = 1
fill_from = Vector2(0.47863248, 0.508547)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_jqb63"]
frequency = 0.0036
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_3t4rw"]
noise = SubResource("FastNoiseLite_jqb63")
as_normal_map = true
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_3p5o6"]
albedo_color = Color(0.6509804, 0.23659821, 0.054901965, 1)
albedo_texture = SubResource("NoiseTexture2D_rfged")
metallic = 0.12
metallic_specular = 0.46
roughness = 0.53
emission_enabled = true
emission = Color(0.10625774, 0.013449825, 0, 1)
normal_enabled = true
normal_texture = SubResource("NoiseTexture2D_3t4rw")
rim_enabled = true
rim_tint = 0.0
heightmap_enabled = true
heightmap_scale = 16.0
heightmap_texture = SubResource("GradientTexture2D_rsbf7")
subsurf_scatter_enabled = true
subsurf_scatter_strength = 1.0
subsurf_scatter_skin_mode = true
subsurf_scatter_transmittance_enabled = true
subsurf_scatter_transmittance_depth = 8.0
subsurf_scatter_transmittance_boost = 1.0
backlight_enabled = true
backlight = Color(0.7036598, 0, 0.2013425, 1)
[sub_resource type="SphereMesh" id="SphereMesh_ypsyk"]
material = SubResource("StandardMaterial3D_3p5o6")
radial_segments = 12
rings = 8
[sub_resource type="FastNoiseLite" id="FastNoiseLite_ap00y"]
frequency = 0.0025
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_wwnpp"]
generate_mipmaps = false
noise = SubResource("FastNoiseLite_ap00y")
as_normal_map = true
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_q0e3t"]
transparency = 1
albedo_color = Color(0.95, 0.25792503, 0.06649999, 0.0627451)
metallic = 0.12
metallic_specular = 1.0
roughness = 0.21
emission = Color(0.10625774, 0.013449825, 0, 1)
normal_enabled = true
normal_scale = 0.17
normal_texture = SubResource("NoiseTexture2D_wwnpp")
rim_tint = 0.0
heightmap_scale = 16.0
heightmap_texture = SubResource("GradientTexture2D_rsbf7")
subsurf_scatter_strength = 1.0
subsurf_scatter_skin_mode = true
subsurf_scatter_transmittance_enabled = true
subsurf_scatter_transmittance_depth = 8.0
subsurf_scatter_transmittance_boost = 1.0
backlight_enabled = true
backlight = Color(1, 0.3314417, 0.17775077, 1)
[sub_resource type="SphereMesh" id="SphereMesh_1c5re"]
material = SubResource("StandardMaterial3D_q0e3t")
radial_segments = 12
rings = 8
[sub_resource type="Resource" id="Resource_30cme"]
script = ExtResource("2_j8gjs")
writeAlpha = true
[sub_resource type="Resource" id="Resource_mpdbb"]
script = ExtResource("3_ghf00")
assignmentType = 3
[sub_resource type="Resource" id="Resource_c82hk"]
script = ExtResource("4_mfvyt")
metadata/_custom_type_script = "uid://dobmqsid1agkj"
[sub_resource type="Resource" id="Resource_o6mbh"]
script = ExtResource("5_sm8dq")
fadingModifiers = [null]
metadata/_custom_type_script = "uid://bqk5po80nylsk"
[sub_resource type="Resource" id="Resource_olxhp"]
script = ExtResource("6_xu2ok")
textureScaleEnabled = true
metadata/_custom_type_script = "uid://j4aagrd2fmce"
[sub_resource type="Resource" id="Resource_hyv5a"]
script = ExtResource("7_2gtvq")
modifiers = [SubResource("Resource_olxhp")]
[sub_resource type="Resource" id="Resource_khlq0"]
script = ExtResource("2_j8gjs")
[sub_resource type="Resource" id="Resource_c1xak"]
script = ExtResource("8_oihxu")
maskReference = "axisMask"
metadata/_custom_type_script = "uid://i8cxjpjwhubc"
[sub_resource type="Resource" id="Resource_ehig0"]
script = ExtResource("9_gosrm")
layer = SubResource("Resource_khlq0")
masks = [SubResource("Resource_c1xak")]
metadata/_custom_type_script = "uid://c66d71an78m6m"
[sub_resource type="Resource" id="Resource_sbsrj"]
script = ExtResource("10_wyalx")
toAxis = 1
metadata/_custom_type_script = "uid://cmo0q35ehg2is"
[sub_resource type="Resource" id="Resource_ean4y"]
script = ExtResource("11_t88uc")
maskName = "axisMask"
masks = [SubResource("Resource_sbsrj")]
metadata/_custom_type_script = "uid://ct0ciw3quxl4g"
[sub_resource type="Resource" id="Resource_1wfvh"]
script = ExtResource("12_feye4")
maskVariables = [SubResource("Resource_ean4y")]
metadata/_custom_type_script = "uid://yoc4tx8ahe6b"
[sub_resource type="Resource" id="Resource_3u2x4"]
script = ExtResource("13_7oqba")
[sub_resource type="Resource" id="Resource_7t6hs"]
script = ExtResource("14_ymtsl")
[sub_resource type="Resource" id="Resource_wqtyv"]
script = ExtResource("15_lya8u")
[sub_resource type="Resource" id="Resource_g5evl"]
script = ExtResource("17_k5rj5")
[sub_resource type="Resource" id="Resource_drdgq"]
script = ExtResource("18_5lj55")
domainMode = 0
[sub_resource type="Resource" id="Resource_48olo"]
script = ExtResource("19_3qlti")
transparency = 1
[sub_resource type="Resource" id="Resource_4h46k"]
script = ExtResource("20_teisk")
[sub_resource type="Resource" id="Resource_cfhmy"]
script = ExtResource("22_ycrwu")
[sub_resource type="Resource" id="Resource_u7ube"]
script = ExtResource("21_mlins")
uvSource = SubResource("Resource_cfhmy")
modifier = SubResource("Resource_4h46k")
metadata/_custom_type_script = "uid://mcu62dbrsoeh"
[sub_resource type="Resource" id="Resource_o67pt"]
script = ExtResource("23_725d0")
channels = [SubResource("Resource_u7ube")]
[sub_resource type="Resource" id="Resource_oafc8"]
script = ExtResource("24_g6u3h")
[sub_resource type="Resource" id="Resource_44g62"]
script = ExtResource("16_wi4kk")
transparency = SubResource("Resource_48olo")
shading = SubResource("Resource_g5evl")
uv = SubResource("Resource_o67pt")
geometry = SubResource("Resource_hyv5a")
varying = SubResource("Resource_oafc8")
masks = SubResource("Resource_1wfvh")
albedo = SubResource("Resource_30cme")
alpha = SubResource("Resource_mpdbb")
fading = SubResource("Resource_o6mbh")
normalMap = SubResource("Resource_7t6hs")
roughness = SubResource("Resource_wqtyv")
metallic = SubResource("Resource_3u2x4")
specular = SubResource("Resource_drdgq")
emission = SubResource("Resource_c82hk")
layers = [SubResource("Resource_ehig0")]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_ghf00"]
frequency = 0.0166
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_mfvyt"]
noise = SubResource("FastNoiseLite_ghf00")
seamless = true
[sub_resource type="ShaderMaterial" id="ShaderMaterial_sm8dq"]
render_priority = -1
shader = ExtResource("26_j8gjs")
shader_parameter/UV_scale = Vector2(1, 1)
shader_parameter/UV_offset = Vector2(0, 0.0265)
shader_parameter/UV_scrolling = Vector2(0.154, 0.404)
shader_parameter/objectNormalOffset = 0.8205
shader_parameter/objectNormalOffsetTexture = SubResource("NoiseTexture2D_mfvyt")
shader_parameter/axisMaskAxisMask_Min = 5.658
shader_parameter/axisMaskAxisMask_Max = -5.0
shader_parameter/axisMaskAxisMask_AxisRotation = Vector3(0, 0, 0)
shader_parameter/albedo = Color(0.21208745, 0, 0.22166497, 0.25490198)
shader_parameter/alpha = 1.0
shader_parameter/normalStrength = 1.0
shader_parameter/roughness = 1.0
shader_parameter/roughnessOffset = 0.0
shader_parameter/metallic = 0.0
shader_parameter/metallicOffset = 0.0
shader_parameter/specular = 0.0
shader_parameter/emission = Color(1, 1, 1, 1)
shader_parameter/emissionIntensity = 1.0
[sub_resource type="CapsuleMesh" id="CapsuleMesh_xu2ok"]
material = SubResource("ShaderMaterial_sm8dq")
radius = 0.112
height = 11.9
[sub_resource type="Gradient" id="Gradient_oslmd"]
offsets = PackedFloat32Array(0.10144927, 0.8309179)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_xd01g"]
frequency = 0.007
fractal_gain = 1.096
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_r7gxw"]
noise = SubResource("FastNoiseLite_xd01g")
color_ramp = SubResource("Gradient_oslmd")
[sub_resource type="FastNoiseLite" id="FastNoiseLite_k5c1h"]
frequency = 0.0166
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_lds7d"]
noise = SubResource("FastNoiseLite_k5c1h")
seamless = true
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ncwc7"]
render_priority = 0
shader = ExtResource("25_qf8ke")
shader_parameter/UV_scale = Vector2(1, 1)
shader_parameter/UV_offset = Vector2(0, 0)
shader_parameter/UV_scrolling = Vector2(0.0505, 0.39)
shader_parameter/objectNormalOffset = 0.502
shader_parameter/objectNormalOffsetTexture = SubResource("NoiseTexture2D_lds7d")
shader_parameter/axisMaskAxisMask_Min = 5.658
shader_parameter/axisMaskAxisMask_Max = -50.0
shader_parameter/axisMaskAxisMask_AxisRotation = Vector3(0, 0, 0)
shader_parameter/albedo = Color(1.8247963, 0.47775745, 0.3280865, 1)
shader_parameter/alpha = 1.0
shader_parameter/alphaTexture = SubResource("NoiseTexture2D_r7gxw")
shader_parameter/normalStrength = 1.0
shader_parameter/roughness = 1.0
shader_parameter/roughnessOffset = 0.0
shader_parameter/metallic = 0.23600001121
shader_parameter/metallicOffset = 0.0
shader_parameter/specular = 0.0
shader_parameter/emission = Color(1, 1, 1, 1)
shader_parameter/emissionIntensity = 1.0
[sub_resource type="CapsuleMesh" id="CapsuleMesh_vlmmu"]
material = SubResource("ShaderMaterial_ncwc7")
radius = 0.112
height = 11.9
[sub_resource type="Gradient" id="Gradient_jd3k0"]
offsets = PackedFloat32Array(0.34057972, 0.7512077)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_0nnaw"]
frequency = 0.0159
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_yhae4"]
noise = SubResource("FastNoiseLite_0nnaw")
color_ramp = SubResource("Gradient_jd3k0")
[sub_resource type="FastNoiseLite" id="FastNoiseLite_4r6s4"]
frequency = 0.0074
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_obi34"]
noise = SubResource("FastNoiseLite_4r6s4")
seamless = true
[sub_resource type="ShaderMaterial" id="ShaderMaterial_f6h0a"]
render_priority = 1
shader = ExtResource("25_qf8ke")
shader_parameter/UV_scale = Vector2(1, 1)
shader_parameter/UV_offset = Vector2(0.1655, 0.0735)
shader_parameter/UV_scrolling = Vector2(0.116, 0.205)
shader_parameter/objectNormalOffset = 0.243
shader_parameter/objectNormalOffsetTexture = SubResource("NoiseTexture2D_obi34")
shader_parameter/axisMaskAxisMask_Min = 5.5055
shader_parameter/axisMaskAxisMask_Max = -100.0
shader_parameter/axisMaskAxisMask_AxisRotation = Vector3(0, 0, 0)
shader_parameter/albedo = Color(4.2636375, 2.6044075, 1.1525812, 1)
shader_parameter/alpha = 1.0
shader_parameter/alphaTexture = SubResource("NoiseTexture2D_yhae4")
shader_parameter/normalStrength = 1.0
shader_parameter/roughness = 1.0
shader_parameter/roughnessOffset = 0.0
shader_parameter/metallic = 0.290000013775
shader_parameter/metallicOffset = 0.0
shader_parameter/specular = 0.0
shader_parameter/emission = Color(1, 1, 1, 1)
shader_parameter/emissionIntensity = 1.0
[sub_resource type="CapsuleMesh" id="CapsuleMesh_nd3fm"]
material = SubResource("ShaderMaterial_f6h0a")
radius = 0.112
height = 11.9
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_0l1rm"]
radius = 0.163
height = 11.230375
[node name="Eye" type="Node3D"]
transform = Transform3D(20, 0, 0, 0, 20, 0, 0, 0, 20, 0, 0, 0)
[node name="Body" type="MeshInstance3D" parent="."]
transform = Transform3D(0.85489887, 0.06793073, -0.505765, 0.5184991, -0.078397766, 0.8373004, 0.01751926, -0.994605, -0.100541964, -0.018339759, 0.02467431, 0.028014192)
mesh = SubResource("SphereMesh_ue0no")
[node name="Eyeball" type="MeshInstance3D" parent="."]
transform = Transform3D(0.7147661, 0.058523145, -0.0011959553, -0.058512043, 0.7147457, 0.0056451797, 0.0016527415, -0.005528641, 0.7171357, -0.009354973, 0.028731871, -0.2043596)
mesh = SubResource("SphereMesh_v8d1x")
[node name="Eyeball Ring" type="MeshInstance3D" parent="."]
transform = Transform3D(0.40258938, 0.0006736636, 0.03296299, -0.03295668, -0.0031796098, 0.40257788, 0.00093090534, -0.40392405, -0.003113985, -0.018744273, 0.029613936, -0.27377757)
mesh = SubResource("TorusMesh_0aqcu")
[node name="Inner Iris" type="MeshInstance3D" parent="."]
transform = Transform3D(0.20958887, 0.017160583, -7.5683e-05, -0.017157326, 0.20958291, 0.00035725534, 0.0004846394, -0.0016211391, 0.04538401, 8.897782e-05, 0.003942692, -0.56209004)
mesh = SubResource("SphereMesh_mxqtn")
[node name="Outer Iris" type="MeshInstance3D" parent="."]
transform = Transform3D(0.43651515, 0.03568947, 0.00053336023, -0.03573391, 0.43510565, 0.010900199, 0.0010093808, -0.03067168, 0.1552499, -6.377697e-06, 0.0046777725, -0.49473515)
mesh = SubResource("SphereMesh_ypsyk")
[node name="Iris Glass" type="MeshInstance3D" parent="."]
transform = Transform3D(0.43150875, 0.035310935, -6.3955786e-06, -0.035324097, 0.4310103, 0.004521489, 0.0009977699, -0.011964726, 0.16286051, 0.0039503933, 0.00404079, -0.5085375)
mesh = SubResource("SphereMesh_1c5re")
[node name="SpatialShaderGenerator" type="Node" parent="."]
script = ExtResource("1_hyk7e")
data = SubResource("Resource_44g62")
path = "res://DomeFox/Game Objects/Eye/"
shaderName = "EyeBeam"
shader = ExtResource("25_qf8ke")
numVariants = 1
metadata/_custom_type_script = "uid://2gudnu1r4pjg"
[node name="Beam" type="Node3D" parent="."]
[node name="Black Beam" type="MeshInstance3D" parent="Beam"]
transform = Transform3D(0.49753824, 0, 0, 0, -4.3711392e-08, 0.49753824, 0, -1, -2.1748088e-08, 0, 0, -6.223662)
mesh = SubResource("CapsuleMesh_xu2ok")
skeleton = NodePath("")
[node name="Outer Beam" type="MeshInstance3D" parent="Beam"]
transform = Transform3D(0.49753824, 0, 0, 0, -4.3711392e-08, 0.49753824, 0, -1, -2.1748088e-08, 0, 0, -6.223662)
mesh = SubResource("CapsuleMesh_vlmmu")
skeleton = NodePath("")
[node name="Inner Beam" type="MeshInstance3D" parent="Beam"]
transform = Transform3D(0.34236136, 0, 0, 0, -4.371138e-08, 0.3423613, 0, -0.9999998, -1.4965087e-08, 0, 0, -6.223662)
mesh = SubResource("CapsuleMesh_nd3fm")
skeleton = NodePath("")
[node name="Area3D" type="Area3D" parent="Beam"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="Beam/Area3D"]
transform = Transform3D(1, 0, 0, 0, -4.3711392e-08, -1, 0, 1, -4.3711392e-08, 0, 2.6184352e-07, -5.9902816)
shape = SubResource("CapsuleShape3D_0l1rm")
[node name="Collider" type="Node" parent="Beam/Area3D" node_paths=PackedStringArray("area")]
script = ExtResource("26_ng42h")
area = NodePath("..")
metadata/_custom_type_script = "uid://xnupkyu3042b"

View File

@ -0,0 +1,194 @@
shader_type spatial;
// Rokojori Shader @alb.381-alp.376-emi.406-fad.105-geo.245-met.376-nor.278-rou.390-sha.391-spa.20-spa.474-spe.376-tra.402-tra.402-uvm.491:
/*
[ Rokojori.TransparencyModule ] { "alphaScissorTreshold":0.009999999776482582, "blendMode":{"__class__": "Godot.BaseMaterial3D+BlendModeEnum","value__": 0}, "cullMode":{"__class__": "Godot.BaseMaterial3D+CullModeEnum","value__": 0}, "depthDraw":{"__class__": "Godot.BaseMaterial3D+DepthDrawModeEnum","value__": 0}, "noDepthTest":false, "transparency":{"__class__": "Godot.BaseMaterial3D+TransparencyEnum","value__": 1} }
[ Rokojori.ShadingModule ] { "diffuseMode":{"__class__": "Godot.BaseMaterial3D+DiffuseModeEnum","value__": 0}, "disableAmbientLight":false, "disableFog":false, "disableReceivingShadows":false, "shadingMode":{"__class__": "Godot.BaseMaterial3D+ShadingModeEnum","value__": 1}, "shadowToOpacity":false, "specularMode":{"__class__": "Godot.BaseMaterial3D+SpecularModeEnum","value__": 0}, "wireFrameMode":false }
[ Rokojori.UVModule ] { "channels":[{ "__class__": "Rokojori.UVChannel", "uvTarget": "UV", "uvSource": { "__class__": "Rokojori.MeshUVSource", "meshUV": 0, "sortableCode": true, "uniformGroup": "UVChannels" }, "modifier": { "__class__": "Rokojori.UVScaleOffset", "uvScale": true, "uvUniScale": false, "uvOffset": true, "uvScrolling": true, "sortableCode": true, "uniformGroup": "UVChannels" }, "sortableCode": true, "uniformGroup": "UVChannels"}] }
[ Rokojori.GeometryModule ] { "modifiers":[{ "__class__": "Rokojori.GeometryNormalOffset", "mode": 0, "textureScaleEnabled": true, "textureUVChannel": "UV", "textureRepeat": true, "textureFilter": 5, "sortableCode": true, "uniformGroup": "Geometry"}] }
[ Rokojori.SpatialVarying ] { "variables":[] }
[ Rokojori.SpatialMasksModule ] { "maskVariables":[{ "__class__": "Rokojori.SpatialMaskVariable", "maskName": "axisMask", "maskFormulaType": 0, "customMaskFormula": null, "masks": [ { "__class__": "Rokojori.AxisMask", "fromSource": 0, "uniformSourceFromSpace": 0, "toSpace": 0, "toAxis": 0, "eulerRotation": true, "clamp": true, "sortableCode": true, "uniformGroup": null } ], "sortableCode": true, "uniformGroup": null}] }
[ Rokojori.AlbedoModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 0}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "overlayLayers":[], "repeat":true, "srgb":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "tintVarying":"", "useTint":true, "uvChannel":"UV", "writeAlpha":true }
[ Rokojori.TransparencyModule ] { "alphaScissorTreshold":0.009999999776482582, "blendMode":{"__class__": "Godot.BaseMaterial3D+BlendModeEnum","value__": 0}, "cullMode":{"__class__": "Godot.BaseMaterial3D+CullModeEnum","value__": 0}, "depthDraw":{"__class__": "Godot.BaseMaterial3D+DepthDrawModeEnum","value__": 0}, "noDepthTest":false, "transparency":{"__class__": "Godot.BaseMaterial3D+TransparencyEnum","value__": 1} }
[ Rokojori.AlphaModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 3}, "domainMode":{"__class__": "Rokojori.TextureModule+DomainMode","value__": 2}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "repeat":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "uvChannel":"UV" }
[ Rokojori.FadingModule ] { "alphaFadeMode":{"__class__": "Rokojori.AlphaFadeMode","value__": 2}, "fadingModifiers":[null] }
[ Rokojori.NormalMapModule ] { "allowNegativeStrength":false, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "maximumStrength":5, "repeat":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "useStrength":true, "uvChannel":"UV" }
[ Rokojori.RoughnessModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 0}, "clamp":true, "domainMode":{"__class__": "Rokojori.TextureModule+DomainMode","value__": 3}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "repeat":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "uvChannel":"UV" }
[ Rokojori.MetallicModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 0}, "domainMode":{"__class__": "Rokojori.TextureModule+DomainMode","value__": 3}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "repeat":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "uvChannel":"UV" }
[ Rokojori.SpecularModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 0}, "domainMode":{"__class__": "Rokojori.TextureModule+DomainMode","value__": 0}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "repeat":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "uvChannel":"UV" }
[ Rokojori.EmissionModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 0}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "mode":{"__class__": "Rokojori.EmissionModule+EmissionMode","value__": 2}, "overlayLayers":[], "repeat":true, "srgb":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 1}, "uvChannel":"UV" }
*/
render_mode blend_mix, cull_back, depth_draw_opaque, diffuse_burley, specular_schlick_ggx;
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Transform.gdshaderinc"
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc"
// [ U V C H A N N E L S . U V ]
group_uniforms UVChannels.UV;
uniform vec2 UV_scale = vec2( 1.0, 1.0);
uniform vec2 UV_offset = vec2( 0.0, 0.0);
uniform vec2 UV_scrolling = vec2( 0.0, 0.0);
// [ G E O M E T R Y . O B J E C T N O R M A L O F F S E T ]
group_uniforms Geometry.ObjectNormalOffset;
uniform float objectNormalOffset = 0.1;
uniform sampler2D objectNormalOffsetTexture:hint_default_white, repeat_enable, filter_linear_mipmap_anisotropic;
// [ M A S K S ]
group_uniforms Masks;
// [ A X I S M A S K A X I S M A S K ]
group_uniforms Masks.axisMaskAxisMask;
uniform float axisMaskAxisMask_Min = 0.0;
uniform float axisMaskAxisMask_Max = 0.0;
uniform vec3 axisMaskAxisMask_AxisRotation = vec3( 0.0, 0.0, 0.0);
// [ A L B E D O ]
group_uniforms albedo;
uniform vec4 albedo:source_color = vec4( 1.0, 1.0, 1.0, 1.0);
uniform sampler2D albedoTexture:source_color, hint_default_white, repeat_enable, filter_linear_mipmap_anisotropic;
// [ A L P H A ]
group_uniforms alpha;
uniform float alpha:hint_range( 0.0, 1.0) = 1.0;
uniform sampler2D alphaTexture:hint_default_white, repeat_enable, filter_linear_mipmap_anisotropic;
// [ N O R M A L ]
group_uniforms normal;
uniform float normalStrength:hint_range( 0.0, 5.0) = 1.0;
uniform sampler2D normalTexture:hint_normal, repeat_enable, filter_linear_mipmap_anisotropic;
// [ R O U G H N E S S ]
group_uniforms roughness;
uniform float roughness:hint_range( 0.0, 1.0) = 1.0;
uniform float roughnessOffset:hint_range( -1.0, 1.0) = 0.0;
uniform sampler2D roughnessTexture:hint_default_white, repeat_enable, filter_linear_mipmap_anisotropic;
// [ M E T A L L I C ]
group_uniforms metallic;
uniform float metallic:hint_range( 0.0, 1.0) = 0.0;
uniform float metallicOffset:hint_range( -1.0, 1.0) = 0.0;
uniform sampler2D metallicTexture:hint_default_white, repeat_enable, filter_linear_mipmap_anisotropic;
// [ S P E C U L A R ]
group_uniforms specular;
uniform float specular:hint_range( 0.0, 1.0) = 0.5;
// [ E M I S S I O N ]
group_uniforms emission;
uniform vec4 emission:source_color = vec4( 1.0, 1.0, 1.0, 1.0);
uniform float emissionIntensity:hint_range( 0.0, 20.0) = 1.0;
uniform sampler2D emissionTexture:source_color, hint_default_black, repeat_enable, filter_linear_mipmap_anisotropic;
void vertex()
{
UV = UV; UV = UV * UV_scale + UV_offset + TIME * UV_scrolling;
// [ O B J E C T N O R M A L O F F S E T ]
{
float objectNormalOffsetAmount = objectNormalOffset;
float sampledObjectNormalOffset = texture( objectNormalOffsetTexture, UV ).r;
objectNormalOffsetAmount *= sampledObjectNormalOffset;
VERTEX += NORMAL * objectNormalOffsetAmount;
}
}
void fragment()
{
float axisMaskMask0 = 0.0;
{
{
float axisMask_AxisValue = (viewToLocal( rotateEulerDegrees( VERTEX, axisMaskAxisMask_AxisRotation ), INV_VIEW_MATRIX, MODEL_MATRIX )).y;
float axisMask_normalizedValue = normalizeToRange01( axisMask_AxisValue, axisMaskAxisMask_Min, axisMaskAxisMask_Max );
axisMaskMask0 = axisMask_normalizedValue;
}
}
float axisMask = axisMaskMask0;
vec4 sampledAlbedo = texture( albedoTexture, UV );
ALBEDO = sampledAlbedo.rgb * albedo.rgb;
ALPHA *= sampledAlbedo.a * albedo.a * axisMask;
vec4 sampledAlpha = texture( alphaTexture, UV );
ALPHA *= sampledAlpha.r * alpha;
vec4 sampledNormal = texture( normalTexture, UV );
NORMAL_MAP = sampledNormal.rgb;
NORMAL_MAP_DEPTH = normalStrength;
vec4 sampledRoughness = texture( roughnessTexture, UV );
ROUGHNESS = sampledRoughness.g * roughness + roughnessOffset;
ROUGHNESS = clamp01( ROUGHNESS );
vec4 sampledMetallic = texture( metallicTexture, UV );
METALLIC = sampledMetallic.b * metallic + metallicOffset;
vec4 sampledEmission = texture( emissionTexture, UV );
EMISSION = sampledEmission.rgb * emission.rgb * emissionIntensity;
}

View File

@ -0,0 +1 @@
uid://dwidfv18u7fi0

View File

@ -0,0 +1,195 @@
shader_type spatial;
// Rokojori Shader @alb.381-alp.376-emi.406-fad.105-geo.245-met.376-nor.278-rou.390-sha.391-spa.20-spa.474-spe.376-tra.402-tra.402-uvm.491:
/*
[ Rokojori.TransparencyModule ] { "alphaScissorTreshold":0.009999999776482582, "blendMode":{"__class__": "Godot.BaseMaterial3D+BlendModeEnum","value__": 0}, "cullMode":{"__class__": "Godot.BaseMaterial3D+CullModeEnum","value__": 0}, "depthDraw":{"__class__": "Godot.BaseMaterial3D+DepthDrawModeEnum","value__": 0}, "noDepthTest":false, "transparency":{"__class__": "Godot.BaseMaterial3D+TransparencyEnum","value__": 1} }
[ Rokojori.ShadingModule ] { "diffuseMode":{"__class__": "Godot.BaseMaterial3D+DiffuseModeEnum","value__": 0}, "disableAmbientLight":false, "disableFog":false, "disableReceivingShadows":false, "shadingMode":{"__class__": "Godot.BaseMaterial3D+ShadingModeEnum","value__": 1}, "shadowToOpacity":false, "specularMode":{"__class__": "Godot.BaseMaterial3D+SpecularModeEnum","value__": 0}, "wireFrameMode":false }
[ Rokojori.UVModule ] { "channels":[{ "__class__": "Rokojori.UVChannel", "uvTarget": "UV", "uvSource": { "__class__": "Rokojori.MeshUVSource", "meshUV": 0, "sortableCode": true, "uniformGroup": "UVChannels" }, "modifier": { "__class__": "Rokojori.UVScaleOffset", "uvScale": true, "uvUniScale": false, "uvOffset": true, "uvScrolling": true, "sortableCode": true, "uniformGroup": "UVChannels" }, "sortableCode": true, "uniformGroup": "UVChannels"}] }
[ Rokojori.GeometryModule ] { "modifiers":[{ "__class__": "Rokojori.GeometryNormalOffset", "mode": 0, "textureScaleEnabled": true, "textureUVChannel": "UV", "textureRepeat": true, "textureFilter": 5, "sortableCode": true, "uniformGroup": "Geometry"}] }
[ Rokojori.SpatialVarying ] { "variables":[] }
[ Rokojori.SpatialMasksModule ] { "maskVariables":[{ "__class__": "Rokojori.SpatialMaskVariable", "maskName": "axisMask", "maskFormulaType": 0, "customMaskFormula": null, "masks": [ { "__class__": "Rokojori.AxisMask", "fromSource": 0, "uniformSourceFromSpace": 0, "toSpace": 0, "toAxis": 0, "eulerRotation": true, "clamp": true, "sortableCode": true, "uniformGroup": null } ], "sortableCode": true, "uniformGroup": null}] }
[ Rokojori.AlbedoModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 0}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "overlayLayers":[], "repeat":true, "srgb":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "tintVarying":"", "useTint":true, "uvChannel":"UV", "writeAlpha":true }
[ Rokojori.TransparencyModule ] { "alphaScissorTreshold":0.009999999776482582, "blendMode":{"__class__": "Godot.BaseMaterial3D+BlendModeEnum","value__": 0}, "cullMode":{"__class__": "Godot.BaseMaterial3D+CullModeEnum","value__": 0}, "depthDraw":{"__class__": "Godot.BaseMaterial3D+DepthDrawModeEnum","value__": 0}, "noDepthTest":false, "transparency":{"__class__": "Godot.BaseMaterial3D+TransparencyEnum","value__": 1} }
[ Rokojori.AlphaModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 3}, "domainMode":{"__class__": "Rokojori.TextureModule+DomainMode","value__": 2}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "repeat":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "uvChannel":"UV" }
[ Rokojori.FadingModule ] { "alphaFadeMode":{"__class__": "Rokojori.AlphaFadeMode","value__": 2}, "fadingModifiers":[null] }
[ Rokojori.NormalMapModule ] { "allowNegativeStrength":false, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "maximumStrength":5, "repeat":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "useStrength":true, "uvChannel":"UV" }
[ Rokojori.RoughnessModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 0}, "clamp":true, "domainMode":{"__class__": "Rokojori.TextureModule+DomainMode","value__": 3}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "repeat":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "uvChannel":"UV" }
[ Rokojori.MetallicModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 0}, "domainMode":{"__class__": "Rokojori.TextureModule+DomainMode","value__": 3}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "repeat":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "uvChannel":"UV" }
[ Rokojori.SpecularModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 0}, "domainMode":{"__class__": "Rokojori.TextureModule+DomainMode","value__": 0}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "repeat":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "uvChannel":"UV" }
[ Rokojori.EmissionModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 0}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "mode":{"__class__": "Rokojori.EmissionModule+EmissionMode","value__": 2}, "overlayLayers":[], "repeat":true, "srgb":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 1}, "uvChannel":"UV" }
*/
render_mode blend_mix, cull_back, depth_draw_opaque, diffuse_burley, specular_schlick_ggx;
stencil_mode read, compare_not_equal, 2;
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Transform.gdshaderinc"
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc"
// [ U V C H A N N E L S . U V ]
group_uniforms UVChannels.UV;
uniform vec2 UV_scale = vec2( 1.0, 1.0);
uniform vec2 UV_offset = vec2( 0.0, 0.0);
uniform vec2 UV_scrolling = vec2( 0.0, 0.0);
// [ G E O M E T R Y . O B J E C T N O R M A L O F F S E T ]
group_uniforms Geometry.ObjectNormalOffset;
uniform float objectNormalOffset = 0.1;
uniform sampler2D objectNormalOffsetTexture:hint_default_white, repeat_enable, filter_linear_mipmap_anisotropic;
// [ M A S K S ]
group_uniforms Masks;
// [ A X I S M A S K A X I S M A S K ]
group_uniforms Masks.axisMaskAxisMask;
uniform float axisMaskAxisMask_Min = 0.0;
uniform float axisMaskAxisMask_Max = 0.0;
uniform vec3 axisMaskAxisMask_AxisRotation = vec3( 0.0, 0.0, 0.0);
// [ A L B E D O ]
group_uniforms albedo;
uniform vec4 albedo:source_color = vec4( 1.0, 1.0, 1.0, 1.0);
uniform sampler2D albedoTexture:source_color, hint_default_white, repeat_enable, filter_linear_mipmap_anisotropic;
// [ A L P H A ]
group_uniforms alpha;
uniform float alpha:hint_range( 0.0, 1.0) = 1.0;
uniform sampler2D alphaTexture:hint_default_white, repeat_enable, filter_linear_mipmap_anisotropic;
// [ N O R M A L ]
group_uniforms normal;
uniform float normalStrength:hint_range( 0.0, 5.0) = 1.0;
uniform sampler2D normalTexture:hint_normal, repeat_enable, filter_linear_mipmap_anisotropic;
// [ R O U G H N E S S ]
group_uniforms roughness;
uniform float roughness:hint_range( 0.0, 1.0) = 1.0;
uniform float roughnessOffset:hint_range( -1.0, 1.0) = 0.0;
uniform sampler2D roughnessTexture:hint_default_white, repeat_enable, filter_linear_mipmap_anisotropic;
// [ M E T A L L I C ]
group_uniforms metallic;
uniform float metallic:hint_range( 0.0, 1.0) = 0.0;
uniform float metallicOffset:hint_range( -1.0, 1.0) = 0.0;
uniform sampler2D metallicTexture:hint_default_white, repeat_enable, filter_linear_mipmap_anisotropic;
// [ S P E C U L A R ]
group_uniforms specular;
uniform float specular:hint_range( 0.0, 1.0) = 0.5;
// [ E M I S S I O N ]
group_uniforms emission;
uniform vec4 emission:source_color = vec4( 1.0, 1.0, 1.0, 1.0);
uniform float emissionIntensity:hint_range( 0.0, 20.0) = 1.0;
uniform sampler2D emissionTexture:source_color, hint_default_black, repeat_enable, filter_linear_mipmap_anisotropic;
void vertex()
{
UV = UV; UV = UV * UV_scale + UV_offset + TIME * UV_scrolling;
// [ O B J E C T N O R M A L O F F S E T ]
{
float objectNormalOffsetAmount = objectNormalOffset;
float sampledObjectNormalOffset = texture( objectNormalOffsetTexture, UV ).r;
objectNormalOffsetAmount *= sampledObjectNormalOffset;
VERTEX += NORMAL * objectNormalOffsetAmount;
}
}
void fragment()
{
float axisMaskMask0 = 0.0;
{
{
float axisMask_AxisValue = (viewToLocal( rotateEulerDegrees( VERTEX, axisMaskAxisMask_AxisRotation ), INV_VIEW_MATRIX, MODEL_MATRIX )).y;
float axisMask_normalizedValue = normalizeToRange01( axisMask_AxisValue, axisMaskAxisMask_Min, axisMaskAxisMask_Max );
axisMaskMask0 = axisMask_normalizedValue;
}
}
float axisMask = axisMaskMask0;
vec4 sampledAlbedo = texture( albedoTexture, UV );
ALBEDO = sampledAlbedo.rgb * albedo.rgb;
ALPHA *= sampledAlbedo.a * albedo.a * axisMask;
vec4 sampledAlpha = texture( alphaTexture, UV );
ALPHA *= sampledAlpha.r * alpha;
vec4 sampledNormal = texture( normalTexture, UV );
NORMAL_MAP = sampledNormal.rgb;
NORMAL_MAP_DEPTH = normalStrength;
vec4 sampledRoughness = texture( roughnessTexture, UV );
ROUGHNESS = sampledRoughness.g * roughness + roughnessOffset;
ROUGHNESS = clamp01( ROUGHNESS );
vec4 sampledMetallic = texture( metallicTexture, UV );
METALLIC = sampledMetallic.b * metallic + metallicOffset;
vec4 sampledEmission = texture( emissionTexture, UV );
EMISSION = sampledEmission.rgb * emission.rgb * emissionIntensity;
}

View File

@ -0,0 +1 @@
uid://lxygv2l76ka8

View File

@ -0,0 +1,14 @@
[gd_resource type="NoiseTexture2D" load_steps=3 format=3 uid="uid://bbx4el03kmbfh"]
[sub_resource type="Gradient" id="Gradient_mibh3"]
offsets = PackedFloat32Array(0.28033474, 0.46025103, 0.65690374, 1)
colors = PackedColorArray(0, 0, 0, 1, 0.14745612, 0.14745612, 0.14745612, 1, 0.55102026, 0.55102026, 0.55102026, 1, 1, 1, 1, 1)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_p5gjd"]
[resource]
width = 2048
height = 2048
noise = SubResource("FastNoiseLite_p5gjd")
color_ramp = SubResource("Gradient_mibh3")
seamless = true

View File

@ -0,0 +1,128 @@
shader_type spatial;
render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_burley, specular_schlick_ggx;
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Transform.gdshaderinc"
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Normals.gdshaderinc"
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc"
uniform vec4 albedo : source_color;
uniform sampler2D texture_albedo : source_color, filter_linear_mipmap_anisotropic, repeat_enable;
uniform ivec2 albedo_texture_size;
uniform float roughness : hint_range(0.0, 1.0);
uniform sampler2D texture_metallic : hint_default_white, filter_linear_mipmap_anisotropic, repeat_enable;
uniform vec4 metallic_texture_channel;
uniform sampler2D texture_roughness : hint_roughness_r, filter_linear_mipmap_anisotropic, repeat_enable;
uniform float specular : hint_range(0.0, 1.0, 0.01);
uniform float metallic : hint_range(0.0, 1.0, 0.01);
uniform sampler2D texture_normal : hint_roughness_normal, filter_linear_mipmap_anisotropic, repeat_enable;
uniform sampler2D texture_normal2 : hint_roughness_normal, filter_linear_mipmap_anisotropic, repeat_enable;
uniform float normal_mix : hint_range(0.0,1.0);
uniform float normal_scale : hint_range(0, 16.0);
uniform vec2 uv1_scale;
uniform vec2 uv1_offset;
uniform vec2 uv2_scale;
uniform vec2 uv2_offset;
uniform vec2 mapSize = vec2(1024,1024);
uniform vec2 mapCenter = vec2(0,0);
uniform sampler2D heightMap;
uniform float minHeight = 0;
uniform float maxHeight = 0;
uniform float normalTexelSize = 0.1;
uniform float normalHeightSize = 1;
varying vec2 heightUV;
uniform float snapDistance: hint_range(5.0, 100.0) = 25;
uniform float sinkDistanceStart:hint_range(0,5000) = 2000;
uniform float sinkDistanceEnd:hint_range(0,5000) = 3000;
uniform float sinkAmount = 100;
void vertex()
{
vec3 quantizedCam = snapRounded( CAMERA_POSITION_WORLD, snapDistance );
quantizedCam.y = 0.0;
VERTEX += quantizedCam;
vec3 position3D = localToWorld( VERTEX, MODEL_MATRIX );
float sinkMapping = normalizeToRange01( length( position3D - CAMERA_POSITION_WORLD ), sinkDistanceStart, sinkDistanceEnd );
float sinkDistance = mix( 0, sinkAmount, sinkMapping );
position3D += vec3( 0, sinkDistance, 0 );
vec2 mapOffset = mapCenter - mapSize/2.0;
vec2 uv = ( vec2( position3D.x, position3D.z ) - mapOffset ) / mapSize;
heightUV = uv;
float sampledHeight = mix( textureLod( heightMap, uv, 0 ).r, 0.5, sinkMapping );
position3D.y += mix( minHeight, maxHeight, sampledHeight );
VERTEX = worldToLocal( position3D, MODEL_MATRIX );
//vec3 worldNormal = computeNormalFromHeightMap( heightMap, heightUV, normalTexelSize, normalHeightSize );
//vec3 normal = worldNormal;
//
//NORMAL = worldToLocalDirection( normal, MODEL_MATRIX );
//TANGENT = vec3(0.0, 0.0, -1.0) * abs(normal.x);
//TANGENT += vec3(1.0, 0.0, 0.0) * abs(normal.y);
//TANGENT += vec3(1.0, 0.0, 0.0) * abs(normal.z);
//TANGENT = inverse(MODEL_NORMAL_MATRIX) * normalize(TANGENT);
//
//BINORMAL = vec3(0.0, 1.0, 0.0) * abs(normal.x);
//BINORMAL += vec3(0.0, 0.0, -1.0) * abs(normal.y);
//BINORMAL += vec3(0.0, 1.0, 0.0) * abs(normal.z);
//BINORMAL = inverse(MODEL_NORMAL_MATRIX) * normalize(BINORMAL);
UV = heightUV * uv1_scale + uv1_offset;
UV2 = heightUV * uv2_scale + uv2_offset;
// UV1 Triplanar: Enabled (with World Triplanar)
//uv1_power_normal = pow(abs(normal), vec3(uv1_blend_sharpness));
//uv1_triplanar_pos = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz * uv1_scale + uv1_offset;
//uv1_power_normal /= dot(uv1_power_normal, vec3(1.0));
//uv1_triplanar_pos *= vec3(1.0, -1.0, 1.0);
//
//uv2_power_normal = pow(abs(normal), vec3(uv2_blend_sharpness));
//uv2_triplanar_pos = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz * uv2_scale + uv2_offset;
//uv2_power_normal /= dot(uv2_power_normal, vec3(1.0));
//uv2_triplanar_pos *= vec3(1.0, -1.0, 1.0);
}
vec4 triplanar_texture(sampler2D p_sampler, vec3 p_weights, vec3 p_triplanar_pos)
{
vec4 samp = vec4(0.0);
samp += texture(p_sampler, p_triplanar_pos.xy) * p_weights.z;
samp += texture(p_sampler, p_triplanar_pos.xz) * p_weights.y;
samp += texture(p_sampler, p_triplanar_pos.zy * vec2(-1.0, 1.0)) * p_weights.x;
return samp;
}
void fragment()
{
vec4 albedo_tex = texture(texture_albedo, UV );
ALBEDO = albedo.rgb * albedo_tex.rgb;
float metallic_tex = dot(texture(texture_metallic, UV), metallic_texture_channel);
METALLIC = metallic_tex * metallic;
SPECULAR = specular;
vec4 roughness_texture_channel = vec4(1.0, 0.0, 0.0, 0.0);
float roughness_tex = dot(texture(texture_roughness, UV), roughness_texture_channel);
ROUGHNESS = clamp(roughness_tex * roughness,0,1);
vec3 worldNormal = computeNormalFromHeightMap( heightMap, heightUV, normalTexelSize, normalHeightSize );
NORMAL = worldToViewDirection( worldNormal, VIEW_MATRIX );
// Normal Map: Enabled
vec3 nm1 = texture(texture_normal, UV).rgb;
vec3 nm2 = texture(texture_normal2, UV2).rgb;
NORMAL_MAP = mix( nm1, nm2, normal_mix );
NORMAL_MAP_DEPTH = normal_scale;
}

View File

@ -0,0 +1 @@
uid://c4cofkrjxsrpr

View File

@ -0,0 +1,130 @@
using Godot;
using Rokojori;
[Tool, GlobalClass]
public partial class AimControl : Node
{
[Export]
public Node3D aimSource;
[Export]
public Node3D characterSource;
[Export]
public Node3D fastAim;
[Export]
public float fastAimDistance = 40;
[Export]
public float fastScale = 1f;
[Export]
public float fastCharacterVelocity = 1f;
[Export]
public Smoothing fastPositionSmoothing;
[Export]
public Node3D slowAim;
[Export]
public float slowAimDistance = 100;
[Export]
public float slowScale = 1f;
[Export]
public float slowCharacterVelocity = 1f;
[Export]
public Smoothing slowPositionSmoothing;
[Export]
public float yOffset = 0;
[Export]
public CharacterMovement characterMovement;
[Export]
public Node3D focusAim;
[Export]
public Smoothing focusSmoothing;
[Export]
public Pointer pointer;
[Export]
public Action onFocus;
[Export]
public Action onBlur;
public override void _Ready()
{
if ( pointer == null )
{
return;
}
pointer.onPointerChange.AddAction(
( p )=>
{
if ( p == null )
{
this.LogInfo( "onBlur", p );
Action.Trigger( onBlur );
}
else
{
this.LogInfo( "onFocus", p );
Action.Trigger( onFocus );
}
}
);
}
public override void _Process( double delta )
{
if ( Engine.IsEditorHint() )
{
return;
}
var cam = aimSource;
var position = cam.GlobalPosition;
position.Y += yOffset;
var forward = cam.GlobalForward();
// forward.Y = 0;
var characterVelocity = characterMovement.smoothedMovement;
var localCharacterVelocity = characterSource.ToLocalDirection( characterVelocity );
localCharacterVelocity.Z = 0;
var worldVelocityOffset = characterSource.ToGlobalDirection( localCharacterVelocity );
var fastAimPosition = forward * fastAimDistance + position + worldVelocityOffset * fastCharacterVelocity;
var slowAimPosition = forward * slowAimDistance + position + worldVelocityOffset * slowCharacterVelocity;
var fastAimSmoothPosition = Smoothing.Apply( fastPositionSmoothing, fastAimPosition, (float)delta );
var fastDiff = ( fastAimSmoothPosition - fastAimPosition );
fastAim.GlobalPosition = fastAimPosition + fastDiff * fastScale;
var slowAimSmoothPosition = Smoothing.Apply( slowPositionSmoothing, slowAimPosition, (float)delta );
var slowDiff = ( slowAimSmoothPosition - slowAimPosition );
slowAim.GlobalPosition = slowAimPosition + slowDiff * slowScale;
if ( pointer.pointable != null )
{
focusAim.GlobalPosition = Smoothing.Apply( focusSmoothing, pointer.pointable.GlobalPosition, (float)delta );
}
}
}

View File

@ -0,0 +1 @@
uid://bicds4ssfa48u

View File

@ -0,0 +1,7 @@
[gd_resource type="Resource" script_class="AudioFlag" load_steps=2 format=3 uid="uid://u6fo0jyfl07c"]
[ext_resource type="Script" uid="uid://cwsdhnenhdly4" path="res://addons/rokojori_action_library/Runtime/Audio/AudioManager/AudioFlag.cs" id="1_pnr87"]
[resource]
script = ExtResource("1_pnr87")
metadata/_custom_type_script = "uid://cwsdhnenhdly4"

View File

@ -0,0 +1,7 @@
[gd_resource type="Resource" script_class="SelectorFlag" load_steps=2 format=3 uid="uid://1cefjk2en3ki"]
[ext_resource type="Script" uid="uid://dqb1n0314wgdn" path="res://addons/rokojori_action_library/Runtime/Selectors/SelectorFlag.cs" id="1_rnet6"]
[resource]
script = ExtResource("1_rnet6")
metadata/_custom_type_script = "uid://dqb1n0314wgdn"

View File

@ -0,0 +1,71 @@
using Godot;
using Rokojori;
[Tool,GlobalClass]
public partial class LaserBeam: Action
{
[Export]
public Node3D body;
[Export]
public Node3D graphics;
[Export]
public Vector3 direction;
[Export]
public float speed = 1;
[Export]
public Duration duration;
[Export]
public Node3D aim;
[Export]
public Action onDone;
[Export]
public Action onStart;
[Export]
public Curve scaleCurve;
[Export]
public float forwardFollowDistanceScale = 1.5f;
[Export]
public float correctionDistance = 500;
protected override void _OnTrigger()
{
Action.Trigger( onStart );
TimeLineManager.ScheduleSpanWith(
duration,
( span, updateType ) =>
{
if ( ! IsInstanceValid( body ) )
{
return;
}
if ( scaleCurve != null )
{
var scale = scaleCurve.Sample( span.phase );
graphics.Scale = scale * Vector3.One;
}
if ( TimeLineSpanUpdateType.End == updateType )
{
Action.Trigger( onDone );
}
}
);
}
public override void _PhysicsProcess( double delta )
{
body.GlobalPosition += direction * speed * (float)delta;
}
}

View File

@ -0,0 +1 @@
uid://ds7m6xeltbhyv

View File

@ -0,0 +1,338 @@
[gd_scene load_steps=44 format=3 uid="uid://dwdm5cq57lrv2"]
[ext_resource type="Script" uid="uid://ds7m6xeltbhyv" path="res://DomeFox/Game Objects/Laser/LaserBeam.cs" id="1_rsmh3"]
[ext_resource type="Script" uid="uid://ddhwhwos5kkrm" path="res://addons/rokojori_action_library/Runtime/Time/Duration/SecondsDuration.cs" id="2_vdjdq"]
[ext_resource type="Resource" uid="uid://ch5nsa6yafs5l" path="res://addons/rokojori_action_library/Runtime/Time/TimeLines/GameTime.tres" id="3_nlvic"]
[ext_resource type="Script" uid="uid://b4yjsis2fh64c" path="res://addons/rokojori_action_library/Runtime/Actions/ActionList.cs" id="5_0loo2"]
[ext_resource type="Script" uid="uid://crm7o7w0gumhn" path="res://addons/rokojori_action_library/Runtime/Actions/Conditional/Once.cs" id="6_0sgxb"]
[ext_resource type="Script" uid="uid://dq5kae8x62gre" path="res://addons/rokojori_action_library/Runtime/Actions/RemoveNode.cs" id="6_nibk5"]
[ext_resource type="Script" uid="uid://cvw0nxi8migso" path="res://addons/rokojori_action_library/Runtime/Actions/Sequence/StopRepeatSequence.cs" id="6_xwb5b"]
[ext_resource type="Script" uid="uid://dxra6jao22it4" path="res://addons/rokojori_action_library/Runtime/Actions/ActionReference.cs" id="7_88k83"]
[ext_resource type="Script" uid="uid://j41ppn275x8i" path="res://addons/rokojori_action_library/Runtime/Actions/Sequence/RepeatSequence.cs" id="8_1c3gh"]
[ext_resource type="Script" uid="uid://bex6umukt0r8d" path="res://addons/rokojori_action_library/Runtime/Actions/Node/SetNodeState.cs" id="8_brkx5"]
[ext_resource type="Script" uid="uid://ceaglilesxsi4" path="res://addons/rokojori_action_library/Runtime/Actions/ActionSequence.cs" id="9_0sgxb"]
[ext_resource type="Script" uid="uid://cbtqgliarexam" path="res://addons/rokojori_action_library/Runtime/Animation/Transform/AnimateTransform.cs" id="9_gk6jt"]
[ext_resource type="Script" uid="uid://cnp3xr8gawyi6" path="res://addons/rokojori_action_library/Runtime/Actions/Node3D/SetTransform.cs" id="9_qx516"]
[ext_resource type="Script" uid="uid://b2g7rycr0ouu4" path="res://addons/rokojori_action_library/Runtime/Actions/Time/Delay.cs" id="10_6687p"]
[ext_resource type="Script" uid="uid://be4oc7tgr55vu" path="res://addons/rokojori_action_library/Runtime/Animation/Transform/TransformCurve.cs" id="10_xwb5b"]
[ext_resource type="Script" uid="uid://bqpiwp16h7614" path="res://addons/rokojori_action_library/Runtime/Animation/Transform/TransformAnimations.cs" id="11_u0sqv"]
[ext_resource type="Script" uid="uid://cd0ikdsdhutn0" path="res://addons/rokojori_action_library/Runtime/Actions/RJLogMessage.cs" id="13_u0sqv"]
[ext_resource type="Script" uid="uid://dnstanbmrqthf" path="res://addons/rokojori_action_library/Runtime/Actions/Node3D/PlayParticles.cs" id="16_qx516"]
[ext_resource type="Script" uid="uid://xnupkyu3042b" path="res://addons/rokojori_action_library/Runtime/Interactions/Collider.cs" id="19_6687p"]
[ext_resource type="Resource" uid="uid://ckyvygk7xtnpm" path="res://DomeFox/Game Objects/Wall/Projectile-Collision.tres" id="20_6687p"]
[ext_resource type="Shader" uid="uid://g038sa37p3uc" path="res://DomeFox/X/Flares/FlareShaderAdd.gdshader" id="21_anpfd"]
[sub_resource type="Resource" id="Resource_88k83"]
script = ExtResource("2_vdjdq")
seconds = 1.0
timeLine = ExtResource("3_nlvic")
metadata/_custom_type_script = "uid://ddhwhwos5kkrm"
[sub_resource type="Curve" id="Curve_u0sqv"]
_limits = [0.0, 2.0, 0.0, 1.0]
_data = [Vector2(0, 1.2477157), 0.0, 0.0, 0, 0, Vector2(0.05333334, 2), 0.0, 0.0, 0, 0, Vector2(0.16266668, 1.1817259), -1.5747585, -1.5747585, 0, 0, Vector2(0.3786667, 1.0365483), 0.0, 0.0, 0, 0, Vector2(1, 0.9705584), 0.0, 0.0, 0, 0]
point_count = 5
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_0sgxb"]
render_priority = 1
transparency = 1
shading_mode = 0
albedo_color = Color(0.9764706, 0.070588246, 0.3857546, 1)
grow = true
grow_amount = 0.01
stencil_mode = 3
stencil_flags = 1
stencil_compare = 5
stencil_reference = 2
metadata/_stencil_owned = true
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qx516"]
next_pass = SubResource("StandardMaterial3D_0sgxb")
shading_mode = 0
albedo_color = Color(1.2836698, 0.7847774, 0.60943115, 1)
disable_receive_shadows = true
stencil_mode = 1
stencil_flags = 2
stencil_reference = 2
stencil_color = Color(0.9764706, 0.070588246, 0.3857546, 1)
[sub_resource type="Curve" id="Curve_0sgxb"]
_limits = [0.0, 100.0, 0.0, 1.0]
_data = [Vector2(0, 0), 0.0, 40.260204, 0, 0, Vector2(1, 100), 213.86508, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_6687p"]
curve = SubResource("Curve_0sgxb")
[sub_resource type="Curve" id="Curve_12esp"]
_limits = [-200.0, 200.0, 0.0, 1.0]
_data = [Vector2(0, 142.44466), 0.0, 0.0, 0, 0, Vector2(1, 35.53488), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_anpfd"]
curve = SubResource("Curve_12esp")
[sub_resource type="Curve" id="Curve_anpfd"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.50381684, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), -3.578812, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_12esp"]
curve = SubResource("Curve_anpfd")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_u0sqv"]
particle_flag_align_y = true
spread = 180.0
initial_velocity_min = 20.0
initial_velocity_max = 20.0
linear_accel_curve = SubResource("CurveTexture_anpfd")
damping_min = 10.0
damping_max = 10.0
damping_curve = SubResource("CurveTexture_6687p")
scale_curve = SubResource("CurveTexture_12esp")
turbulence_noise_strength = 16.15
turbulence_noise_scale = 10.0
turbulence_noise_speed_random = 0.06
turbulence_influence_min = 0.0
turbulence_influence_max = 0.075
[sub_resource type="CapsuleMesh" id="CapsuleMesh_qx516"]
radius = 0.1
height = 0.5
radial_segments = 5
rings = 3
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_apv0p"]
render_priority = 1
transparency = 1
shading_mode = 0
albedo_color = Color(0.9764706, 0.070588246, 0.3857546, 1)
grow = true
grow_amount = 0.225
stencil_mode = 3
stencil_flags = 1
stencil_compare = 5
stencil_reference = 2
metadata/_stencil_owned = true
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_kglu6"]
next_pass = SubResource("StandardMaterial3D_apv0p")
shading_mode = 0
albedo_color = Color(1.2836698, 0.7847774, 0.60943115, 1)
disable_receive_shadows = true
stencil_mode = 1
stencil_flags = 2
stencil_reference = 2
stencil_color = Color(0.9764706, 0.070588246, 0.3857546, 1)
stencil_outline_thickness = 0.225
[sub_resource type="CapsuleMesh" id="CapsuleMesh_12esp"]
radius = 1.0
height = 3.0
radial_segments = 5
rings = 3
[sub_resource type="CapsuleMesh" id="CapsuleMesh_xwb5b"]
radius = 0.6
height = 5.0
[sub_resource type="Curve" id="Curve_qx516"]
_limits = [0.0, 2.0, 0.0, 1.0]
_data = [Vector2(0, 1), 0.0, 1.6231704, 0, 1, Vector2(0.10330579, 1.1676829), 0.0, 0.0, 0, 0, Vector2(0.22520661, 0.95960355), 0.0, 0.0, 0, 0, Vector2(0.3264463, 1.0884145), 0.0, 0.0, 0, 0, Vector2(0.43388432, 0.91996944), 0.0, 0.0, 0, 0, Vector2(0.481405, 1.1181402), 0.0, 0.0, 0, 0, Vector2(0.5619835, 0.91996944), 0.0, 0.0, 0, 0, Vector2(0.69214886, 1.6234756), 0.0, 0.0, 0, 0, Vector2(0.766529, 0.672256), 0.0, 0.0, 0, 0, Vector2(0.85123974, 1.078506), 0.0, 0.0, 0, 0, Vector2(1, 1), -0.527735, 0.0, 1, 0]
point_count = 11
[sub_resource type="Resource" id="Resource_apv0p"]
script = ExtResource("10_xwb5b")
transformTarget = 4
xCurve = SubResource("Curve_qx516")
yCurve = SubResource("Curve_qx516")
zCurve = SubResource("Curve_qx516")
metadata/_custom_type_script = "uid://be4oc7tgr55vu"
[sub_resource type="Resource" id="Resource_kglu6"]
script = ExtResource("11_u0sqv")
curves = [SubResource("Resource_apv0p")]
timeline = ExtResource("3_nlvic")
metadata/_custom_type_script = "uid://bqpiwp16h7614"
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_u0sqv"]
radius = 1.8408203
height = 7.665756
[sub_resource type="ShaderMaterial" id="ShaderMaterial_to38e"]
render_priority = 0
shader = ExtResource("21_anpfd")
shader_parameter/color = Color(0.8862745, 0.41734034, 0.23137252, 1)
shader_parameter/alphaScale = 1.0
shader_parameter/circleAmount = 1.0
shader_parameter/circleDistortion = 2.1085
shader_parameter/ellipseAmount = 0.057
shader_parameter/ellipseDistortion = 2.3855
shader_parameter/ellipseScale = Vector2(1, 0.982)
shader_parameter/add_vs_max = 0.0
shader_parameter/centerHSL = Vector4(0.08, 0, 0.18, 1)
shader_parameter/outsideHSL = Vector4(-0.05, 1.65, 0.02, 0)
shader_parameter/sizeX = 21.20800095988
shader_parameter/sizeY = 1.0
shader_parameter/scaleAll = 0.1755
shader_parameter/worldSize_vs_screenSize = 0.3450000163875
shader_parameter/usSpectralsNoise = true
shader_parameter/spectralsAmount = Vector3(0.1, 0.05, 0.02)
shader_parameter/nonSpectralAmount = 1.0
shader_parameter/spectralsSize = Vector3(1, 0.8, 0.5)
shader_parameter/spectralsSharpness = Vector3(0, 0, 0)
shader_parameter/spectralsFrequency = Vector3(50, 200, 500)
shader_parameter/spectralsSpeed = Vector3(5, -3, -2)
shader_parameter/useQuickOcclusionTest = false
shader_parameter/occlusionZOffset = 5.7530016982674965
shader_parameter/occlusionTestMaxSteps = 10
shader_parameter/occlusionTestStepStride = 1.0
shader_parameter/occlusionTest_ViewDependingScaleAmount = 0.5
shader_parameter/occlusionTest_ViewDependingDistance = 100.0
[sub_resource type="QuadMesh" id="QuadMesh_flomn"]
material = SubResource("ShaderMaterial_to38e")
size = Vector2(0.0001, 0.0001)
[node name="LaserBeam Root" type="Node3D"]
[node name="LaserBeam" type="Node" parent="." node_paths=PackedStringArray("body", "graphics", "onDone", "onStart")]
script = ExtResource("1_rsmh3")
body = NodePath("..")
graphics = NodePath("../Graphics")
duration = SubResource("Resource_88k83")
onDone = NodePath("../Once On Done")
onStart = NodePath("../On Start")
scaleCurve = SubResource("Curve_u0sqv")
metadata/_custom_type_script = "uid://ds7m6xeltbhyv"
[node name="PlayParticles Shoot" type="Node" parent="." node_paths=PackedStringArray("particles3D")]
script = ExtResource("16_qx516")
particles3D = NodePath("../Shoot Start")
timeLine = ExtResource("3_nlvic")
metadata/_custom_type_script = "uid://dnstanbmrqthf"
[node name="Shoot Start" type="GPUParticles3D" parent="."]
transform = Transform3D(2.047461, 0, 0, 0, 2.047461, 0, 0, 0, 2.047461, 0, 0, 0)
material_override = SubResource("StandardMaterial3D_qx516")
emitting = false
amount = 7
lifetime = 0.05
one_shot = true
explosiveness = 1.0
randomness = 0.47
fixed_fps = 0
interpolate = false
fract_delta = false
process_material = SubResource("ParticleProcessMaterial_u0sqv")
draw_pass_1 = SubResource("CapsuleMesh_qx516")
[node name="PlayParticles Impact" type="Node" parent="." node_paths=PackedStringArray("particles3D")]
script = ExtResource("16_qx516")
particles3D = NodePath("../Impact")
timeLine = ExtResource("3_nlvic")
metadata/_custom_type_script = "uid://dnstanbmrqthf"
[node name="Impact" type="GPUParticles3D" parent="."]
transform = Transform3D(2.047461, 0, 0, 0, 2.047461, 0, 0, 0, 2.047461, 0, 0, 0)
material_override = SubResource("StandardMaterial3D_kglu6")
emitting = false
amount = 20
lifetime = 0.5
one_shot = true
explosiveness = 1.0
fixed_fps = 0
interpolate = false
fract_delta = false
process_material = SubResource("ParticleProcessMaterial_u0sqv")
draw_pass_1 = SubResource("CapsuleMesh_12esp")
[node name="Graphics" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, 0, 0, 0)
cast_shadow = 0
mesh = SubResource("CapsuleMesh_xwb5b")
surface_material_override/0 = SubResource("StandardMaterial3D_kglu6")
[node name="Once On Done" type="Node" parent="." node_paths=PackedStringArray("action")]
script = ExtResource("6_0sgxb")
action = NodePath("On Done")
metadata/_custom_type_script = "uid://crm7o7w0gumhn"
[node name="On Done" type="Node" parent="Once On Done"]
script = ExtResource("5_0loo2")
metadata/_custom_type_script = "uid://b4yjsis2fh64c"
[node name="Disable Graphics + Physics" type="Node" parent="Once On Done/On Done" node_paths=PackedStringArray("disable")]
script = ExtResource("8_brkx5")
disable = [NodePath("../../../Graphics"), NodePath("../../../Area3D"), NodePath("../../../Area3D/CollisionShape3D"), NodePath("../../../Area3D/Collider")]
metadata/_custom_type_script = "uid://bex6umukt0r8d"
[node name="Impact Particles" type="Node" parent="Once On Done/On Done" node_paths=PackedStringArray("referencedAction")]
script = ExtResource("7_88k83")
referencedAction = NodePath("../../../PlayParticles Impact")
metadata/_custom_type_script = "uid://dxra6jao22it4"
[node name="StopRepeatSequence" type="Node" parent="Once On Done/On Done" node_paths=PackedStringArray("repeatSequence")]
script = ExtResource("6_xwb5b")
repeatSequence = NodePath("../../../Repeat Animation")
metadata/_custom_type_script = "uid://cvw0nxi8migso"
[node name="ActionSequence" type="Node" parent="Once On Done/On Done"]
script = ExtResource("9_0sgxb")
metadata/_custom_type_script = "uid://ceaglilesxsi4"
[node name="Delay" type="Node" parent="Once On Done/On Done/ActionSequence"]
script = ExtResource("10_6687p")
duration = 1.0
timeLine = ExtResource("3_nlvic")
metadata/_custom_type_script = "uid://b2g7rycr0ouu4"
[node name="RemoveNode" type="Node" parent="Once On Done/On Done/ActionSequence" node_paths=PackedStringArray("target")]
script = ExtResource("6_nibk5")
target = NodePath("../../../..")
metadata/_custom_type_script = "uid://dq5kae8x62gre"
[node name="On Start" type="Node" parent="."]
script = ExtResource("5_0loo2")
metadata/_custom_type_script = "uid://b4yjsis2fh64c"
[node name="SetTransform" type="Node" parent="On Start" node_paths=PackedStringArray("target")]
script = ExtResource("9_qx516")
target = NodePath("../../Graphics")
scaleMode = 1
scale = Vector3(0.001, 0.001, 0.001)
metadata/_custom_type_script = "uid://cnp3xr8gawyi6"
[node name="Repeat Animation" type="Node" parent="." node_paths=PackedStringArray("action")]
script = ExtResource("8_1c3gh")
action = NodePath("AnimateTransform")
timeLine = ExtResource("3_nlvic")
metadata/_custom_type_script = "uid://j41ppn275x8i"
[node name="AnimateTransform" type="Node" parent="Repeat Animation" node_paths=PackedStringArray("target")]
script = ExtResource("9_gk6jt")
animations = SubResource("Resource_kglu6")
target = NodePath("../../Graphics")
metadata/_custom_type_script = "uid://cbtqgliarexam"
[node name="RJLogMessage" type="Node" parent="Repeat Animation"]
script = ExtResource("13_u0sqv")
message = "repeat"
metadata/_custom_type_script = "uid://cd0ikdsdhutn0"
[node name="Area3D" type="Area3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.112234)
[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"]
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, 0, -5.269331e-08, 1.2054825)
shape = SubResource("CapsuleShape3D_u0sqv")
[node name="Collider" type="Node" parent="Area3D" node_paths=PackedStringArray("area", "onEntered")]
script = ExtResource("19_6687p")
area = NodePath("..")
collisionType = ExtResource("20_6687p")
onEntered = NodePath("../../Once On Done")
metadata/_custom_type_script = "uid://xnupkyu3042b"
[node name="MeshInstance3D3" type="MeshInstance3D" parent="Area3D"]
mesh = SubResource("QuadMesh_flomn")
skeleton = NodePath("../..")

View File

@ -0,0 +1,7 @@
[gd_resource type="Resource" script_class="SelectorFlag" load_steps=2 format=3 uid="uid://cin88n84r0nqq"]
[ext_resource type="Script" uid="uid://dqb1n0314wgdn" path="res://addons/rokojori_action_library/Runtime/Selectors/SelectorFlag.cs" id="1_jo1eh"]
[resource]
script = ExtResource("1_jo1eh")
metadata/_custom_type_script = "uid://dqb1n0314wgdn"

View File

@ -0,0 +1,49 @@
using Godot;
using Rokojori;
[Tool,GlobalClass]
public partial class ShootLaser: Action
{
[Export]
public PackedScene laserScene;
[Export]
public Node3D projectileOrigin;
[Export]
public float speed = 1f;
[Export]
public Node container;
[Export]
public float forwardFollowDistanceScale = 1.5f;
[Export]
public float yOffset = -5;
protected override void _OnTrigger()
{
var cam = Unique<Camera3D>.Get();
var distance = projectileOrigin.DistanceTo( cam );
var aim = cam.GlobalForward() * forwardFollowDistanceScale + cam.GlobalPosition;
aim.Y += yOffset;
var dir = projectileOrigin.DirectionTowards( aim ).Normalized();
var laserScene = this.laserScene.Instantiate();
laserScene.SetParent( container );
var laserBeam = laserScene.Get<LaserBeam>();
laserBeam.direction = dir;
laserBeam.speed = speed;
laserBeam.body.LookTowards( dir );
laserBeam.forwardFollowDistanceScale = 1.5f;
laserBeam.body.GlobalPosition = projectileOrigin.GlobalPosition;
Action.Trigger( laserBeam );
}
}

View File

@ -0,0 +1 @@
uid://cdw4pq276w8om

Binary file not shown.

View File

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://b4v01j8eenmkk"
path="res://.godot/imported/waer-fox-shoot.ogg-081ddd9c4a11420ac2d845044b486c25.oggvorbisstr"
[deps]
source_file="res://DomeFox/Game Objects/Laser/waer-fox-shoot.ogg"
dest_files=["res://.godot/imported/waer-fox-shoot.ogg-081ddd9c4a11420ac2d845044b486c25.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

View File

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://by14wgfo8ateq"
path="res://.godot/imported/water-fox-impact.ogg-a8a15d65b8337b927a71a29ed0fb35eb.oggvorbisstr"
[deps]
source_file="res://DomeFox/Game Objects/Laser/water-fox-impact.ogg"
dest_files=["res://.godot/imported/water-fox-impact.ogg-a8a15d65b8337b927a71a29ed0fb35eb.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View File

@ -0,0 +1,12 @@
using Godot;
using Rokojori;
[Tool, GlobalClass]
public partial class AddCrystal: Action
{
protected override void _OnTrigger()
{
Unique<DomeFoxGame>.Get().AddCrystal();
}
}

View File

@ -0,0 +1 @@
uid://dl81yeh1c5chl

View File

@ -0,0 +1,7 @@
[gd_resource type="Resource" script_class="SelectorFlag" load_steps=2 format=3 uid="uid://ci6tm3us0k74t"]
[ext_resource type="Script" uid="uid://dqb1n0314wgdn" path="res://addons/rokojori_action_library/Runtime/Selectors/SelectorFlag.cs" id="1_thgtq"]
[resource]
script = ExtResource("1_thgtq")
metadata/_custom_type_script = "uid://dqb1n0314wgdn"

View File

@ -0,0 +1,7 @@
[gd_resource type="Resource" script_class="AudioFlag" load_steps=2 format=3 uid="uid://b3ojajukb34mx"]
[ext_resource type="Script" uid="uid://cwsdhnenhdly4" path="res://addons/rokojori_action_library/Runtime/Audio/AudioManager/AudioFlag.cs" id="1_4xcv1"]
[resource]
script = ExtResource("1_4xcv1")
metadata/_custom_type_script = "uid://cwsdhnenhdly4"

View File

@ -0,0 +1,7 @@
[gd_resource type="Resource" script_class="SelectorFlag" load_steps=2 format=3 uid="uid://deislkowftdgc"]
[ext_resource type="Script" uid="uid://dqb1n0314wgdn" path="res://addons/rokojori_action_library/Runtime/Selectors/SelectorFlag.cs" id="1_a1aqg"]
[resource]
script = ExtResource("1_a1aqg")
metadata/_custom_type_script = "uid://dqb1n0314wgdn"

View File

@ -0,0 +1,285 @@
[gd_scene load_steps=53 format=3 uid="uid://dpgjtkmuvsr41"]
[ext_resource type="AudioStream" uid="uid://by14wgfo8ateq" path="res://DomeFox/Game Objects/Laser/water-fox-impact.ogg" id="2_ehw2o"]
[ext_resource type="Script" uid="uid://crm7o7w0gumhn" path="res://addons/rokojori_action_library/Runtime/Actions/Conditional/Once.cs" id="2_ucinm"]
[ext_resource type="Resource" uid="uid://ckyvygk7xtnpm" path="res://DomeFox/Game Objects/Wall/Projectile-Collision.tres" id="3_1ntkc"]
[ext_resource type="Script" uid="uid://bnhnintao4qu0" path="res://addons/rokojori_action_library/Runtime/Animation/Shake/Shake.cs" id="3_icqc8"]
[ext_resource type="Script" uid="uid://dbgwebayabwd5" path="res://addons/rokojori_action_library/Runtime/Interactions/Collidable.cs" id="3_iku3y"]
[ext_resource type="Script" uid="uid://cnp3xr8gawyi6" path="res://addons/rokojori_action_library/Runtime/Actions/Node3D/SetTransform.cs" id="4_2spjm"]
[ext_resource type="Script" uid="uid://dy65lu5p2yf3j" path="res://addons/rokojori_action_library/Runtime/Actions/Sequence/Parallel.cs" id="4_i570k"]
[ext_resource type="Script" uid="uid://bec6skfqkb2ci" path="res://addons/rokojori_action_library/Runtime/Animation/Shake/ShakeEffect.cs" id="4_jv314"]
[ext_resource type="Script" uid="uid://c5tm02yj1bhhx" path="res://addons/rokojori_action_library/Runtime/Animation/AnimationCurve.cs" id="5_ucinm"]
[ext_resource type="Script" uid="uid://dnwqkymbre3vb" path="res://addons/rokojori_action_library/Runtime/Animation/Flash/Flash.cs" id="5_ufil2"]
[ext_resource type="Script" uid="uid://dl81yeh1c5chl" path="res://DomeFox/Game Objects/Stone/AddCrystal.cs" id="6_fd1ou"]
[ext_resource type="Script" uid="uid://ceaglilesxsi4" path="res://addons/rokojori_action_library/Runtime/Actions/ActionSequence.cs" id="7_ufil2"]
[ext_resource type="Resource" uid="uid://b3ojajukb34mx" path="res://DomeFox/Game Objects/Stone/Impact-Audio-Flag.tres" id="9_ehw2o"]
[ext_resource type="Resource" uid="uid://ch5nsa6yafs5l" path="res://addons/rokojori_action_library/Runtime/Time/TimeLines/GameTime.tres" id="9_ucinm"]
[ext_resource type="Script" uid="uid://dq5kae8x62gre" path="res://addons/rokojori_action_library/Runtime/Actions/RemoveNode.cs" id="10_fqg4a"]
[ext_resource type="Script" uid="uid://cbtqgliarexam" path="res://addons/rokojori_action_library/Runtime/Animation/Transform/AnimateTransform.cs" id="11_2spjm"]
[ext_resource type="Script" uid="uid://be4oc7tgr55vu" path="res://addons/rokojori_action_library/Runtime/Animation/Transform/TransformCurve.cs" id="12_p24ea"]
[ext_resource type="Script" uid="uid://bqpiwp16h7614" path="res://addons/rokojori_action_library/Runtime/Animation/Transform/TransformAnimations.cs" id="13_vl44m"]
[ext_resource type="Script" uid="uid://bex6umukt0r8d" path="res://addons/rokojori_action_library/Runtime/Actions/Node/SetNodeState.cs" id="16_p24ea"]
[ext_resource type="Script" uid="uid://dncqth3uf3tb3" path="res://addons/rokojori_action_library/Runtime/Animation/HDRColor.cs" id="19_1ntkc"]
[ext_resource type="Script" uid="uid://ddgf2mfdmqywc" path="res://addons/rokojori_action_library/Runtime/Actions/Node3D/PlaySound.cs" id="19_uxklm"]
[ext_resource type="Script" uid="uid://cupnq55n3nimc" path="res://addons/rokojori_action_library/Runtime/Animation/Flash/FlashEffect.cs" id="20_vk22f"]
[sub_resource type="SphereShape3D" id="SphereShape3D_am4la"]
radius = 11.0
[sub_resource type="Gradient" id="Gradient_fqg4a"]
offsets = PackedFloat32Array(0.10574018, 0.3800905, 0.42081448, 0.54977375)
colors = PackedColorArray(1, 0.015525937, 0, 1, 0.67650515, 0.25879103, 0.24482259, 1, 0.98402494, 0.15313998, 0.012090031, 1, 1, 0.28212523, 0, 1)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_g8ydq"]
frequency = 0.0019
fractal_lacunarity = 3.901
fractal_gain = 0.616
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_i570k"]
width = 2048
height = 2048
noise = SubResource("FastNoiseLite_g8ydq")
color_ramp = SubResource("Gradient_fqg4a")
seamless = true
[sub_resource type="Gradient" id="Gradient_2spjm"]
offsets = PackedFloat32Array(0, 0.8710407, 1)
colors = PackedColorArray(0, 0, 0, 1, 0.52262443, 0.52262443, 0.52262443, 1, 1, 1, 1, 1)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_p24ea"]
noise_type = 2
frequency = 0.0155
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_vl44m"]
width = 1024
height = 1024
noise = SubResource("FastNoiseLite_p24ea")
color_ramp = SubResource("Gradient_2spjm")
seamless = true
[sub_resource type="Gradient" id="Gradient_iku3y"]
offsets = PackedFloat32Array(0, 0.26586103, 0.5770393, 0.7824773, 0.9939577)
colors = PackedColorArray(0.22166497, 0.053978946, 0.109605245, 1, 0.2505562, 0.2858292, 0.33707213, 1, 0.5528689, 0.35738394, 0.28946337, 1, 1.8046634, 0.48373565, 0.2748007, 1, 5.140429, 1.2451453, 0.20758016, 1)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_1ntkc"]
frequency = 0.0019
fractal_lacunarity = 3.901
fractal_gain = 0.616
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_vk22f"]
width = 2048
height = 2048
noise = SubResource("FastNoiseLite_1ntkc")
color_ramp = SubResource("Gradient_iku3y")
seamless = true
[sub_resource type="Gradient" id="Gradient_oyfiu"]
offsets = PackedFloat32Array(0.28418803, 0.46153846, 0.5641026, 0.6303419, 0.84615386)
colors = PackedColorArray(0, 0, 0, 1, 0.29273504, 0.29273504, 0.29273504, 1, 0.5641026, 0.5641026, 0.5641026, 1, 0.8055556, 0.8055556, 0.8055556, 1, 1, 1, 1, 1)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_to7bv"]
noise_type = 2
frequency = 0.0155
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_eqmle"]
width = 1024
height = 1024
noise = SubResource("FastNoiseLite_to7bv")
color_ramp = SubResource("Gradient_oyfiu")
seamless = true
as_normal_map = true
[sub_resource type="Gradient" id="Gradient_0nwun"]
offsets = PackedFloat32Array(0, 0.300905, 0.50213677, 0.55429864, 1)
colors = PackedColorArray(1, 1, 1, 1, 0.82051283, 0.82051283, 0.82051283, 1, 0.49786323, 0.49786323, 0.49786323, 1, 0.22222221, 0.22222221, 0.22222221, 1, 0, 0, 0, 1)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_ueh28"]
noise_type = 2
frequency = 0.0155
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_kwj4g"]
width = 1024
height = 1024
noise = SubResource("FastNoiseLite_ueh28")
color_ramp = SubResource("Gradient_0nwun")
seamless = true
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8ghcl"]
specular_mode = 1
albedo_color = Color(0.5271547, 0.5271547, 0.5271547, 1)
albedo_texture = SubResource("NoiseTexture2D_i570k")
metallic = 0.17
roughness_texture = SubResource("NoiseTexture2D_kwj4g")
emission_enabled = true
emission = Color(0.180933, 0.066380106, 0.02264172, 1)
emission_texture = SubResource("NoiseTexture2D_vk22f")
normal_enabled = true
normal_texture = SubResource("NoiseTexture2D_eqmle")
rim_enabled = true
rim_tint = 1.0
ao_enabled = true
ao_texture = SubResource("NoiseTexture2D_vl44m")
backlight_enabled = true
backlight = Color(0.7511804, 0.03966013, 0.17378098, 1)
[sub_resource type="SphereMesh" id="SphereMesh_bmnja"]
material = SubResource("StandardMaterial3D_8ghcl")
radius = 10.0
height = 20.0
radial_segments = 12
rings = 8
[sub_resource type="Curve" id="Curve_fqg4a"]
_data = [Vector2(0, 1), 0.0, 0.0355988, 0, 0, Vector2(0.21457487, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), -0.016615806, 0.0, 0, 0]
point_count = 3
[sub_resource type="Resource" id="Resource_g8ydq"]
script = ExtResource("5_ucinm")
duration = 0.3
curve = SubResource("Curve_fqg4a")
[sub_resource type="Curve" id="Curve_i570k"]
_data = [Vector2(0.40283397, 0.99031293), -967.3928, 0.0, 1, 0]
point_count = 1
[sub_resource type="Resource" id="Resource_2spjm"]
script = ExtResource("5_ucinm")
duration = 0.3
curve = SubResource("Curve_i570k")
scaleY = 60.0
[sub_resource type="Resource" id="Resource_p24ea"]
script = ExtResource("4_jv314")
shakeAmountCurve = SubResource("Resource_g8ydq")
shakeChangeFPSCurve = SubResource("Resource_2spjm")
timeline = ExtResource("9_ucinm")
smoothingStrength = 0.1291
positionShake = Vector3(3, 3, 3)
globalPosition = false
rotationShake = Vector3(3600, 3600, 3600)
globalRotation = false
scaleShake = Vector3(0.4, 0.4, 0.4)
[sub_resource type="Resource" id="Resource_levjt"]
script = ExtResource("19_1ntkc")
color = Color(0.8869536, 0.41603324, 0.4084784, 0.5254902)
colorMultiply = 3.0
[sub_resource type="Curve" id="Curve_hxwye"]
_data = [Vector2(0, 1), 0.0, -1.0, 0, 1, Vector2(1, 0), -1.0, 0.0, 1, 0]
point_count = 2
[sub_resource type="Resource" id="Resource_6ksua"]
script = ExtResource("5_ucinm")
duration = 0.5
curve = SubResource("Curve_hxwye")
[sub_resource type="Resource" id="Resource_ammpp"]
script = ExtResource("20_vk22f")
flashCurve = SubResource("Resource_6ksua")
timeline = ExtResource("9_ucinm")
color = SubResource("Resource_levjt")
[sub_resource type="Curve" id="Curve_6jufl"]
_limits = [-1.0, 1.0, 0.0, 1.0]
_data = [Vector2(0, 1), 0.0, -0.18807365, 0, 0, Vector2(0.5097561, 0.54678893), -2.5238242, -2.5238242, 0, 0, Vector2(1, 0), -0.3791085, 0.0, 0, 0]
point_count = 3
[sub_resource type="Resource" id="Resource_ywb24"]
script = ExtResource("12_p24ea")
transformTarget = 4
duration = 0.1
xCurve = SubResource("Curve_6jufl")
yCurve = SubResource("Curve_6jufl")
zCurve = SubResource("Curve_6jufl")
metadata/_custom_type_script = "uid://be4oc7tgr55vu"
[sub_resource type="Resource" id="Resource_ehw2o"]
script = ExtResource("13_vl44m")
curves = [SubResource("Resource_ywb24")]
timeline = ExtResource("9_ucinm")
metadata/_custom_type_script = "uid://bqpiwp16h7614"
[node name="Stone" type="Node3D"]
[node name="RigidBody3D" type="RigidBody3D" parent="."]
gravity_scale = 0.0
[node name="CollisionShape3D" type="CollisionShape3D" parent="RigidBody3D"]
shape = SubResource("SphereShape3D_am4la")
[node name="Animation Target" type="Node3D" parent="RigidBody3D"]
[node name="Graphics" type="MeshInstance3D" parent="RigidBody3D/Animation Target"]
mesh = SubResource("SphereMesh_bmnja")
skeleton = NodePath("../../..")
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="RigidBody3D"]
stream = ExtResource("2_ehw2o")
volume_db = 6.0
unit_size = 50.49
max_db = 6.0
attenuation_filter_cutoff_hz = 20500.0
attenuation_filter_db = 0.0
[node name="Projectile Collidable" type="Node3D" parent="RigidBody3D" node_paths=PackedStringArray("onEntered")]
script = ExtResource("3_iku3y")
collisionTypes = [ExtResource("3_1ntkc")]
onEntered = NodePath("../../Once On Impact")
metadata/_custom_type_script = "uid://dbgwebayabwd5"
[node name="Once On Impact" type="Node" parent="." node_paths=PackedStringArray("action")]
script = ExtResource("2_ucinm")
action = NodePath("OnImpact")
metadata/_custom_type_script = "uid://crm7o7w0gumhn"
[node name="OnImpact" type="Node" parent="Once On Impact"]
script = ExtResource("7_ufil2")
metadata/_custom_type_script = "uid://ceaglilesxsi4"
[node name="AddCrystal" type="Node" parent="Once On Impact/OnImpact"]
script = ExtResource("6_fd1ou")
metadata/_custom_type_script = "uid://dl81yeh1c5chl"
[node name="Disable Collider + Physics" type="Node" parent="Once On Impact/OnImpact" node_paths=PackedStringArray("disable")]
script = ExtResource("16_p24ea")
disable = [NodePath("../../../RigidBody3D/CollisionShape3D")]
metadata/_custom_type_script = "uid://bex6umukt0r8d"
[node name="Reset" type="Node" parent="Once On Impact/OnImpact" node_paths=PackedStringArray("target")]
script = ExtResource("4_2spjm")
target = NodePath("../../../RigidBody3D/Animation Target")
metadata/_custom_type_script = "uid://cnp3xr8gawyi6"
[node name="PlaySound" type="Node" parent="Once On Impact/OnImpact" node_paths=PackedStringArray("player")]
script = ExtResource("19_uxklm")
player = NodePath("../../../RigidBody3D/AudioStreamPlayer3D")
overdrivePreventionFlag = ExtResource("9_ehw2o")
metadata/_custom_type_script = "uid://ddgf2mfdmqywc"
[node name="Parallel" type="Node" parent="Once On Impact/OnImpact"]
script = ExtResource("4_i570k")
metadata/_custom_type_script = "uid://dy65lu5p2yf3j"
[node name="Shake" type="Node" parent="Once On Impact/OnImpact/Parallel" node_paths=PackedStringArray("targets")]
script = ExtResource("3_icqc8")
shakeEffect = SubResource("Resource_p24ea")
targets = [NodePath("../../../../RigidBody3D/Animation Target")]
metadata/_custom_type_script = "uid://bnhnintao4qu0"
[node name="Flash" type="Node" parent="Once On Impact/OnImpact/Parallel" node_paths=PackedStringArray("targets")]
script = ExtResource("5_ufil2")
flashEffect = SubResource("Resource_ammpp")
targets = [NodePath("../../../../RigidBody3D/Animation Target/Graphics")]
metadata/_custom_type_script = "uid://dnwqkymbre3vb"
[node name="Shrink" type="Node" parent="Once On Impact/OnImpact" node_paths=PackedStringArray("target")]
script = ExtResource("11_2spjm")
animations = SubResource("Resource_ehw2o")
target = NodePath("../../../RigidBody3D/Animation Target")
metadata/_custom_type_script = "uid://cbtqgliarexam"
[node name="Remove Node" type="Node" parent="Once On Impact/OnImpact" node_paths=PackedStringArray("target")]
script = ExtResource("10_fqg4a")
target = NodePath("../../..")
metadata/_custom_type_script = "uid://dq5kae8x62gre"

View File

@ -0,0 +1,103 @@
[gd_scene load_steps=8 format=3 uid="uid://c74clrqg1mf47"]
[ext_resource type="PackedScene" uid="uid://c1khime56rk4l" path="res://DomeFox/X/GDScript/Submarine/submarine.gltf" id="1_6xjl7"]
[sub_resource type="Shader" id="Shader_3gsdb"]
code = "
shader_type spatial;
render_mode blend_mix, depth_draw_never, cull_disabled, diffuse_burley, specular_schlick_ggx, unshaded;
stencil_mode read, compare_not_equal, 1;
#include \"res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc\"
#include \"res://addons/rokojori_action_library/Runtime/Shading/Library/Cameras.gdshaderinc\"
uniform vec4 albedo : source_color;
uniform sampler2D texture_albedo : source_color, filter_linear_mipmap, repeat_enable;
uniform float closeDistance = 10;
uniform float farDistance = 50;
uniform float growClose : hint_range( 0, 100 );
uniform float growFar : hint_range( 0, 100 );
uniform float growScale = 0.01;
void vertex()
{
float d = cameraDistanceLocal( VERTEX, CAMERA_POSITION_WORLD, MODEL_MATRIX );
float grow = mapClamped( d, closeDistance, farDistance, growClose, growFar ) * d;
VERTEX += NORMAL * grow * growScale;
}
void fragment()
{
vec2 base_uv = UV;
vec4 albedo_tex = texture(texture_albedo, base_uv);
ALBEDO = albedo.rgb * albedo_tex.rgb;
ALPHA *= albedo.a * albedo_tex.a;
}
"
[sub_resource type="ShaderMaterial" id="ShaderMaterial_0uu2t"]
render_priority = -1
shader = SubResource("Shader_3gsdb")
shader_parameter/albedo = Color(0.36422682, 0.36422682, 0.36422682, 1)
shader_parameter/closeDistance = 5.0
shader_parameter/farDistance = 25.0
shader_parameter/growClose = 5.0000002375
shader_parameter/growFar = 2.50000011875
shader_parameter/growScale = 0.0009
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gajrp"]
resource_name = "Base"
next_pass = SubResource("ShaderMaterial_0uu2t")
cull_mode = 2
specular_mode = 1
albedo_color = Color(0.23294716, 0.18752553, 0.18752553, 1)
roughness = 0.5
stencil_mode = 3
stencil_flags = 2
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_s7buc"]
resource_name = "Glass"
next_pass = SubResource("ShaderMaterial_0uu2t")
cull_mode = 2
specular_mode = 1
albedo_color = Color(0.4352941, 0.6161834, 0.7882353, 1)
metallic_specular = 0.0
roughness = 0.20078741
emission_enabled = true
emission = Color(0.07188606, 0.33391577, 0.44619104, 1)
stencil_mode = 3
stencil_flags = 2
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_onvjv"]
resource_name = "Base2"
next_pass = SubResource("ShaderMaterial_0uu2t")
cull_mode = 2
albedo_color = Color(0.29913697, 0, 0.49309516, 1)
roughness = 0.5
emission_enabled = true
emission = Color(0.5667972, 0, 1, 1)
emission_energy_multiplier = 1.7875679
stencil_mode = 3
stencil_flags = 2
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_5scqm"]
resource_name = "Other"
next_pass = SubResource("ShaderMaterial_0uu2t")
cull_mode = 2
albedo_color = Color(0.8636385, 0.3209019, 0.12091282, 1)
roughness = 0.003937006
stencil_mode = 3
stencil_flags = 2
[node name="submarine" instance=ExtResource("1_6xjl7")]
[node name="Submarine" parent="." index="0"]
surface_material_override/0 = SubResource("StandardMaterial3D_gajrp")
surface_material_override/1 = SubResource("StandardMaterial3D_s7buc")
surface_material_override/2 = SubResource("StandardMaterial3D_onvjv")
surface_material_override/3 = SubResource("StandardMaterial3D_5scqm")
metadata/_edit_group_ = true

View File

@ -0,0 +1,210 @@
shader_type spatial;
// Rokojori Shader @alb.387-alp.376-fad.449-geo.20-met.376-nor.278-occ.376-rou.390-sha.391-spa.24-spa.301-spe.376-tra.402-tra.402-uvm.491:
/*
[ Rokojori.TransparencyModule ] { "alphaScissorTreshold":0.009999999776482582, "blendMode":{"__class__": "Godot.BaseMaterial3D+BlendModeEnum","value__": 0}, "cullMode":{"__class__": "Godot.BaseMaterial3D+CullModeEnum","value__": 0}, "depthDraw":{"__class__": "Godot.BaseMaterial3D+DepthDrawModeEnum","value__": 0}, "noDepthTest":false, "transparency":{"__class__": "Godot.BaseMaterial3D+TransparencyEnum","value__": 1} }
[ Rokojori.ShadingModule ] { "diffuseMode":{"__class__": "Godot.BaseMaterial3D+DiffuseModeEnum","value__": 0}, "disableAmbientLight":false, "disableFog":false, "disableReceivingShadows":false, "shadingMode":{"__class__": "Godot.BaseMaterial3D+ShadingModeEnum","value__": 1}, "shadowToOpacity":false, "specularMode":{"__class__": "Godot.BaseMaterial3D+SpecularModeEnum","value__": 0}, "wireFrameMode":false }
[ Rokojori.UVModule ] { "channels":[{ "__class__": "Rokojori.UVChannel", "uvTarget": "UV", "uvSource": { "__class__": "Rokojori.MeshUVSource", "meshUV": 0, "sortableCode": true, "uniformGroup": "UVChannels" }, "modifier": { "__class__": "Rokojori.UVScaleOffset", "uvScale": true, "uvUniScale": false, "uvOffset": true, "uvScrolling": true, "sortableCode": true, "uniformGroup": "UVChannels" }, "sortableCode": true, "uniformGroup": "UVChannels"}] }
[ Rokojori.GeometryModule ] { "modifiers":[] }
[ Rokojori.SpatialVarying ] { "variables":[{ "__class__": "Rokojori.SpatialVaryingVariable", "variableName": "_COLOR", "variableSource": { "__class__": "Rokojori.MeshAttributVarying", "meshAttribute": 0, "sortableCode": true, "uniformGroup": null }, "sortableCode": true, "uniformGroup": null}] }
[ Rokojori.SpatialMasksModule ] { "maskVariables":[] }
[ Rokojori.AlbedoModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 0}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "overlayLayers":[], "repeat":true, "srgb":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "tintVarying":"_COLOR", "useTint":true, "uvChannel":"UV", "writeAlpha":true }
[ Rokojori.TransparencyModule ] { "alphaScissorTreshold":0.009999999776482582, "blendMode":{"__class__": "Godot.BaseMaterial3D+BlendModeEnum","value__": 0}, "cullMode":{"__class__": "Godot.BaseMaterial3D+CullModeEnum","value__": 0}, "depthDraw":{"__class__": "Godot.BaseMaterial3D+DepthDrawModeEnum","value__": 0}, "noDepthTest":false, "transparency":{"__class__": "Godot.BaseMaterial3D+TransparencyEnum","value__": 1} }
[ Rokojori.AlphaModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 3}, "domainMode":{"__class__": "Rokojori.TextureModule+DomainMode","value__": 2}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "repeat":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "uvChannel":"UV" }
[ Rokojori.FadingModule ] { "alphaFadeMode":{"__class__": "Rokojori.AlphaFadeMode","value__": 1}, "fadingModifiers":[{ "__class__": "Rokojori.FresnelFading", "advancedControls": true, "alphaFadeMode": 0, "createUniformGroup": true, "sortableCode": true, "uniformGroup": "Fading"},{ "__class__": "Rokojori.FresnelFading", "advancedControls": true, "alphaFadeMode": 0, "createUniformGroup": true, "sortableCode": true, "uniformGroup": null}] }
[ Rokojori.NormalMapModule ] { "allowNegativeStrength":false, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "maximumStrength":5, "repeat":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "useStrength":true, "uvChannel":"UV" }
[ Rokojori.OcclusionModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 0}, "domainMode":{"__class__": "Rokojori.TextureModule+DomainMode","value__": 3}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "repeat":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "uvChannel":"UV" }
[ Rokojori.RoughnessModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 0}, "clamp":true, "domainMode":{"__class__": "Rokojori.TextureModule+DomainMode","value__": 3}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "repeat":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "uvChannel":"UV" }
[ Rokojori.MetallicModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 0}, "domainMode":{"__class__": "Rokojori.TextureModule+DomainMode","value__": 3}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "repeat":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "uvChannel":"UV" }
[ Rokojori.SpecularModule ] { "assignmentType":{"__class__": "Rokojori.TextureModule+AssignmentType","value__": 0}, "domainMode":{"__class__": "Rokojori.TextureModule+DomainMode","value__": 0}, "filter":{"__class__": "Rokojori.TextureModule+TextureFilter","value__": 5}, "repeat":true, "textureDefault":{"__class__": "Rokojori.TextureModule+TextureDefault","value__": 0}, "uvChannel":"UV" }
*/
render_mode blend_mix, cull_back, depth_draw_opaque, diffuse_burley, specular_schlick_ggx;
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Noise.gdshaderinc"
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Light.gdshaderinc"
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc"
// [ U V C H A N N E L S . U V ]
group_uniforms UVChannels.UV;
uniform vec2 UV_scale = vec2( 1.0, 1.0);
uniform vec2 UV_offset = vec2( 0.0, 0.0);
uniform vec2 UV_scrolling = vec2( 0.0, 0.0);
varying vec4 _COLOR;
// [ A L B E D O ]
group_uniforms albedo;
uniform vec4 albedo:source_color = vec4( 1.0, 1.0, 1.0, 1.0);
uniform sampler2D albedoTexture:source_color, hint_default_white, repeat_enable, filter_linear_mipmap_anisotropic;
// [ A L P H A ]
group_uniforms alpha;
uniform float alpha:hint_range( 0.0, 1.0) = 1.0;
uniform sampler2D alphaTexture:hint_default_white, repeat_enable, filter_linear_mipmap_anisotropic;
// [ F A D I N G ]
group_uniforms Fading;
// [ F A D I N G . F R E S N E L F A D I N G ]
group_uniforms Fading.FresnelFading;
uniform float advancedFresnelFadingZOffset = 0.0f;
uniform float advancedFresnelFadingPower = 1.0f;
uniform float advancedFresnelFadingPostScale = 1.0f;
uniform float advancedFresnelFadingPostOffset = 0.0f;
uniform bool advancedFresnelFadingInverse = false;
// [ F A D I N G ]
group_uniforms Fading;
// [ F A D I N G . F R E S N E L F A D I N G _ 2 ]
group_uniforms Fading.FresnelFading_2;
uniform float advancedFresnelFadingZOffset_2 = 0.0f;
uniform float advancedFresnelFadingPower_2 = 1.0f;
uniform float advancedFresnelFadingPostScale_2 = 1.0f;
uniform float advancedFresnelFadingPostOffset_2 = 0.0f;
uniform bool advancedFresnelFadingInverse_2 = false;
// [ F A D I N G ]
group_uniforms Fading;
// [ N O R M A L ]
group_uniforms normal;
uniform float normalStrength:hint_range( 0.0, 5.0) = 1.0;
uniform sampler2D normalTexture:hint_normal, repeat_enable, filter_linear_mipmap_anisotropic;
// [ O C C L U S I O N ]
group_uniforms occlusion;
uniform float occlusion:hint_range( 0.0, 1.0) = 1.0;
uniform float occlusionOffset:hint_range( -1.0, 1.0) = 0.0;
uniform sampler2D occlusionTexture:hint_default_white, repeat_enable, filter_linear_mipmap_anisotropic;
// [ R O U G H N E S S ]
group_uniforms roughness;
uniform float roughness:hint_range( 0.0, 1.0) = 1.0;
uniform float roughnessOffset:hint_range( -1.0, 1.0) = 0.0;
uniform sampler2D roughnessTexture:hint_default_white, repeat_enable, filter_linear_mipmap_anisotropic;
// [ M E T A L L I C ]
group_uniforms metallic;
uniform float metallic:hint_range( 0.0, 1.0) = 0.0;
uniform float metallicOffset:hint_range( -1.0, 1.0) = 0.0;
uniform sampler2D metallicTexture:hint_default_white, repeat_enable, filter_linear_mipmap_anisotropic;
// [ S P E C U L A R ]
group_uniforms specular;
uniform float specular:hint_range( 0.0, 1.0) = 0.5;
void vertex()
{
UV = UV; UV = UV * UV_scale + UV_offset + TIME * UV_scrolling;
_COLOR = COLOR;
}
void fragment()
{
vec4 sampledAlbedo = texture( albedoTexture, UV );
ALBEDO = sampledAlbedo.rgb * albedo.rgb;
ALBEDO *= _COLOR.rgb;
ALPHA *= sampledAlbedo.a * albedo.a * _COLOR.a;
vec4 sampledAlpha = texture( alphaTexture, UV );
ALPHA *= sampledAlpha.r * alpha;
float advancedFresnelFadingAlpha = clamp01( fresnelNormalizedFromViewAdvanced( NORMAL,
advancedFresnelFadingZOffset,
advancedFresnelFadingPower,
advancedFresnelFadingPostScale,
advancedFresnelFadingPostOffset
) );
if ( ! advancedFresnelFadingInverse )
{ advancedFresnelFadingAlpha = 1.0 - advancedFresnelFadingAlpha; }
ALPHA *= advancedFresnelFadingAlpha;
float advancedFresnelFadingAlpha_2 = clamp01( fresnelNormalizedFromViewAdvanced( NORMAL,
advancedFresnelFadingZOffset_2,
advancedFresnelFadingPower_2,
advancedFresnelFadingPostScale_2,
advancedFresnelFadingPostOffset_2
) );
if ( ! advancedFresnelFadingInverse_2 )
{ advancedFresnelFadingAlpha_2 = 1.0 - advancedFresnelFadingAlpha_2; }
ALPHA *= advancedFresnelFadingAlpha_2;
vec4 sampledNormal = texture( normalTexture, UV );
NORMAL_MAP = sampledNormal.rgb;
NORMAL_MAP_DEPTH = normalStrength;
vec4 sampledOcclusion = texture( occlusionTexture, UV );
AO = sampledOcclusion.r * occlusion + occlusionOffset;
vec4 sampledRoughness = texture( roughnessTexture, UV );
ROUGHNESS = sampledRoughness.g * roughness + roughnessOffset;
ROUGHNESS = clamp01( ROUGHNESS );
vec4 sampledMetallic = texture( metallicTexture, UV );
METALLIC = sampledMetallic.b * metallic + metallicOffset;
}

View File

@ -0,0 +1 @@
uid://cy1841fw1hfcv

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,139 @@
[gd_resource type="Shader" format=3 uid="uid://bpmxwsit7ropo"]
[resource]
code = "
shader_type spatial;
render_mode blend_mix, depth_draw_opaque, cull_disabled, diffuse_burley, specular_schlick_ggx;
#include \"res://addons/rokojori_action_library/Runtime/Shading/Library/Transform.gdshaderinc\"
uniform vec4 albedo : source_color;
uniform sampler2D albedoGradient : source_color, filter_linear_mipmap, repeat_enable;
uniform float albedoGradientSize = 2000;
uniform sampler2D texture_albedo : source_color, filter_linear_mipmap, repeat_enable;
uniform sampler2D fading : source_color, filter_linear_mipmap, repeat_enable;
uniform float fadingOffset : hint_range(-2, 2.0);
uniform sampler2D wallAttributes : filter_nearest, repeat_disable;
uniform float roughness : hint_range(0.0, 1.0);
uniform sampler2D texture_metallic : hint_default_white, filter_linear_mipmap, repeat_enable;
uniform vec4 metallic_texture_channel;
uniform sampler2D texture_roughness : hint_roughness_r, filter_linear_mipmap, repeat_enable;
uniform float specular : hint_range(0.0, 1.0, 0.01);
uniform float metallic : hint_range(0.0, 1.0, 0.01);
uniform sampler2D texture_normal : hint_roughness_normal, filter_linear_mipmap, repeat_enable;
uniform float normal_scale : hint_range(-16.0, 16.0);
uniform sampler2D texture_ambient_occlusion : hint_default_white, filter_linear_mipmap, repeat_enable;
uniform vec4 ao_texture_channel;
uniform float ao_light_affect : hint_range(0.0, 1.0, 0.01);
varying vec3 uv1_triplanar_pos;
uniform float uv1_blend_sharpness : hint_range(0.0, 150.0, 0.001);
varying vec3 uv1_power_normal;
uniform vec3 uv1_scale;
uniform vec3 uv1_offset;
varying vec3 uv2_triplanar_pos;
uniform float uv2_blend_sharpness : hint_range(0.0, 150.0, 0.001);
varying vec3 uv2_power_normal;
uniform vec3 uv2_scale;
uniform vec3 uv2_offset;
varying float discardValue;
varying float wallDestruction;
varying vec3 worldAlbedo;
//uniform int filterIndex;
//uniform int filterIndexRange;
void vertex()
{
vec3 worldVertex = localToWorld( VERTEX, MODEL_MATRIX );
float wd = clamp( length( worldVertex.xz ) / albedoGradientSize, 0.0, 1.0 ) ;
worldAlbedo = textureLod( albedoGradient, vec2( wd, 0 ), 0 ).rgb;
discardValue = 1.0;
int index = int(COLOR.r * 255.0 * 255.0 ) + int( COLOR.g * 255.0 );
int yPos = index / 64;
int xPos = index % 64;
vec2 filterUV = vec2( float( xPos ) / 64.0, float( yPos ) / 64.0 );
vec4 wallAtts = textureLod( wallAttributes, filterUV, 0 );
discardValue = wallAtts.a;
wallDestruction = wallAtts.r;
//int filterDistance = abs( filterIndex - index );
//discardValue = filterDistance <= filterIndexRange ? 0.0 : 1.0;
vec3 normal = MODEL_NORMAL_MATRIX * NORMAL;
TANGENT = vec3(0.0, 0.0, -1.0) * abs(normal.x);
TANGENT += vec3(1.0, 0.0, 0.0) * abs(normal.y);
TANGENT += vec3(1.0, 0.0, 0.0) * abs(normal.z);
TANGENT = inverse(MODEL_NORMAL_MATRIX) * normalize(TANGENT);
BINORMAL = vec3(0.0, 1.0, 0.0) * abs(normal.x);
BINORMAL += vec3(0.0, 0.0, -1.0) * abs(normal.y);
BINORMAL += vec3(0.0, 1.0, 0.0) * abs(normal.z);
BINORMAL = inverse(MODEL_NORMAL_MATRIX) * normalize(BINORMAL);
// UV1 Triplanar: Enabled (with World Triplanar)
uv1_power_normal = pow(abs(normal), vec3(uv1_blend_sharpness));
uv1_triplanar_pos = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz * uv1_scale + uv1_offset;
uv1_power_normal /= dot(uv1_power_normal, vec3(1.0));
uv1_triplanar_pos *= vec3(1.0, -1.0, 1.0);
uv2_power_normal = pow(abs(normal), vec3(uv2_blend_sharpness));
uv2_triplanar_pos = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz * uv2_scale + uv2_offset;
uv2_power_normal /= dot(uv2_power_normal, vec3(1.0));
uv2_triplanar_pos *= vec3(1.0, -1.0, 1.0);
}
vec4 triplanar_texture(sampler2D p_sampler, vec3 p_weights, vec3 p_triplanar_pos) {
vec4 samp = vec4(0.0);
samp += texture(p_sampler, p_triplanar_pos.xy) * p_weights.z;
samp += texture(p_sampler, p_triplanar_pos.xz) * p_weights.y;
samp += texture(p_sampler, p_triplanar_pos.zy * vec2(-1.0, 1.0)) * p_weights.x;
return samp;
}
void fragment()
{
vec4 sampledFading = triplanar_texture(fading, uv2_power_normal, uv2_triplanar_pos);
float destructValue = clamp( sampledFading.r * 2.0 - 1.0 + fadingOffset + wallDestruction, 0.0, 1.0 );
float dValue = discardValue * destructValue;
if ( dValue < 0.01 )
{
discard;
}
vec4 albedo_tex = triplanar_texture(texture_albedo, uv1_power_normal, uv1_triplanar_pos);
ALBEDO = worldAlbedo.rgb * albedo_tex.rgb;
float metallic_tex = dot(triplanar_texture(texture_metallic, uv1_power_normal, uv1_triplanar_pos), metallic_texture_channel);
METALLIC = metallic_tex * metallic;
SPECULAR = specular;
vec4 roughness_texture_channel = vec4(1.0, 0.0, 0.0, 0.0);
float roughness_tex = dot(triplanar_texture(texture_roughness, uv1_power_normal, uv1_triplanar_pos), roughness_texture_channel);
ROUGHNESS = roughness_tex * roughness;
// Normal Map: Enabled
NORMAL_MAP = triplanar_texture(texture_normal, uv1_power_normal, uv1_triplanar_pos).rgb;
NORMAL_MAP_DEPTH = normal_scale;
// Ambient Occlusion: Enabled
AO = dot(triplanar_texture(texture_ambient_occlusion, uv1_power_normal, uv1_triplanar_pos), ao_texture_channel);
AO_LIGHT_AFFECT = ao_light_affect;
}
"

View File

@ -0,0 +1,7 @@
[gd_resource type="Resource" script_class="CollisionFlag" load_steps=2 format=3 uid="uid://ckyvygk7xtnpm"]
[ext_resource type="Script" uid="uid://crk6vntm10let" path="res://addons/rokojori_action_library/Runtime/Interactions/CollisionFlag.cs" id="1_g35gw"]
[resource]
script = ExtResource("1_g35gw")
metadata/_custom_type_script = "uid://crk6vntm10let"

View File

@ -0,0 +1,7 @@
[gd_resource type="Resource" script_class="AudioFlag" load_steps=2 format=3 uid="uid://j358ucfvi2gp"]
[ext_resource type="Script" uid="uid://cwsdhnenhdly4" path="res://addons/rokojori_action_library/Runtime/Audio/AudioManager/AudioFlag.cs" id="1_qyyaq"]
[resource]
script = ExtResource("1_qyyaq")
metadata/_custom_type_script = "uid://cwsdhnenhdly4"

View File

@ -0,0 +1,128 @@
[gd_scene load_steps=22 format=3 uid="uid://be3xq8wvk32p8"]
[ext_resource type="Script" uid="uid://dbgwebayabwd5" path="res://addons/rokojori_action_library/Runtime/Interactions/Collidable.cs" id="1_d4yus"]
[ext_resource type="Resource" uid="uid://ckyvygk7xtnpm" path="res://DomeFox/Game Objects/Wall/Projectile-Collision.tres" id="2_7ycdx"]
[ext_resource type="Script" uid="uid://ceaglilesxsi4" path="res://addons/rokojori_action_library/Runtime/Actions/ActionSequence.cs" id="3_auw5h"]
[ext_resource type="Script" uid="uid://dnwqkymbre3vb" path="res://addons/rokojori_action_library/Runtime/Animation/Flash/Flash.cs" id="4_auw5h"]
[ext_resource type="Script" uid="uid://dq5kae8x62gre" path="res://addons/rokojori_action_library/Runtime/Actions/RemoveNode.cs" id="4_c5shf"]
[ext_resource type="Script" uid="uid://dncqth3uf3tb3" path="res://addons/rokojori_action_library/Runtime/Animation/HDRColor.cs" id="5_kteqw"]
[ext_resource type="Script" uid="uid://c5tm02yj1bhhx" path="res://addons/rokojori_action_library/Runtime/Animation/AnimationCurve.cs" id="6_tpf5v"]
[ext_resource type="Script" uid="uid://cupnq55n3nimc" path="res://addons/rokojori_action_library/Runtime/Animation/Flash/FlashEffect.cs" id="7_7ycdx"]
[ext_resource type="Resource" uid="uid://ch5nsa6yafs5l" path="res://addons/rokojori_action_library/Runtime/Time/TimeLines/GameTime.tres" id="8_04wpl"]
[ext_resource type="Script" uid="uid://c7gjkwcuwo17h" path="res://DomeFox/Game Objects/Wall/WallHealth.cs" id="10_0bi28"]
[ext_resource type="Script" uid="uid://ddgf2mfdmqywc" path="res://addons/rokojori_action_library/Runtime/Actions/Node3D/PlaySound.cs" id="11_0bi28"]
[ext_resource type="Script" uid="uid://b751wl58yqkn3" path="res://addons/rokojori_action_library/Runtime/Rendering/TextureAttributes/SetTextureAttributeChannel.cs" id="11_tpf5v"]
[ext_resource type="Resource" uid="uid://j358ucfvi2gp" path="res://DomeFox/Game Objects/Wall/Wall-Sound.tres" id="12_ebsfu"]
[ext_resource type="Script" uid="uid://ddhwhwos5kkrm" path="res://addons/rokojori_action_library/Runtime/Time/Duration/SecondsDuration.cs" id="13_73h16"]
[ext_resource type="AudioStream" uid="uid://by14wgfo8ateq" path="res://DomeFox/Game Objects/Laser/water-fox-impact.ogg" id="14_7vxi8"]
[sub_resource type="BoxShape3D" id="BoxShape3D_dlj2d"]
size = Vector3(30, 170.28778, 2)
[sub_resource type="Resource" id="Resource_juwdv"]
script = ExtResource("13_73h16")
seconds = 0.1
timeLine = ExtResource("8_04wpl")
metadata/_custom_type_script = "uid://ddhwhwos5kkrm"
[sub_resource type="Resource" id="Resource_mqcr4"]
script = ExtResource("5_kteqw")
color = Color(1.0562375, 0.5419403, 0.35492313, 1)
colorMultiply = 1.5
rgbMultiply = 2.0
[sub_resource type="Curve" id="Curve_juwdv"]
_data = [Vector2(0, 1), 0.0, 0.0775112, 0, 0, Vector2(0.61455524, 0), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0442571, 0.0, 0, 0]
point_count = 3
[sub_resource type="Resource" id="Resource_iro2o"]
script = ExtResource("6_tpf5v")
duration = 0.3
curve = SubResource("Curve_juwdv")
[sub_resource type="Resource" id="Resource_3oj55"]
script = ExtResource("7_7ycdx")
flashCurve = SubResource("Resource_iro2o")
timeline = ExtResource("8_04wpl")
color = SubResource("Resource_mqcr4")
materialMode = 1
[node name="Wall" type="Node3D"]
[node name="StaticBody3D" type="StaticBody3D" parent="."]
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5817833, 46.382984, 0)
shape = SubResource("BoxShape3D_dlj2d")
[node name="Collidable" type="Node3D" parent="StaticBody3D" node_paths=PackedStringArray("onEntered")]
script = ExtResource("1_d4yus")
collisionTypes = [ExtResource("2_7ycdx")]
onEntered = NodePath("../../WallHealth")
metadata/_custom_type_script = "uid://dbgwebayabwd5"
[node name="On Final Hit" type="Node" parent="."]
script = ExtResource("3_auw5h")
metadata/_custom_type_script = "uid://ceaglilesxsi4"
[node name="Play Death Sound" type="Node" parent="On Final Hit" node_paths=PackedStringArray("player")]
script = ExtResource("11_0bi28")
player = NodePath("../../Hit Transform/Low Hit Sound")
overdrivePreventionFlag = ExtResource("12_ebsfu")
overdrivePreventionDuration = SubResource("Resource_juwdv")
metadata/_custom_type_script = "uid://ddgf2mfdmqywc"
[node name="SetTextureAttributeChannel" type="Node" parent="On Final Hit"]
script = ExtResource("11_tpf5v")
value = 0.0
channel = 3
metadata/_custom_type_script = "uid://b751wl58yqkn3"
[node name="RemoveNode" type="Node" parent="On Final Hit" node_paths=PackedStringArray("target")]
script = ExtResource("4_c5shf")
target = NodePath("../..")
metadata/_custom_type_script = "uid://dq5kae8x62gre"
[node name="On Hit" type="Node" parent="."]
script = ExtResource("3_auw5h")
metadata/_custom_type_script = "uid://ceaglilesxsi4"
[node name="SetTextureAttributeChannel2" type="Node" parent="On Hit"]
script = ExtResource("11_tpf5v")
value = 0.04
operatorType = 2
metadata/_custom_type_script = "uid://b751wl58yqkn3"
[node name="PlaySound" type="Node" parent="On Hit" node_paths=PackedStringArray("player")]
script = ExtResource("11_0bi28")
player = NodePath("../../Hit Transform/High Hit Sound")
overdrivePreventionFlag = ExtResource("12_ebsfu")
overdrivePreventionDuration = SubResource("Resource_juwdv")
metadata/_custom_type_script = "uid://ddgf2mfdmqywc"
[node name="Flash" type="Node" parent="On Hit" node_paths=PackedStringArray("targets")]
script = ExtResource("4_auw5h")
flashEffect = SubResource("Resource_3oj55")
targets = [NodePath("")]
metadata/_custom_type_script = "uid://dnwqkymbre3vb"
[node name="WallHealth" type="Node" parent="." node_paths=PackedStringArray("onHit", "onFinalHit")]
script = ExtResource("10_0bi28")
onHit = NodePath("../On Hit")
onFinalHit = NodePath("../On Final Hit")
metadata/_custom_type_script = "uid://c7gjkwcuwo17h"
[node name="Hit Transform" type="Node3D" parent="."]
[node name="High Hit Sound" type="AudioStreamPlayer3D" parent="Hit Transform"]
stream = ExtResource("14_7vxi8")
unit_size = 50.0
pitch_scale = 2.0
attenuation_filter_cutoff_hz = 20500.0
attenuation_filter_db = 0.0
[node name="Low Hit Sound" type="AudioStreamPlayer3D" parent="Hit Transform"]
stream = ExtResource("14_7vxi8")
unit_size = 50.0
attenuation_filter_cutoff_hz = 20500.0
attenuation_filter_db = 0.0

View File

@ -0,0 +1,37 @@
using Godot;
using Rokojori;
using System.Collections.Generic;
[Tool, GlobalClass]
public partial class WallHealth:Action
{
[Export]
public int health = 20;
[Export]
public Action onHit;
[Export]
public Action onFinalHit;
protected override void _OnTrigger()
{
if ( health == 0 )
{
return;
}
health --;
if ( health == 0 )
{
Action.Trigger( onFinalHit );
}
else
{
Action.Trigger( onHit );
}
}
}

View File

@ -0,0 +1 @@
uid://c7gjkwcuwo17h

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,59 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://v0cxwe1kr3ta"
path="res://.godot/imported/wall.blend-6f615b4b81860d8d9278a5e7fd9bf2c4.scn"
[deps]
source_file="res://DomeFox/Game Objects/Wall/wall.blend"
dest_files=["res://.godot/imported/wall.blend-6f615b4b81860d8d9278a5e7fd9bf2c4.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={}
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

Binary file not shown.

View File

@ -0,0 +1,104 @@
{
"asset":{
"generator":"Khronos glTF Blender I/O v4.0.44",
"version":"2.0"
},
"scene":0,
"scenes":[
{
"name":"Scene",
"nodes":[
0
]
}
],
"nodes":[
{
"mesh":0,
"name":"Cube"
}
],
"meshes":[
{
"name":"Cube",
"primitives":[
{
"attributes":{
"POSITION":0,
"NORMAL":1,
"TEXCOORD_0":2
},
"indices":3
}
]
}
],
"accessors":[
{
"bufferView":0,
"componentType":5126,
"count":208,
"max":[
5.834278106689453,
28.941646575927734,
4.312298774719238
],
"min":[
-5.666833400726318,
-3.5870137214660645,
-4.203118801116943
],
"type":"VEC3"
},
{
"bufferView":1,
"componentType":5126,
"count":208,
"type":"VEC3"
},
{
"bufferView":2,
"componentType":5126,
"count":208,
"type":"VEC2"
},
{
"bufferView":3,
"componentType":5123,
"count":1002,
"type":"SCALAR"
}
],
"bufferViews":[
{
"buffer":0,
"byteLength":2496,
"byteOffset":0,
"target":34962
},
{
"buffer":0,
"byteLength":2496,
"byteOffset":2496,
"target":34962
},
{
"buffer":0,
"byteLength":1664,
"byteOffset":4992,
"target":34962
},
{
"buffer":0,
"byteLength":2004,
"byteOffset":6656,
"target":34963
}
],
"buffers":[
{
"byteLength":8660,
"uri":"wall.bin"
}
]
}

View File

@ -0,0 +1,42 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://b2p5ujic4qtsq"
path="res://.godot/imported/wall.gltf-bc5c4b867936e039d6ce79602b24bef4.scn"
[deps]
source_file="res://DomeFox/Game Objects/Wall/wall.gltf"
dest_files=["res://.godot/imported/wall.gltf-bc5c4b867936e039d6ce79602b24bef4.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={}
gltf/naming_version=2
gltf/embedded_image_handling=1

View File

@ -0,0 +1,18 @@
using Godot;
using Rokojori;
using System.Collections.Generic;
using System.Threading.Tasks;
[Tool, GlobalClass, Icon( "res://icon.svg" )]
public partial class DomeFoxGame : Node
{
[Export]
public int crystals = 0;
public void AddCrystal()
{
crystals ++;
Unique<DomeFoxGameUI>.Get().crystalCounter.locale = LocaleText.Create( crystals + "" );
}
}

View File

@ -0,0 +1 @@
uid://cy2tnvx5jkplm

View File

@ -0,0 +1,267 @@
using Godot;
using Rokojori;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
[Tool, GlobalClass]
public partial class LevelGenerator : Action
{
[Export]
public int numWalls = -1;
[Export]
public int numRooms = 100;
[Export]
public int numRoomsEditor = 20;
[Export]
public float minRadius = 200;
[Export]
public float maxRadius = 4000;
[Export]
public Material roomCenterMaterial;
[Export]
public Material lowPolyMaterial;
[Export]
public int seed = -1;
[Export]
public float wallThickness = 2f;
[Export]
public float boundaryDensity = 10;
[Export]
public float boundarySize = 10;
[Export]
public PackedScene wall;
[Export]
public float wallSize = 1f;
[Export]
public PackedScene roomCenter;
[Export]
public RoomGeneratorEntry[] rooms;
[Export]
public TextureAttributes textureAttributes;
[Export]
public Node3D[] walls = [];
protected override void _OnTrigger()
{
numWalls = 0;
this.DestroyChildren();
var points = new List<Vector2>();
var boundaryPointSize = Circle.WithRadius( maxRadius ).circumference / boundaryDensity;
this.LogInfo( "Num Boundary Points", boundaryPointSize );
for ( int i = 0; i < boundaryPointSize; i++ )
{
var t = (float) i / ( float ) ( boundaryPointSize );
var angle = t * Mathf.Pi * 2f;
var boundaryPoint = Math2D.Circle( angle, maxRadius + boundarySize );
points.Add( boundaryPoint );
}
points.Add( Vector2.Zero );
var random = seed == -1 ? LCG.Randomized() : LCG.WithSeed( seed );
var rooms = Engine.IsEditorHint() ? numRoomsEditor : numRooms;
for ( int i = 0; i < rooms; i++ )
{
var p = random.InRectangle( Vector2.One * -maxRadius, Vector2.One * maxRadius );
if ( p.Length() < minRadius || p.Length() >= maxRadius )
{
p = random.InRectangle( Vector2.One * -maxRadius, Vector2.One * maxRadius );
}
if ( p.Length() < minRadius || p.Length() >= maxRadius )
{
p = random.InRectangle( Vector2.One * -maxRadius, Vector2.One * maxRadius );
}
if ( p.Length() < minRadius || p.Length() >= maxRadius )
{
if ( p.Length() == 0 )
{
p = Vector2.One;
}
p = p.Normalized() * random.Range( minRadius, maxRadius );
}
points.Add( p );
}
var voronoi = Voronoi2D.CreateFromCellPoints( points );
var lowMG = new MeshGeometry();
lowMG.colors = new List<Color>();
var wallIndex = 0;
var wallsList =new List<Node3D>();
voronoi.edges.ForEach(
( e )=>
{
var w = CreateWallsAtEdge( e, voronoi, lowMG, wallIndex );
wallsList.Add( w );
wallIndex ++;
}
);
walls = wallsList.ToArray();
// wallActi
var lowPolyMI = this.CreateChild<MeshInstance3D>( "LowPoly" );
lowPolyMI.Mesh = lowMG.GenerateMesh();
lowPolyMI.Mesh.SurfaceSetMaterial( 0, lowPolyMaterial );
voronoi.cells.ForEach(
( vc )=>
{
if ( vc.index < boundaryPointSize )
{
return;
}
var rg = GetRoomGenerator( random );
rg.GenerateRoom( this, vc );
// var p = voronoi.cellPoints[ vc.index ];
// var center = p.To3DXZ();
// var room = this.CreateChild<Node3D>( roomCenter, "Center" + vc.index );
// room.GlobalPosition = center;
}
);
}
RoomGenerator GetRoomGenerator( RandomEngine random )
{
var index = random.IndexFromUnnormalizedWeights( rooms.Map( r => r.probability ).ToList() );
return rooms[ index ].room;
}
public override void _Ready()
{
this.LogInfo( "Ready", this.walls.Length );
InitializeWalls();
}
async Task InitializeWalls()
{
var frames = 0;
await this.RequestNextFrame();
var index = 0;
this.ForEachDirectChild<Node3D>(
( n )=>
{
if ( ! n.Name.ToString().Contains( "Wall" ) )
{
return;
}
var setAtt = n.GetAll<SetTextureAttributeChannel>();
setAtt.ForEach( s => s.index = index );
index ++;
// this.LogInfo( "SetAtt", HierarchyName.Of( n ), setAtt.index );
}
);
}
public Node3D CreateWallsAtEdge( Voronoi2D.Edge edge, Voronoi2D v, MeshGeometry output, int wallIndex )
{
var p0 = v.boundaryPoints[ edge.start ];
var p1 = v.boundaryPoints[ edge.end ];
var center = p0.Lerp( p1, 0.5f ).To3DXZ();
var yaw = Math3D.GlobalYaw( p0.To3DXZ() - p1.To3DXZ() );
var length = ( p1 - p0 ).Length();
var numWalls = length / wallSize;
var wallObject = this.CreateChild<Node3D>( wall, "Wall " + wallIndex );
wallObject.GlobalPosition = center;
wallObject.SetGlobalYaw( yaw + Mathf.Pi * 0.5f );
wallObject.Scale = new Vector3( numWalls, 1, 1 );
var setTexturesAttributes= wallObject.GetAll<SetTextureAttributeChannel>();
this.LogInfo( "Num walls:", setTexturesAttributes.Count );
setTexturesAttributes.ForEach(
( st )=>
{
st.index = wallIndex;
st.textureAttributes = textureAttributes;
this.LogInfo( "Set Index:", st.index, HierarchyName.Of( st ) );
}
);
var lowPolyWall = MeshGeometry.BillboardQuad();
var trsf = Math3D.TRS( center, Math3D.RotateY( yaw + Mathf.Pi * 0.5f ), new Vector3( length, 250, 1 ) );
lowPolyWall.ApplyTransform( trsf );
var colorIndex = MathX.FlatIndexToMultiIndex( wallIndex, new Vector2I( 255, 255 ) );
var color = new Color( colorIndex.X / 255f, colorIndex.Y / 255f, 0 );
// this.LogInfo( wallIndex, ">>", colorIndex.X, colorIndex.Y, color );
lowPolyWall.SetColor( color );
output.Add( lowPolyWall );
this.numWalls ++;
return wallObject;
// for ( int i = 0; i < numWalls; i++ )
// {
// var t = i / ( float )(numWalls );
// var p = p0.Lerp( p1, t );
// var wallObject = this.CreateChild<Node3D>( wall );
// wallObject.GlobalPosition = p.To3DXZ();
// wallObject.SetGlobalYaw( yaw );
// }
}
}

View File

@ -0,0 +1 @@
uid://dyruyvxjkubdl

View File

@ -0,0 +1,10 @@
using Godot;
using Rokojori;
using System.Collections.Generic;
using System.Threading.Tasks;
[Tool, GlobalClass]
public partial class Room : Node3D
{
}

View File

@ -0,0 +1 @@
uid://cd4kux0wdumkq

View File

@ -0,0 +1,11 @@
using Godot;
using Rokojori;
using System.Collections.Generic;
using System.Threading.Tasks;
[Tool, GlobalClass]
public abstract partial class RoomGenerator : Resource
{
public abstract Room GenerateRoom( Node container, Voronoi2D.Cell cell );
}

View File

@ -0,0 +1 @@
uid://dfdewkaybnupe

View File

@ -0,0 +1,15 @@
using Godot;
using Rokojori;
using System.Collections.Generic;
using System.Threading.Tasks;
[Tool, GlobalClass]
public partial class RoomGeneratorEntry : Resource
{
[Export]
public RoomGenerator room;
[Export]
public float probability = 1f;
}

View File

@ -0,0 +1 @@
uid://d1erd1dodjc7c

View File

@ -0,0 +1,24 @@
using Godot;
using Rokojori;
using System.Collections.Generic;
using System.Threading.Tasks;
[Tool, GlobalClass]
public partial class SceneRoomGenerator : RoomGenerator
{
[Export]
public PackedScene scene;
public override Room GenerateRoom( Node container, Voronoi2D.Cell cell )
{
var room = container.CreateChild<Room>( "Room " + cell.index );
var center = cell.center.To3DXZ();
room.GlobalPosition = center;
var ps = room.CreateChild<Node3D>( scene, "Scene " + cell.index );
ps.GlobalPosition = center;
return room;
}
}

View File

@ -0,0 +1 @@
uid://dw2vbnun2yndx

BIN
DomeFox/Music/water-fox.ogg Normal file

Binary file not shown.

View File

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://bmv74q80m6xqr"
path="res://.godot/imported/water-fox.ogg-87f78da23cde06e3fd4dfba0e13d6410.oggvorbisstr"
[deps]
source_file="res://DomeFox/Music/water-fox.ogg"
dest_files=["res://.godot/imported/water-fox.ogg-87f78da23cde06e3fd4dfba0e13d6410.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View File

@ -0,0 +1,13 @@
using Godot;
using Rokojori;
using System.Collections.Generic;
using System.Threading.Tasks;
[Tool, GlobalClass, Icon( "res://icon.svg" )]
public partial class DomeFoxGameUI: Node
{
[Export]
public UIText crystalCounter;
}

View File

@ -0,0 +1 @@
uid://bodisf1g5534o

71
DomeFox/X/BloodSkin.tscn Normal file
View File

@ -0,0 +1,71 @@
[gd_scene load_steps=14 format=3 uid="uid://drpa7ggp1oqvi"]
[sub_resource type="Gradient" id="Gradient_45mhd"]
offsets = PackedFloat32Array(0, 0.5362319, 1)
colors = PackedColorArray(0.7296205, 0.788094, 0.8733763, 1, 1, 1, 1, 1, 1, 0.81247175, 0.8090962, 1)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_ctpa3"]
frequency = 0.0757
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_rfged"]
noise = SubResource("FastNoiseLite_ctpa3")
color_ramp = SubResource("Gradient_45mhd")
[sub_resource type="Gradient" id="Gradient_n6fo8"]
colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_rsbf7"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_gcb85"]
noise = SubResource("FastNoiseLite_rsbf7")
color_ramp = SubResource("Gradient_n6fo8")
seamless = true
[sub_resource type="FastNoiseLite" id="FastNoiseLite_jqb63"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_3t4rw"]
noise = SubResource("FastNoiseLite_jqb63")
seamless = true
as_normal_map = true
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_3p5o6"]
transparency = 2
alpha_scissor_threshold = 0.544
alpha_antialiasing_mode = 0
albedo_color = Color(0.37101543, 0.021727597, 0, 1)
albedo_texture = SubResource("NoiseTexture2D_gcb85")
roughness = 0.12
normal_enabled = true
normal_texture = SubResource("NoiseTexture2D_3t4rw")
grow = true
grow_amount = 0.001
[sub_resource type="FastNoiseLite" id="FastNoiseLite_7c1de"]
frequency = 0.0281
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_ct1ta"]
noise = SubResource("FastNoiseLite_7c1de")
seamless = true
as_normal_map = true
normalize = false
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ypsyk"]
render_priority = -1
next_pass = SubResource("StandardMaterial3D_3p5o6")
albedo_color = Color(0.5950413, 0.5594637, 0.5166653, 1)
albedo_texture = SubResource("NoiseTexture2D_rfged")
roughness = 0.93
normal_enabled = true
normal_texture = SubResource("NoiseTexture2D_ct1ta")
subsurf_scatter_enabled = true
subsurf_scatter_strength = 1.0
subsurf_scatter_skin_mode = true
subsurf_scatter_transmittance_enabled = true
subsurf_scatter_transmittance_depth = 8.0
subsurf_scatter_transmittance_boost = 1.0
[sub_resource type="SphereMesh" id="SphereMesh_pwyh7"]
material = SubResource("StandardMaterial3D_ypsyk")
[node name="Sphere" type="MeshInstance3D"]
mesh = SubResource("SphereMesh_pwyh7")

View File

@ -0,0 +1,21 @@
using Godot;
using Rokojori;
[GlobalClass]
public partial class FPSCounter : Node
{
[Export]
public UIText text;
[Export]
public FrameSmoothing fpsSmoother = new FrameSmoothing();
public override void _Process( double delta )
{
var fps = (float)(1.0 / delta );
var smoothedFPS = fpsSmoother.Smooth( fps, (float) delta );
text.Text = RegexUtility._FFF( smoothedFPS );
}
}

View File

@ -0,0 +1 @@
uid://d2nkptgvmwtkt

View File

@ -0,0 +1,138 @@
shader_type canvas_item;
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Noise.gdshaderinc"
uniform sampler2D screenTexture:
hint_screen_texture,
repeat_disable,
filter_linear_mipmap;
uniform float amount:hint_range(0,1);
uniform sampler2D opacityMultiply;
uniform sampler2D colorTint;
uniform sampler2D fadingTexture;
uniform sampler2D lookUpFadeTexture;
uniform float angleNoiseAmount = 0;
uniform float angleNoiseFrequency = 1;
uniform float angleNoiseFrequency2 = 1;
uniform float angleNoiseScale = 1;
uniform vec3 angleNoiseStrength;
uniform float angleRotation = 0;
uniform float centerDistortion = 1;
uniform float distortionCurve:hint_range(0,1) = 0;
uniform float aberration = 1;
uniform float desaturate = 0.5;
uniform float contrast = 1;
uniform float brightness = 0;
uniform float g1_treshold:hint_range(0,1);
uniform float g1_lod:hint_range(0,10);
uniform vec2 g1_uvOffset;
uniform vec2 g1_uvScale;
uniform float g1_distortionOffset;
uniform float g1_amount:hint_range(0,1);
uniform float g2_treshold:hint_range(0,1);
uniform float g2_lod:hint_range(0,10);
uniform vec2 g2_uvOffset;
uniform vec2 g2_uvScale;
uniform float g2_distortionOffset;
uniform float g2_amount:hint_range(0,1);
uniform float g3_treshold:hint_range(0,1);
uniform float g3_lod:hint_range(0,10);
uniform vec2 g3_uvOffset;
uniform vec2 g3_uvScale;
uniform float g3_distortionOffset;
uniform float g3_amount:hint_range(0,1);
uniform float g4_treshold:hint_range(0,1);
uniform float g4_lod:hint_range(0,10);
uniform vec2 g4_uvOffset;
uniform vec2 g4_uvScale;
uniform float g4_distortionOffset;
uniform float g4_amount:hint_range(0,1);
uniform float g5_treshold:hint_range(0,1);
uniform float g5_lod:hint_range(0,10);
uniform vec2 g5_uvOffset;
uniform vec2 g5_uvScale;
uniform float g5_distortionOffset;
uniform float g5_amount:hint_range(0,1);
vec4 getGhost( float t, float l, vec2 uv, vec2 off, vec2 sc, float dis, float a )
{
float d = 1.0 - min( 0.5, length( uv - 0.5 ) ) / 0.5;
d = clamp( d + dis, 0, 1 );
d = mix( d, d*d*d, distortionCurve );
float centerScale = mix( 1, centerDistortion, d );
sc *= centerScale;
vec3 c = vec3( -d/100.0 * aberration, 0, d/100.0 * aberration );
vec2 rUV = ( uv - 0.5 ) * sc + 0.5 + off + c.r;
vec2 gUV = ( uv - 0.5 ) * sc + 0.5 + off + c.g;
vec2 bUV = ( uv - 0.5 ) * sc + 0.5 + off + c.b;
float uvFade = textureLod( lookUpFadeTexture, gUV, 0.0 ).r;
float r = textureLod( screenTexture, rUV, l ).r - t;
r /= ( 1.0 - t );
r = clamp( r, 0.0, 1.0 );
float g = textureLod( screenTexture, gUV, l ).g - t;
g /= ( 1.0 - t );
g = clamp( g, 0.0, 1.0 );
float b = textureLod( screenTexture, bUV, l ).b - t;
b /= ( 1.0 - t );
b = clamp( b, 0.0, 1.0 );
float screenFade = textureLod( fadingTexture, uv, 0.0 ).r;
return vec4( r, g, b, 1.0 ) * a * uvFade * screenFade;
}
void fragment()
{
vec4 original = textureLod( screenTexture, UV, 0.0 );
vec4 opacity = textureLod( opacityMultiply, UV, 0.0 );
vec4 tint = textureLod( colorTint, UV, 0.0 );
vec4 composed = vec4(0,0,0,0);
composed += getGhost( g1_treshold, g1_lod, UV, g1_uvOffset, g1_uvScale, g1_distortionOffset, g1_amount );
composed += getGhost( g2_treshold, g2_lod, UV, g2_uvOffset, g2_uvScale, g2_distortionOffset, g2_amount );
composed += getGhost( g3_treshold, g3_lod, UV, g3_uvOffset, g3_uvScale, g3_distortionOffset, g3_amount );
composed += getGhost( g4_treshold, g4_lod, UV, g4_uvOffset, g4_uvScale, g4_distortionOffset, g4_amount );
composed += getGhost( g5_treshold, g5_lod, UV, g5_uvOffset, g5_uvScale, g5_distortionOffset, g5_amount );
float grey = ( composed.r + composed.g + composed.b ) / 3.0;
composed.rgb *= contrast;
composed.rgb += brightness;
composed.rgb = mix( composed.rgb, vec3(grey), desaturate );
composed = clamp( composed, 0, 1 );
composed.rgb = composed.rgb *
mix( vec3( 1,1,1 ), opacity.rgb, opacity.a ) *
mix( vec3( 1,1,1 ), tint.rgb, tint.a ) ;
composed += original;
composed.a = 1.0;
vec2 uvCentered = UV * 2.0 - vec2( 1, 1 );
float angle = atan( uvCentered.y, uvCentered.x ) + angleRotation * TIME;
float angleAlpha = sin( angle * angleNoiseFrequency ) * 0.5 + 0.5;
float angleAlpha2 = sin( angle * angleNoiseFrequency2 ) * 0.5 + 0.5;
float angleNoise = angleAlpha * angleNoiseStrength.x + angleAlpha2 * angleNoiseStrength.y;
angleNoise += perlin( vec2( angle * angleNoiseScale, 0.0 ) ) * angleNoiseStrength.z;
angleNoise /= 3.0;
angleNoise = mix( 1, angleNoise, angleNoiseAmount );
COLOR = mix( original, composed, amount ) * vec4( 1,1,1,angleNoise);
}

View File

@ -0,0 +1 @@
uid://0snojiwvjqws

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,57 @@
// NOTE: Shader automatically converted from Godot Engine 4.4.stable.mono's StandardMaterial3D.
shader_type spatial;
render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_burley, specular_schlick_ggx, unshaded, fog_disabled;
uniform vec4 albedo : source_color;
uniform sampler2D texture_albedo : source_color, filter_linear_mipmap, repeat_enable;
uniform ivec2 albedo_texture_size;
uniform float point_size : hint_range(0.1, 128.0, 0.1);
uniform float roughness : hint_range(0.0, 1.0);
uniform sampler2D texture_metallic : hint_default_white, filter_linear_mipmap, repeat_enable;
uniform vec4 metallic_texture_channel;
uniform sampler2D texture_roughness : hint_roughness_r, filter_linear_mipmap, repeat_enable;
uniform float specular : hint_range(0.0, 1.0, 0.01);
uniform float metallic : hint_range(0.0, 1.0, 0.01);
uniform vec3 uv1_scale;
uniform vec3 uv1_offset;
uniform vec3 uv2_scale;
uniform vec3 uv2_offset;
void vertex() {
UV = UV * uv1_scale.xy + uv1_offset.xy;
// Billboard Mode: Enabled
MODELVIEW_MATRIX = VIEW_MATRIX * mat4(
MAIN_CAM_INV_VIEW_MATRIX[0],
MAIN_CAM_INV_VIEW_MATRIX[1],
MAIN_CAM_INV_VIEW_MATRIX[2],
MODEL_MATRIX[3]);
// Billboard Keep Scale: Enabled
MODELVIEW_MATRIX = MODELVIEW_MATRIX * mat4(
vec4(length(MODEL_MATRIX[0].xyz), 0.0, 0.0, 0.0),
vec4(0.0, length(MODEL_MATRIX[1].xyz), 0.0, 0.0),
vec4(0.0, 0.0, length(MODEL_MATRIX[2].xyz), 0.0),
vec4(0.0, 0.0, 0.0, 1.0));
MODELVIEW_NORMAL_MATRIX = mat3(MODELVIEW_MATRIX);
}
void fragment() {
vec2 base_uv = UV;
vec4 albedo_tex = texture(texture_albedo, base_uv);
ALBEDO = albedo.rgb * albedo_tex.rgb;
float metallic_tex = dot(texture(texture_metallic, base_uv), metallic_texture_channel);
METALLIC = metallic_tex * metallic;
SPECULAR = specular;
vec4 roughness_texture_channel = vec4(1.0, 0.0, 0.0, 0.0);
float roughness_tex = dot(texture(texture_roughness, base_uv), roughness_texture_channel);
ROUGHNESS = roughness_tex * roughness;
ALPHA *= albedo.a * albedo_tex.a;
}

View File

@ -0,0 +1 @@
uid://brquei4n7xsjj

View File

@ -0,0 +1,107 @@
// NOTE: Shader automatically converted from Godot Engine 4.4.stable.mono's StandardMaterial3D.
shader_type spatial;
render_mode blend_mix, depth_test_disabled, cull_disabled, unshaded, fog_disabled;
#include "res://Flares/FlareShaderBase.gdshaderinc"
//
//#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Colors.gdshaderinc"
//#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc"
//#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Transform.gdshaderinc"
//#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Depth.gdshaderinc"
//
//uniform sampler2D depthTexture:hint_depth_texture;
//uniform vec4 color : source_color = vec4( 0.887, 0.434, 0.233, 1.0 );
//uniform float circleAmount = 1;
//uniform float circleDistortion = 1;
//uniform float ellipseAmount = 1;
//uniform float ellipseDistortion = 1;
//uniform vec2 ellipseScale = vec2( 1, 0.5 );
//uniform float add_vs_max:hint_range(0,1) = 0.5;
//
//uniform vec4 centerHSL = vec4( 0.08, 0.0, 0.18, 1.0 );
//varying vec4 centerColor;
//
//uniform vec4 outsideHSL = vec4( -0.05, 1.65, 0.02, 0.0 );
//varying vec4 outsideColor;
//
//uniform float sizeX = 10;
//uniform float sizeY = 0.5;
//uniform float scaleAll = 1;
//uniform float worldSize_vs_screenSize:hint_range(0,1) = 1;
//varying vec2 stretch;
//
//
//uniform float proximityFadeDistance = 10;
//uniform int fadeCheckLevels = 10;
//uniform sampler2D fading;
//uniform sampler2D sizeXfading;
//uniform sampler2D sizeYfading;
//
//varying float occlusionAlpha;
//
//void vertex()
//{
//vec2 screenPosition = worldToScreen( NODE_POSITION_WORLD, VIEW_MATRIX, PROJECTION_MATRIX );
//float fadeValue = textureLod( fading, screenPosition, 0.0 ).r;
//float sizeXFade = textureLod( sizeXfading, screenPosition, 0.0 ).r;
//float sizeYFade = textureLod( sizeYfading, screenPosition, 0.0 ).r;
//
//float sX = sizeX * sizeXFade;
//float sY = sizeY * sizeYFade;
//
//vec2 viewOffset = vec2( 1, 1 ) * proximityFadeDistance;
//
//occlusionAlpha = fadeValue * getQuickOcclusionAt( depthTexture, NODE_POSITION_WORLD, fadeCheckLevels, viewOffset, PROJECTION_MATRIX, INV_PROJECTION_MATRIX );
//
//float camDist = length( NODE_POSITION_WORLD - CAMERA_POSITION_WORLD );
//vec2 sizeScaled = vec2( sX, sY ) * scaleAll * occlusionAlpha;
//vec2 size = mix( sizeScaled, sizeScaled * camDist * 0.1, worldSize_vs_screenSize );
//stretch = vec2( sX, sY );
//vec3 worldOffset = billboardWorldOffsetWithSize( size, UV, INV_VIEW_MATRIX, MODEL_MATRIX );
//VERTEX += worldOffset;
//vec3 hsl = RGBtoHSL( color.rgb );
//vec3 shiftedHSL = shiftHSL( hsl, centerHSL.rgb, 60.0 );
//vec3 shiftedRGB = HSLtoRGB( shiftedHSL );
//
//centerColor = vec4( shiftRGBwithHSL( color.rgb, centerHSL.rgb, 60.0 ), centerHSL.a * color.a);
//outsideColor = vec4( shiftRGBwithHSL( color.rgb, outsideHSL.rgb, 60.0 ), outsideHSL.a * color.a );
//}
//
//
//
//void fragment()
//{
//vec2 circleUV = ( UV - vec2( 0.5 ) ) * stretch + vec2( 0.5 );
//vec2 centerUV = UV - vec2( 0.5 );
//float angle = atan( centerUV.y, centerUV.x );
//float noise =
//sin( TIME * -3.0 + angle * 200.0 ) * 0.05 +
//sin( TIME * 5.0 + angle * 50.0 ) * 0.1 +
//sin( TIME * -2.0 + angle* 500.0 ) * 0.03 +
//0.95;
//float distanceToCircle = 1.0 - min( 1, length( circleUV - vec2( 0.5, 0.5 ) ) / 0.5 );
//vec2 ellipseUV = ( UV - vec2( 0.5 ) ) / ellipseScale + vec2( 0.5 );
//float distanceToEllipse = 1.0 - min( 1, length( ellipseUV - vec2( 0.5, 0.5 ) ) / 0.5 );
//
//distanceToCircle = clamp01( distanceToCircle * noise );
//distanceToEllipse = clamp01( distanceToEllipse );
//
//distanceToCircle = pow( distanceToCircle, circleDistortion );
//distanceToEllipse = pow( distanceToEllipse, ellipseDistortion );
//
//distanceToCircle *= circleAmount;
//distanceToEllipse *= ellipseAmount;
//
//float addResult = min( 1, distanceToEllipse + distanceToCircle );
//float maxResult = min( 1, max( distanceToEllipse, distanceToCircle ) );
//float t = mix( addResult, maxResult, add_vs_max );
//vec4 mixedColor = mixThreeColors( outsideColor, color, centerColor, t );
//
//ALBEDO = mixedColor.rgb;
////ALBEDO = vec3( depth, linear_depth, 0.0 );
//ALPHA = mixedColor.a * occlusionAlpha;
////ALPHA = 1.0;
//
//}

View File

@ -0,0 +1 @@
uid://bxgy0k2a1kgq1

View File

@ -0,0 +1,4 @@
shader_type spatial;
render_mode blend_add, depth_test_disabled, cull_disabled, unshaded;
#include "res://Flares/FlareShaderBase.gdshaderinc"

View File

@ -0,0 +1 @@
uid://g038sa37p3uc

View File

@ -0,0 +1,155 @@
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Colors.gdshaderinc"
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Math.gdshaderinc"
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Transform.gdshaderinc"
#include "res://addons/rokojori_action_library/Runtime/Shading/Library/Depth.gdshaderinc"
uniform sampler2D depthTexture:hint_depth_texture;
uniform vec4 color : source_color = vec4( 0.887, 0.434, 0.233, 1.0 );
uniform float alphaScale = 1;
uniform float circleAmount = 1;
uniform float circleDistortion = 1;
uniform float ellipseAmount = 1;
uniform float ellipseDistortion = 1;
uniform vec2 ellipseScale = vec2( 1, 0.5 );
uniform float add_vs_max:hint_range(0,1) = 0.5;
uniform vec4 centerHSL = vec4( 0.08, 0.0, 0.18, 1.0 );
varying vec4 centerColor;
uniform vec4 outsideHSL = vec4( -0.05, 1.65, 0.02, 0.0 );
varying vec4 outsideColor;
uniform float sizeX:hint_range(1,100) = 10;
uniform float sizeY:hint_range(1,100) = 1;
uniform float scaleAll = 1;
uniform float worldSize_vs_screenSize:hint_range(0,1) = 1;
varying vec2 stretch;
uniform bool usSpectralsNoise = false;
uniform vec3 spectralsAmount = vec3( 0.1, 0.05, 0.02 );
uniform float nonSpectralAmount = 0.95;
uniform vec3 spectralsSize = vec3( 1,0.8, 0.5 );
uniform vec3 spectralsSharpness = vec3( 0, 0, 0 );
uniform vec3 spectralsFrequency = vec3( 50.0, 200.0, 500.0 );
uniform vec3 spectralsSpeed = vec3( 5.0, -3.0, -2.0 );
uniform sampler2D fading;
uniform sampler2D sizeXfading;
uniform sampler2D sizeYfading;
uniform bool useQuickOcclusionTest = false;
uniform float occlusionZOffset:hint_range(-30,30) = 0;
uniform int occlusionTestMaxSteps = 10;
uniform float occlusionTestStepStride = 1;
uniform float occlusionTest_ViewDependingScaleAmount:hint_range(0,1) = 0.5;
uniform float occlusionTest_ViewDependingDistance = 100;
varying float occlusionAlpha;
void vertex()
{
vec3 viewOffset = viewToWorldDirection( vec3( 0, 0, occlusionZOffset ), INV_VIEW_MATRIX );
vec3 nodePositionView = worldToView( NODE_POSITION_WORLD + viewOffset, VIEW_MATRIX );
vec2 screenPosition = viewToScreen( nodePositionView, PROJECTION_MATRIX );
float fadeValue = textureLod( fading, screenPosition, 0.0 ).r;
float sizeXFade = textureLod( sizeXfading, screenPosition, 0.0 ).r;
float sizeYFade = textureLod( sizeYfading, screenPosition, 0.0 ).r;
float nodeScale = length( extractScale( MODEL_MATRIX ) );
float sX = sizeX * sizeXFade;
float sY = sizeY * sizeYFade;
vec2 uvPixelSize = vec2( 1.0, 1.0 ) / VIEWPORT_SIZE ;
vec2 scaledUVPixelSize = uvPixelSize * max( 1.0, nodePositionView.z / occlusionTest_ViewDependingDistance );
uvPixelSize = mix( uvPixelSize, scaledUVPixelSize, occlusionTest_ViewDependingScaleAmount );
float occlusionValue = useQuickOcclusionTest ?
getQuickOcclusionAt( depthTexture, nodePositionView, uvPixelSize,
occlusionTestMaxSteps, occlusionTestStepStride,
PROJECTION_MATRIX, INV_PROJECTION_MATRIX ) :
getOcclusionAt( depthTexture, nodePositionView, uvPixelSize,
occlusionTestMaxSteps, occlusionTestStepStride,
PROJECTION_MATRIX, INV_PROJECTION_MATRIX );
occlusionAlpha = occlusionValue * fadeValue;
float camDist = length( NODE_POSITION_WORLD - CAMERA_POSITION_WORLD );
vec2 sizeScaled = vec2( sX, sY ) * scaleAll * occlusionAlpha * nodeScale;
vec2 size = mix( sizeScaled, sizeScaled * camDist * 0.1, worldSize_vs_screenSize );
stretch = vec2( sX, sY );
vec3 worldOffset = billboardWorldOffsetWithSize( size, UV, INV_VIEW_MATRIX, MODEL_MATRIX );
VERTEX += worldOffset;
vec3 hsl = RGBtoHSL( color.rgb );
vec3 shiftedHSL = shiftHSL( hsl, centerHSL.rgb, 60.0 );
vec3 shiftedRGB = HSLtoRGB( shiftedHSL );
centerColor = vec4( shiftRGBwithHSL( color.rgb, centerHSL.rgb, 60.0 ), centerHSL.a * color.a);
outsideColor = vec4( shiftRGBwithHSL( color.rgb, outsideHSL.rgb, 60.0 ), outsideHSL.a * color.a );
}
float psin( float x, float power )
{
float v = sin( x ) * 0.5 + 0.5;
return mix( v, v * v * v, power );
}
void fragment()
{
vec2 circleUV = ( UV - vec2( 0.5 ) ) * stretch + vec2( 0.5 );
vec2 centerUV = UV - vec2( 0.5 );
float angle = atan( centerUV.y, centerUV.x );
vec3 sizes = vec3( 1.0 ) * length( circleUV ) / 0.701;
float distanceToCircle = 1.0 - min( 1, length( circleUV - vec2( 0.5, 0.5 ) ) / 0.5 );
float noise = 1.0;
if ( usSpectralsNoise )
{
noise = nonSpectralAmount;
float spX = max( 0, mix( psin( TIME * spectralsSpeed.x + angle * spectralsFrequency.x, spectralsSharpness.x ) * spectralsAmount.x, 0.0, -spectralsSize.x - distanceToCircle ) );
float spY = max( 0, mix( psin( TIME * spectralsSpeed.y + angle * spectralsFrequency.y, spectralsSharpness.y ) * spectralsAmount.y, 0.0, -spectralsSize.y - distanceToCircle ) );
float spZ = max( 0, mix( psin( TIME * spectralsSpeed.z + angle * spectralsFrequency.z, spectralsSharpness.z ) * spectralsAmount.z, 0.0, -spectralsSize.z - distanceToCircle ) );
float oa = occlusionAlpha * occlusionAlpha;
noise += spX * oa;
noise += spY * oa;
noise += spZ * oa;
noise = mix( noise, 1.0, 1.0 - oa );
}
vec2 ellipseUV = ( UV - vec2( 0.5 ) ) / ellipseScale + vec2( 0.5 );
float distanceToEllipse = 1.0 - min( 1, length( ellipseUV - vec2( 0.5, 0.5 ) ) / 0.5 );
distanceToCircle = clamp01( distanceToCircle * noise );
distanceToEllipse = clamp01( distanceToEllipse );
distanceToCircle = pow( distanceToCircle, circleDistortion );
distanceToEllipse = pow( distanceToEllipse, ellipseDistortion );
distanceToCircle *= circleAmount;
distanceToEllipse *= ellipseAmount;
float addResult = min( 1, distanceToEllipse + distanceToCircle );
float maxResult = min( 1, max( distanceToEllipse, distanceToCircle ) );
float t = mix( addResult, maxResult, add_vs_max );
vec4 mixedColor = mixThreeColors( outsideColor, color, centerColor, t );
ALBEDO = mixedColor.rgb;
ALPHA = mixedColor.a * occlusionAlpha * alphaScale;
}

View File

@ -0,0 +1 @@
uid://dx4kn87d6enmg

30446
DomeFox/X/Flares/Flares.tscn Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,34 @@
using Godot;
using Rokojori;
[GlobalClass]
public partial class FollowPath : Action
{
[Export]
public Spline spline;
[Export]
public Node3D target;
[Export]
public float duration;
[Export]
public TimeLine timeLine;
SplineCurve _curve;
protected override void _OnTrigger()
{
var phase = timeLine.ComputePhase( duration );
if ( _curve == null )
{
_curve = spline.GetCurve();
}
var pose = _curve.PoseAt( phase );
pose.Set( target );
}
}

View File

@ -0,0 +1 @@
uid://c3p1tjxyl0u1q

View File

@ -0,0 +1,78 @@
shader_type spatial;
render_mode cull_front, depth_prepass_alpha, depth_draw_opaque, unshaded;
uniform vec4 outline_color : source_color = vec4(0.0, 0.0, 0.0, 1.0);
uniform float distance_falloff : hint_range(0, 5) = 1;
uniform float smoothing_cutoff : hint_range(0, 1) = 0.1;
uniform float smoothing_max : hint_range(0, 1) = 0.1;
uniform sampler2D depth:hint_depth_texture;
uniform sampler2D screen:hint_depth_texture;
uniform float debugView : hint_range(0, 1) = 0.1;
void vertex()
{
// remember to rotate the quad 180d around Y
// uncomment to use full screen
POSITION = vec4(VERTEX, 1.0) * vec4(-1.0, -1.0, 1.0, 1.0);
}
float abs_diff(float depth_a, float depth_b)
{
return abs(abs(depth_a)-abs(depth_b));
}
float linear_depth(in sampler2D depth_texture, in vec2 screen_uv, in mat4 inv_projection_matrix)
{
// get raw depth, this is not a linear value in godot 4.0 vulkan rendering
float raw_depth = texture(depth_texture, screen_uv)[0];
vec3 normalized_device_coordinates = vec3(screen_uv * 2.0 - 1.0, raw_depth);
//convert NDC to view space via the inverse projection matrix
vec4 view_space = inv_projection_matrix * vec4(normalized_device_coordinates, 1.0);
//linearize the depth
view_space.xyz /= view_space.w;
// camera view points in the negative Z direction, so all depths are negative
// we invert the sign here to get positive depth values
return -view_space.z;
}
void fragment()
{
// set color to outline color for whole screen
// non-outline fragments will be set to transparent
ALBEDO = outline_color.rgb;
float d = linear_depth(depth, SCREEN_UV, INV_PROJECTION_MATRIX);
// calculate the offset size of a single pixel
vec2 screen_size = vec2(textureSize(screen, 1));
vec2 pixel_size = (distance_falloff / d) / vec2(screen_size.x, screen_size.y);
float du = linear_depth(depth, SCREEN_UV+vec2(0.0, pixel_size.y), INV_PROJECTION_MATRIX);
float dd = linear_depth(depth, SCREEN_UV+vec2(0.0, -pixel_size.y), INV_PROJECTION_MATRIX);
float dr = linear_depth(depth, SCREEN_UV+vec2(pixel_size.x, 0.0), INV_PROJECTION_MATRIX);
float dl = linear_depth(depth, SCREEN_UV+vec2(-pixel_size.x, 0.0), INV_PROJECTION_MATRIX);
// combine all the abs differences in depth of neighbors
ALPHA =
abs_diff(d, du) +
abs_diff(d, dl) +
abs_diff(d, dd) +
abs_diff(d, dr)
;
ALPHA = smoothstep(smoothing_cutoff, max(smoothing_cutoff, smoothing_max), ALPHA);
// apply the alpha from the outline color as well
ALPHA *= outline_color.a;
// clamp the outline color to remove artifacts
ALPHA = clamp(ALPHA, 0.0, 1.0);
ALPHA = mix( ALPHA, 1, debugView );
}

View File

@ -0,0 +1 @@
uid://ciwchv0hirpm6

View File

@ -0,0 +1,45 @@
[gd_resource type="Resource" script_class="UIStyle" load_steps=10 format=3 uid="uid://4aqnpht2gbig"]
[ext_resource type="Script" uid="uid://drqb0pm5ub64g" path="res://addons/rokojori_action_library/Runtime/UI/Styling/UIColor.cs" id="1_w3mvn"]
[ext_resource type="Script" uid="uid://y2p0r8c5rs45" path="res://addons/rokojori_action_library/Runtime/Shading/Properties/ColorPropertyName.cs" id="2_y6wbb"]
[ext_resource type="Script" uid="uid://f7s137m6egkj" path="res://addons/rokojori_action_library/Runtime/UI/ShaderProperties/ShaderUIColor.cs" id="3_dmasw"]
[ext_resource type="Script" uid="uid://chmcc71dvu4vj" path="res://addons/rokojori_action_library/Runtime/UI/Styling/UIStyle.cs" id="4_nj6qi"]
[ext_resource type="Script" uid="uid://3bymmno3avag" path="res://addons/rokojori_action_library/Runtime/UI/Transitions/TransitionSettingsAll.cs" id="5_y6wbb"]
[sub_resource type="Resource" id="Resource_y6wbb"]
script = ExtResource("1_w3mvn")
color = Color(1, 0, 0, 1)
isAnimated = false
blendMode = 2
animationDuration = 1.0
animationOffset = 0.0
metadata/_custom_type_script = "uid://drqb0pm5ub64g"
[sub_resource type="Resource" id="Resource_nj6qi"]
script = ExtResource("2_y6wbb")
propertyName = "fillColor"
metadata/_custom_type_script = "uid://y2p0r8c5rs45"
[sub_resource type="Resource" id="Resource_1h1tg"]
script = ExtResource("3_dmasw")
colorPropertyName = SubResource("Resource_nj6qi")
color = SubResource("Resource_y6wbb")
metadata/_custom_type_script = "uid://f7s137m6egkj"
[sub_resource type="Resource" id="Resource_dmasw"]
script = ExtResource("5_y6wbb")
transitionAllProperties = false
duration = 1.0
metadata/_custom_type_script = "uid://3bymmno3avag"
[resource]
script = ExtResource("4_nj6qi")
layout = 0
position = 0
lineWrap = 0
colorProperties = [SubResource("Resource_1h1tg")]
numberProperties = []
transitionSettings = SubResource("Resource_dmasw")
numberTransitions = []
colorTransitions = []
metadata/_custom_type_script = "uid://chmcc71dvu4vj"

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

View File

@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://3x3b5qbcosry"
path.s3tc="res://.godot/imported/rokojori-label-blur-2.png-2563e5e6d160f86f4ce314678111f792.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://DomeFox/X/Flares/rokojori-label-blur-2.png"
dest_files=["res://.godot/imported/rokojori-label-blur-2.png-2563e5e6d160f86f4ce314678111f792.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: 163 KiB

View File

@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d2ni52mwgyim3"
path.s3tc="res://.godot/imported/rokojori-label-blur.png-e625ef7475cecfebfb9ca4023b5b0292.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://DomeFox/X/Flares/rokojori-label-blur.png"
dest_files=["res://.godot/imported/rokojori-label-blur.png-e625ef7475cecfebfb9ca4023b5b0292.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: 52 KiB

View File

@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bg11uq08m2q2b"
path.s3tc="res://.godot/imported/rokojori-label.png-d5e6822b0c27390446077a4c2edad4d1.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://DomeFox/X/Flares/rokojori-label.png"
dest_files=["res://.godot/imported/rokojori-label.png-d5e6822b0c27390446077a4c2edad4d1.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.

View File

@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bk0a7vmtq22ix"
path.bptc="res://.godot/imported/NightSkyHDRI001_8K-HDR.exr-19d2ce03e2a71e0953a314b6d272592d.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://DomeFox/X/Flares/sky/NightSkyHDRI001_8K-HDR.exr"
dest_files=["res://.godot/imported/NightSkyHDRI001_8K-HDR.exr-19d2ce03e2a71e0953a314b6d272592d.bptc.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.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More