test.tscn 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379
  1. [gd_scene load_steps=23 format=3 uid="uid://37j1wgn5e8e"]
  2. [ext_resource type="Script" path="res://controls.gd" id="1_ojycn"]
  3. [sub_resource type="PhysicalSkyMaterial" id="PhysicalSkyMaterial_i2lbx"]
  4. ground_color = Color(1, 1, 1, 1)
  5. [sub_resource type="Sky" id="Sky_rtoqf"]
  6. sky_material = SubResource("PhysicalSkyMaterial_i2lbx")
  7. [sub_resource type="Environment" id="Environment_ixbrf"]
  8. background_mode = 2
  9. sky = SubResource("Sky_rtoqf")
  10. ambient_light_source = 2
  11. ambient_light_color = Color(1, 1, 1, 1)
  12. ambient_light_energy = 0.3
  13. tonemap_mode = 2
  14. tonemap_white = 6.0
  15. [sub_resource type="BoxMesh" id="BoxMesh_rpkrt"]
  16. size = Vector3(16, 16, 16)
  17. [sub_resource type="Gradient" id="Gradient_bk8jh"]
  18. [sub_resource type="FastNoiseLite" id="FastNoiseLite_p8y4k"]
  19. fractal_octaves = 10
  20. [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_hdp3i"]
  21. seamless = true
  22. color_ramp = SubResource("Gradient_bk8jh")
  23. noise = SubResource("FastNoiseLite_p8y4k")
  24. [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_eicib"]
  25. albedo_color = Color(0.317647, 0.317647, 0.317647, 1)
  26. albedo_texture = SubResource("NoiseTexture2D_hdp3i")
  27. roughness_texture = SubResource("NoiseTexture2D_hdp3i")
  28. uv1_scale = Vector3(12, 8, 1)
  29. texture_filter = 5
  30. [sub_resource type="BoxMesh" id="BoxMesh_1f2ne"]
  31. size = Vector3(15, 1, 2)
  32. [sub_resource type="SphereMesh" id="SphereMesh_q0pwk"]
  33. radius = 2.0
  34. height = 4.0
  35. [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ekrgh"]
  36. albedo_color = Color(0.266667, 0.666667, 1, 1)
  37. [sub_resource type="TextMesh" id="TextMesh_oxha3"]
  38. text = "Billboard!"
  39. font_size = 72
  40. [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wvbit"]
  41. metallic = 0.91
  42. roughness = 0.14
  43. emission_enabled = true
  44. emission = Color(0.733333, 0.733333, 0.733333, 1)
  45. clearcoat_enabled = true
  46. clearcoat_roughness = 1.0
  47. backlight = Color(0.74902, 0.976471, 0, 1)
  48. disable_receive_shadows = true
  49. billboard_mode = 1
  50. billboard_keep_scale = true
  51. grow_amount = 4.497
  52. [sub_resource type="TorusMesh" id="TorusMesh_44mpc"]
  53. inner_radius = 2.5
  54. outer_radius = 3.5
  55. [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_i8ybo"]
  56. transparency = 1
  57. blend_mode = 1
  58. albedo_color = Color(0.0666667, 0.313726, 0.768627, 1)
  59. [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_r08do"]
  60. emission_shape = 3
  61. emission_box_extents = Vector3(8, 0, 8)
  62. collision_mode = 1
  63. collision_friction = 0.0
  64. collision_bounce = 0.2
  65. sub_emitter_mode = 3
  66. sub_emitter_amount_at_collision = 1
  67. [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jmbue"]
  68. shading_mode = 0
  69. [sub_resource type="SphereMesh" id="SphereMesh_f1qcl"]
  70. material = SubResource("StandardMaterial3D_jmbue")
  71. radius = 0.05
  72. height = 0.1
  73. radial_segments = 8
  74. rings = 4
  75. [sub_resource type="Animation" id="Animation_c3rry"]
  76. length = 0.001
  77. tracks/0/type = "bezier"
  78. tracks/0/imported = false
  79. tracks/0/enabled = true
  80. tracks/0/path = NodePath("Move/Text:position:x")
  81. tracks/0/interp = 1
  82. tracks/0/loop_wrap = true
  83. tracks/0/keys = {
  84. "handle_modes": PackedInt32Array(0),
  85. "points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
  86. "times": PackedFloat32Array(0)
  87. }
  88. tracks/1/type = "bezier"
  89. tracks/1/imported = false
  90. tracks/1/enabled = true
  91. tracks/1/path = NodePath("Move/Text:position:y")
  92. tracks/1/interp = 1
  93. tracks/1/loop_wrap = true
  94. tracks/1/keys = {
  95. "handle_modes": PackedInt32Array(0),
  96. "points": PackedFloat32Array(3.70893, -0.25, 0, 0.25, 0),
  97. "times": PackedFloat32Array(0)
  98. }
  99. tracks/2/type = "bezier"
  100. tracks/2/imported = false
  101. tracks/2/enabled = true
  102. tracks/2/path = NodePath("Move/Text:position:z")
  103. tracks/2/interp = 1
  104. tracks/2/loop_wrap = true
  105. tracks/2/keys = {
  106. "handle_modes": PackedInt32Array(0),
  107. "points": PackedFloat32Array(2, -0.25, 0, 0.25, 0),
  108. "times": PackedFloat32Array(0)
  109. }
  110. [sub_resource type="Animation" id="Animation_ww6nu"]
  111. resource_name = "move_text_around"
  112. length = 2.0
  113. loop_mode = 1
  114. tracks/0/type = "position_3d"
  115. tracks/0/imported = false
  116. tracks/0/enabled = true
  117. tracks/0/path = NodePath("Move/Text")
  118. tracks/0/interp = 2
  119. tracks/0/loop_wrap = true
  120. tracks/0/keys = PackedFloat32Array()
  121. tracks/1/type = "bezier"
  122. tracks/1/imported = false
  123. tracks/1/enabled = true
  124. tracks/1/path = NodePath("Move/Text:position:x")
  125. tracks/1/interp = 1
  126. tracks/1/loop_wrap = true
  127. tracks/1/keys = {
  128. "handle_modes": PackedInt32Array(0, 0, 0),
  129. "points": PackedFloat32Array(0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0),
  130. "times": PackedFloat32Array(0, 1, 2)
  131. }
  132. tracks/2/type = "bezier"
  133. tracks/2/imported = false
  134. tracks/2/enabled = true
  135. tracks/2/path = NodePath("Move/Text:position:y")
  136. tracks/2/interp = 1
  137. tracks/2/loop_wrap = true
  138. tracks/2/keys = {
  139. "handle_modes": PackedInt32Array(0, 0, 0),
  140. "points": PackedFloat32Array(3.70893, -0.25, 0, 0.25, 0, 3.70893, -0.25, 0, 0.25, 0, 3.70893, -0.25, 0, 0.25, 0),
  141. "times": PackedFloat32Array(0, 1, 2)
  142. }
  143. tracks/3/type = "bezier"
  144. tracks/3/imported = false
  145. tracks/3/enabled = true
  146. tracks/3/path = NodePath("Move/Text:position:z")
  147. tracks/3/interp = 1
  148. tracks/3/loop_wrap = true
  149. tracks/3/keys = {
  150. "handle_modes": PackedInt32Array(0, 0, 0),
  151. "points": PackedFloat32Array(-2, -0.25, 0, 0.25, 0, 2, -0.25, 0, 0.25, 0, -2, -0.25, 0, 0.25, 0),
  152. "times": PackedFloat32Array(0, 1, 2)
  153. }
  154. [sub_resource type="AnimationLibrary" id="AnimationLibrary_2gye4"]
  155. _data = {
  156. "RESET": SubResource("Animation_c3rry"),
  157. "move_text_around": SubResource("Animation_ww6nu")
  158. }
  159. [node name="Node3D" type="Node3D"]
  160. [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
  161. transform = Transform3D(-0.98244, -0.0593698, 0.176879, 0.0241111, 0.899674, 0.435897, -0.185013, 0.432507, -0.882444, 0.181812, 3.12655, 5.93493)
  162. shadow_enabled = true
  163. shadow_bias = 0.04
  164. shadow_blur = 2.0
  165. directional_shadow_fade_start = 1.0
  166. directional_shadow_max_distance = 35.0
  167. [node name="WorldEnvironment" type="WorldEnvironment" parent="."]
  168. environment = SubResource("Environment_ixbrf")
  169. [node name="Move" type="Node3D" parent="."]
  170. [node name="Ground" type="MeshInstance3D" parent="Move"]
  171. transform = Transform3D(-1, 0, -3.82137e-15, 0, 1, -8.74228e-08, 3.82137e-15, -8.74228e-08, -1, -7.45058e-09, -8, 0)
  172. mesh = SubResource("BoxMesh_rpkrt")
  173. skeleton = NodePath("../..")
  174. surface_material_override/0 = SubResource("StandardMaterial3D_eicib")
  175. [node name="GPUParticlesCollisionBox3D" type="GPUParticlesCollisionBox3D" parent="Move/Ground"]
  176. transform = Transform3D(-7.37408e-15, 4.37114e-08, -1, 8.74228e-08, 1, 4.37114e-08, 1, -8.74228e-08, -1.31061e-14, -7.45058e-09, 9.53674e-07, 9.53674e-07)
  177. size = Vector3(16, 16, 16)
  178. [node name="Flat" type="MeshInstance3D" parent="Move"]
  179. transform = Transform3D(1, 0, 0, 0, 0.996195, -0.0871557, 0, 0.0871557, 0.996195, 0, -0.5, 4.9)
  180. mesh = SubResource("BoxMesh_1f2ne")
  181. [node name="Sphere" type="MeshInstance3D" parent="Move"]
  182. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
  183. mesh = SubResource("SphereMesh_q0pwk")
  184. skeleton = NodePath("../..")
  185. surface_material_override/0 = SubResource("StandardMaterial3D_ekrgh")
  186. [node name="GPUParticlesCollisionSphere3D" type="GPUParticlesCollisionSphere3D" parent="Move/Sphere"]
  187. radius = 2.0
  188. [node name="Text" type="MeshInstance3D" parent="Move"]
  189. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.70893, 2)
  190. cast_shadow = 0
  191. mesh = SubResource("TextMesh_oxha3")
  192. surface_material_override/0 = SubResource("StandardMaterial3D_wvbit")
  193. [node name="Torus" type="MeshInstance3D" parent="Move"]
  194. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
  195. mesh = SubResource("TorusMesh_44mpc")
  196. skeleton = NodePath("../..")
  197. surface_material_override/0 = SubResource("StandardMaterial3D_i8ybo")
  198. [node name="CameraHolder" type="Node3D" parent="Move"]
  199. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
  200. [node name="RotationX" type="Node3D" parent="Move/CameraHolder"]
  201. [node name="Camera3D" type="Camera3D" parent="Move/CameraHolder/RotationX"]
  202. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 7)
  203. [node name="GPUParticles3D" type="GPUParticles3D" parent="Move"]
  204. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 13, 0)
  205. amount = 500
  206. lifetime = 3.0
  207. fixed_fps = 0
  208. interpolate = false
  209. collision_base_size = 0.05
  210. visibility_aabb = AABB(-15.9834, -43.9765, -15.9858, 31.982, 43.9765, 31.9815)
  211. local_coords = true
  212. process_material = SubResource("ParticleProcessMaterial_r08do")
  213. draw_pass_1 = SubResource("SphereMesh_f1qcl")
  214. [node name="Controls" type="VBoxContainer" parent="." node_paths=PackedStringArray("camera", "camera_holder", "rotation_x", "node_to_move")]
  215. offset_left = 16.0
  216. offset_top = 16.0
  217. offset_right = 350.0
  218. offset_bottom = 399.0
  219. theme_override_constants/separation = 10
  220. script = ExtResource("1_ojycn")
  221. camera = NodePath("../Move/CameraHolder/RotationX/Camera3D")
  222. camera_holder = NodePath("../Move/CameraHolder")
  223. rotation_x = NodePath("../Move/CameraHolder/RotationX")
  224. node_to_move = NodePath("../Move")
  225. [node name="HelpLabel" type="Label" parent="Controls"]
  226. unique_name_in_owner = true
  227. layout_mode = 2
  228. theme_override_colors/font_color = Color(1, 0.666667, 0.666667, 1)
  229. theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
  230. theme_override_constants/outline_size = 4
  231. text = "Double precision is not enabled in this engine build.
  232. Visible shaking is expected at high coordinate levels
  233. (±65,536 or more on any axis)."
  234. [node name="Button" type="Button" parent="Controls"]
  235. layout_mode = 2
  236. text = "Open Documentation"
  237. [node name="HSeparator" type="HSeparator" parent="Controls"]
  238. layout_mode = 2
  239. [node name="Coordinates" type="RichTextLabel" parent="Controls"]
  240. unique_name_in_owner = true
  241. custom_minimum_size = Vector2(0, 70)
  242. layout_mode = 2
  243. theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
  244. theme_override_constants/outline_size = 4
  245. bbcode_enabled = true
  246. text = "Object coordinates:"
  247. [node name="IncrementX" type="CheckButton" parent="Controls"]
  248. unique_name_in_owner = true
  249. custom_minimum_size = Vector2(320, 0)
  250. layout_mode = 2
  251. size_flags_horizontal = 0
  252. theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
  253. theme_override_constants/outline_size = 4
  254. button_pressed = true
  255. text = "Increment X (10,000 per second)"
  256. [node name="IncrementY" type="CheckButton" parent="Controls"]
  257. unique_name_in_owner = true
  258. custom_minimum_size = Vector2(320, 0)
  259. layout_mode = 2
  260. size_flags_horizontal = 0
  261. theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
  262. theme_override_constants/outline_size = 4
  263. text = "Increment Y (100,000 per second)"
  264. [node name="IncrementZ" type="CheckButton" parent="Controls"]
  265. unique_name_in_owner = true
  266. custom_minimum_size = Vector2(320, 0)
  267. layout_mode = 2
  268. size_flags_horizontal = 0
  269. theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
  270. theme_override_constants/outline_size = 4
  271. text = "Increment Z (1,000,000 per second)"
  272. [node name="GoTo" type="Label" parent="Controls"]
  273. layout_mode = 2
  274. theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
  275. theme_override_constants/outline_size = 4
  276. text = "Go to X coordinate:"
  277. [node name="HFlowContainer" type="HFlowContainer" parent="Controls"]
  278. layout_mode = 2
  279. [node name="Button" type="Button" parent="Controls/HFlowContainer"]
  280. layout_mode = 2
  281. text = "0 (Reset All)"
  282. [node name="Button2" type="Button" parent="Controls/HFlowContainer"]
  283. layout_mode = 2
  284. text = "10,000"
  285. [node name="Button3" type="Button" parent="Controls/HFlowContainer"]
  286. layout_mode = 2
  287. text = "100,000"
  288. [node name="Button4" type="Button" parent="Controls/HFlowContainer"]
  289. layout_mode = 2
  290. text = "1,000,000"
  291. [node name="Button5" type="Button" parent="Controls/HFlowContainer"]
  292. layout_mode = 2
  293. text = "10,000,000"
  294. [node name="Button6" type="Button" parent="Controls/HFlowContainer"]
  295. layout_mode = 2
  296. text = "100,000,000"
  297. [node name="Button7" type="Button" parent="Controls/HFlowContainer"]
  298. layout_mode = 2
  299. text = "1,000,000,000"
  300. [node name="Button8" type="Button" parent="Controls/HFlowContainer"]
  301. layout_mode = 2
  302. text = "1,000,000,000,000"
  303. [node name="Button9" type="Button" parent="Controls/HFlowContainer"]
  304. layout_mode = 2
  305. text = "10,000,000,000,000"
  306. [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
  307. libraries = {
  308. "": SubResource("AnimationLibrary_2gye4")
  309. }
  310. autoplay = "move_text_around"
  311. [connection signal="pressed" from="Controls/Button" to="Controls" method="_on_open_documentation_pressed"]
  312. [connection signal="pressed" from="Controls/HFlowContainer/Button" to="Controls" method="_on_go_to_button_pressed" binds= [0]]
  313. [connection signal="pressed" from="Controls/HFlowContainer/Button2" to="Controls" method="_on_go_to_button_pressed" binds= [10000]]
  314. [connection signal="pressed" from="Controls/HFlowContainer/Button3" to="Controls" method="_on_go_to_button_pressed" binds= [100000]]
  315. [connection signal="pressed" from="Controls/HFlowContainer/Button4" to="Controls" method="_on_go_to_button_pressed" binds= [1000000]]
  316. [connection signal="pressed" from="Controls/HFlowContainer/Button5" to="Controls" method="_on_go_to_button_pressed" binds= [10000000]]
  317. [connection signal="pressed" from="Controls/HFlowContainer/Button6" to="Controls" method="_on_go_to_button_pressed" binds= [100000000]]
  318. [connection signal="pressed" from="Controls/HFlowContainer/Button7" to="Controls" method="_on_go_to_button_pressed" binds= [1000000000]]
  319. [connection signal="pressed" from="Controls/HFlowContainer/Button8" to="Controls" method="_on_go_to_button_pressed" binds= [1000000000000]]
  320. [connection signal="pressed" from="Controls/HFlowContainer/Button9" to="Controls" method="_on_go_to_button_pressed" binds= [10000000000000]]