csg.tscn 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444
  1. [gd_scene load_steps=13 format=3 uid="uid://0muc0thmv7lh"]
  2. [ext_resource type="Script" uid="uid://0nw2s63fn4t4" path="res://csg.gd" id="1_v0cxj"]
  3. [ext_resource type="Texture2D" uid="uid://chjqieyps5n5r" path="res://textures/checker.png" id="2_smte3"]
  4. [ext_resource type="Material" uid="uid://dhcqaj76o5gkd" path="res://blue_material.tres" id="3_5yyaq"]
  5. [ext_resource type="Material" uid="uid://drwcsdeggid6n" path="res://indigo_material.tres" id="4_dsi4m"]
  6. [sub_resource type="ProceduralSkyMaterial" id="9"]
  7. [sub_resource type="Sky" id="10"]
  8. sky_material = SubResource("9")
  9. [sub_resource type="Environment" id="11"]
  10. background_mode = 2
  11. sky = SubResource("10")
  12. tonemap_mode = 4
  13. fog_sky_affect = 0.0
  14. [sub_resource type="StandardMaterial3D" id="13"]
  15. diffuse_mode = 1
  16. albedo_texture = ExtResource("2_smte3")
  17. uv1_scale = Vector3(32, 32, 1)
  18. texture_filter = 5
  19. [sub_resource type="PlaneMesh" id="14"]
  20. material = SubResource("13")
  21. size = Vector2(128, 128)
  22. [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mn32f"]
  23. albedo_color = Color(0.34902, 0.717647, 1, 1)
  24. albedo_texture = ExtResource("2_smte3")
  25. uv1_scale = Vector3(0.5, 8, 1)
  26. uv1_triplanar_sharpness = 150.0
  27. texture_filter = 5
  28. [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_bvrof"]
  29. albedo_color = Color(0.26, 0.338, 0.65, 1)
  30. albedo_texture = ExtResource("2_smte3")
  31. uv1_scale = Vector3(0.5, 0.5, 0.5)
  32. uv1_triplanar_sharpness = 150.0
  33. texture_filter = 5
  34. [sub_resource type="Curve3D" id="Curve3D_nevyg"]
  35. _data = {
  36. "points": PackedVector3Array(-1.74057, 0.0219968, -1.53734, 1.74057, -0.0219968, 1.53734, -2.17657, 0.174639, -1.84999, -1.35919, -0.0281546, 1.35011, 1.35919, 0.0281546, -1.35011, 3.93752, 0.0512316, -0.0622864, 1.26112, -0.287282, 2.43489, -1.26112, 0.287282, -2.43489, 3.97783, 0.166437, -5.07074, 1.25821, -0.442977, -0.940975, -1.25821, 0.442977, 0.940975, -0.333944, 0.488505, -5.09752, 0, 0, 0, 0, 0, 0, -2.37112, 1.54163, -3.60731, 0.477931, -0.0864105, -0.48336, -0.477931, 0.0864105, 0.48336, -3.49865, 2.26198, -2.66978, 0.730257, 0.201176, -0.73225, -0.730257, -0.201176, 0.73225, -4.50585, 2.17179, -1.5832, 0.593159, 0.665721, -0.872787, -0.593159, -0.665721, 0.872787, -6.30524, 0.940355, 0.714897, 1.92711, -0.183405, 1.21659, -1.92711, 0.183405, -1.21659, -9.99867, 0.804004, 3.12753, 0.150826, 0.0705911, 1.06673, -0.150826, -0.0705911, -1.06673, -11.6204, 0.481454, -0.265282, -1.48659, -0.488744, 1.92459, 1.48659, 0.488744, -1.92459, -8.70787, 0.739582, -6.31523, 0, 0, 0, 0, 0, 0, -5.28055, 0.488143, -5.13905, -0.573855, -0.0538757, -0.398254, 0.573855, 0.0538757, 0.398254, -4.03429, 0.387587, -3.28194, 0, 0, 0, 0, 0, 0, -2.47079, 0.199785, -2.08794),
  37. "tilts": PackedFloat32Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
  38. }
  39. point_count = 14
  40. [node name="CSG" type="WorldEnvironment"]
  41. environment = SubResource("11")
  42. script = ExtResource("1_v0cxj")
  43. [node name="Plane" type="MeshInstance3D" parent="."]
  44. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -34)
  45. layers = 2
  46. mesh = SubResource("14")
  47. [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
  48. transform = Transform3D(0.909487, -0.23874, 0.340349, 0, 0.818672, 0.574262, -0.415733, -0.522284, 0.744571, 3.9506, 3.39961, 3.54442)
  49. shadow_enabled = true
  50. shadow_bias = 0.02
  51. shadow_blur = 1.5
  52. directional_shadow_mode = 0
  53. directional_shadow_fade_start = 1.0
  54. directional_shadow_max_distance = 38.0
  55. [node name="CameraHolder" type="Node3D" parent="."]
  56. transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0.125, -12)
  57. [node name="RotationX" type="Node3D" parent="CameraHolder"]
  58. [node name="Camera3D" type="Camera3D" parent="CameraHolder/RotationX"]
  59. fov = 70.0
  60. [node name="Testers" type="Node3D" parent="."]
  61. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -12)
  62. [node name="Union" type="Node3D" parent="Testers"]
  63. [node name="CSGBox3D" type="CSGBox3D" parent="Testers/Union"]
  64. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
  65. size = Vector3(2, 2, 2)
  66. material = ExtResource("3_5yyaq")
  67. [node name="Union" type="CSGSphere3D" parent="Testers/Union/CSGBox3D"]
  68. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 1, 1)
  69. radius = 1.25
  70. radial_segments = 48
  71. rings = 24
  72. material = ExtResource("4_dsi4m")
  73. [node name="Subtraction" type="Node3D" parent="Testers"]
  74. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4)
  75. [node name="CSGBox3D" type="CSGBox3D" parent="Testers/Subtraction"]
  76. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
  77. size = Vector3(2, 2, 2)
  78. material = ExtResource("3_5yyaq")
  79. [node name="Subtraction" type="CSGSphere3D" parent="Testers/Subtraction/CSGBox3D"]
  80. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 1, 1)
  81. operation = 2
  82. radius = 1.25
  83. radial_segments = 48
  84. rings = 24
  85. material = ExtResource("4_dsi4m")
  86. [node name="Intersection" type="Node3D" parent="Testers"]
  87. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -8)
  88. [node name="CSGBox3D" type="CSGBox3D" parent="Testers/Intersection"]
  89. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
  90. size = Vector3(2, 2, 2)
  91. material = ExtResource("3_5yyaq")
  92. [node name="Intersection" type="CSGSphere3D" parent="Testers/Intersection/CSGBox3D"]
  93. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 1, 1)
  94. operation = 1
  95. radius = 1.25
  96. radial_segments = 48
  97. rings = 24
  98. material = ExtResource("4_dsi4m")
  99. [node name="Polygon" type="Node3D" parent="Testers"]
  100. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -12)
  101. [node name="CSGPolygon3D" type="CSGPolygon3D" parent="Testers/Polygon"]
  102. transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -2, 1, 0)
  103. polygon = PackedVector2Array(1.97985, -1.00313, 1.36693, -1.29612, 1.32819, -1.03648, 0.960622, -1.10397, 0.921527, -0.8641, 0.597863, -0.77587, 1.00768, -0.429439, 0.764833, -0.115922, 1.48587, 0.232759, 1.2437, 1.07821, 2.62762, 0.534357, 2.67403, -0.267332, 2.27938, -0.778446, 2.21227, -0.676807, 1.91633, -0.876959)
  104. material = ExtResource("3_5yyaq")
  105. [node name="PolygonSmooth" type="Node3D" parent="Testers"]
  106. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -16)
  107. [node name="CSGPolygon3D" type="CSGPolygon3D" parent="Testers/PolygonSmooth"]
  108. transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -2, 1, 0)
  109. polygon = PackedVector2Array(1.95194, -0.990847, 1.92148, -1.01962, 1.43216, -1.25982, 1.38584, -1.27643, 1.36401, -1.24908, 1.33744, -1.0793, 1.32278, -1.03191, 1.28547, -1.01666, 1.013, -1.08448, 0.971659, -1.08859, 0.955454, -1.04985, 0.943871, -0.920988, 0.925653, -0.865746, 0.864986, -0.850041, 0.640266, -0.792847, 0.597863, -0.77587, 0.645241, -0.719688, 0.93992, -0.481997, 0.989505, -0.429039, 0.976147, -0.381588, 0.818906, -0.170561, 0.791262, -0.111433, 0.845728, -0.0659084, 1.40951, 0.192732, 1.46512, 0.232662, 1.46771, 0.288633, 1.25859, 0.997908, 1.25968, 1.06335, 1.33272, 1.05265, 2.56909, 0.559853, 2.61883, 0.532381, 2.63101, 0.510941, 2.63631, 0.467999, 2.67393, -0.193757, 2.66945, -0.259835, 2.64656, -0.311504, 2.30896, -0.724446, 2.28023, -0.746366, 2.25265, -0.726253, 2.22996, -0.694118, 2.20632, -0.676943, 2.16658, -0.696314, 1.95738, -0.831232, 1.92657, -0.862581, 1.93092, -0.895866, 1.94963, -0.959759)
  110. smooth_faces = true
  111. material = ExtResource("3_5yyaq")
  112. [node name="Slope" type="Node3D" parent="Testers"]
  113. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -20)
  114. [node name="CSGPolygon3D" type="CSGPolygon3D" parent="Testers/Slope"]
  115. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 1, 1)
  116. polygon = PackedVector2Array(0, -1, 0, 0, 2, -1)
  117. depth = 2.0
  118. material = ExtResource("3_5yyaq")
  119. [node name="Staircase" type="Node3D" parent="Testers"]
  120. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -24)
  121. [node name="CSGPolygon3D" type="CSGPolygon3D" parent="Testers/Staircase"]
  122. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 1, 1)
  123. polygon = PackedVector2Array(0, -1, 0, 0, 0.5, 0, 0.5, -0.25, 1, -0.25, 1, -0.5, 1.5, -0.5, 1.5, -0.75, 2, -0.75, 2, -1)
  124. depth = 2.0
  125. material = ExtResource("3_5yyaq")
  126. [node name="StaircaseSpin" type="Node3D" parent="Testers"]
  127. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -28)
  128. [node name="CSGPolygon3D" type="CSGPolygon3D" parent="Testers/StaircaseSpin"]
  129. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 1, 1)
  130. polygon = PackedVector2Array(0, -1, 0, 0, 0.5, 0, 0.5, -0.25, 1, -0.25, 1, -0.5, 1.5, -0.5, 1.5, -0.75, 2, -0.75, 2, -1)
  131. mode = 1
  132. spin_degrees = 90.0
  133. spin_sides = 32
  134. material = ExtResource("3_5yyaq")
  135. [node name="Curves" type="Node3D" parent="Testers"]
  136. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -32)
  137. [node name="Inner" type="CSGBox3D" parent="Testers/Curves"]
  138. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -0.5)
  139. size = Vector3(2, 2, 2)
  140. material = ExtResource("3_5yyaq")
  141. [node name="Subtraction" type="CSGCylinder3D" parent="Testers/Curves/Inner"]
  142. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1)
  143. operation = 2
  144. radius = 1.0
  145. sides = 48
  146. material = ExtResource("4_dsi4m")
  147. [node name="Outer" type="CSGBox3D" parent="Testers/Curves"]
  148. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 1, 1.5)
  149. size = Vector3(1, 2, 2)
  150. material = ExtResource("3_5yyaq")
  151. [node name="Intersection" type="CSGCylinder3D" parent="Testers/Curves/Outer"]
  152. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0, -1)
  153. operation = 1
  154. radius = 1.0
  155. sides = 48
  156. material = ExtResource("4_dsi4m")
  157. [node name="Pillar" type="Node3D" parent="Testers"]
  158. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -36)
  159. [node name="CSGCylinder3D" type="CSGCylinder3D" parent="Testers/Pillar"]
  160. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
  161. radius = 0.25
  162. height = 1.0
  163. sides = 32
  164. material = ExtResource("3_5yyaq")
  165. [node name="Base" type="CSGCylinder3D" parent="Testers/Pillar/CSGCylinder3D"]
  166. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.475, 0)
  167. height = 0.05
  168. sides = 32
  169. material = ExtResource("3_5yyaq")
  170. [node name="CSGSphere3DBottom" type="CSGSphere3D" parent="Testers/Pillar/CSGCylinder3D"]
  171. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.55, 0)
  172. radius = 0.4
  173. radial_segments = 32
  174. rings = 16
  175. material = ExtResource("4_dsi4m")
  176. [node name="HalfSphereCut" type="CSGBox3D" parent="Testers/Pillar/CSGCylinder3D/CSGSphere3DBottom"]
  177. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.45, 0)
  178. operation = 2
  179. material = ExtResource("3_5yyaq")
  180. [node name="CSGSphere3DTop" type="CSGSphere3D" parent="Testers/Pillar/CSGCylinder3D"]
  181. transform = Transform3D(1, 0, 0, 0, -1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 0.8, 0)
  182. radius = 0.4
  183. radial_segments = 32
  184. rings = 16
  185. material = ExtResource("4_dsi4m")
  186. [node name="HalfSphereCut" type="CSGBox3D" parent="Testers/Pillar/CSGCylinder3D/CSGSphere3DTop"]
  187. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.45, 0)
  188. operation = 2
  189. material = ExtResource("3_5yyaq")
  190. [node name="Top" type="CSGCylinder3D" parent="Testers/Pillar/CSGCylinder3D"]
  191. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.825, 0)
  192. height = 0.151
  193. sides = 32
  194. material = ExtResource("3_5yyaq")
  195. [node name="Indentation" type="CSGBox3D" parent="Testers/Pillar/CSGCylinder3D"]
  196. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.15, 0.450001)
  197. operation = 2
  198. size = Vector3(0.1, 1.25, 0.5)
  199. material = ExtResource("4_dsi4m")
  200. [node name="Indentation2" type="CSGBox3D" parent="Testers/Pillar/CSGCylinder3D"]
  201. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.15, -0.450001)
  202. operation = 2
  203. size = Vector3(0.1, 1.25, 0.5)
  204. material = ExtResource("4_dsi4m")
  205. [node name="Indentation3" type="CSGBox3D" parent="Testers/Pillar/CSGCylinder3D"]
  206. transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.450001, 0.15, 0)
  207. operation = 2
  208. size = Vector3(0.1, 1.25, 0.5)
  209. material = ExtResource("4_dsi4m")
  210. [node name="Indentation4" type="CSGBox3D" parent="Testers/Pillar/CSGCylinder3D"]
  211. transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0.450001, 0.15, 0)
  212. operation = 2
  213. size = Vector3(0.1, 1.25, 0.5)
  214. material = ExtResource("4_dsi4m")
  215. [node name="CSGTorus3D" type="CSGTorus3D" parent="Testers/Pillar/CSGCylinder3D"]
  216. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0)
  217. operation = 2
  218. inner_radius = 0.25
  219. outer_radius = 0.4
  220. sides = 32
  221. ring_sides = 5
  222. material = ExtResource("4_dsi4m")
  223. [node name="BeveledCube" type="Node3D" parent="Testers"]
  224. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -40)
  225. [node name="CSGBox3D" type="CSGBox3D" parent="Testers/BeveledCube"]
  226. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
  227. size = Vector3(2, 2, 2)
  228. material = ExtResource("3_5yyaq")
  229. [node name="Bevel" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  230. transform = Transform3D(0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0, 1, 1, 1, 0)
  231. operation = 2
  232. size = Vector3(0.2, 2, 2.01)
  233. material = ExtResource("4_dsi4m")
  234. [node name="Bevel2" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  235. transform = Transform3D(0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0, 1, -0.5, -1.5, 0)
  236. operation = 2
  237. size = Vector3(0.2, 2, 2.01)
  238. material = ExtResource("4_dsi4m")
  239. [node name="Bevel3" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  240. transform = Transform3D(-3.09086e-08, 3.09086e-08, -1, 0.707107, 0.707107, 0, 0.707107, -0.707107, -4.37114e-08, -2.98023e-08, 1, 1)
  241. operation = 2
  242. size = Vector3(0.2, 2, 2.01)
  243. material = ExtResource("4_dsi4m")
  244. [node name="Bevel4" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  245. transform = Transform3D(-3.09086e-08, 3.09086e-08, -1, 0.707107, 0.707107, 0, 0.707107, -0.707107, -4.37114e-08, 2.98023e-08, -1.5, -0.5)
  246. operation = 2
  247. size = Vector3(0.2, 2, 2.01)
  248. material = ExtResource("4_dsi4m")
  249. [node name="Bevel5" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  250. transform = Transform3D(-0.707107, 0.707107, -8.74228e-08, 0.707107, 0.707107, 0, 6.18172e-08, -6.18172e-08, -1, -1, 1, 0)
  251. operation = 2
  252. size = Vector3(0.2, 2, 2.01)
  253. material = ExtResource("4_dsi4m")
  254. [node name="Bevel6" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  255. transform = Transform3D(-0.707107, 0.707107, -8.74228e-08, 0.707107, 0.707107, 0, 6.18172e-08, -6.18172e-08, -1, 0.5, -1.5, 0)
  256. operation = 2
  257. size = Vector3(0.2, 2, 2.01)
  258. material = ExtResource("4_dsi4m")
  259. [node name="Bevel7" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  260. transform = Transform3D(-3.09086e-08, 3.09086e-08, 1, 0.707107, 0.707107, 0, -0.707107, 0.707107, -4.37114e-08, -4.84288e-08, 1, -1)
  261. operation = 2
  262. size = Vector3(0.2, 2, 2.01)
  263. material = ExtResource("4_dsi4m")
  264. [node name="Bevel8" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  265. transform = Transform3D(-3.09086e-08, 3.09086e-08, 1, 0.707107, 0.707107, 0, -0.707107, 0.707107, -4.37114e-08, 2.6077e-08, -1.5, 0.5)
  266. operation = 2
  267. size = Vector3(0.2, 2, 2.01)
  268. material = ExtResource("4_dsi4m")
  269. [node name="Bevel9" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  270. transform = Transform3D(-0.707107, 2.18557e-08, 0.707107, 1.09809e-22, 1, -3.09086e-08, -0.707107, -2.18557e-08, -0.707107, 1, 0.05, 1)
  271. operation = 2
  272. size = Vector3(0.2, 2, 2.01)
  273. material = ExtResource("4_dsi4m")
  274. [node name="Bevel10" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  275. transform = Transform3D(-0.707107, 2.18557e-08, 0.707107, 1.09809e-22, 1, -3.09086e-08, -0.707107, -2.18557e-08, -0.707107, -1, 0.05, -1)
  276. operation = 2
  277. size = Vector3(0.2, 2, 2.01)
  278. material = ExtResource("4_dsi4m")
  279. [node name="Bevel11" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  280. transform = Transform3D(0.707107, 2.18557e-08, 0.707107, 1.09809e-22, 1, -3.09086e-08, -0.707107, 2.18557e-08, 0.707107, -1, 0.05, 1)
  281. operation = 2
  282. size = Vector3(0.2, 2, 2.01)
  283. material = ExtResource("4_dsi4m")
  284. [node name="Bevel12" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  285. transform = Transform3D(0.707107, 2.18557e-08, 0.707107, 1.09809e-22, 1, -3.09086e-08, -0.707107, 2.18557e-08, 0.707107, 1, 0.05, -1)
  286. operation = 2
  287. size = Vector3(0.2, 2, 2.01)
  288. material = ExtResource("4_dsi4m")
  289. [node name="HoleFix" type="CSGBox3D" parent="Testers/BeveledCube"]
  290. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
  291. size = Vector3(1.8, 1.8, 1.8)
  292. material = ExtResource("3_5yyaq")
  293. [node name="Road" type="Node3D" parent="Testers"]
  294. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -43.5)
  295. [node name="RoadSides" type="CSGPolygon3D" parent="Testers/Road"]
  296. transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0.85, 0, 0.0499992)
  297. polygon = PackedVector2Array(-0.95, 0.05, -1, 0.15, -1.05, 0.8, -1.05, 0.9, -1, 1, -0.95, 0.95, -0.9, 0.95, 0.9, 0.95, 0.95, 0.95, 1, 1, 1.05, 0.9, 1.05, 0.85, 1, 0.15, 0.95, 0.05, 0.85, 0, -0.85, 0)
  298. mode = 2
  299. path_node = NodePath("../Path3D")
  300. path_interval_type = 0
  301. path_interval = 0.1
  302. path_simplify_angle = 4.0
  303. path_rotation = 1
  304. path_local = true
  305. path_continuous_u = true
  306. path_u_distance = 2.0
  307. path_joined = true
  308. smooth_faces = true
  309. material = SubResource("StandardMaterial3D_mn32f")
  310. [node name="RoadTop" type="CSGPolygon3D" parent="Testers/Road"]
  311. transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0.85, 0, 0.0499992)
  312. polygon = PackedVector2Array(-0.9, 0.95, -0.868166, 0.959208, -0.766865, 0.985865, -0.7, 1, -0.65, 1, 0.7, 1, 0.75, 1, 0.795656, 0.989936, 0.922454, 0.957303, 0.95, 0.95)
  313. mode = 2
  314. path_node = NodePath("../Path3D")
  315. path_interval_type = 0
  316. path_interval = 0.1
  317. path_simplify_angle = 4.0
  318. path_rotation = 1
  319. path_local = true
  320. path_continuous_u = true
  321. path_u_distance = 2.0
  322. path_joined = true
  323. smooth_faces = true
  324. material = SubResource("StandardMaterial3D_bvrof")
  325. [node name="Path3D" type="Path3D" parent="Testers/Road"]
  326. transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
  327. curve = SubResource("Curve3D_nevyg")
  328. [node name="TestName" type="Label" parent="."]
  329. anchors_preset = 7
  330. anchor_left = 0.5
  331. anchor_top = 1.0
  332. anchor_right = 0.5
  333. anchor_bottom = 1.0
  334. offset_left = -192.0
  335. offset_top = -58.0
  336. offset_right = 192.0
  337. offset_bottom = -24.0
  338. grow_horizontal = 2
  339. grow_vertical = 0
  340. theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
  341. theme_override_constants/outline_size = 5
  342. theme_override_font_sizes/font_size = 24
  343. horizontal_alignment = 1
  344. [node name="Previous" type="Button" parent="."]
  345. anchors_preset = 2
  346. anchor_top = 1.0
  347. anchor_bottom = 1.0
  348. offset_left = 24.0
  349. offset_top = -55.0
  350. offset_right = 135.0
  351. offset_bottom = -24.0
  352. grow_vertical = 0
  353. text = "« Previous"
  354. [node name="Next" type="Button" parent="."]
  355. anchors_preset = 3
  356. anchor_left = 1.0
  357. anchor_top = 1.0
  358. anchor_right = 1.0
  359. anchor_bottom = 1.0
  360. offset_left = -107.0
  361. offset_top = -55.0
  362. offset_right = -24.0
  363. offset_bottom = -24.0
  364. grow_horizontal = 0
  365. grow_vertical = 0
  366. text = "Next »"
  367. [connection signal="pressed" from="Previous" to="." method="_on_previous_pressed"]
  368. [connection signal="pressed" from="Next" to="." method="_on_next_pressed"]