particles.app.json 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. {
  2. "metadata": {
  3. "type": "App"
  4. },
  5. "project": {
  6. "shadows": true,
  7. "vr": false
  8. },
  9. "camera": {
  10. "metadata": {
  11. "version": 4.4,
  12. "type": "Object",
  13. "generator": "Object3D.toJSON"
  14. },
  15. "object": {
  16. "uuid": "763F3000-7D7C-4BE6-80B6-914DEEBD9AA2",
  17. "type": "PerspectiveCamera",
  18. "name": "Camera",
  19. "matrix": [0.7071067690849304,-3.398992198810902e-11,-0.7071068286895752,0,-0.2357022613286972,0.9428090453147888,-0.235702246427536,0,0.6666666865348816,0.3333333134651184,0.6666666269302368,0,41.824005126953125,20.912002563476562,41.824005126953125,1],
  20. "fov": 50,
  21. "zoom": 1,
  22. "near": 0.1,
  23. "far": 100000,
  24. "focus": 10,
  25. "aspect": 0.46657381615598886,
  26. "filmGauge": 35,
  27. "filmOffset": 0
  28. }
  29. },
  30. "scene": {
  31. "metadata": {
  32. "version": 4.4,
  33. "type": "Object",
  34. "generator": "Object3D.toJSON"
  35. },
  36. "geometries": [
  37. {
  38. "uuid": "E80D9EC5-D722-4812-8226-5F355EAC9B96",
  39. "type": "PlaneGeometry",
  40. "width": 1000,
  41. "height": 1000,
  42. "widthSegments": 1,
  43. "heightSegments": 1
  44. }],
  45. "materials": [
  46. {
  47. "uuid": "3A9449D2-62DB-4BB4-ABBD-6F3F9D46DE1A",
  48. "type": "MeshStandardMaterial",
  49. "color": 5465019,
  50. "roughness": 1,
  51. "metalness": 0,
  52. "emissive": 0
  53. },
  54. {
  55. "uuid": "F5361474-F5F1-412F-8D99-3699B868092D",
  56. "type": "SpriteMaterial",
  57. "color": 16777215
  58. }],
  59. "object": {
  60. "uuid": "3741222A-BD8F-401C-A5D2-5A907E891896",
  61. "type": "Scene",
  62. "name": "Scene",
  63. "matrix": [1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],
  64. "children": [
  65. {
  66. "uuid": "05B57416-1BE5-4A96-BB05-9D9CD112D52B",
  67. "type": "Mesh",
  68. "name": "Ground",
  69. "matrix": [1,0,0,0,0,0.0007959486683830619,-0.9999997019767761,0,0,0.9999997019767761,0.0007959486683830619,0,0,-0.5,0,1],
  70. "geometry": "E80D9EC5-D722-4812-8226-5F355EAC9B96",
  71. "material": "3A9449D2-62DB-4BB4-ABBD-6F3F9D46DE1A"
  72. },
  73. {
  74. "uuid": "0A3CB873-07E6-4EEB-830B-68192504111B",
  75. "type": "Sprite",
  76. "name": "Particle",
  77. "matrix": [0.4000000059604645,0,0,0,0,0.4000000059604645,0,0,0,0,0.4000000059604645,0,0,0,0,1],
  78. "material": "F5361474-F5F1-412F-8D99-3699B868092D"
  79. },
  80. {
  81. "uuid": "40E5CDA4-0E39-4265-9293-3E9EC3207F61",
  82. "type": "PointLight",
  83. "name": "PointLight",
  84. "matrix": [1,0,0,0,0,1,0,0,0,0,1,0,0,11.828879356384277,0,1],
  85. "color": 16777215,
  86. "intensity": 1,
  87. "distance": 0,
  88. "decay": 1
  89. }]
  90. }
  91. },
  92. "scripts": {
  93. "3741222A-BD8F-401C-A5D2-5A907E891896": [
  94. {
  95. "name": "Fountain",
  96. "source": "var original = this.getObjectByName( 'Particle' );\n\nvar particles = [];\n\nfor ( var i = 0; i < 100; i ++ ) {\n\n\tvar particle = original.clone();\n\tparticle.userData.velocity = new THREE.Vector3();\n\tthis.add( particle );\n\n\tparticles.push( particle );\n\n}\n\nfunction update( event ) {\n\t\n\tvar particle = particles.shift();\n\tparticles.push( particle );\n\t\t\n\tvar velocity = particle.userData.velocity;\n\tvelocity.x = Math.random() - 0.5;\n\tvelocity.y = Math.random() + 1;\n\tvelocity.z = Math.random() - 0.5;\n\n\tfor ( var i = 0; i < particles.length; i ++ ) {\n\n\t\tvar particle = particles[ i ];\n\n\t\tvar velocity = particle.userData.velocity;\n\n\t\tvelocity.y -= 0.098;\n\n\t\tparticle.position.add( velocity );\n\n\t\tif ( particle.position.y < 0 ) {\n\n\t\t\tparticle.position.y = 0;\n\n\t\t\tvelocity.y = - velocity.y;\n\t\t\tvelocity.multiplyScalar( 0.6 );\n\n\t\t}\n\n\t}\n\n}"
  97. }]
  98. }
  99. }