Compare commits
2 Commits
eb24d1d7de
...
5c71f036af
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5c71f036af | ||
|
|
3b540e019b |
45
Pot.tres
Normal file
45
Pot.tres
Normal file
@@ -0,0 +1,45 @@
|
||||
[gd_resource type="VisualShader" load_steps=4 format=3 uid="uid://bwqye4r8hf2j8"]
|
||||
|
||||
[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_k82ey"]
|
||||
input_name = "time"
|
||||
|
||||
[sub_resource type="VisualShaderNodeTransformOp" id="VisualShaderNodeTransformOp_k82ey"]
|
||||
operator = 4
|
||||
|
||||
[sub_resource type="VisualShaderNodeColorFunc" id="VisualShaderNodeColorFunc_vs1jt"]
|
||||
output_port_for_preview = 0
|
||||
default_input_values = [0, Vector3(1, 0, 0)]
|
||||
function = 4
|
||||
|
||||
[resource]
|
||||
code = "shader_type spatial;
|
||||
render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_lambert, specular_schlick_ggx;
|
||||
|
||||
|
||||
|
||||
|
||||
void fragment() {
|
||||
vec3 n_out4p0;
|
||||
// ColorFunc:4
|
||||
vec3 n_in4p0 = vec3(1.00000, 0.00000, 0.00000);
|
||||
{
|
||||
vec3 c = clamp(n_in4p0, vec3(0.0), vec3(1.0));
|
||||
const vec3 a = vec3(0.055f);
|
||||
n_out4p0 = mix((vec3(1.0f) + a) * pow(c.rgb, vec3(1.0f / 2.4f)) - a, 12.92f * c.rgb, lessThan(c.rgb, vec3(0.0031308f)));
|
||||
}
|
||||
|
||||
|
||||
// Output:0
|
||||
ALBEDO = n_out4p0;
|
||||
|
||||
|
||||
}
|
||||
"
|
||||
graph_offset = Vector2(-323.167, 182.894)
|
||||
nodes/fragment/2/node = SubResource("VisualShaderNodeInput_k82ey")
|
||||
nodes/fragment/2/position = Vector2(-140, 280)
|
||||
nodes/fragment/3/node = SubResource("VisualShaderNodeTransformOp_k82ey")
|
||||
nodes/fragment/3/position = Vector2(-200, 600)
|
||||
nodes/fragment/4/node = SubResource("VisualShaderNodeColorFunc_vs1jt")
|
||||
nodes/fragment/4/position = Vector2(-40, 400)
|
||||
nodes/fragment/connections = PackedInt32Array(4, 0, 0, 0)
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=14 format=3 uid="uid://0t0cvsitlfmm"]
|
||||
[gd_scene load_steps=11 format=3 uid="uid://0t0cvsitlfmm"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c61rr6to3q566" path="res://Scripts/build_object.gd" id="1_nn5da"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://cahq2fdeqqwhx" path="res://Blends/Mobel/DoubleBeds.obj" id="2_8ssp7"]
|
||||
@@ -10,20 +10,7 @@
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_dn7et"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("3_pdq8c")
|
||||
shader_parameter/alpha = 0.5
|
||||
shader_parameter/color = Vector3(0, 1, 0)
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_sp2kd"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("3_pdq8c")
|
||||
shader_parameter/alpha = 0.5
|
||||
shader_parameter/color = Vector3(0, 1, 0)
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_c1046"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("3_pdq8c")
|
||||
shader_parameter/alpha = 0.5
|
||||
shader_parameter/color = Vector3(0, 1, 0)
|
||||
shader_parameter/color = Vector3(0, 0, 0)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_c1046"]
|
||||
albedo_texture = ExtResource("3_nn5da")
|
||||
@@ -35,38 +22,14 @@ albedo_texture = ExtResource("5_sp2kd")
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_tma46"]
|
||||
albedo_texture = ExtResource("5_sp2kd")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_k1k40"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("3_pdq8c")
|
||||
shader_parameter/alpha = 0.5
|
||||
shader_parameter/color = Vector3(1, 0, 0)
|
||||
|
||||
[node name="DoubleBeds" type="Node3D" node_paths=PackedStringArray("meshInstance", "greenMeshInstance", "RedMeshInstance")]
|
||||
[node name="DoubleBeds" type="Node3D" node_paths=PackedStringArray("meshInstance")]
|
||||
script = ExtResource("1_nn5da")
|
||||
meshInstance = NodePath("DoubleBeds")
|
||||
greenMeshInstance = NodePath("Green_preview")
|
||||
RedMeshInstance = NodePath("Red_preview")
|
||||
|
||||
[node name="Green_preview" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.83435, 0, 0)
|
||||
visible = false
|
||||
mesh = ExtResource("2_8ssp7")
|
||||
skeleton = NodePath("../DoubleBeds")
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_dn7et")
|
||||
surface_material_override/1 = SubResource("ShaderMaterial_sp2kd")
|
||||
surface_material_override/2 = SubResource("ShaderMaterial_c1046")
|
||||
preview_shader = SubResource("ShaderMaterial_dn7et")
|
||||
|
||||
[node name="DoubleBeds" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.83435, 0, 0)
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.83435, -0.42751, 0)
|
||||
mesh = ExtResource("2_8ssp7")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_c1046")
|
||||
surface_material_override/1 = SubResource("StandardMaterial3D_k1k40")
|
||||
surface_material_override/2 = SubResource("StandardMaterial3D_tma46")
|
||||
|
||||
[node name="Red_preview" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.83435, 0, 0)
|
||||
visible = false
|
||||
mesh = ExtResource("2_8ssp7")
|
||||
surface_material_override/0 = SubResource("ShaderMaterial_k1k40")
|
||||
surface_material_override/1 = SubResource("ShaderMaterial_k1k40")
|
||||
surface_material_override/2 = SubResource("ShaderMaterial_k1k40")
|
||||
|
||||
@@ -1,13 +1,20 @@
|
||||
[gd_scene load_steps=11 format=3 uid="uid://bcme5mx8nf5kf"]
|
||||
[gd_scene load_steps=14 format=3 uid="uid://bcme5mx8nf5kf"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c61rr6to3q566" path="res://Scripts/build_object.gd" id="1_c5d30"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://dqs5joeucls8u" path="res://Blends/Pot/pot.obj" id="1_ps8qt"]
|
||||
[ext_resource type="Texture2D" uid="uid://c4cvsuxeqt068" path="res://Blends/Pot/pot_metal.jpg" id="2_c5d30"]
|
||||
[ext_resource type="Shader" uid="uid://bfv6ckihralab" path="res://Shaders/build_transparent.gdshader" id="2_ocdig"]
|
||||
[ext_resource type="Texture2D" uid="uid://fom8shxpn476" path="res://Blends/Pot/pot_brick.jpg" id="3_ocdig"]
|
||||
[ext_resource type="Texture2D" uid="uid://bw8k6hmfrwj60" path="res://Blends/Pot/rougness_m.png" id="4_vv7mx"]
|
||||
[ext_resource type="Texture2D" uid="uid://cdb7b2ef31ixv" path="res://Blends/Pot/pot_wood.jpg" id="5_gtq0i"]
|
||||
[ext_resource type="Texture2D" uid="uid://bxgm6oovlxdjq" path="res://Blends/Pot/wood_n.png" id="6_r71lq"]
|
||||
[ext_resource type="Texture2D" uid="uid://run700pxmcyc" path="res://Blends/Pot/brick_t.png" id="7_e7ek7"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_vv7mx"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("2_ocdig")
|
||||
shader_parameter/color = Vector3(0, 0, 0)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_dn6sd"]
|
||||
albedo_texture = ExtResource("2_c5d30")
|
||||
roughness = 0.4
|
||||
@@ -24,9 +31,14 @@ normal_texture = ExtResource("6_r71lq")
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_rbvpf"]
|
||||
albedo_texture = ExtResource("7_e7ek7")
|
||||
|
||||
[node name="Pot" type="Node3D"]
|
||||
[node name="Pot" type="Node3D" node_paths=PackedStringArray("meshInstance")]
|
||||
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0)
|
||||
script = ExtResource("1_c5d30")
|
||||
meshInstance = NodePath("Pot")
|
||||
preview_shader = SubResource("ShaderMaterial_vv7mx")
|
||||
|
||||
[node name="Pot" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -3.41814, 0)
|
||||
mesh = ExtResource("1_ps8qt")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_dn6sd")
|
||||
surface_material_override/1 = SubResource("StandardMaterial3D_uhv8u")
|
||||
|
||||
@@ -21,14 +21,13 @@ size = Vector3(22.1814, 0.0957031, 5.72699)
|
||||
size = Vector3(22.2341, 4.23804, 0.494629)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_eosii"]
|
||||
size = Vector3(5.40002, 4.29805, 2.28394)
|
||||
size = Vector3(5.40002, 3.46348, 2.28394)
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_eosii"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_u7bw1"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("6_ru0md")
|
||||
shader_parameter/alpha = 0.5
|
||||
shader_parameter/color = Vector3(0, 0, 0)
|
||||
|
||||
[node name="Cart" type="Node3D" node_paths=PackedStringArray("cartTop")]
|
||||
@@ -54,6 +53,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.352722, 1.07356, -0.102142
|
||||
shape = SubResource("BoxShape3D_ru0md")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Cart-bottom/NavigationRegion3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.169229, 0)
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cart-bottom/NavigationRegion3D/StaticBody3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.930367, -0.452148, 0.568024)
|
||||
@@ -107,7 +107,7 @@ buildTransparentPreivew = NodePath("BuildAreaModeView")
|
||||
metadata/is_building_area = true
|
||||
|
||||
[node name="smallBuildingArea2" type="CollisionShape3D" parent="BuildingArea"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.69414, 1.02766, -1.22106)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.69414, 1.44495, -1.22106)
|
||||
shape = SubResource("BoxShape3D_eosii")
|
||||
metadata/is_building_area = true
|
||||
|
||||
|
||||
73
Scenes/Prefabs/main_game_ui.tscn
Normal file
73
Scenes/Prefabs/main_game_ui.tscn
Normal file
@@ -0,0 +1,73 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://cyaesj3qjb5um"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bqh6f4f4sc4ba" path="res://Scripts/ui/panel_build_select.gd" id="1_dew6i"]
|
||||
[ext_resource type="Script" uid="uid://3bsllk6udire" path="res://Scripts/button_select_build.gd" id="1_yp16r"]
|
||||
|
||||
[node name="MainGameUi" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="Panel" type="Panel" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 5
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
offset_left = -51.0
|
||||
offset_top = 20.0
|
||||
offset_right = 51.0
|
||||
offset_bottom = 60.0
|
||||
grow_horizontal = 2
|
||||
|
||||
[node name="TempLabel" type="Label" parent="Panel"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -26.0
|
||||
offset_top = -11.5
|
||||
offset_right = 26.0
|
||||
offset_bottom = 11.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
text = "-30.0 C"
|
||||
|
||||
[node name="Panel2" type="Panel" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 12
|
||||
anchor_top = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_top = -67.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
script = ExtResource("1_dew6i")
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="Panel2"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="ButtonCreateBed" type="Button" parent="Panel2/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(100, 0)
|
||||
layout_mode = 2
|
||||
text = "Bed"
|
||||
script = ExtResource("1_yp16r")
|
||||
|
||||
[node name="ButtonCreatePot" type="Button" parent="Panel2/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(100, 0)
|
||||
layout_mode = 2
|
||||
text = "Pot"
|
||||
script = ExtResource("1_yp16r")
|
||||
id = 1
|
||||
|
||||
[connection signal="pressed" from="Panel2/HBoxContainer/ButtonCreateBed" to="Panel2/HBoxContainer/ButtonCreateBed" method="_on_pressed"]
|
||||
[connection signal="pressed" from="Panel2/HBoxContainer/ButtonCreatePot" to="Panel2/HBoxContainer/ButtonCreatePot" method="_on_pressed"]
|
||||
@@ -1,7 +1,8 @@
|
||||
[gd_scene load_steps=12 format=3 uid="uid://bj7y7q2qkpnci"]
|
||||
[gd_scene load_steps=13 format=3 uid="uid://bj7y7q2qkpnci"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://622ethh2pdfa" path="res://Blends/road/road.obj" id="4_jjvhh"]
|
||||
[ext_resource type="PackedScene" uid="uid://dqrqq5vg8hek3" path="res://Scenes/Prefabs/Person.tscn" id="5_kry3j"]
|
||||
[ext_resource type="PackedScene" uid="uid://cyaesj3qjb5um" path="res://Scenes/Prefabs/main_game_ui.tscn" id="6_6bp64"]
|
||||
[ext_resource type="PackedScene" uid="uid://dim2geqhn6d35" path="res://Scenes/Prefabs/cart.tscn" id="6_21xkr"]
|
||||
[ext_resource type="PackedScene" uid="uid://dy03tqug33fep" path="res://Blends/ground.blend" id="6_344ge"]
|
||||
[ext_resource type="Script" uid="uid://drrp1k2q71hq2" path="res://Scripts/camera_3d.gd" id="7_6bp64"]
|
||||
@@ -115,3 +116,14 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 180.354, 0.385, -59.426)
|
||||
|
||||
[node name="Person" parent="." instance=ExtResource("5_kry3j")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.335692, 3.32679, -60.6947)
|
||||
|
||||
[node name="MainGameUi" parent="." instance=ExtResource("6_6bp64")]
|
||||
offset_left = -1.0
|
||||
offset_top = 1.0
|
||||
offset_right = -1.0
|
||||
offset_bottom = 1.0
|
||||
focus_mode = 1
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="Marker3D" type="Marker3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.90278, -57.5436)
|
||||
|
||||
22
Scripts/build_manager.gd
Normal file
22
Scripts/build_manager.gd
Normal file
@@ -0,0 +1,22 @@
|
||||
extends Node
|
||||
|
||||
@onready var DoubleBeds = preload("res://Scenes/Prefabs/DoubleBeds.tscn")
|
||||
@onready var Pot = preload("res://Scenes/Prefabs/Pot.tscn")
|
||||
|
||||
var selected_object_id: int
|
||||
|
||||
|
||||
var global_y = 2.903
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
print(DoubleBeds)
|
||||
|
||||
func get_preview_object():
|
||||
var selected_object
|
||||
match selected_object_id:
|
||||
0:
|
||||
selected_object = DoubleBeds
|
||||
1:
|
||||
selected_object = Pot
|
||||
return selected_object
|
||||
1
Scripts/build_manager.gd.uid
Normal file
1
Scripts/build_manager.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://672n647s560w
|
||||
@@ -2,36 +2,47 @@ extends Node3D
|
||||
|
||||
|
||||
@export var meshInstance: MeshInstance3D
|
||||
@export var greenMeshInstance: MeshInstance3D
|
||||
@export var RedMeshInstance: MeshInstance3D
|
||||
@export var preview_shader: ShaderMaterial
|
||||
|
||||
var default_shaders: Array
|
||||
|
||||
func _ready() -> void:
|
||||
Global.preview_created.connect(_on_preview_create)
|
||||
Global.object_placed.connect(_on_object_placed)
|
||||
set_default_shaders()
|
||||
|
||||
|
||||
func set_default_shaders():
|
||||
var amount_shaders = meshInstance.get_surface_override_material_count()
|
||||
default_shaders.resize( amount_shaders)
|
||||
|
||||
for i in amount_shaders:
|
||||
default_shaders[i] = meshInstance.get_surface_override_material(i)
|
||||
|
||||
func restore_default_shaders():
|
||||
for i in meshInstance.get_surface_override_material_count():
|
||||
meshInstance.set_surface_override_material(i,default_shaders[i])
|
||||
pass
|
||||
|
||||
func set_preview_shader_color():
|
||||
if true:
|
||||
set_green_color()
|
||||
for i in meshInstance.get_surface_override_material_count():
|
||||
meshInstance.set_surface_override_material(i,preview_shader)
|
||||
pass
|
||||
|
||||
func set_green_color():
|
||||
hide_mainMesh()
|
||||
greenMeshInstance.visible = true
|
||||
preview_shader.set_shader_parameter("color", Vector3(0,1.0,0))
|
||||
|
||||
func set_red_color():
|
||||
hide_mainMesh()
|
||||
RedMeshInstance.visible = true
|
||||
preview_shader.set_shader_parameter("color", Vector3(1.0,0,0))
|
||||
pass
|
||||
|
||||
func hide_mainMesh():
|
||||
meshInstance.visible = false
|
||||
|
||||
func show_mainMesh():
|
||||
meshInstance.visible = true
|
||||
greenMeshInstance.visible = false
|
||||
RedMeshInstance.visible = false
|
||||
|
||||
func _on_preview_create():
|
||||
set_green_color()
|
||||
set_preview_shader_color()
|
||||
|
||||
|
||||
func _on_object_placed():
|
||||
show_mainMesh()
|
||||
greenMeshInstance.queue_free()
|
||||
RedMeshInstance.queue_free()
|
||||
restore_default_shaders()
|
||||
|
||||
@@ -31,8 +31,11 @@ func _mouse_exit() -> void:
|
||||
hide_preview()
|
||||
|
||||
func show_preview():
|
||||
previewObject = beds.instantiate()
|
||||
#previewObject = beds.instantiate()
|
||||
previewObject = BuildManager.get_preview_object().instantiate()
|
||||
|
||||
areas[0].add_child(previewObject)
|
||||
#previewObject.global_position.y = BuildManager.global_y
|
||||
buildTransparentPreivew.visible = false
|
||||
Global.preview_created.emit()
|
||||
|
||||
|
||||
10
Scripts/button_select_build.gd
Normal file
10
Scripts/button_select_build.gd
Normal file
@@ -0,0 +1,10 @@
|
||||
extends Button
|
||||
|
||||
|
||||
@export var id: int
|
||||
|
||||
|
||||
func _on_pressed() -> void:
|
||||
BuildManager.selected_object_id = id
|
||||
print(BuildManager.selected_object_id)
|
||||
|
||||
1
Scripts/button_select_build.gd.uid
Normal file
1
Scripts/button_select_build.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://3bsllk6udire
|
||||
15
Scripts/ui/panel_build_select.gd
Normal file
15
Scripts/ui/panel_build_select.gd
Normal file
@@ -0,0 +1,15 @@
|
||||
extends Panel
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
self.visible = false
|
||||
Global.enter_build_mode.connect(_on_enter_build_mode)
|
||||
Global.exit_build_mode.connect(_on_exit_build_mode)
|
||||
|
||||
|
||||
func _on_enter_build_mode():
|
||||
self.visible = true
|
||||
|
||||
|
||||
func _on_exit_build_mode():
|
||||
self.visible = false
|
||||
1
Scripts/ui/panel_build_select.gd.uid
Normal file
1
Scripts/ui/panel_build_select.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bqh6f4f4sc4ba
|
||||
@@ -1,5 +1,5 @@
|
||||
shader_type spatial;
|
||||
uniform float alpha;
|
||||
//uniform float alpha;
|
||||
uniform vec3 color;
|
||||
|
||||
void vertex() {
|
||||
@@ -8,7 +8,7 @@ void vertex() {
|
||||
|
||||
void fragment() {
|
||||
ALBEDO = color;
|
||||
ALPHA = alpha;
|
||||
ALPHA = 0.5;
|
||||
}
|
||||
|
||||
//void light() {
|
||||
|
||||
43
Shaders/fire.gdshader
Normal file
43
Shaders/fire.gdshader
Normal file
@@ -0,0 +1,43 @@
|
||||
shader_type spatial;
|
||||
render_mode unshaded, cull_disabled;
|
||||
|
||||
// uniforms: detail_strength, scroll_speed, fire_height, fire_shape,
|
||||
// fire_thickness, fire_sharpness, intensity
|
||||
// noise parameters: noise_octaves, noise_lacunarity, noise_gain,
|
||||
// noise_amplitude, noise_frequency
|
||||
|
||||
//float hash(vec2 p) { /* ... */ }
|
||||
//float noise(vec2 x) { /* ... */ }
|
||||
//float fbm(vec2 p) { /* ...mix octaves...*/ }
|
||||
|
||||
void fragment() {
|
||||
vec2 uv = UV;
|
||||
vec2 muv = -uv;
|
||||
muv.x = mod(muv.x, 1.0) - 0.5;
|
||||
muv.y += 0.84;
|
||||
|
||||
float scroll = scroll_speed * detail_strength * TIME;
|
||||
float n = fbm(detail_strength * muv - vec2(0.0, scroll));
|
||||
|
||||
float fire_intensity = intensity - 16.0 * fire_sharpness * pow(
|
||||
max(0.0,
|
||||
length(
|
||||
muv * vec2((1.0/fire_thickness) + muv.y * fire_shape, 1.0/fire_height)
|
||||
) - n * max(0.0, muv.y + 0.25)
|
||||
), 1.2
|
||||
);
|
||||
|
||||
float fi1 = clamp(n * fire_intensity * (1.5 - pow(uv.y, 14.0)), 0.0, 1.0);
|
||||
|
||||
vec3 col = vec3(
|
||||
1.5 * fi1,
|
||||
1.5 * pow(fi1, 3.0),
|
||||
pow(fi1, 6.0)
|
||||
);
|
||||
|
||||
float alpha = fire_intensity * (1.0 - pow(uv.y, 3.0));
|
||||
vec4 final = vec4(mix(vec3(0.0), col, alpha), alpha);
|
||||
|
||||
ALBEDO = final.rgb;
|
||||
ALPHA = final.a;
|
||||
}
|
||||
1
Shaders/fire.gdshader.uid
Normal file
1
Shaders/fire.gdshader.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://by8d646frg4b5
|
||||
@@ -18,6 +18,7 @@ config/icon="res://icon.svg"
|
||||
[autoload]
|
||||
|
||||
Global="*res://Scripts/global_script.gd"
|
||||
BuildManager="*res://Scripts/build_manager.gd"
|
||||
|
||||
[editor_plugins]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user