1111[ext_resource path ="res://Materials/Terrain.material" type ="Material" id =9 ]
1212[ext_resource path ="res://GUI.tscn" type ="PackedScene" id =10 ]
1313[ext_resource path ="res://Materials/Drawing.material" type ="Material" id =11 ]
14+ [ext_resource path ="res://AttenuatedCircle.tres" type ="Material" id =12 ]
15+ [ext_resource path ="res://addons/sairam.quadtree/QuadTreeNode.gd" type ="Script" id =13 ]
1416
15- [sub_resource type ="Shader" id =4 ]
16- code = "shader_type spatial ;
17- // by Sairam
18- uniform float radius = 3.0 ;
19- uniform float attenuated_radius = 0.01 ;
20- uniform float attenuation_strength = 1.0 ;
21- uniform float attenuated_size_multiplier = 1.0 ;
22- uniform float max_power = 1 ;
23- uniform float min_power = 0 ;
24-
25- uniform vec4 color : hint_color = vec4 (0.0 , 1.0 , 1.0 , 0.5 );
26-
27- varying vec3 vertex_1 ;
28-
29- float get_power_at_position (vec3 point ) {
30- vec3 origin = vec3 (0.0 , 0.0 , 0.0 );
31- float dist = pow (distance (origin , point ), 2.0 );
32-
33- if (dist >= radius * radius ) {
34- return min_power ;
35- }
36- if (dist <= attenuated_radius * attenuated_radius ) {
37- return max_power ;
38- }
39-
40- float ratio = 1.0 - ((dist - attenuated_radius * attenuated_radius ) / (radius * radius - attenuated_radius * attenuated_radius ));
41- return mix (min_power , max_power , ratio ) * attenuation_strength * attenuated_size_multiplier ;
42- }
43-
44- void vertex () {
45- vertex_1 = VERTEX ;
46- }
47-
48- void fragment () {
49- ALBEDO = color .xyz ;
50- ALPHA = get_power_at_position (vertex_1 ) * color .a ;
51- }"
52-
53- [sub_resource type ="ShaderMaterial" id =5 ]
54- shader = SubResource ( 4 )
55- shader_param/radius = 3.0
56- shader_param/attenuated_radius = 0.01
57- shader_param/attenuation_strength = 1.164
58- shader_param/attenuated_size_multiplier = 1.778
59- shader_param/max_power = 1.0
60- shader_param/min_power = 0.0
61- shader_param/color = Color ( 0 , 1 , 1 , 0.498039 )
62-
63- [sub_resource type ="CylinderMesh" id =6 ]
64- material = SubResource ( 5 )
17+ [sub_resource type ="CylinderMesh" id =1 ]
18+ material = ExtResource ( 12 )
6519top_radius = 4.0
6620bottom_radius = 4.0
6721height = 0.01
6822
69- [sub_resource type ="SpatialMaterial" id =7 ]
23+ [sub_resource type ="SpatialMaterial" id =2 ]
7024flags_unshaded = true
7125params_line_width = 24.8
7226albedo_color = Color ( 0 , 0 , 0 , 1 )
@@ -78,10 +32,13 @@ script = ExtResource( 8 )
7832
7933[node name ="Terrain" type ="Spatial" parent ="." ]
8034script = ExtResource ( 1 )
81- chunk_size = 8
8235terrain_tool_node = NodePath ("../Tools/TerrainTool" )
8336terrain_material = ExtResource ( 9 )
84- size = 128
37+ size = 64
38+ chunk_size = 8
39+
40+ [node name ="QuadTreeNode" type ="Spatial" parent ="Terrain" ]
41+ script = ExtResource ( 13 )
8542
8643[node name ="Camera" parent ="." instance =ExtResource ( 2 )]
8744transform = Transform ( 1 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 1 , 0 , 5 , 0 )
@@ -92,16 +49,15 @@ zooming/max_distance = 300.0
9249[node name ="Tools" type ="Spatial" parent ="." ]
9350
9451[node name ="TerrainTool" type ="MeshInstance" parent ="Tools" ]
95- mesh = SubResource ( 6 )
52+ mesh = SubResource ( 1 )
9653material/0 = null
9754script = ExtResource ( 7 )
9855
9956[node name ="AttenuatedCircle" type ="Spatial" parent ="Tools/TerrainTool" ]
10057script = ExtResource ( 6 )
10158radius = 3.0
102- attentuation_radius = 0.01
103- attentuation_size_multiplier = 0.5
104- min_power = 0.01
59+ attentuation_radius = 0.0
60+ attentuation_size_multiplier = 1.0
10561
10662[node name ="Raise" type ="AudioStreamPlayer" parent ="Tools/TerrainTool" ]
10763stream = ExtResource ( 4 )
@@ -113,13 +69,11 @@ volume_db = -3.098
11369
11470[node name ="ImmediateGeometry" type ="ImmediateGeometry" parent ="Tools" ]
11571transform = Transform ( 1 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 1 , 0 , 0.1 , 0 )
116- visible = false
11772material_override = ExtResource ( 11 )
11873
11974[node name ="ImmediateGeometry2" type ="ImmediateGeometry" parent ="Tools" ]
12075transform = Transform ( 1 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 1 , 0 , 0.1 , 0 )
121- visible = false
122- material_override = SubResource ( 7 )
76+ material_override = SubResource ( 2 )
12377
12478[node name ="Control2" parent ="." instance =ExtResource ( 10 )]
12579mouse_filter = 2
0 commit comments