Floatbot assets added, and nodetunnel being implemented.

This commit is contained in:
2026-02-03 06:59:07 -05:00
parent b90fdaad98
commit e7570c78c3
105 changed files with 14184 additions and 5 deletions

View File

@@ -0,0 +1,201 @@
@tool
extends Node3D
class_name VFXController
## Works only in the editor. By default works like "emitting" on particles. When one_shot is enabled works as a button.
@export var preview : bool = true:
set(value):
if Engine.is_editor_hint():
if one_shot && value == true:
play()
else:
preview = value
if value == true:
play()
@export var one_shot : bool = false:
set(value):
if Engine.is_editor_hint():
one_shot = value
preview = false
@export var autoplay : bool = true
@export_group("General")
@export var local_coords : bool = false:
set(value):
local_coords = value
for p in _get_particles(): if is_instance_valid(p): p.local_coords = value
@export_range(0, 10, 0.01) var speed_scale : float = 1.0:
set(value):
speed_scale = value
_set_shader_params("time_scale", speed_scale)
_get_anim().speed_scale = value
for p in _get_particles(): if is_instance_valid(p): p.speed_scale = value
@export_group("Colors")
@export var primary_color : Color:
set(value):
primary_color = value
_set_shader_params("primary_color", primary_color)
@export var secondary_color : Color:
set(value):
secondary_color = value
_set_shader_params("secondary_color", secondary_color)
@export var tertiary_color : Color:
set(value):
tertiary_color = value
_set_shader_params("tertiary_color", tertiary_color)
@export_group("Light")
@export var light_enable : bool = true:
set(value):
light_enable = value
_set_light_prop("visible", value)
@export var light_color : Color:
set(value):
light_color = value
_set_light_prop("light_color", value)
@export var light_energy : float = 4.0:
set(value):
light_energy = value
_set_light_prop("base_energy", value)
@export var light_indirect_energy : float = 1.0:
set(value):
light_indirect_energy = value
_set_light_prop("light_indirect_energy", value)
@export var light_volumetric_fog_energy : float = 1.0:
set(value):
light_volumetric_fog_energy = value
_set_light_prop("light_volumetric_fog_energy", value)
@export_group("Proximity Fade")
@export var proximity_fade : bool = false:
set(value):
proximity_fade = value
_set_shader_params("proximity_fade", proximity_fade)
@export var proximity_fade_distance : float = 1.0:
set(value):
proximity_fade_distance = value
_set_shader_params("proximity_fade_distance", proximity_fade_distance)
@export_group("LODs")
enum Alpha_Mode {
## Smooth transparency. Most performance intensive
SMOOTH,
## Displays transparency with a dithering pattern. Less performance intensive
DITHER,
## Hard cut alpha. Like "Alpha Scissor" in [b]SpatialMaterial[/b]. Least performance intensive
CUT,
## Uses dithering and hard cut to achieve better results
HYBRID
}
## Specifies how to handle [b]transparency[/b] within shaders.
@export var alpha_mode : Alpha_Mode = Alpha_Mode.SMOOTH:
set(value):
alpha_mode = value
_set_shader_params("alpha_mode", alpha_mode)
@export_range(0.0,1.0,0.01) var alpha_cutoff : float = 0.02:
set(value):
alpha_cutoff = value
_set_shader_params("alpha_cutoff", alpha_cutoff)
@export_range(0.0,1.0,0.01) var dither_cutoff : float = 0.8:
set(value):
dither_cutoff = value
_set_shader_params("dither_cutoff", dither_cutoff)
## Specify resolution of meshes.
## [br][br]
## [b]SphereMesh:[/b] Sets [code]radial_segments[/code] to the [b]value[/b] and
## [code]rings[/code] to [b]half the value[/b]
## [br][br]
## [b]CylinderMesh:[/b] Sets [code]radial_segments[/code] to the [b]value[/b]
## [br][br]
## [b]PlaneMesh:[/b] Sets [code]subdivide_width[/code] and [code]subdivide_depth[/code] to the [b]value[/b]
@export var mesh_resolutions : int = 32:
set(value):
mesh_resolutions = value
_set_mesh_resolutions(mesh_resolutions)
var particles : Array[GPUParticles3D] = []
func _ready() -> void:
if Engine.is_editor_hint():
return
if autoplay: play()
func _enter_tree() -> void:
if autoplay: preview = true
func play():
var anim : AnimationPlayer = _get_anim()
_reset_particles()
if !one_shot:
anim.play("main")
anim.seek(0.0)
await _get_anim().animation_finished
if Engine.is_editor_hint() && !preview:
return
play()
else:
if anim.has_animation("oneshot"):
anim.play("oneshot")
else:
anim.play("main")
## Util
func _get_anim() -> AnimationPlayer:
return get_node("AnimationPlayer")
func _get_particles() -> Array[GPUParticles3D]:
var result : Array[GPUParticles3D] = []
for p in get_children():
if p is GPUParticles3D:
result.append(p)
return result
func _get_meshinstances() -> Array[MeshInstance3D]:
var result : Array[MeshInstance3D] = []
for m in get_children():
if m is MeshInstance3D:
result.append(m)
return result
func _get_meshes() -> Array[Mesh]:
var result : Array[Mesh]
for p in _get_particles(): if is_instance_valid(p):
result.append(p.draw_pass_1)
for m in _get_meshinstances(): if is_instance_valid(m):
result.append(m.mesh)
return result
func _set_light_prop(pname : String, value) -> void:
var light = get_node_or_null("Light")
if light != null:
light.set(pname, value)
func _reset_particles():
for p in _get_particles():
p.restart()
func _set_shader_params(name : String, value) -> void:
for p in _get_particles():
if is_instance_valid(p):
if p.material_override is ShaderMaterial:
p.material_override.set("shader_parameter/" + name, value)
for m in _get_meshinstances():
if is_instance_valid(m):
if m.material_override is ShaderMaterial:
m.material_override.set("shader_parameter/" + name, value)
func _set_mesh_resolutions(value : int) -> void:
for m in _get_meshes(): if is_instance_valid(m):
if m is SphereMesh:
m.radial_segments = value
m.rings = value/2
if m is CylinderMesh:
m.radial_segments = value
if m is PlaneMesh:
m.subdivide_width = value
m.subdivide_depth = value

View File

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

View File

@@ -0,0 +1,12 @@
@tool
extends OmniLight3D
class_name VFX_Light
@export var base_energy : float = 2.0:
set(value):
base_energy = value
light_energy = base_energy * light_multiplier
@export_range(0.0,1.0,0.01) var light_multiplier : float = 1.0:
set(value):
light_multiplier = value
light_energy = base_energy * light_multiplier

View File

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

View File

@@ -0,0 +1,907 @@
{
"connections": [
{
"from": "voronoi2_2",
"from_port": 0,
"to": "math_2",
"to_port": 1
},
{
"from": "math_2",
"from_port": 0,
"to": "math_3",
"to_port": 0
},
{
"from": "radial_gradient",
"from_port": 0,
"to": "math_3",
"to_port": 1
},
{
"from": "math_3",
"from_port": 0,
"to": "sharpen",
"to_port": 0
},
{
"from": "voronoi2",
"from_port": 0,
"to": "math_2",
"to_port": 0
},
{
"from": "sharpen",
"from_port": 0,
"to": "math",
"to_port": 0
},
{
"from": "math",
"from_port": 0,
"to": "tones_step",
"to_port": 0
},
{
"from": "uniform",
"from_port": 0,
"to": "blend2",
"to_port": 0
},
{
"from": "uniform_2",
"from_port": 0,
"to": "blend2",
"to_port": 1
},
{
"from": "tones_step_2",
"from_port": 0,
"to": "blend2",
"to_port": 2
},
{
"from": "blend2",
"from_port": 0,
"to": "blend2_2",
"to_port": 0
},
{
"from": "uniform_3",
"from_port": 0,
"to": "blend2_2",
"to_port": 1
},
{
"from": "normal_map2",
"from_port": 0,
"to": "Material",
"to_port": 4
},
{
"from": "math_4",
"from_port": 0,
"to": "normal_map2",
"to_port": 0
},
{
"from": "tones_step",
"from_port": 0,
"to": "fast_blur",
"to_port": 0
},
{
"from": "fast_blur",
"from_port": 0,
"to": "tones_step_2",
"to_port": 0
},
{
"from": "fast_blur",
"from_port": 0,
"to": "math_4",
"to_port": 0
},
{
"from": "fast_blur",
"from_port": 0,
"to": "blend2_2",
"to_port": 2
},
{
"from": "fast_blur",
"from_port": 0,
"to": "graph_6",
"to_port": 0
},
{
"from": "blend2_2",
"from_port": 0,
"to": "blend2_3",
"to_port": 0
},
{
"from": "graph_6",
"from_port": 0,
"to": "blend2_3",
"to_port": 1
},
{
"from": "blend2_3",
"from_port": 0,
"to": "Material",
"to_port": 0
}
],
"label": "Graph",
"longdesc": "",
"name": "511",
"node_position": {
"x": 0,
"y": 0
},
"nodes": [
{
"export_paths": {
},
"name": "Material",
"node_position": {
"x": 2029,
"y": -92
},
"parameters": {
"albedo_color": {
"a": 1,
"b": 1,
"g": 1,
"r": 1,
"type": "Color"
},
"ao": 1,
"depth_scale": 0.7,
"emission_energy": 0,
"flags_transparent": false,
"metallic": 0,
"normal": 1,
"roughness": 1,
"size": 11,
"sss": 0
},
"seed_int": 0,
"type": "material"
},
{
"name": "voronoi2",
"node_position": {
"x": -2174,
"y": 335
},
"parameters": {
"intensity": 1,
"randomness": 0.85,
"scale_x": 8,
"scale_y": 8,
"stretch_x": 1,
"stretch_y": 1
},
"seed_int": 1884072448,
"type": "voronoi2"
},
{
"name": "voronoi2_2",
"node_position": {
"x": -2185.340332,
"y": 576.901062
},
"parameters": {
"intensity": 1,
"randomness": 1,
"scale_x": 6,
"scale_y": 6,
"stretch_x": 1,
"stretch_y": 1
},
"seed_int": 190614896,
"type": "voronoi2"
},
{
"name": "math_2",
"node_position": {
"x": -1422.340332,
"y": 488.901062
},
"parameters": {
"clamp": false,
"default_in1": 0,
"default_in2": 0,
"op": 2
},
"seed_int": 0,
"type": "math"
},
{
"name": "sharpen",
"node_position": {
"x": -292.340332,
"y": 358.901062
},
"parameters": {
"size": 5
},
"seed_int": 0,
"type": "sharpen"
},
{
"name": "radial_gradient",
"node_position": {
"x": -888.340332,
"y": 141.901062
},
"parameters": {
"gradient": {
"interpolation": 1,
"points": [
{
"a": 1,
"b": 1,
"g": 1,
"pos": 0.400481,
"r": 1
},
{
"a": 1,
"b": 0,
"g": 0,
"pos": 0.718311,
"r": 0
}
],
"type": "Gradient"
},
"repeat": 1
},
"seed_int": 0,
"type": "radial_gradient"
},
{
"name": "math_3",
"node_position": {
"x": -582.340332,
"y": 299.901062
},
"parameters": {
"clamp": true,
"default_in1": 0,
"default_in2": 3,
"op": 2
},
"seed_int": 0,
"type": "math"
},
{
"name": "tones_step",
"node_position": {
"x": 141.659668,
"y": 136.901062
},
"parameters": {
"invert": false,
"value": 0.15,
"width": 0.28
},
"seed_int": 0,
"type": "tones_step"
},
{
"name": "math",
"node_position": {
"x": -133.678223,
"y": 139.390686
},
"parameters": {
"clamp": false,
"default_in1": 0,
"default_in2": 2,
"op": 6
},
"seed_int": 0,
"type": "math"
},
{
"generic_size": 1,
"name": "blend2",
"node_position": {
"x": 877.70166,
"y": -140.297119
},
"parameters": {
"amount1": 0.71,
"blend_type1": 0
},
"seed_int": 0,
"type": "blend2"
},
{
"name": "uniform",
"node_position": {
"x": 526.70166,
"y": -241.297119
},
"parameters": {
"color": {
"a": 0,
"b": 0.239216,
"g": 0.239216,
"r": 0.239216,
"type": "Color"
}
},
"seed_int": 0,
"type": "uniform"
},
{
"name": "uniform_2",
"node_position": {
"x": 521.20166,
"y": -148.297119
},
"parameters": {
"color": {
"a": 1,
"b": 0.183594,
"g": 0.183594,
"r": 0.183594,
"type": "Color"
}
},
"seed_int": 0,
"type": "uniform"
},
{
"name": "uniform_3",
"node_position": {
"x": 949.20166,
"y": 86.702881
},
"parameters": {
"color": {
"a": 1,
"b": 0.042969,
"g": 0.042969,
"r": 0.042969,
"type": "Color"
}
},
"seed_int": 0,
"type": "uniform"
},
{
"name": "tones_step_2",
"node_position": {
"x": 481.70166,
"y": -53.29715
},
"parameters": {
"invert": false,
"value": 0.15,
"width": 0.28
},
"seed_int": 0,
"type": "tones_step"
},
{
"name": "normal_map2",
"node_position": {
"x": 1555.70166,
"y": 264.702881
},
"parameters": {
"buffer": 1,
"param2": 0,
"size": 11,
"strength": -1
},
"seed_int": 0,
"type": "normal_map2"
},
{
"generic_size": 1,
"name": "blend2_2",
"node_position": {
"x": 1227.70166,
"y": 97.702881
},
"parameters": {
"amount1": 1,
"blend_type1": 0
},
"seed_int": 0,
"type": "blend2"
},
{
"name": "math_4",
"node_position": {
"x": 999.70166,
"y": 342.702881
},
"parameters": {
"clamp": false,
"default_in1": 0,
"default_in2": 0.9,
"op": 6
},
"seed_int": 0,
"type": "math"
},
{
"name": "fast_blur",
"node_position": {
"x": 393.70166,
"y": 333.702881
},
"parameters": {
"param0": 11,
"param1": 4,
"param2": 1,
"param3": 1
},
"seed_int": 0,
"type": "fast_blur"
},
{
"connections": [
{
"from": "voronoi_3",
"from_port": 0,
"to": "buffer_5",
"to_port": 0
},
{
"from": "voronoi_2",
"from_port": 0,
"to": "buffer_7",
"to_port": 0
},
{
"from": "buffer_7",
"from_port": 0,
"to": "gen_outputs",
"to_port": 0
},
{
"from": "gen_inputs",
"from_port": 0,
"to": "buffer_2",
"to_port": 0
},
{
"from": "buffer_2",
"from_port": 0,
"to": "voronoi_3",
"to_port": 0
},
{
"from": "buffer_5",
"from_port": 0,
"to": "voronoi_2",
"to_port": 0
}
],
"label": "HBAO",
"longdesc": "",
"name": "graph_6",
"node_position": {
"x": 1400.70166,
"y": -410.297119
},
"nodes": [
{
"name": "voronoi_3",
"node_position": {
"x": -600.80072,
"y": -894.601807
},
"parameters": {
"angleBiasDeg": 15,
"depth_scale": 0.08,
"intensity": 2,
"quality": 4,
"radius": 0.1
},
"seed": 49449,
"shader_model": {
"code": "",
"global": "",
"inputs": [
{
"default": "0.0",
"function": true,
"label": "",
"name": "in",
"type": "f"
}
],
"instance": "//inspired by:\n//http://developer.download.nvidia.com/presentations/2008/SIGGRAPH/HBAO_SIG08b.pdf\n//https://gist.github.com/dotModded/981206ae1f4e760b7348\n//https://github.com/scanberg/hbao/blob/master/resources/shaders/hbao_full_frag.glsl\n//radius - radius of influence in screen space\n//angleBiasDeg - ~minimum angle for AO\n//intensity - increase strength of caclulated AO\n//noiseScale - for randomization values\nfloat $(name)_hbao(vec2 uv, float radius, float angleBiasDeg, float intensity, vec2 noiseScale) {\n int samplig_directions = 8;\n int steps = int($quality);\n\n float angleBias = 0.0174532925 * angleBiasDeg;\n\n vec3 c_point = vec3(uv*2.0 - 1.0, $in(uv)*$depth_scale);\n //fun with dfdx & dfdy - https://community.khronos.org/t/getting-the-normal-with-dfdx-and-dfdy/70177\n vec3 c_normal = normalize(cross(dFdx(c_point), dFdy(c_point)));\n\n\n float cosMaxRot = cos(6.28318530718 / float(samplig_directions));\n float sinMaxROt = sin(6.28318530718 / float(samplig_directions));\n \n // it should be faster than standard rotation in each iteartion\n mat2 deltaRotationMatrix = mat2(\n\tvec2(cosMaxRot, -sinMaxROt),\n\tvec2(sinMaxROt, cosMaxRot)\n );\n \n // calculate starting offset, as the smallest step\n vec2 offset_uv = vec2(1.0, 0.0) * (radius /float(steps));\n\n //randomize angle\n vec3 sampleNoise\t= rand3(uv * noiseScale);\n sampleNoise.xy\t = sampleNoise.xy * 2.0 - vec2(1.0);\n mat2 rotationMatrix = mat2(vec2(sampleNoise.x, -sampleNoise.y), \n\t\t\t\t\t\t\t vec2(sampleNoise.y, sampleNoise.x));\n \n // apply a random rotation to the base step vector\n offset_uv = rotationMatrix * offset_uv;\n \n float jitter = sampleNoise.z;\n float occlusion = 0.0;\n \n for (int i = 0; i < samplig_directions; ++i) {\n\t// incrementally rotate sample direction\n\toffset_uv = deltaRotationMatrix * offset_uv;\n\tfloat oldAngle = angleBias;\n\tfor (int j = 0; j < steps; ++j) {\n\t //add jitter & distance to offset UV\n\t vec2 sample_uv\t = uv + (jitter + float(j)) * offset_uv;\n\t vec3 s_point\t = vec3(sample_uv*2.0 - 1.0, $in(sample_uv)*$depth_scale);\n\t vec3 sample_tan = (s_point - c_point); //not sure if correct, but looks ok\n\t // 90 deg - (angle between normal from current point & sampled tangent)\n\t //https://math.stackexchange.com/questions/654315/how-to-convert-a-dot-product-of-two-vectors-to-the-angle-between-the-vectors\n\t float gamma = 1.57079632679 - acos(dot(c_normal, normalize(sample_tan)));\n\t \n\t if (gamma > oldAngle) {\n\t\tfloat value = sin(gamma) - sin(oldAngle);\n\t\tfloat attenuation = clamp(1.0 - pow(length(sample_tan.xy)/radius, 2.0), 0.0, 1.0);\n\t\tocclusion += attenuation * value;\n\t\t//occlusion += value;\n\t\toldAngle = gamma;\n\t }\n\t}\n }\n \n occlusion = 1.0 - occlusion / float(samplig_directions);\n return clamp(pow(occlusion, 1.0 + intensity), 0.0, 1.0);\n}",
"longdesc": "A node that generates several images from a tileable voronoi noise",
"name": "HBAO",
"outputs": [
{
"f": "$(name)_hbao($uv,$radius, $angleBiasDeg, $intensity, vec2(16.0,16.0))",
"longdesc": "A color pattern that assigns a random color to each cell",
"shortdesc": "Random color",
"type": "f"
}
],
"parameters": [
{
"control": "None",
"default": 0.01,
"label": "Radius",
"longdesc": "The scale along the X axis",
"max": 1,
"min": 0,
"name": "radius",
"shortdesc": "Scale.x",
"step": 0.01,
"type": "float"
},
{
"control": "None",
"default": 30,
"label": "Angle Bias",
"longdesc": "Angle bias for AO",
"max": 90,
"min": 0,
"name": "angleBiasDeg",
"shortdesc": "Angle Bias",
"step": 1,
"type": "float"
},
{
"control": "None",
"default": 0.2,
"label": "Intensity",
"longdesc": "Change intensity of AO",
"max": 5,
"min": 0,
"name": "intensity",
"shortdesc": "Intensity",
"step": 0.01,
"type": "float"
},
{
"control": "None",
"default": 1,
"label": "Depth Scale",
"longdesc": "Lineary scales depth values afecting cacluated normals & tangents",
"max": 1,
"min": 0,
"name": "depth_scale",
"shortdesc": "Depth Scale",
"step": 0.01,
"type": "float"
},
{
"control": "None",
"default": 4,
"label": "Steps",
"longdesc": "Steps in given direction per ray",
"max": 12,
"min": 1,
"name": "quality",
"shortdesc": "Quality",
"step": 1,
"type": "float"
}
],
"shortdesc": "Voronoi Noise"
},
"type": "shader"
},
{
"name": "gen_inputs",
"node_position": {
"x": -1338.030762,
"y": -788.080872
},
"parameters": {
},
"ports": [
{
"group_size": 0,
"longdesc": "Greyscale heightmap",
"name": "input",
"shortdesc": "Input",
"type": "f"
}
],
"seed": 43798,
"type": "ios"
},
{
"name": "gen_outputs",
"node_position": {
"x": -902.684204,
"y": -327.282288
},
"parameters": {
},
"ports": [
{
"group_size": 0,
"longdesc": "",
"name": "port0",
"shortdesc": "AO",
"type": "f"
}
],
"seed": 42623,
"type": "ios"
},
{
"name": "gen_parameters",
"node_position": {
"x": -1488.979004,
"y": -561.71167
},
"parameters": {
"param0": 10,
"param1": 0.1,
"param2": 15,
"param3": 0.08,
"param4": 4,
"param5": 2
},
"seed": 58911,
"type": "remote",
"widgets": [
{
"label": "Size",
"linked_widgets": [
{
"node": "voronoi_2",
"widget": "size"
},
{
"node": "buffer_2",
"widget": "size"
},
{
"node": "buffer_5",
"widget": "size"
},
{
"node": "buffer_7",
"widget": "size"
}
],
"name": "param0",
"shortdesc": "Size",
"type": "linked_control"
},
{
"label": "Radius",
"linked_widgets": [
{
"node": "voronoi_3",
"widget": "radius"
}
],
"longdesc": "Affected radius of point in UV size",
"name": "param1",
"shortdesc": "Radius",
"type": "linked_control"
},
{
"label": "Angle Bias",
"linked_widgets": [
{
"node": "voronoi_3",
"widget": "angleBiasDeg"
}
],
"longdesc": "Minimum angle on heightmap for AO to occur. Angle is calculated in UV space, where depth (grayscale input) is scaled by \"Depth Scale\" parameter",
"name": "param2",
"shortdesc": "Angle bias",
"type": "linked_control"
},
{
"label": "Depth Scale",
"linked_widgets": [
{
"node": "voronoi_3",
"widget": "depth_scale"
}
],
"longdesc": "Lineary scales depth values afecting cacluated normals & tangents",
"name": "param3",
"shortdesc": "Depth Scale",
"type": "linked_control"
},
{
"label": "Quality",
"linked_widgets": [
{
"node": "voronoi_3",
"widget": "quality"
}
],
"longdesc": "Number of steps per direction sampling",
"name": "param4",
"shortdesc": "Quality",
"type": "linked_control"
},
{
"label": "Intensity",
"linked_widgets": [
{
"node": "voronoi_3",
"widget": "intensity"
}
],
"longdesc": "Change intensity of calculated AO",
"name": "param5",
"shortdesc": "Intensity",
"type": "linked_control"
}
]
},
{
"name": "voronoi_2",
"node_position": {
"x": -710.111145,
"y": -596.459534
},
"parameters": {
"ksigma": 4,
"sigma": 3,
"size": 10,
"threshold": 0.7
},
"seed": 38722,
"shader_model": {
"code": "",
"global": "",
"inputs": [
{
"default": "0.0",
"function": true,
"label": "",
"name": "in",
"type": "rgba"
}
],
"instance": "//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n// Copyright (c) 2018-2019 Michele Morrone\n// All rights reserved.\n//\n// https://michelemorrone.eu - https://BrutPitt.com\n//\n// me@michelemorrone.eu - brutpitt@gmail.com\n// twitter: @BrutPitt - github: BrutPitt\n// \n// https://github.com/BrutPitt/glslSmartDeNoise/\n//\n// This software is distributed under the terms of the BSD 2-Clause license\n//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n// smartDeNoise - parameters\n//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n//\n// sampler2D tex\t - sampler image / texture\n// vec2 uv\t\t - actual fragment coord\n// float sigma > 0 - sigma Standard Deviation\n// float kSigma >= 0 - sigma coefficient \n//\t kSigma * sigma --> radius of the circular kernel\n// float threshold - edge sharpening threshold \nvec4 $(name)_smartDeNoise(vec2 uv, float sigma, float kSigma, float threshold)\n{\n\tfloat INV_SQRT_OF_2PI = 0.39894228040143267793994605993439; // 1.0/SQRT_OF_2PI\n\tfloat INV_PI = 0.31830988618379067153776752674503;\n\tfloat radius = round(kSigma*sigma);\n\tfloat radQ = radius * radius;\n\n\tfloat invSigmaQx2 = .5 / (sigma * sigma);\t // 1.0 / (sigma^2 * 2.0)\n\tfloat invSigmaQx2PI = INV_PI * invSigmaQx2;\t// 1/(2 * PI * sigma^2)\n\n\tfloat invThresholdSqx2 = .5 / (threshold * threshold);\t // 1.0 / (sigma^2 * 2.0)\n\tfloat invThresholdSqrt2PI = INV_SQRT_OF_2PI / threshold; // 1.0 / (sqrt(2*PI) * sigma^2)\n\n\tvec4 centrPx = $in(uv); \n\n\tfloat zBuff = 0.0;\n\tvec4 aBuff = vec4(0.0);\n\tvec2 size = vec2($size, $size);\n\n\tvec2 d;\n\tfor (d.x=-radius; d.x <= radius; d.x++) {\n\t\tfloat pt = sqrt(radQ-d.x*d.x);\t // pt = yRadius: have circular trend\n\t\tfor (d.y=-pt; d.y <= pt; d.y++) {\n\t\t\tfloat blurFactor = exp( -dot(d , d) * invSigmaQx2 ) * invSigmaQx2PI;\n\n\t\t\tvec4 walkPx = $in(uv+d/size);\n\t\t\tvec4 dC = walkPx-centrPx;\n\t\t\tfloat deltaFactor = exp( -dot(dC, dC) * invThresholdSqx2) * invThresholdSqrt2PI * blurFactor;\n\n\t\t\tzBuff += deltaFactor;\n\t\t\taBuff += deltaFactor*walkPx;\n\t\t}\n\t}\n\treturn aBuff/zBuff;\n}",
"longdesc": "A node that generates several images from a tileable voronoi noise",
"name": "Denoiser",
"outputs": [
{
"longdesc": "A color pattern that assigns a random color to each cell",
"rgba": "$(name)_smartDeNoise($uv, $sigma, $ksigma, $threshold)",
"shortdesc": "Random color",
"type": "rgba"
}
],
"parameters": [
{
"default": 10,
"first": 0,
"label": "size",
"last": 12,
"longdesc": "The scale along the X axis",
"name": "size",
"shortdesc": "Scale.x",
"type": "size"
},
{
"control": "None",
"default": 0.5,
"label": "Sigma",
"max": 1,
"min": 0.005,
"name": "sigma",
"step": 0.1,
"type": "float"
},
{
"control": "None",
"default": 0.5,
"label": "kSigma",
"max": 1,
"min": 0,
"name": "ksigma",
"step": 0.1,
"type": "float"
},
{
"control": "None",
"default": 0.5,
"label": "threshold",
"max": 1,
"min": 0,
"name": "threshold",
"step": 0.1,
"type": "float"
}
],
"shortdesc": "Voronoi Noise"
},
"type": "shader"
},
{
"name": "buffer_5",
"node_position": {
"x": -931.449646,
"y": -724.330017
},
"parameters": {
"size": 10
},
"seed": 6771,
"type": "buffer",
"version": 1
},
{
"name": "buffer_7",
"node_position": {
"x": -948.36377,
"y": -449.796295
},
"parameters": {
"size": 10
},
"seed": 16139,
"type": "buffer",
"version": 1
},
{
"name": "buffer_2",
"node_position": {
"x": -976.009644,
"y": -975.5
},
"parameters": {
"size": 10
},
"seed": 42465,
"type": "buffer",
"version": 1
}
],
"parameters": {
"param0": 10,
"param1": 0.1,
"param2": 15,
"param3": 0.08,
"param4": 4,
"param5": 2
},
"seed": 6741,
"shortdesc": "",
"type": "graph"
},
{
"generic_size": 1,
"name": "blend2_3",
"node_position": {
"x": 1737.70166,
"y": -221.297119
},
"parameters": {
"amount1": 1,
"blend_type1": 2
},
"seed_int": 0,
"type": "blend2"
}
],
"parameters": {
},
"seed_int": 0,
"shortdesc": "",
"type": "graph"
}

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://85fb3gemkbhp"
path="res://.godot/imported/cracks_01.png-b2883083b679e85a58b6b181da75c176.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://experimental/BinbunVFX/shared/texture/cracks_01.png"
dest_files=["res://.godot/imported/cracks_01.png-b2883083b679e85a58b6b181da75c176.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bbxo5nkvy537a"
path="res://.godot/imported/cracks_emission_01.png-422f532765f31b10e8119ebefe47ff83.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://experimental/BinbunVFX/shared/texture/cracks_emission_01.png"
dest_files=["res://.godot/imported/cracks_emission_01.png-422f532765f31b10e8119ebefe47ff83.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

View File

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://hxi4xo7j57d7"
path.s3tc="res://.godot/imported/flare_01.png-998db80d842535967a4542ef99bc60fb.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://experimental/BinbunVFX/shared/texture/flare/flare_01.png"
dest_files=["res://.godot/imported/flare_01.png-998db80d842535967a4542ef99bc60fb.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: 184 KiB

View File

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bfvs2muk8b4ls"
path.s3tc="res://.godot/imported/flare_02.png-ba0ed870ef7eae70ba66322cae236a97.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://experimental/BinbunVFX/shared/texture/flare/flare_02.png"
dest_files=["res://.godot/imported/flare_02.png-ba0ed870ef7eae70ba66322cae236a97.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: 78 KiB

View File

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bxtojkguayub2"
path.s3tc="res://.godot/imported/flare_03.png-96332c1d1aa4bc5d6fff0fa81be47532.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://experimental/BinbunVFX/shared/texture/flare/flare_03.png"
dest_files=["res://.godot/imported/flare_03.png-96332c1d1aa4bc5d6fff0fa81be47532.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: 142 KiB

View File

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://6n72xg2cgxx2"
path.s3tc="res://.godot/imported/flare_04.png-d4bfa986ba6200a8f8fe47269ca582d5.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://experimental/BinbunVFX/shared/texture/flare/flare_04.png"
dest_files=["res://.godot/imported/flare_04.png-d4bfa986ba6200a8f8fe47269ca582d5.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: 122 KiB

View File

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b2ahcfqaivla7"
path.s3tc="res://.godot/imported/flash_01.png-124ac486dfaee7dac9f6fa5ed84ea33e.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://experimental/BinbunVFX/shared/texture/flash/flash_01.png"
dest_files=["res://.godot/imported/flash_01.png-124ac486dfaee7dac9f6fa5ed84ea33e.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: 98 KiB

View File

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cjkuadylsfid1"
path.s3tc="res://.godot/imported/flash_02.png-17a4ad00a195fbe7dacad81bcf45261d.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://experimental/BinbunVFX/shared/texture/flash/flash_02.png"
dest_files=["res://.godot/imported/flash_02.png-17a4ad00a195fbe7dacad81bcf45261d.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: 102 KiB

View File

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bqqrfrrd5f7kq"
path.s3tc="res://.godot/imported/flash_03.png-c479df70ab6f702bab174d8991fc1227.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://experimental/BinbunVFX/shared/texture/flash/flash_03.png"
dest_files=["res://.godot/imported/flash_03.png-c479df70ab6f702bab174d8991fc1227.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: 91 KiB

View File

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://i6dlldk10la7"
path.s3tc="res://.godot/imported/flash_04.png-476effc01f47798e59f16f12db9f307c.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://experimental/BinbunVFX/shared/texture/flash/flash_04.png"
dest_files=["res://.godot/imported/flash_04.png-476effc01f47798e59f16f12db9f307c.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

View File

@@ -0,0 +1,749 @@
{
"connections": [
{
"from": "voronoi2",
"from_port": 0,
"to": "tones_map",
"to_port": 0
},
{
"from": "tones_map",
"from_port": 0,
"to": "shape",
"to_port": 0
},
{
"from": "shape_2",
"from_port": 0,
"to": "math",
"to_port": 0
},
{
"from": "radial_gradient",
"from_port": 0,
"to": "math",
"to_port": 1
},
{
"from": "math",
"from_port": 0,
"to": "tones_map_3",
"to_port": 0
},
{
"from": "tones_map_3",
"from_port": 0,
"to": "blend2",
"to_port": 1
},
{
"from": "blend2",
"from_port": 0,
"to": "gaussian_blur",
"to_port": 0
},
{
"from": "shape",
"from_port": 0,
"to": "rotate",
"to_port": 0
},
{
"from": "rotate",
"from_port": 0,
"to": "blend2",
"to_port": 0
},
{
"from": "gaussian_blur",
"from_port": 0,
"to": "blend2_2",
"to_port": 0
},
{
"from": "radial_gradient",
"from_port": 0,
"to": "blend2_2",
"to_port": 1
},
{
"from": "blend2_2",
"from_port": 0,
"to": "Material",
"to_port": 0
},
{
"from": "blend2_2",
"from_port": 0,
"to": "export",
"to_port": 0
},
{
"from": "shape",
"from_port": 0,
"to": "transform2",
"to_port": 0
},
{
"from": "tones_map_3",
"from_port": 0,
"to": "transform2_2",
"to_port": 0
},
{
"from": "transform2_2",
"from_port": 0,
"to": "blend2_3",
"to_port": 0
},
{
"from": "transform2",
"from_port": 0,
"to": "blend2_3",
"to_port": 1
},
{
"from": "blend2_3",
"from_port": 0,
"to": "gaussian_blur_2",
"to_port": 0
},
{
"from": "radial_gradient",
"from_port": 0,
"to": "blend2_4",
"to_port": 1
},
{
"from": "gaussian_blur_2",
"from_port": 0,
"to": "blend2_4",
"to_port": 0
},
{
"from": "blend2_4",
"from_port": 0,
"to": "export_2",
"to_port": 0
},
{
"from": "shape",
"from_port": 0,
"to": "transform2_3",
"to_port": 0
},
{
"from": "tones_map_3",
"from_port": 0,
"to": "transform2_4",
"to_port": 0
},
{
"from": "transform2_4",
"from_port": 0,
"to": "blend2_5",
"to_port": 1
},
{
"from": "transform2_3",
"from_port": 0,
"to": "blend2_5",
"to_port": 0
},
{
"from": "blend2_5",
"from_port": 0,
"to": "gaussian_blur_3",
"to_port": 0
},
{
"from": "gaussian_blur_3",
"from_port": 0,
"to": "blend2_6",
"to_port": 0
},
{
"from": "blend2_5",
"from_port": 0,
"to": "blend2_6",
"to_port": 1
},
{
"from": "blend2_6",
"from_port": 0,
"to": "export_3",
"to_port": 0
},
{
"from": "shape",
"from_port": 0,
"to": "transform2_5",
"to_port": 0
},
{
"from": "tones_map_3",
"from_port": 0,
"to": "transform2_6",
"to_port": 0
},
{
"from": "transform2_6",
"from_port": 0,
"to": "blend2_7",
"to_port": 0
},
{
"from": "transform2_5",
"from_port": 0,
"to": "blend2_7",
"to_port": 1
},
{
"from": "blend2_7",
"from_port": 0,
"to": "gaussian_blur_4",
"to_port": 0
},
{
"from": "gaussian_blur_4",
"from_port": 0,
"to": "blend2_8",
"to_port": 0
},
{
"from": "radial_gradient",
"from_port": 0,
"to": "blend2_8",
"to_port": 1
},
{
"from": "blend2_8",
"from_port": 0,
"to": "export_4",
"to_port": 0
}
],
"label": "Graph",
"longdesc": "",
"name": "_Node_867",
"node_position": {
"x": 0.0,
"y": 0.0
},
"nodes": [
{
"export_paths": {
},
"name": "Material",
"node_position": {
"x": 2525.98217773438,
"y": -766.519775390625
},
"parameters": {
"albedo_color": {
"a": 1.0,
"b": 1.0,
"g": 1.0,
"r": 1.0,
"type": "Color"
},
"ao": 1.0,
"depth_scale": 0.5,
"emission_energy": 1.0,
"flags_transparent": true,
"metallic": 0.0,
"normal": 1.0,
"roughness": 1.0,
"size": 11.0,
"sss": 1.0
},
"seed_int": 0,
"type": "material"
},
{
"name": "shape",
"node_position": {
"x": 623.377807617188,
"y": -679.47021484375
},
"parameters": {
"edge": 1.0,
"radius": 0.5,
"shape": 3.0,
"sides": 6.0
},
"seed_int": 0,
"type": "shape"
},
{
"name": "voronoi2",
"node_position": {
"x": -388.564422607422,
"y": -823.6640625
},
"parameters": {
"intensity": 1.0,
"randomness": 0.85,
"scale_x": 8.0,
"scale_y": 8.0,
"stretch_x": 1.0,
"stretch_y": 1.0
},
"seed_int": 0,
"type": "voronoi2"
},
{
"generic_size": 1,
"name": "tones_map",
"node_position": {
"x": 167.742294311523,
"y": -438.236206054688
},
"parameters": {
"in_max": 1.0,
"in_min": 0.0,
"out_max": 1.0,
"out_min": 0.77
},
"seed_int": 0,
"type": "tones_map"
},
{
"name": "shape_2",
"node_position": {
"x": 175.742294311523,
"y": -1057.23645019531
},
"parameters": {
"edge": 1.0,
"radius": 0.38,
"shape": 4,
"sides": 6.0
},
"seed_int": 0,
"type": "shape"
},
{
"name": "radial_gradient",
"node_position": {
"x": 129.742294311523,
"y": -1213.23645019531
},
"parameters": {
"gradient": {
"interpolation": 1,
"points": [
{
"a": 1.0,
"b": 1.0,
"g": 1.0,
"pos": 0.0,
"r": 1.0
},
{
"a": 1.0,
"b": 0.0,
"g": 0.0,
"pos": 0.709090909090909,
"r": 0.0
}
],
"type": "Gradient"
},
"mirror": false,
"repeat": 1.0
},
"seed_int": 0,
"type": "radial_gradient"
},
{
"name": "math",
"node_position": {
"x": 414.742309570312,
"y": -1118.23645019531
},
"parameters": {
"clamp": false,
"default_in1": 0.0,
"default_in2": 0.0,
"op": 2
},
"seed_int": 0,
"type": "math"
},
{
"generic_size": 1,
"name": "blend2",
"node_position": {
"x": 1112.74255371094,
"y": -879.236328125
},
"parameters": {
"amount1": 1.0,
"blend_type1": 3
},
"seed_int": 0,
"type": "blend2"
},
{
"generic_size": 1,
"name": "tones_map_3",
"node_position": {
"x": 725.742431640625,
"y": -1196.73645019531
},
"parameters": {
"in_max": 1.0,
"in_min": 0.0,
"out_max": 1.0,
"out_min": 0.0
},
"seed_int": 0,
"type": "tones_map"
},
{
"name": "gaussian_blur",
"node_position": {
"x": 1542.20935058594,
"y": -909.713989257812
},
"parameters": {
"param0": 11,
"param1": 20.0,
"param2": 0.0,
"param3": false
},
"seed_int": 0,
"type": "gaussian_blur"
},
{
"generic_size": 1,
"name": "rotate",
"node_position": {
"x": 734.724975585938,
"y": -347.548553466797
},
"parameters": {
"cx": 0.0,
"cy": 0.0,
"rotate": 51.755
},
"seed_int": 0,
"type": "rotate"
},
{
"generic_size": 1,
"name": "blend2_2",
"node_position": {
"x": 1947.82641601562,
"y": -1093.6220703125
},
"parameters": {
"amount1": 1.0,
"blend_type1": 4
},
"seed_int": 0,
"type": "blend2"
},
{
"name": "export",
"node_position": {
"x": 2406.81225585938,
"y": -1527.15307617188
},
"parameters": {
"format": 0,
"size": 10.0,
"suffix": "_01"
},
"seed_int": 0,
"type": "export"
},
{
"name": "export_2",
"node_position": {
"x": 2393.3330078125,
"y": -1347.80346679688
},
"parameters": {
"format": 0,
"size": 10.0,
"suffix": "_02"
},
"seed_int": 0,
"type": "export"
},
{
"generic_size": 1,
"name": "transform2",
"node_position": {
"x": 1210.50891113281,
"y": -1709.525390625
},
"parameters": {
"mode": 0.0,
"rotate": 28.7,
"scale_x": 0.8,
"scale_y": 0.6,
"translate_x": 0.0,
"translate_y": 0.0
},
"seed_int": 0,
"type": "transform2"
},
{
"generic_size": 1,
"name": "transform2_2",
"node_position": {
"x": 1193.919921875,
"y": -1489.40747070312
},
"parameters": {
"mode": 0.0,
"rotate": -20.54,
"scale_x": 0.8,
"scale_y": 1.0,
"translate_x": 0.0,
"translate_y": 0.0
},
"seed_int": 0,
"type": "transform2"
},
{
"generic_size": 1,
"name": "blend2_3",
"node_position": {
"x": 1514.20861816406,
"y": -1526.32409667969
},
"parameters": {
"amount1": 1.0,
"blend_type1": 3.0
},
"seed_int": 0,
"type": "blend2"
},
{
"name": "gaussian_blur_2",
"node_position": {
"x": 1799.01965332031,
"y": -1752.37902832031
},
"parameters": {
"param0": 11.0,
"param1": 20.0,
"param2": 0.0,
"param3": false
},
"seed_int": 0,
"type": "gaussian_blur"
},
{
"generic_size": 1,
"name": "blend2_4",
"node_position": {
"x": 1914.25378417969,
"y": -1563.57373046875
},
"parameters": {
"amount1": 1.0,
"blend_type1": 4.0
},
"seed_int": 0,
"type": "blend2"
},
{
"generic_size": 1,
"name": "transform2_3",
"node_position": {
"x": 1294.08801269531,
"y": -2035.52844238281
},
"parameters": {
"mode": 0.0,
"rotate": -46.22,
"scale_x": 0.8,
"scale_y": 1.0,
"translate_x": 0.0,
"translate_y": 0.0
},
"seed_int": 0,
"type": "transform2"
},
{
"generic_size": 1,
"name": "transform2_4",
"node_position": {
"x": 1312.63305664062,
"y": -2278.04370117188
},
"parameters": {
"mode": 0.0,
"rotate": 28.7,
"scale_x": 0.8,
"scale_y": 1.0,
"translate_x": 0.0,
"translate_y": 0.0
},
"seed_int": 0,
"type": "transform2"
},
{
"generic_size": 1,
"name": "blend2_5",
"node_position": {
"x": 1648.654296875,
"y": -2108.50634765625
},
"parameters": {
"amount1": 1.0,
"blend_type1": 3.0
},
"seed_int": 0,
"type": "blend2"
},
{
"name": "gaussian_blur_3",
"node_position": {
"x": 1873.33032226562,
"y": -2210.95288085938
},
"parameters": {
"param0": 11.0,
"param1": 20.0,
"param2": 0.0,
"param3": false
},
"seed_int": 0,
"type": "gaussian_blur"
},
{
"generic_size": 1,
"name": "blend2_6",
"node_position": {
"x": 2130.8310546875,
"y": -2087.10791015625
},
"parameters": {
"amount1": 1.0,
"blend_type1": 4.0
},
"seed_int": 0,
"type": "blend2"
},
{
"name": "export_3",
"node_position": {
"x": 2473.35205078125,
"y": -1940.392578125
},
"parameters": {
"format": 0.0,
"size": 10.0,
"suffix": "_03"
},
"seed_int": 0,
"type": "export"
},
{
"name": "export_4",
"node_position": {
"x": 2494.75073242188,
"y": -2288.47314453125
},
"parameters": {
"format": 0.0,
"size": 10.0,
"suffix": "_04"
},
"seed_int": 0,
"type": "export"
},
{
"generic_size": 1,
"name": "transform2_5",
"node_position": {
"x": 1313.50415039062,
"y": -2789.62255859375
},
"parameters": {
"mode": 0.0,
"rotate": 28.7,
"scale_x": 0.4,
"scale_y": 0.7,
"translate_x": 0.0,
"translate_y": 0.0
},
"seed_int": 0,
"type": "transform2"
},
{
"generic_size": 1,
"name": "transform2_6",
"node_position": {
"x": 1329.2802734375,
"y": -2568.99072265625
},
"parameters": {
"mode": 0.0,
"rotate": -46.22,
"scale_x": 0.8,
"scale_y": 1.0,
"translate_x": 0.0,
"translate_y": 0.0
},
"seed_int": 0,
"type": "transform2"
},
{
"generic_size": 1,
"name": "blend2_7",
"node_position": {
"x": 1656.72607421875,
"y": -2713.31518554688
},
"parameters": {
"amount1": 1.0,
"blend_type1": 3.0
},
"seed_int": 0,
"type": "blend2"
},
{
"name": "gaussian_blur_4",
"node_position": {
"x": 1871.41613769531,
"y": -2855.70532226562
},
"parameters": {
"param0": 11.0,
"param1": 20.0,
"param2": 0.0,
"param3": false
},
"seed_int": 0,
"type": "gaussian_blur"
},
{
"generic_size": 1,
"name": "blend2_8",
"node_position": {
"x": 2136.0498046875,
"y": -2721.87451171875
},
"parameters": {
"amount1": 1.0,
"blend_type1": 4.0
},
"seed_int": 0,
"type": "blend2"
}
],
"parameters": {
},
"seed_int": 0,
"shortdesc": "",
"type": "graph"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

View File

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

Binary file not shown.

View File

@@ -0,0 +1,284 @@
{
"connections": [
{
"from": "gradient_2",
"from_port": 0,
"to": "math",
"to_port": 1
},
{
"from": "sine_wave",
"from_port": 0,
"to": "rotate",
"to_port": 0
},
{
"from": "rotate",
"from_port": 0,
"to": "multi_warp",
"to_port": 0
},
{
"from": "crystal",
"from_port": 0,
"to": "multi_warp",
"to_port": 1
},
{
"from": "math",
"from_port": 0,
"to": "tones_map_2",
"to_port": 0
},
{
"from": "multi_warp",
"from_port": 0,
"to": "gaussian_blur",
"to_port": 0
},
{
"from": "gaussian_blur",
"from_port": 0,
"to": "tones_map",
"to_port": 0
},
{
"from": "tones_map",
"from_port": 0,
"to": "math",
"to_port": 0
}
],
"label": "Graph",
"longdesc": "",
"name": "@Node@40727",
"node_position": {
"x": 0.0,
"y": 0.0
},
"nodes": [
{
"export_paths": {
},
"name": "Material",
"node_position": {
"x": 881.0,
"y": 292.0
},
"parameters": {
"albedo_color": {
"a": 1.0,
"b": 1.0,
"g": 1.0,
"r": 1.0,
"type": "Color"
},
"ao": 1.0,
"depth_scale": 0.5,
"emission_energy": 1.0,
"flags_transparent": true,
"metallic": 0.0,
"normal": 1.0,
"roughness": 1.0,
"size": 11,
"sss": 1.0
},
"seed_int": 0,
"type": "material"
},
{
"name": "gradient",
"node_position": {
"x": -453.5,
"y": 79.0
},
"parameters": {
"gradient": {
"interpolation": 1,
"points": [
{
"a": 1.0,
"b": 0.0,
"g": 0.0,
"pos": 0.725,
"r": 0.0
},
{
"a": 1.0,
"b": 1.0,
"g": 1.0,
"pos": 1.0,
"r": 1.0
}
],
"type": "Gradient"
},
"mirror": true,
"repeat": 1.0,
"rotate": 0.0
},
"seed_int": 0,
"type": "gradient"
},
{
"name": "crystal",
"node_position": {
"x": -1234.5,
"y": -174.0
},
"parameters": {
"param0": 6.0,
"param1": 6.0
},
"seed_int": 976969280,
"type": "crystal"
},
{
"generic_size": 1,
"name": "tones_map",
"node_position": {
"x": -74.5,
"y": -330.0
},
"parameters": {
"in_max": 0.87,
"in_min": 0.83,
"out_max": 1.0,
"out_min": 0.0
},
"seed_int": 0,
"type": "tones_map"
},
{
"name": "gradient_2",
"node_position": {
"x": -159.5,
"y": 176.0
},
"parameters": {
"gradient": {
"interpolation": 1,
"points": [
{
"a": 1.0,
"b": 0.0,
"g": 0.0,
"pos": 0.0,
"r": 0.0
},
{
"a": 1.0,
"b": 1.0,
"g": 1.0,
"pos": 1.0,
"r": 1.0
}
],
"type": "Gradient"
},
"mirror": false,
"repeat": 1.0,
"rotate": 90.0
},
"seed_int": 0,
"type": "gradient"
},
{
"name": "math",
"node_position": {
"x": 219.5,
"y": -121.0
},
"parameters": {
"clamp": true,
"default_in1": 0.0,
"default_in2": 0.0,
"op": 2
},
"seed_int": 0,
"type": "math"
},
{
"name": "sine_wave",
"node_position": {
"x": -1003.5,
"y": -279.0
},
"parameters": {
"amplitude": 0.05,
"frequency": 2.0,
"phase": 0.0
},
"seed_int": 0,
"type": "sine_wave"
},
{
"generic_size": 1,
"name": "rotate",
"node_position": {
"x": -788.5,
"y": -396.0
},
"parameters": {
"cx": 0.0,
"cy": 0.0,
"rotate": 90.0
},
"seed_int": 0,
"type": "rotate"
},
{
"name": "multi_warp",
"node_position": {
"x": -542.5,
"y": -228.0
},
"parameters": {
"param0": 10.0,
"param1": 1.5,
"param2": 36.0,
"param3": 1
},
"seed_int": 0,
"type": "multi_warp"
},
{
"generic_size": 1,
"name": "tones_map_2",
"node_position": {
"x": 408.5,
"y": -394.5
},
"parameters": {
"in_max": 0.65,
"in_min": 0.61,
"out_max": 0.48,
"out_min": 0.0
},
"seed_int": 0,
"type": "tones_map"
},
{
"name": "gaussian_blur",
"node_position": {
"x": -307.5,
"y": -387.0
},
"parameters": {
"param0": 9.0,
"param1": 5.0,
"param2": 0.0,
"param3": false
},
"seed_int": 0,
"type": "gaussian_blur"
}
],
"parameters": {
},
"seed_int": 0,
"shortdesc": "",
"type": "graph"
}