test.tscn 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969
  1. [gd_scene load_steps=77 format=3 uid="uid://bo5sv4e5gv8rc"]
  2. [ext_resource type="Texture2D" uid="uid://ddp8ek6rswwmc" path="res://kenney/smoke_05.png" id="3_pmhp8"]
  3. [ext_resource type="CompressedTexture3D" uid="uid://dgnb433rl8hr1" path="res://test.GPUParticlesCollisionSDF3D_data.exr" id="4_wcrow"]
  4. [ext_resource type="Texture2D" uid="uid://chjqieyps5n5r" path="res://checker.png" id="14"]
  5. [ext_resource type="Script" path="res://tester.gd" id="18"]
  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. [sub_resource type="Animation" id="Animation_qdnt6"]
  13. length = 0.001
  14. tracks/0/type = "value"
  15. tracks/0/imported = false
  16. tracks/0/enabled = true
  17. tracks/0/path = NodePath("Testers/GPUParticlesCollisionGlobalCoords/GPUParticles3D:position")
  18. tracks/0/interp = 1
  19. tracks/0/loop_wrap = true
  20. tracks/0/keys = {
  21. "times": PackedFloat32Array(0),
  22. "transitions": PackedFloat32Array(1),
  23. "update": 0,
  24. "values": [Vector3(0, 1.2, 0)]
  25. }
  26. tracks/1/type = "value"
  27. tracks/1/imported = false
  28. tracks/1/enabled = true
  29. tracks/1/path = NodePath("Testers/GPUParticlesCollision/MovingBox:position")
  30. tracks/1/interp = 1
  31. tracks/1/loop_wrap = true
  32. tracks/1/keys = {
  33. "times": PackedFloat32Array(0),
  34. "transitions": PackedFloat32Array(1),
  35. "update": 0,
  36. "values": [Vector3(0, -0.45, -0.5)]
  37. }
  38. tracks/2/type = "value"
  39. tracks/2/imported = false
  40. tracks/2/enabled = true
  41. tracks/2/path = NodePath("Testers/GPUParticlesCollisionGlobalCoords/MovingBox:position")
  42. tracks/2/interp = 1
  43. tracks/2/loop_wrap = true
  44. tracks/2/keys = {
  45. "times": PackedFloat32Array(0),
  46. "transitions": PackedFloat32Array(1),
  47. "update": 0,
  48. "values": [Vector3(0, -0.45, -0.5)]
  49. }
  50. tracks/3/type = "value"
  51. tracks/3/imported = false
  52. tracks/3/enabled = true
  53. tracks/3/path = NodePath("Testers/CPUParticlesForceField/CPUParticles3D:position")
  54. tracks/3/interp = 1
  55. tracks/3/loop_wrap = true
  56. tracks/3/keys = {
  57. "times": PackedFloat32Array(0),
  58. "transitions": PackedFloat32Array(1),
  59. "update": 0,
  60. "values": [Vector3(0, 1, 0)]
  61. }
  62. tracks/4/type = "value"
  63. tracks/4/imported = false
  64. tracks/4/enabled = true
  65. tracks/4/path = NodePath("Testers/CPUParticlesForceField/CPUParticles3D:rotation")
  66. tracks/4/interp = 1
  67. tracks/4/loop_wrap = true
  68. tracks/4/keys = {
  69. "times": PackedFloat32Array(0),
  70. "transitions": PackedFloat32Array(1),
  71. "update": 0,
  72. "values": [Vector3(0, 0, 0)]
  73. }
  74. [sub_resource type="Animation" id="12"]
  75. resource_name = "move"
  76. length = 4.0
  77. loop_mode = 1
  78. tracks/0/type = "value"
  79. tracks/0/imported = false
  80. tracks/0/enabled = true
  81. tracks/0/path = NodePath("Testers/GPUParticlesCollisionGlobalCoords/GPUParticles3D:position")
  82. tracks/0/interp = 1
  83. tracks/0/loop_wrap = true
  84. tracks/0/keys = {
  85. "times": PackedFloat32Array(0, 2),
  86. "transitions": PackedFloat32Array(-2, -2),
  87. "update": 0,
  88. "values": [Vector3(0, 1.2, 0), Vector3(0, 4.2, 0)]
  89. }
  90. tracks/1/type = "value"
  91. tracks/1/imported = false
  92. tracks/1/enabled = true
  93. tracks/1/path = NodePath("Testers/GPUParticlesCollision/MovingBox:position")
  94. tracks/1/interp = 1
  95. tracks/1/loop_wrap = true
  96. tracks/1/keys = {
  97. "times": PackedFloat32Array(0, 2),
  98. "transitions": PackedFloat32Array(-2, -2),
  99. "update": 0,
  100. "values": [Vector3(0, -0.45, -0.5), Vector3(0, 0.65, -0.5)]
  101. }
  102. tracks/2/type = "value"
  103. tracks/2/imported = false
  104. tracks/2/enabled = true
  105. tracks/2/path = NodePath("Testers/GPUParticlesCollisionGlobalCoords/MovingBox:position")
  106. tracks/2/interp = 1
  107. tracks/2/loop_wrap = true
  108. tracks/2/keys = {
  109. "times": PackedFloat32Array(0, 2),
  110. "transitions": PackedFloat32Array(-2, -2),
  111. "update": 0,
  112. "values": [Vector3(0, -0.45, -0.5), Vector3(0, 0.65, -0.5)]
  113. }
  114. tracks/3/type = "value"
  115. tracks/3/imported = false
  116. tracks/3/enabled = true
  117. tracks/3/path = NodePath("Testers/CPUParticlesForceField/CPUParticles3D:position")
  118. tracks/3/interp = 1
  119. tracks/3/loop_wrap = true
  120. tracks/3/keys = {
  121. "times": PackedFloat32Array(0, 2),
  122. "transitions": PackedFloat32Array(-2, -2),
  123. "update": 0,
  124. "values": [Vector3(0, 1, 0), Vector3(0, 0, 0)]
  125. }
  126. tracks/4/type = "value"
  127. tracks/4/imported = false
  128. tracks/4/enabled = true
  129. tracks/4/path = NodePath("Testers/CPUParticlesForceField/CPUParticles3D:rotation")
  130. tracks/4/interp = 1
  131. tracks/4/loop_wrap = true
  132. tracks/4/keys = {
  133. "times": PackedFloat32Array(0, 2, 4),
  134. "transitions": PackedFloat32Array(1, 1, 1),
  135. "update": 0,
  136. "values": [Vector3(0, 0, 0), Vector3(0, 3.14159, 0), Vector3(0, 6.28319, 0)]
  137. }
  138. [sub_resource type="AnimationLibrary" id="AnimationLibrary_ecfcr"]
  139. _data = {
  140. "RESET": SubResource("Animation_qdnt6"),
  141. "move": SubResource("12")
  142. }
  143. [sub_resource type="StandardMaterial3D" id="13"]
  144. diffuse_mode = 1
  145. albedo_texture = ExtResource("14")
  146. uv1_scale = Vector3(32, 32, 1)
  147. texture_filter = 5
  148. [sub_resource type="PlaneMesh" id="14"]
  149. material = SubResource("13")
  150. size = Vector2(128, 128)
  151. [sub_resource type="Gradient" id="Gradient_ywyk1"]
  152. interpolation_mode = 2
  153. colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0)
  154. [sub_resource type="GradientTexture2D" id="GradientTexture2D_4rekb"]
  155. gradient = SubResource("Gradient_ywyk1")
  156. fill = 1
  157. fill_from = Vector2(0.5, 0.5)
  158. fill_to = Vector2(0.5, 0.01)
  159. [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ls6ob"]
  160. transparency = 1
  161. shading_mode = 0
  162. vertex_color_use_as_albedo = true
  163. albedo_color = Color(1, 2, 3, 0.7)
  164. albedo_texture = SubResource("GradientTexture2D_4rekb")
  165. billboard_mode = 3
  166. particles_anim_h_frames = 1
  167. particles_anim_v_frames = 1
  168. particles_anim_loop = false
  169. proximity_fade_enabled = true
  170. proximity_fade_distance = 2.0
  171. [sub_resource type="QuadMesh" id="QuadMesh_7ay8c"]
  172. material = SubResource("StandardMaterial3D_ls6ob")
  173. size = Vector2(0.1, 0.1)
  174. [sub_resource type="Gradient" id="Gradient_drqcv"]
  175. interpolation_mode = 2
  176. offsets = PackedFloat32Array(0, 0.289474, 0.542105, 1)
  177. colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 0.92549, 0.235294, 0.317647, 1, 0.564706, 1, 1, 1, 0)
  178. [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_cgumr"]
  179. transparency = 1
  180. shading_mode = 0
  181. vertex_color_use_as_albedo = true
  182. albedo_texture = ExtResource("3_pmhp8")
  183. billboard_mode = 3
  184. particles_anim_h_frames = 1
  185. particles_anim_v_frames = 1
  186. particles_anim_loop = false
  187. proximity_fade_enabled = true
  188. proximity_fade_distance = 0.5
  189. [sub_resource type="QuadMesh" id="QuadMesh_0jly8"]
  190. material = SubResource("StandardMaterial3D_cgumr")
  191. [sub_resource type="Gradient" id="Gradient_or8rt"]
  192. interpolation_mode = 2
  193. offsets = PackedFloat32Array(0, 0.131579, 0.184211, 0.321053, 0.473684, 0.752632, 1)
  194. colors = PackedColorArray(0.25098, 0.25098, 0.25098, 1, 1, 0.802991, 0.664426, 1, 1, 0.682353, 0, 1, 1, 0.601, 0.37, 1, 1, 0.25, 0.1, 0.447059, 0, 0, 0, 0.184314, 0.25098, 0.25098, 0.25098, 0)
  195. [sub_resource type="Gradient" id="Gradient_827lf"]
  196. interpolation_mode = 2
  197. offsets = PackedFloat32Array(0.01875, 0.0722892, 0.433735, 0.716867, 1)
  198. colors = PackedColorArray(0, 0, 0, 1, 0.686275, 0.188235, 0, 1, 1, 0.517647, 0.0784314, 1, 1, 0.0784314, 0, 0.447059, 0.25098, 0.25098, 0.25098, 0)
  199. [sub_resource type="GradientTexture1D" id="GradientTexture1D_2374g"]
  200. gradient = SubResource("Gradient_827lf")
  201. [sub_resource type="Curve" id="Curve_3eqrx"]
  202. _data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
  203. point_count = 2
  204. [sub_resource type="CurveTexture" id="CurveTexture_3g7oh"]
  205. curve = SubResource("Curve_3eqrx")
  206. [sub_resource type="ParticleProcessMaterial" id="ParticlesMaterial_wcmum"]
  207. emission_shape = 3
  208. emission_box_extents = Vector3(0.5, 0, 0.5)
  209. direction = Vector3(0, 1, 0)
  210. spread = 3.5
  211. gravity = Vector3(0, 0, 0)
  212. initial_velocity_min = 1.0
  213. initial_velocity_max = 4.0
  214. angular_velocity_max = 360.0
  215. damping_min = 2.0
  216. damping_max = 2.0
  217. scale_min = 0.1
  218. scale_max = 0.8
  219. scale_curve = SubResource("CurveTexture_3g7oh")
  220. color = Color(4, 4, 4, 1)
  221. color_ramp = SubResource("GradientTexture1D_2374g")
  222. [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_dod7h"]
  223. transparency = 1
  224. shading_mode = 0
  225. vertex_color_use_as_albedo = true
  226. albedo_texture = ExtResource("3_pmhp8")
  227. billboard_mode = 3
  228. particles_anim_h_frames = 1
  229. particles_anim_v_frames = 1
  230. particles_anim_loop = false
  231. proximity_fade_enabled = true
  232. proximity_fade_distance = 0.3
  233. [sub_resource type="QuadMesh" id="QuadMesh_783ir"]
  234. material = SubResource("StandardMaterial3D_dod7h")
  235. [sub_resource type="Gradient" id="Gradient_lgkn4"]
  236. offsets = PackedFloat32Array(0, 0.542169, 1)
  237. colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)
  238. [sub_resource type="GradientTexture1D" id="GradientTexture1D_l2iq7"]
  239. gradient = SubResource("Gradient_lgkn4")
  240. [sub_resource type="ParticleProcessMaterial" id="ParticlesMaterial_a3ot6"]
  241. direction = Vector3(0, 1, 0)
  242. gravity = Vector3(0, -2, 0)
  243. initial_velocity_min = 1.0
  244. initial_velocity_max = 2.0
  245. angular_velocity_max = 180.0
  246. tangential_accel_min = 3.0
  247. tangential_accel_max = 3.0
  248. color = Color(0.55, 0.55, 0.55, 1)
  249. color_ramp = SubResource("GradientTexture1D_l2iq7")
  250. [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jtphw"]
  251. transparency = 1
  252. shading_mode = 0
  253. vertex_color_use_as_albedo = true
  254. albedo_texture = ExtResource("3_pmhp8")
  255. billboard_mode = 3
  256. particles_anim_h_frames = 1
  257. particles_anim_v_frames = 1
  258. particles_anim_loop = false
  259. proximity_fade_enabled = true
  260. proximity_fade_distance = 0.3
  261. [sub_resource type="QuadMesh" id="QuadMesh_edvlt"]
  262. material = SubResource("StandardMaterial3D_jtphw")
  263. [sub_resource type="Gradient" id="Gradient_6585v"]
  264. interpolation_mode = 2
  265. offsets = PackedFloat32Array(0, 0.674699, 1)
  266. colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)
  267. [sub_resource type="GradientTexture1D" id="GradientTexture1D_6ubl1"]
  268. gradient = SubResource("Gradient_6585v")
  269. [sub_resource type="ParticleProcessMaterial" id="ParticlesMaterial_4noo4"]
  270. direction = Vector3(0, 1, 0)
  271. gravity = Vector3(0, 0, 0)
  272. initial_velocity_min = 1.0
  273. initial_velocity_max = 1.0
  274. color_ramp = SubResource("GradientTexture1D_6ubl1")
  275. [sub_resource type="ParticleProcessMaterial" id="ParticlesMaterial_ft0gs"]
  276. emission_shape = 6
  277. emission_ring_axis = Vector3(0, 1, 0)
  278. emission_ring_height = 0.0
  279. emission_ring_radius = 0.25
  280. emission_ring_inner_radius = 0.25
  281. radial_accel_min = 2.0
  282. radial_accel_max = 2.0
  283. collision_mode = 1
  284. collision_friction = 0.1
  285. collision_bounce = 0.0
  286. [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_r4xcu"]
  287. albedo_color = Color(0.521569, 1, 0.776471, 1)
  288. [sub_resource type="BoxMesh" id="BoxMesh_88317"]
  289. material = SubResource("StandardMaterial3D_r4xcu")
  290. size = Vector3(0.1, 0.1, 0.1)
  291. [sub_resource type="BoxMesh" id="BoxMesh_3dp4g"]
  292. [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_3jlyg"]
  293. [sub_resource type="Gradient" id="Gradient_yv8jc"]
  294. interpolation_mode = 2
  295. offsets = PackedFloat32Array(0, 0.0963855, 1)
  296. colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 0.917647, 1, 1, 1, 0)
  297. [sub_resource type="GradientTexture1D" id="GradientTexture1D_bewgf"]
  298. gradient = SubResource("Gradient_yv8jc")
  299. [sub_resource type="ParticleProcessMaterial" id="ParticlesMaterial_pe2at"]
  300. emission_shape = 6
  301. emission_ring_axis = Vector3(0, 1, 0)
  302. emission_ring_height = 0.0
  303. emission_ring_radius = 1.6
  304. emission_ring_inner_radius = 0.0
  305. gravity = Vector3(0, 1, 0)
  306. color = Color(1, 1, 1, 0.25098)
  307. color_ramp = SubResource("GradientTexture1D_bewgf")
  308. [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8mtil"]
  309. transparency = 1
  310. shading_mode = 0
  311. vertex_color_use_as_albedo = true
  312. proximity_fade_enabled = true
  313. proximity_fade_distance = 0.5
  314. [sub_resource type="SphereMesh" id="SphereMesh_rowu5"]
  315. material = SubResource("StandardMaterial3D_8mtil")
  316. radius = 0.4
  317. height = 0.4
  318. radial_segments = 16
  319. rings = 16
  320. [sub_resource type="Gradient" id="Gradient_eedjr"]
  321. interpolation_mode = 1
  322. offsets = PackedFloat32Array(0.25974, 0.376623, 0.948052)
  323. colors = PackedColorArray(1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1)
  324. [sub_resource type="GradientTexture1D" id="GradientTexture1D_0pfio"]
  325. gradient = SubResource("Gradient_eedjr")
  326. [sub_resource type="Gradient" id="Gradient_nwe6x"]
  327. offsets = PackedFloat32Array(0, 0.168831, 1)
  328. colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0)
  329. [sub_resource type="GradientTexture1D" id="GradientTexture1D_wmonn"]
  330. gradient = SubResource("Gradient_nwe6x")
  331. [sub_resource type="ParticleProcessMaterial" id="ParticlesMaterial_bwh6l"]
  332. emission_shape = 3
  333. emission_box_extents = Vector3(1, 0, 1)
  334. direction = Vector3(0, 1, 0)
  335. spread = 15.0
  336. initial_velocity_min = 6.0
  337. initial_velocity_max = 6.0
  338. radial_accel_min = -2.0
  339. radial_accel_max = -2.0
  340. tangential_accel_min = 1.0
  341. tangential_accel_max = 4.0
  342. damping_min = 4.0
  343. damping_max = 4.0
  344. scale_max = 3.0
  345. color_ramp = SubResource("GradientTexture1D_wmonn")
  346. color_initial_ramp = SubResource("GradientTexture1D_0pfio")
  347. collision_mode = 1
  348. collision_friction = 0.0
  349. collision_bounce = 0.25
  350. [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_asab0"]
  351. transparency = 1
  352. shading_mode = 0
  353. vertex_color_use_as_albedo = true
  354. use_particle_trails = true
  355. [sub_resource type="TubeTrailMesh" id="TubeTrailMesh_slq55"]
  356. material = SubResource("StandardMaterial3D_asab0")
  357. radius = 0.02
  358. radial_steps = 3
  359. [sub_resource type="Gradient" id="Gradient_kdfrx"]
  360. offsets = PackedFloat32Array(0, 0.777108, 1)
  361. colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1, 1, 0.320511, 0, 1)
  362. [sub_resource type="GradientTexture1D" id="GradientTexture1D_3jc0t"]
  363. gradient = SubResource("Gradient_kdfrx")
  364. [sub_resource type="ParticleProcessMaterial" id="ParticlesMaterial_87mxs"]
  365. emission_shape = 3
  366. emission_box_extents = Vector3(1, 1, 1)
  367. direction = Vector3(0, 1, 0)
  368. gravity = Vector3(0, 0, 0)
  369. initial_velocity_min = 1.0
  370. initial_velocity_max = 1.0
  371. color_ramp = SubResource("GradientTexture1D_3jc0t")
  372. sub_emitter_mode = 2
  373. sub_emitter_amount_at_end = 1
  374. sub_emitter_keep_velocity = true
  375. [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_22a4e"]
  376. transparency = 1
  377. vertex_color_use_as_albedo = true
  378. [sub_resource type="BoxMesh" id="BoxMesh_olbrk"]
  379. material = SubResource("StandardMaterial3D_22a4e")
  380. size = Vector3(0.2, 0.2, 0.2)
  381. [sub_resource type="Curve" id="Curve_hqf7t"]
  382. _data = [Vector2(0.7, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
  383. point_count = 2
  384. [sub_resource type="CurveTexture" id="CurveTexture_d6opd"]
  385. curve = SubResource("Curve_hqf7t")
  386. [sub_resource type="ParticleProcessMaterial" id="ParticlesMaterial_tvato"]
  387. gravity = Vector3(0, -5, 0)
  388. scale_curve = SubResource("CurveTexture_d6opd")
  389. collision_mode = 1
  390. collision_friction = 0.0
  391. collision_bounce = 0.0
  392. collision_use_scale = true
  393. [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gxbts"]
  394. metallic = 1.0
  395. roughness = 0.5
  396. [sub_resource type="SphereMesh" id="SphereMesh_g7qur"]
  397. material = SubResource("StandardMaterial3D_gxbts")
  398. radius = 0.1
  399. height = 0.2
  400. radial_segments = 16
  401. rings = 8
  402. [sub_resource type="Gradient" id="Gradient_snt4t"]
  403. offsets = PackedFloat32Array(0, 0.987952)
  404. colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0)
  405. [sub_resource type="GradientTexture1D" id="GradientTexture1D_ppbqr"]
  406. gradient = SubResource("Gradient_snt4t")
  407. [sub_resource type="ParticleProcessMaterial" id="ParticlesMaterial_b7k7i"]
  408. emission_shape = 3
  409. emission_box_extents = Vector3(1, 1, 1)
  410. direction = Vector3(0, 1, 0)
  411. initial_velocity_min = 1.0
  412. initial_velocity_max = 1.0
  413. color = Color(0.568627, 0.313726, 1, 1)
  414. color_ramp = SubResource("GradientTexture1D_ppbqr")
  415. sub_emitter_mode = 3
  416. sub_emitter_amount_at_collision = 1
  417. sub_emitter_keep_velocity = true
  418. collision_mode = 2
  419. [sub_resource type="Curve" id="Curve_7mapm"]
  420. _data = [Vector2(0.7, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
  421. point_count = 2
  422. [sub_resource type="CurveTexture" id="CurveTexture_tkl18"]
  423. curve = SubResource("Curve_7mapm")
  424. [sub_resource type="ParticleProcessMaterial" id="ParticlesMaterial_6htaw"]
  425. gravity = Vector3(0, -5, 0)
  426. scale_curve = SubResource("CurveTexture_tkl18")
  427. collision_mode = 1
  428. collision_friction = 0.0
  429. collision_bounce = 0.0
  430. collision_use_scale = true
  431. [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_4f0te"]
  432. emission_shape = 3
  433. emission_box_extents = Vector3(1, 0, 1)
  434. radial_accel_min = 2.0
  435. radial_accel_max = 2.0
  436. collision_mode = 1
  437. collision_friction = 0.0
  438. collision_bounce = 0.5
  439. [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xlsok"]
  440. emission_enabled = true
  441. emission = Color(0.25098, 0.568627, 0.882353, 1)
  442. emission_energy_multiplier = 2.0
  443. [sub_resource type="SphereMesh" id="SphereMesh_whk10"]
  444. material = SubResource("StandardMaterial3D_xlsok")
  445. radius = 0.025
  446. height = 0.05
  447. radial_segments = 8
  448. rings = 4
  449. [sub_resource type="Curve" id="Curve_dnt4m"]
  450. _data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.2, 0.5), 0.0, 0.0, 0, 0, Vector2(0.5, 0.8), 0.0, 0.0, 0, 0, Vector2(0.8, 0.5), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
  451. point_count = 5
  452. [sub_resource type="TubeTrailMesh" id="TubeTrailMesh_rusnm"]
  453. radius = 1.0
  454. radial_steps = 64
  455. sections = 15
  456. curve = SubResource("Curve_dnt4m")
  457. [sub_resource type="BoxMesh" id="BoxMesh_frpx7"]
  458. size = Vector3(1, 0.1, 1)
  459. [sub_resource type="BoxMesh" id="BoxMesh_dcd5l"]
  460. size = Vector3(4, 0.1, 4)
  461. [sub_resource type="SphereMesh" id="SphereMesh_8xbmh"]
  462. material = SubResource("StandardMaterial3D_xlsok")
  463. radius = 0.025
  464. height = 0.05
  465. radial_segments = 8
  466. rings = 4
  467. [node name="WorldEnvironment" type="WorldEnvironment"]
  468. environment = SubResource("11")
  469. script = ExtResource("18")
  470. [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
  471. autoplay = "move"
  472. libraries = {
  473. "": SubResource("AnimationLibrary_ecfcr")
  474. }
  475. [node name="Plane" type="MeshInstance3D" parent="."]
  476. layers = 2
  477. mesh = SubResource("14")
  478. [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
  479. 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)
  480. shadow_enabled = true
  481. shadow_bias = 0.04
  482. directional_shadow_mode = 0
  483. directional_shadow_fade_start = 1.0
  484. directional_shadow_max_distance = 12.0
  485. [node name="CameraHolder" type="Node3D" parent="."]
  486. transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0.125, 26)
  487. [node name="RotationX" type="Node3D" parent="CameraHolder"]
  488. [node name="Camera3D" type="Camera3D" parent="CameraHolder/RotationX"]
  489. fov = 70.0
  490. [node name="Testers" type="Node3D" parent="."]
  491. [node name="CPUParticlesForceField" type="Node3D" parent="Testers"]
  492. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 26)
  493. [node name="CPUParticles3D" type="CPUParticles3D" parent="Testers/CPUParticlesForceField"]
  494. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
  495. amount = 750
  496. lifetime = 5.0
  497. preprocess = 5.0
  498. mesh = SubResource("QuadMesh_7ay8c")
  499. emission_shape = 3
  500. emission_box_extents = Vector3(0.05, 1, 1)
  501. gravity = Vector3(0, 0.05, 0)
  502. tangential_accel_min = -0.04
  503. tangential_accel_max = 0.04
  504. scale_amount_min = 0.1
  505. scale_amount_max = 1.5
  506. color_ramp = SubResource("Gradient_drqcv")
  507. [node name="CPUParticlesExplosion" type="Node3D" parent="Testers"]
  508. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 22)
  509. [node name="CPUParticles3D" type="CPUParticles3D" parent="Testers/CPUParticlesExplosion"]
  510. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
  511. amount = 400
  512. lifetime = 1.3
  513. explosiveness = 1.0
  514. mesh = SubResource("QuadMesh_0jly8")
  515. emission_shape = 2
  516. emission_sphere_radius = 0.25
  517. spread = 180.0
  518. gravity = Vector3(0, 0, 0)
  519. initial_velocity_min = 4.0
  520. initial_velocity_max = 4.0
  521. angular_velocity_max = 720.0
  522. damping_min = 3.25
  523. damping_max = 3.25
  524. angle_max = 360.0
  525. scale_amount_min = 0.0
  526. color = Color(4, 4, 4, 1)
  527. color_ramp = SubResource("Gradient_or8rt")
  528. [node name="Decal4" type="Decal" parent="Testers/CPUParticlesExplosion"]
  529. extents = Vector3(2.5, 0.01, 2.5)
  530. texture_albedo = ExtResource("3_pmhp8")
  531. modulate = Color(0, 0, 0, 1)
  532. [node name="Decal5" type="Decal" parent="Testers/CPUParticlesExplosion"]
  533. transform = Transform3D(0.562646, 0, -0.826698, 0, 1, 0, 0.826698, 0, 0.562646, 0, 0, 0)
  534. extents = Vector3(2.5, 0.01, 2.5)
  535. texture_albedo = ExtResource("3_pmhp8")
  536. modulate = Color(0, 0, 0, 1)
  537. [node name="Decal6" type="Decal" parent="Testers/CPUParticlesExplosion"]
  538. transform = Transform3D(-0.481494, 0, -0.87645, 0, 1, 0, 0.87645, 0, -0.481494, 0, 0, 0)
  539. extents = Vector3(2.5, 0.01, 2.5)
  540. texture_albedo = ExtResource("3_pmhp8")
  541. modulate = Color(0, 0, 0, 1)
  542. [node name="GPUParticlesFire" type="Node3D" parent="Testers"]
  543. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 18)
  544. [node name="GPUParticles3D" type="GPUParticles3D" parent="Testers/GPUParticlesFire"]
  545. amount = 125
  546. fixed_fps = 0
  547. interpolate = false
  548. process_material = SubResource("ParticlesMaterial_wcmum")
  549. draw_pass_1 = SubResource("QuadMesh_783ir")
  550. [node name="Decal" type="Decal" parent="Testers/GPUParticlesFire"]
  551. extents = Vector3(1, 0.01, 1)
  552. texture_albedo = ExtResource("3_pmhp8")
  553. modulate = Color(0, 0, 0, 1)
  554. [node name="Decal2" type="Decal" parent="Testers/GPUParticlesFire"]
  555. transform = Transform3D(0.562646, 0, -0.826698, 0, 1, 0, 0.826698, 0, 0.562646, 0, 0, 0)
  556. extents = Vector3(1.5, 0.01, 1.1)
  557. texture_albedo = ExtResource("3_pmhp8")
  558. modulate = Color(0, 0, 0, 1)
  559. [node name="Decal3" type="Decal" parent="Testers/GPUParticlesFire"]
  560. transform = Transform3D(-0.481494, 0, -0.87645, 0, 1, 0, 0.87645, 0, -0.481494, 0, 0, 0)
  561. extents = Vector3(1.6, 0.01, 1.3)
  562. texture_albedo = ExtResource("3_pmhp8")
  563. modulate = Color(0, 0, 0, 1)
  564. [node name="GPUParticlesSmoke" type="Node3D" parent="Testers"]
  565. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 14)
  566. [node name="GPUParticles3D" type="GPUParticles3D" parent="Testers/GPUParticlesSmoke"]
  567. amount = 100
  568. lifetime = 1.5
  569. fixed_fps = 0
  570. interpolate = false
  571. draw_order = 1
  572. process_material = SubResource("ParticlesMaterial_a3ot6")
  573. draw_pass_1 = SubResource("QuadMesh_edvlt")
  574. [node name="Decal4" type="Decal" parent="Testers/GPUParticlesSmoke"]
  575. extents = Vector3(1, 0.01, 1)
  576. texture_albedo = ExtResource("3_pmhp8")
  577. modulate = Color(0, 0, 0, 1)
  578. [node name="Decal5" type="Decal" parent="Testers/GPUParticlesSmoke"]
  579. transform = Transform3D(0.562646, 0, -0.826698, 0, 1, 0, 0.826698, 0, 0.562646, 0, 0, 0)
  580. extents = Vector3(1.5, 0.01, 1.1)
  581. texture_albedo = ExtResource("3_pmhp8")
  582. modulate = Color(0, 0, 0, 1)
  583. [node name="Decal6" type="Decal" parent="Testers/GPUParticlesSmoke"]
  584. transform = Transform3D(-0.481494, 0, -0.87645, 0, 1, 0, 0.87645, 0, -0.481494, 0, 0, 0)
  585. extents = Vector3(1.6, 0.01, 1.3)
  586. texture_albedo = ExtResource("3_pmhp8")
  587. modulate = Color(0, 0, 0, 1)
  588. [node name="GPUParticlesAttractor" type="Node3D" parent="Testers"]
  589. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 10)
  590. [node name="GPUParticles3D" type="GPUParticles3D" parent="Testers/GPUParticlesAttractor"]
  591. amount = 300
  592. lifetime = 5.0
  593. fixed_fps = 0
  594. interpolate = false
  595. process_material = SubResource("ParticlesMaterial_4noo4")
  596. draw_pass_1 = SubResource("QuadMesh_7ay8c")
  597. [node name="GPUParticlesAttractorSphere3D" type="GPUParticlesAttractorSphere3D" parent="Testers/GPUParticlesAttractor"]
  598. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 1, 0)
  599. strength = 50.0
  600. radius = 2.0
  601. [node name="GPUParticlesCollision" type="Node3D" parent="Testers"]
  602. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 6)
  603. [node name="GPUParticles3D" type="GPUParticles3D" parent="Testers/GPUParticlesCollision"]
  604. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2, 0)
  605. amount = 50
  606. lifetime = 2.0
  607. fixed_fps = 0
  608. interpolate = false
  609. collision_base_size = 0.05
  610. visibility_aabb = AABB(-1.63511, -1.25001, -1.31512, 3.0892, 2.15487, 2.91765)
  611. process_material = SubResource("ParticlesMaterial_ft0gs")
  612. draw_pass_1 = SubResource("BoxMesh_88317")
  613. [node name="GPUParticlesCollisionBox3D" type="GPUParticlesCollisionBox3D" parent="Testers/GPUParticlesCollision"]
  614. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
  615. extents = Vector3(2, 1, 2)
  616. [node name="MovingBox" type="MeshInstance3D" parent="Testers/GPUParticlesCollision"]
  617. transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 0, -0.45, -0.5)
  618. mesh = SubResource("BoxMesh_3dp4g")
  619. skeleton = NodePath("../../..")
  620. surface_material_override/0 = SubResource("StandardMaterial3D_3jlyg")
  621. [node name="GPUParticlesCollisionBox3D" type="GPUParticlesCollisionBox3D" parent="Testers/GPUParticlesCollision/MovingBox"]
  622. extents = Vector3(0.5, 0.5, 0.5)
  623. [node name="GPUParticlesCollisionGlobalCoords" type="Node3D" parent="Testers"]
  624. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2)
  625. [node name="GPUParticles3D" type="GPUParticles3D" parent="Testers/GPUParticlesCollisionGlobalCoords"]
  626. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2, 0)
  627. extra_cull_margin = 3.0
  628. amount = 50
  629. lifetime = 2.0
  630. fixed_fps = 0
  631. interpolate = false
  632. collision_base_size = 0.05
  633. visibility_aabb = AABB(-1.50087, -1.25001, -1.4745, 3.19423, 2.13905, 3.02308)
  634. process_material = SubResource("ParticlesMaterial_ft0gs")
  635. draw_pass_1 = SubResource("BoxMesh_88317")
  636. [node name="GPUParticlesCollisionBox3D2" type="GPUParticlesCollisionBox3D" parent="Testers/GPUParticlesCollisionGlobalCoords"]
  637. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
  638. extents = Vector3(2, 1, 2)
  639. [node name="MovingBox" type="MeshInstance3D" parent="Testers/GPUParticlesCollisionGlobalCoords"]
  640. transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 0, -0.45, -0.5)
  641. mesh = SubResource("BoxMesh_3dp4g")
  642. skeleton = NodePath("../../..")
  643. surface_material_override/0 = SubResource("StandardMaterial3D_3jlyg")
  644. [node name="GPUParticlesCollisionBox3D" type="GPUParticlesCollisionBox3D" parent="Testers/GPUParticlesCollisionGlobalCoords/MovingBox"]
  645. extents = Vector3(0.5, 0.5, 0.5)
  646. [node name="GPUParticles3DFoam" type="Node3D" parent="Testers"]
  647. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2)
  648. [node name="GPUParticles3D" type="GPUParticles3D" parent="Testers/GPUParticles3DFoam"]
  649. amount = 200
  650. fixed_fps = 0
  651. interpolate = false
  652. process_material = SubResource("ParticlesMaterial_pe2at")
  653. draw_pass_1 = SubResource("SphereMesh_rowu5")
  654. [node name="GPUParticlesTrails" type="Node3D" parent="Testers"]
  655. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -6)
  656. [node name="GPUParticles3D" type="GPUParticles3D" parent="Testers/GPUParticlesTrails"]
  657. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
  658. amount = 50
  659. lifetime = 2.0
  660. fixed_fps = 0
  661. interpolate = false
  662. collision_base_size = 0.1
  663. trail_enabled = true
  664. process_material = SubResource("ParticlesMaterial_bwh6l")
  665. draw_passes = 2
  666. draw_pass_1 = SubResource("TubeTrailMesh_slq55")
  667. draw_pass_2 = null
  668. [node name="GPUParticlesCollisionBox3D" type="GPUParticlesCollisionBox3D" parent="Testers/GPUParticlesTrails"]
  669. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
  670. extents = Vector3(2, 1, 2)
  671. [node name="GPUParticlesSubemitterAtEnd" type="Node3D" parent="Testers"]
  672. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -10)
  673. [node name="GPUParticles3D" type="GPUParticles3D" parent="Testers/GPUParticlesSubemitterAtEnd"]
  674. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0)
  675. amount = 15
  676. sub_emitter = NodePath("Subemitter")
  677. lifetime = 1.5
  678. fixed_fps = 0
  679. interpolate = false
  680. process_material = SubResource("ParticlesMaterial_87mxs")
  681. draw_pass_1 = SubResource("BoxMesh_olbrk")
  682. [node name="Subemitter" type="GPUParticles3D" parent="Testers/GPUParticlesSubemitterAtEnd/GPUParticles3D"]
  683. emitting = false
  684. amount = 15
  685. fixed_fps = 0
  686. interpolate = false
  687. collision_base_size = 0.1
  688. process_material = SubResource("ParticlesMaterial_tvato")
  689. draw_pass_1 = SubResource("SphereMesh_g7qur")
  690. [node name="GPUParticlesCollisionBox3D" type="GPUParticlesCollisionBox3D" parent="Testers/GPUParticlesSubemitterAtEnd"]
  691. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
  692. extents = Vector3(2, 1, 2)
  693. [node name="GPUParticlesSubemitterOnCollision" type="Node3D" parent="Testers"]
  694. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -14)
  695. [node name="GPUParticles3D" type="GPUParticles3D" parent="Testers/GPUParticlesSubemitterOnCollision"]
  696. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.2, 0)
  697. amount = 15
  698. sub_emitter = NodePath("Subemitter")
  699. lifetime = 1.5
  700. fixed_fps = 0
  701. interpolate = false
  702. collision_base_size = 0.1
  703. process_material = SubResource("ParticlesMaterial_b7k7i")
  704. draw_pass_1 = SubResource("BoxMesh_olbrk")
  705. [node name="Subemitter" type="GPUParticles3D" parent="Testers/GPUParticlesSubemitterOnCollision/GPUParticles3D"]
  706. emitting = false
  707. amount = 150
  708. lifetime = 10.0
  709. fixed_fps = 0
  710. interpolate = false
  711. collision_base_size = 0.1
  712. process_material = SubResource("ParticlesMaterial_6htaw")
  713. draw_pass_1 = SubResource("SphereMesh_g7qur")
  714. [node name="GPUParticlesCollisionBox3D" type="GPUParticlesCollisionBox3D" parent="Testers/GPUParticlesSubemitterOnCollision"]
  715. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
  716. extents = Vector3(2, 1, 2)
  717. [node name="GPUParticlesCollisionSDF" type="Node3D" parent="Testers"]
  718. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -18)
  719. [node name="GPUParticles3D" type="GPUParticles3D" parent="Testers/GPUParticlesCollisionSDF"]
  720. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2, 0)
  721. amount = 150
  722. lifetime = 1.5
  723. fixed_fps = 0
  724. interpolate = false
  725. collision_base_size = 0.04
  726. visibility_aabb = AABB(-1.63511, -1.25001, -1.31512, 3.0892, 2.15487, 2.91765)
  727. process_material = SubResource("ParticleProcessMaterial_4f0te")
  728. draw_pass_1 = SubResource("SphereMesh_whk10")
  729. [node name="GPUParticlesCollisionSDF3D" type="GPUParticlesCollisionSDF3D" parent="Testers/GPUParticlesCollisionSDF"]
  730. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
  731. extents = Vector3(2, 0.5, 2)
  732. texture = ExtResource("4_wcrow")
  733. [node name="Tube" type="MeshInstance3D" parent="Testers/GPUParticlesCollisionSDF"]
  734. transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0)
  735. mesh = SubResource("TubeTrailMesh_rusnm")
  736. skeleton = NodePath("../../GPUParticlesCollisionHeightfield")
  737. [node name="Roof" type="MeshInstance3D" parent="Testers/GPUParticlesCollisionSDF"]
  738. transform = Transform3D(0.965926, -0.258819, 0, 0.258819, 0.965926, 0, 0, 0, 1, -1, 0.8, 0)
  739. mesh = SubResource("BoxMesh_frpx7")
  740. skeleton = NodePath("../../GPUParticlesCollisionHeightfield")
  741. [node name="Slope" type="MeshInstance3D" parent="Testers/GPUParticlesCollisionSDF"]
  742. transform = Transform3D(-4.2222e-08, 1.13133e-08, -1, 0.866025, 0.5, -3.09086e-08, 0.5, -0.866025, -3.09086e-08, -1, 0.1, 0.599998)
  743. mesh = SubResource("BoxMesh_frpx7")
  744. skeleton = NodePath("../../GPUParticlesCollisionHeightfield")
  745. [node name="Slope2" type="MeshInstance3D" parent="Testers/GPUParticlesCollisionSDF"]
  746. transform = Transform3D(-4.2222e-08, 1.13133e-08, 1, 0.5, 0.866026, 1.13133e-08, -0.866025, 0.5, -4.2222e-08, -1, 0.1, -0.400002)
  747. mesh = SubResource("BoxMesh_frpx7")
  748. skeleton = NodePath("../../GPUParticlesCollisionHeightfield")
  749. [node name="Floor" type="MeshInstance3D" parent="Testers/GPUParticlesCollisionSDF"]
  750. mesh = SubResource("BoxMesh_dcd5l")
  751. skeleton = NodePath("../../GPUParticlesCollisionHeightfield")
  752. [node name="GPUParticlesCollisionHeightfield" type="Node3D" parent="Testers"]
  753. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -22)
  754. [node name="GPUParticles3D" type="GPUParticles3D" parent="Testers/GPUParticlesCollisionHeightfield"]
  755. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2, 0)
  756. amount = 150
  757. lifetime = 1.5
  758. fixed_fps = 0
  759. interpolate = false
  760. collision_base_size = 0.04
  761. visibility_aabb = AABB(-1.63511, -1.25001, -1.31512, 3.0892, 2.15487, 2.91765)
  762. process_material = SubResource("ParticleProcessMaterial_4f0te")
  763. draw_pass_1 = SubResource("SphereMesh_8xbmh")
  764. [node name="GPUParticlesCollisionHeightField3D" type="GPUParticlesCollisionHeightField3D" parent="Testers/GPUParticlesCollisionHeightfield"]
  765. extents = Vector3(2, 1, 2)
  766. [node name="CSGBox3D" type="CSGBox3D" parent="Testers/GPUParticlesCollisionHeightfield"]
  767. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
  768. size = Vector3(3.5, 1, 3.5)
  769. [node name="CSGBox3D2" type="CSGBox3D" parent="Testers/GPUParticlesCollisionHeightfield/CSGBox3D"]
  770. transform = Transform3D(1, 0, 0, 0, 0.996064, 0.0886335, 0, -0.0886335, 0.996064, 0, 0.92037, -0.361961)
  771. operation = 2
  772. size = Vector3(4, 1, 4)
  773. [node name="CSGBox3D3" type="CSGBox3D" parent="Testers/GPUParticlesCollisionHeightfield/CSGBox3D"]
  774. transform = Transform3D(0.638543, 0.331028, -0.694755, -0.177732, 0.94179, 0.285381, 0.748782, -0.0587477, 0.660207, 0.886086, 0.849547, 0.346458)
  775. operation = 2
  776. size = Vector3(4, 1, 4)
  777. [node name="CSGBox3D4" type="CSGBox3D" parent="Testers/GPUParticlesCollisionHeightfield/CSGBox3D"]
  778. transform = Transform3D(0.61798, -0.298242, -0.727428, 0.239637, 0.95268, -0.187014, 0.748782, -0.0587477, 0.660207, -0.249068, 0.868665, 0.346458)
  779. operation = 2
  780. size = Vector3(4, 1, 4)
  781. [node name="CSGBox3D5" type="CSGBox3D" parent="Testers/GPUParticlesCollisionHeightfield/CSGBox3D"]
  782. transform = Transform3D(0.453442, 0.771907, -0.44559, -0.483441, 0.633015, 0.604629, 0.748782, -0.0587477, 0.660207, -0.310878, 1.96879, 0.695173)
  783. operation = 2
  784. size = Vector3(4, 1, 4)
  785. [node name="TestName" type="Label" parent="."]
  786. anchors_preset = 7
  787. anchor_left = 0.5
  788. anchor_top = 1.0
  789. anchor_right = 0.5
  790. anchor_bottom = 1.0
  791. offset_left = -192.0
  792. offset_top = -58.0
  793. offset_right = 192.0
  794. offset_bottom = -24.0
  795. grow_horizontal = 2
  796. grow_vertical = 0
  797. theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
  798. theme_override_constants/outline_size = 5
  799. theme_override_font_sizes/font_size = 24
  800. horizontal_alignment = 1
  801. [node name="Previous" type="Button" parent="."]
  802. anchors_preset = 2
  803. anchor_top = 1.0
  804. anchor_bottom = 1.0
  805. offset_left = 24.0
  806. offset_top = -55.0
  807. offset_right = 135.0
  808. offset_bottom = -24.0
  809. grow_vertical = 0
  810. text = "« Previous"
  811. [node name="Next" type="Button" parent="."]
  812. anchors_preset = 3
  813. anchor_left = 1.0
  814. anchor_top = 1.0
  815. anchor_right = 1.0
  816. anchor_bottom = 1.0
  817. offset_left = -107.0
  818. offset_top = -55.0
  819. offset_right = -24.0
  820. offset_bottom = -24.0
  821. grow_horizontal = 0
  822. grow_vertical = 0
  823. text = "Next »"
  824. [connection signal="pressed" from="Previous" to="." method="_on_previous_pressed"]
  825. [connection signal="pressed" from="Next" to="." method="_on_next_pressed"]