Added Room Generators
This commit is contained in:
parent
0649065c71
commit
e9012cafe8
|
|
@ -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,0 +1,4 @@
|
|||
{
|
||||
"__class__": "Rokojori.RokojoriPlugin+MarkerData",
|
||||
"time": "2025-10-26T21:19:50.0794119+01:00"
|
||||
}
|
||||
|
|
@ -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>
|
||||
|
|
@ -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
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -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"
|
||||
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://dwidfv18u7fi0
|
||||
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://lxygv2l76ka8
|
||||
|
|
@ -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
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://c4cofkrjxsrpr
|
||||
|
|
@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://bicds4ssfa48u
|
||||
|
|
@ -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"
|
||||
|
|
@ -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"
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://ds7m6xeltbhyv
|
||||
|
|
@ -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("../..")
|
||||
|
|
@ -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"
|
||||
|
|
@ -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 );
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://cdw4pq276w8om
|
||||
Binary file not shown.
|
|
@ -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.
|
|
@ -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
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
using Godot;
|
||||
using Rokojori;
|
||||
|
||||
[Tool, GlobalClass]
|
||||
public partial class AddCrystal: Action
|
||||
{
|
||||
protected override void _OnTrigger()
|
||||
{
|
||||
Unique<DomeFoxGame>.Get().AddCrystal();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://dl81yeh1c5chl
|
||||
|
|
@ -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"
|
||||
|
|
@ -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"
|
||||
|
|
@ -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"
|
||||
|
|
@ -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"
|
||||
|
|
@ -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
|
||||
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://cy1841fw1hfcv
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -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;
|
||||
}
|
||||
"
|
||||
|
|
@ -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"
|
||||
|
|
@ -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"
|
||||
|
|
@ -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
|
||||
|
|
@ -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 );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://c7gjkwcuwo17h
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -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.
|
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
@ -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 + "" );
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://cy2tnvx5jkplm
|
||||
|
|
@ -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 );
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://dyruyvxjkubdl
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
using Godot;
|
||||
using Rokojori;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
[Tool, GlobalClass]
|
||||
public partial class Room : Node3D
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://cd4kux0wdumkq
|
||||
|
|
@ -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 );
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://dfdewkaybnupe
|
||||
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://d1erd1dodjc7c
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://dw2vbnun2yndx
|
||||
Binary file not shown.
|
|
@ -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
|
||||
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://bodisf1g5534o
|
||||
|
|
@ -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")
|
||||
|
|
@ -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 );
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://d2nkptgvmwtkt
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://0snojiwvjqws
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://brquei4n7xsjj
|
||||
|
|
@ -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;
|
||||
//
|
||||
//}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://bxgy0k2a1kgq1
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
shader_type spatial;
|
||||
render_mode blend_add, depth_test_disabled, cull_disabled, unshaded;
|
||||
|
||||
#include "res://Flares/FlareShaderBase.gdshaderinc"
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://g038sa37p3uc
|
||||
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://dx4kn87d6enmg
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -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 );
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://c3p1tjxyl0u1q
|
||||
|
|
@ -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 );
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://ciwchv0hirpm6
|
||||
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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.
|
|
@ -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
Loading…
Reference in New Issue