test.tscn 37 KB

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