csg.tscn 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445
  1. [gd_scene load_steps=13 format=3 uid="uid://0muc0thmv7lh"]
  2. [ext_resource type="Script" 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 = 2
  13. tonemap_white = 6.0
  14. fog_sky_affect = 0.0
  15. [sub_resource type="StandardMaterial3D" id="13"]
  16. diffuse_mode = 1
  17. albedo_texture = ExtResource("2_smte3")
  18. uv1_scale = Vector3(32, 32, 1)
  19. texture_filter = 5
  20. [sub_resource type="PlaneMesh" id="14"]
  21. material = SubResource("13")
  22. size = Vector2(128, 128)
  23. [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mn32f"]
  24. albedo_color = Color(0.34902, 0.717647, 1, 1)
  25. albedo_texture = ExtResource("2_smte3")
  26. uv1_scale = Vector3(0.5, 8, 1)
  27. uv1_triplanar_sharpness = 150.0
  28. texture_filter = 5
  29. [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_bvrof"]
  30. albedo_color = Color(0.26, 0.338, 0.65, 1)
  31. albedo_texture = ExtResource("2_smte3")
  32. uv1_scale = Vector3(0.5, 0.5, 0.5)
  33. uv1_triplanar_sharpness = 150.0
  34. texture_filter = 5
  35. [sub_resource type="Curve3D" id="Curve3D_nevyg"]
  36. _data = {
  37. "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),
  38. "tilts": PackedFloat32Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
  39. }
  40. point_count = 14
  41. [node name="CSG" type="WorldEnvironment"]
  42. environment = SubResource("11")
  43. script = ExtResource("1_v0cxj")
  44. [node name="Plane" type="MeshInstance3D" parent="."]
  45. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -34)
  46. layers = 2
  47. mesh = SubResource("14")
  48. [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
  49. 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)
  50. shadow_enabled = true
  51. shadow_bias = 0.02
  52. shadow_blur = 1.5
  53. directional_shadow_mode = 0
  54. directional_shadow_fade_start = 1.0
  55. directional_shadow_max_distance = 38.0
  56. [node name="CameraHolder" type="Node3D" parent="."]
  57. transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0.125, 0)
  58. [node name="RotationX" type="Node3D" parent="CameraHolder"]
  59. [node name="Camera3D" type="Camera3D" parent="CameraHolder/RotationX"]
  60. fov = 70.0
  61. [node name="Testers" type="Node3D" parent="."]
  62. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -12)
  63. [node name="Union" type="Node3D" parent="Testers"]
  64. [node name="CSGBox3D" type="CSGBox3D" parent="Testers/Union"]
  65. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
  66. size = Vector3(2, 2, 2)
  67. material = ExtResource("3_5yyaq")
  68. [node name="Union" type="CSGSphere3D" parent="Testers/Union/CSGBox3D"]
  69. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 1, 1)
  70. radius = 1.25
  71. radial_segments = 48
  72. rings = 24
  73. material = ExtResource("4_dsi4m")
  74. [node name="Subtraction" type="Node3D" parent="Testers"]
  75. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4)
  76. [node name="CSGBox3D" type="CSGBox3D" parent="Testers/Subtraction"]
  77. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
  78. size = Vector3(2, 2, 2)
  79. material = ExtResource("3_5yyaq")
  80. [node name="Subtraction" type="CSGSphere3D" parent="Testers/Subtraction/CSGBox3D"]
  81. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 1, 1)
  82. operation = 2
  83. radius = 1.25
  84. radial_segments = 48
  85. rings = 24
  86. material = ExtResource("4_dsi4m")
  87. [node name="Intersection" type="Node3D" parent="Testers"]
  88. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -8)
  89. [node name="CSGBox3D" type="CSGBox3D" parent="Testers/Intersection"]
  90. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
  91. size = Vector3(2, 2, 2)
  92. material = ExtResource("3_5yyaq")
  93. [node name="Intersection" type="CSGSphere3D" parent="Testers/Intersection/CSGBox3D"]
  94. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 1, 1)
  95. operation = 1
  96. radius = 1.25
  97. radial_segments = 48
  98. rings = 24
  99. material = ExtResource("4_dsi4m")
  100. [node name="Polygon" type="Node3D" parent="Testers"]
  101. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -12)
  102. [node name="CSGPolygon3D" type="CSGPolygon3D" parent="Testers/Polygon"]
  103. transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -2, 1, 0)
  104. 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)
  105. material = ExtResource("3_5yyaq")
  106. [node name="PolygonSmooth" type="Node3D" parent="Testers"]
  107. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -16)
  108. [node name="CSGPolygon3D" type="CSGPolygon3D" parent="Testers/PolygonSmooth"]
  109. transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -2, 1, 0)
  110. 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)
  111. smooth_faces = true
  112. material = ExtResource("3_5yyaq")
  113. [node name="Slope" type="Node3D" parent="Testers"]
  114. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -20)
  115. [node name="CSGPolygon3D" type="CSGPolygon3D" parent="Testers/Slope"]
  116. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 1, 1)
  117. polygon = PackedVector2Array(0, -1, 0, 0, 2, -1)
  118. depth = 2.0
  119. material = ExtResource("3_5yyaq")
  120. [node name="Staircase" type="Node3D" parent="Testers"]
  121. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -24)
  122. [node name="CSGPolygon3D" type="CSGPolygon3D" parent="Testers/Staircase"]
  123. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 1, 1)
  124. 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)
  125. depth = 2.0
  126. material = ExtResource("3_5yyaq")
  127. [node name="StaircaseSpin" type="Node3D" parent="Testers"]
  128. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -28)
  129. [node name="CSGPolygon3D" type="CSGPolygon3D" parent="Testers/StaircaseSpin"]
  130. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 1, 1)
  131. 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)
  132. mode = 1
  133. spin_degrees = 90.0
  134. spin_sides = 32
  135. material = ExtResource("3_5yyaq")
  136. [node name="Curves" type="Node3D" parent="Testers"]
  137. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -32)
  138. [node name="Inner" type="CSGBox3D" parent="Testers/Curves"]
  139. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -0.5)
  140. size = Vector3(2, 2, 2)
  141. material = ExtResource("3_5yyaq")
  142. [node name="Subtraction" type="CSGCylinder3D" parent="Testers/Curves/Inner"]
  143. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1)
  144. operation = 2
  145. radius = 1.0
  146. sides = 48
  147. material = ExtResource("4_dsi4m")
  148. [node name="Outer" type="CSGBox3D" parent="Testers/Curves"]
  149. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 1, 1.5)
  150. size = Vector3(1, 2, 2)
  151. material = ExtResource("3_5yyaq")
  152. [node name="Intersection" type="CSGCylinder3D" parent="Testers/Curves/Outer"]
  153. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0, -1)
  154. operation = 1
  155. radius = 1.0
  156. sides = 48
  157. material = ExtResource("4_dsi4m")
  158. [node name="Pillar" type="Node3D" parent="Testers"]
  159. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -36)
  160. [node name="CSGCylinder3D" type="CSGCylinder3D" parent="Testers/Pillar"]
  161. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
  162. radius = 0.25
  163. height = 1.0
  164. sides = 32
  165. material = ExtResource("3_5yyaq")
  166. [node name="Base" type="CSGCylinder3D" parent="Testers/Pillar/CSGCylinder3D"]
  167. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.475, 0)
  168. height = 0.05
  169. sides = 32
  170. material = ExtResource("3_5yyaq")
  171. [node name="CSGSphere3DBottom" type="CSGSphere3D" parent="Testers/Pillar/CSGCylinder3D"]
  172. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.55, 0)
  173. radius = 0.4
  174. radial_segments = 32
  175. rings = 16
  176. material = ExtResource("4_dsi4m")
  177. [node name="HalfSphereCut" type="CSGBox3D" parent="Testers/Pillar/CSGCylinder3D/CSGSphere3DBottom"]
  178. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.45, 0)
  179. operation = 2
  180. material = ExtResource("3_5yyaq")
  181. [node name="CSGSphere3DTop" type="CSGSphere3D" parent="Testers/Pillar/CSGCylinder3D"]
  182. transform = Transform3D(1, 0, 0, 0, -1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 0.8, 0)
  183. radius = 0.4
  184. radial_segments = 32
  185. rings = 16
  186. material = ExtResource("4_dsi4m")
  187. [node name="HalfSphereCut" type="CSGBox3D" parent="Testers/Pillar/CSGCylinder3D/CSGSphere3DTop"]
  188. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.45, 0)
  189. operation = 2
  190. material = ExtResource("3_5yyaq")
  191. [node name="Top" type="CSGCylinder3D" parent="Testers/Pillar/CSGCylinder3D"]
  192. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.825, 0)
  193. height = 0.151
  194. sides = 32
  195. material = ExtResource("3_5yyaq")
  196. [node name="Indentation" type="CSGBox3D" parent="Testers/Pillar/CSGCylinder3D"]
  197. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.15, 0.450001)
  198. operation = 2
  199. size = Vector3(0.1, 1.25, 0.5)
  200. material = ExtResource("4_dsi4m")
  201. [node name="Indentation2" type="CSGBox3D" parent="Testers/Pillar/CSGCylinder3D"]
  202. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.15, -0.450001)
  203. operation = 2
  204. size = Vector3(0.1, 1.25, 0.5)
  205. material = ExtResource("4_dsi4m")
  206. [node name="Indentation3" type="CSGBox3D" parent="Testers/Pillar/CSGCylinder3D"]
  207. transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.450001, 0.15, 0)
  208. operation = 2
  209. size = Vector3(0.1, 1.25, 0.5)
  210. material = ExtResource("4_dsi4m")
  211. [node name="Indentation4" type="CSGBox3D" parent="Testers/Pillar/CSGCylinder3D"]
  212. transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0.450001, 0.15, 0)
  213. operation = 2
  214. size = Vector3(0.1, 1.25, 0.5)
  215. material = ExtResource("4_dsi4m")
  216. [node name="CSGTorus3D" type="CSGTorus3D" parent="Testers/Pillar/CSGCylinder3D"]
  217. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0)
  218. operation = 2
  219. inner_radius = 0.25
  220. outer_radius = 0.4
  221. sides = 32
  222. ring_sides = 5
  223. material = ExtResource("4_dsi4m")
  224. [node name="BeveledCube" type="Node3D" parent="Testers"]
  225. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -40)
  226. [node name="CSGBox3D" type="CSGBox3D" parent="Testers/BeveledCube"]
  227. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
  228. size = Vector3(2, 2, 2)
  229. material = ExtResource("3_5yyaq")
  230. [node name="Bevel" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  231. transform = Transform3D(0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0, 1, 1, 1, 0)
  232. operation = 2
  233. size = Vector3(0.2, 2, 2.01)
  234. material = ExtResource("4_dsi4m")
  235. [node name="Bevel2" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  236. transform = Transform3D(0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0, 1, -0.5, -1.5, 0)
  237. operation = 2
  238. size = Vector3(0.2, 2, 2.01)
  239. material = ExtResource("4_dsi4m")
  240. [node name="Bevel3" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  241. 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)
  242. operation = 2
  243. size = Vector3(0.2, 2, 2.01)
  244. material = ExtResource("4_dsi4m")
  245. [node name="Bevel4" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  246. 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)
  247. operation = 2
  248. size = Vector3(0.2, 2, 2.01)
  249. material = ExtResource("4_dsi4m")
  250. [node name="Bevel5" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  251. transform = Transform3D(-0.707107, 0.707107, -8.74228e-08, 0.707107, 0.707107, 0, 6.18172e-08, -6.18172e-08, -1, -1, 1, 0)
  252. operation = 2
  253. size = Vector3(0.2, 2, 2.01)
  254. material = ExtResource("4_dsi4m")
  255. [node name="Bevel6" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  256. 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)
  257. operation = 2
  258. size = Vector3(0.2, 2, 2.01)
  259. material = ExtResource("4_dsi4m")
  260. [node name="Bevel7" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  261. 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)
  262. operation = 2
  263. size = Vector3(0.2, 2, 2.01)
  264. material = ExtResource("4_dsi4m")
  265. [node name="Bevel8" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  266. 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)
  267. operation = 2
  268. size = Vector3(0.2, 2, 2.01)
  269. material = ExtResource("4_dsi4m")
  270. [node name="Bevel9" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  271. 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)
  272. operation = 2
  273. size = Vector3(0.2, 2, 2.01)
  274. material = ExtResource("4_dsi4m")
  275. [node name="Bevel10" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  276. 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)
  277. operation = 2
  278. size = Vector3(0.2, 2, 2.01)
  279. material = ExtResource("4_dsi4m")
  280. [node name="Bevel11" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  281. 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)
  282. operation = 2
  283. size = Vector3(0.2, 2, 2.01)
  284. material = ExtResource("4_dsi4m")
  285. [node name="Bevel12" type="CSGBox3D" parent="Testers/BeveledCube/CSGBox3D"]
  286. 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)
  287. operation = 2
  288. size = Vector3(0.2, 2, 2.01)
  289. material = ExtResource("4_dsi4m")
  290. [node name="HoleFix" type="CSGBox3D" parent="Testers/BeveledCube"]
  291. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
  292. size = Vector3(1.8, 1.8, 1.8)
  293. material = ExtResource("3_5yyaq")
  294. [node name="Road" type="Node3D" parent="Testers"]
  295. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -43.5)
  296. [node name="RoadSides" type="CSGPolygon3D" parent="Testers/Road"]
  297. transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0.85, 0, 0.0499992)
  298. 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)
  299. mode = 2
  300. path_node = NodePath("../Path3D")
  301. path_interval_type = 0
  302. path_interval = 0.1
  303. path_simplify_angle = 4.0
  304. path_rotation = 1
  305. path_local = true
  306. path_continuous_u = true
  307. path_u_distance = 2.0
  308. path_joined = true
  309. smooth_faces = true
  310. material = SubResource("StandardMaterial3D_mn32f")
  311. [node name="RoadTop" type="CSGPolygon3D" parent="Testers/Road"]
  312. transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0.85, 0, 0.0499992)
  313. 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)
  314. mode = 2
  315. path_node = NodePath("../Path3D")
  316. path_interval_type = 0
  317. path_interval = 0.1
  318. path_simplify_angle = 4.0
  319. path_rotation = 1
  320. path_local = true
  321. path_continuous_u = true
  322. path_u_distance = 2.0
  323. path_joined = true
  324. smooth_faces = true
  325. material = SubResource("StandardMaterial3D_bvrof")
  326. [node name="Path3D" type="Path3D" parent="Testers/Road"]
  327. transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
  328. curve = SubResource("Curve3D_nevyg")
  329. [node name="TestName" type="Label" parent="."]
  330. anchors_preset = 7
  331. anchor_left = 0.5
  332. anchor_top = 1.0
  333. anchor_right = 0.5
  334. anchor_bottom = 1.0
  335. offset_left = -192.0
  336. offset_top = -58.0
  337. offset_right = 192.0
  338. offset_bottom = -24.0
  339. grow_horizontal = 2
  340. grow_vertical = 0
  341. theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
  342. theme_override_constants/outline_size = 5
  343. theme_override_font_sizes/font_size = 24
  344. horizontal_alignment = 1
  345. [node name="Previous" type="Button" parent="."]
  346. anchors_preset = 2
  347. anchor_top = 1.0
  348. anchor_bottom = 1.0
  349. offset_left = 24.0
  350. offset_top = -55.0
  351. offset_right = 135.0
  352. offset_bottom = -24.0
  353. grow_vertical = 0
  354. text = "« Previous"
  355. [node name="Next" type="Button" parent="."]
  356. anchors_preset = 3
  357. anchor_left = 1.0
  358. anchor_top = 1.0
  359. anchor_right = 1.0
  360. anchor_bottom = 1.0
  361. offset_left = -107.0
  362. offset_top = -55.0
  363. offset_right = -24.0
  364. offset_bottom = -24.0
  365. grow_horizontal = 0
  366. grow_vertical = 0
  367. text = "Next »"
  368. [connection signal="pressed" from="Previous" to="." method="_on_previous_pressed"]
  369. [connection signal="pressed" from="Next" to="." method="_on_next_pressed"]