@anov/3d-ability 0.0.4-alpha1 → 0.0.4-alpha10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/dist/camera/index.d.ts +69 -0
  2. package/dist/camera/index.js +257 -0
  3. package/dist/camera/index.js.map +1 -0
  4. package/dist/city/flyinglead.js +2 -0
  5. package/dist/city/flyinglead.js.map +1 -0
  6. package/dist/city/radar.js +2 -0
  7. package/dist/city/radar.js.map +1 -0
  8. package/dist/city/scanning.js +2 -0
  9. package/dist/city/scanning.js.map +1 -0
  10. package/dist/city/surroundLine.js +2 -0
  11. package/dist/city/surroundLine.js.map +1 -0
  12. package/dist/environment/rain.js +2 -1
  13. package/dist/environment/rain.js.map +1 -0
  14. package/dist/environment/{rainShder → rainShader}/index.js +2 -1
  15. package/dist/environment/rainShader/index.js.map +1 -0
  16. package/dist/environment/{rainShder → rainShader}/shader.js +2 -1
  17. package/dist/environment/rainShader/shader.js.map +1 -0
  18. package/dist/environment/shaderCloud/cloudMaterial.js +2 -1
  19. package/dist/environment/shaderCloud/cloudMaterial.js.map +1 -0
  20. package/dist/environment/shaderCloud/index.js +2 -1
  21. package/dist/environment/shaderCloud/index.js.map +1 -0
  22. package/dist/environment/shaderCloud/shader.js +2 -1
  23. package/dist/environment/shaderCloud/shader.js.map +1 -0
  24. package/dist/environment/{showShder → showShader}/index.js +2 -1
  25. package/dist/environment/showShader/index.js.map +1 -0
  26. package/dist/environment/{showShder → showShader}/shader.js +3 -2
  27. package/dist/environment/showShader/shader.js.map +1 -0
  28. package/dist/environment/sky/index.js +11 -10
  29. package/dist/environment/sky/index.js.map +1 -0
  30. package/dist/environment/skyBox/index.d.ts +41 -0
  31. package/dist/environment/skyBox/index.js +150 -0
  32. package/dist/environment/skyBox/index.js.map +1 -0
  33. package/dist/environment/snow.js +4 -1
  34. package/dist/environment/snow.js.map +1 -0
  35. package/dist/environment/sun/index.js +2 -1
  36. package/dist/environment/sun/index.js.map +1 -0
  37. package/dist/environment/utils/points.js +4 -3
  38. package/dist/environment/utils/points.js.map +1 -0
  39. package/dist/environment/volumetricCloud/cloudMaterial.js +2 -1
  40. package/dist/environment/volumetricCloud/cloudMaterial.js.map +1 -0
  41. package/dist/environment/volumetricCloud/inex.js +2 -1
  42. package/dist/environment/volumetricCloud/inex.js.map +1 -0
  43. package/dist/heatmap/index.d.ts +9 -0
  44. package/dist/heatmap/index.js +138 -0
  45. package/dist/heatmap/index.js.map +1 -0
  46. package/dist/helper/view/index.js +2 -1
  47. package/dist/helper/view/index.js.map +1 -0
  48. package/dist/helper/view/utils.js +2 -1
  49. package/dist/helper/view/utils.js.map +1 -0
  50. package/dist/index.d.ts +11 -6
  51. package/dist/index.js +12 -6
  52. package/dist/index.js.map +1 -0
  53. package/dist/line/curve.d.ts +33 -0
  54. package/dist/line/curve.js +71 -0
  55. package/dist/line/curve.js.map +1 -0
  56. package/dist/line/index.d.ts +0 -0
  57. package/dist/line/index.js +2 -0
  58. package/dist/line/index.js.map +1 -0
  59. package/dist/line/round-curve.d.ts +19 -0
  60. package/dist/line/round-curve.js +212 -0
  61. package/dist/line/round-curve.js.map +1 -0
  62. package/dist/material/finirMaterialMaterial/index.d.ts +9 -0
  63. package/dist/material/finirMaterialMaterial/index.js +47 -0
  64. package/dist/material/finirMaterialMaterial/index.js.map +1 -0
  65. package/dist/material/pristineGridMaterial/index.js +2 -1
  66. package/dist/material/pristineGridMaterial/index.js.map +1 -0
  67. package/dist/material/pristineGridMaterial/shader/fragment.js +2 -1
  68. package/dist/material/pristineGridMaterial/shader/fragment.js.map +1 -0
  69. package/dist/material/pristineGridMaterial/shader/vertex.js +2 -1
  70. package/dist/material/pristineGridMaterial/shader/vertex.js.map +1 -0
  71. package/dist/poi/core/Base.d.ts +7 -0
  72. package/dist/poi/core/Base.js +24 -0
  73. package/dist/poi/core/Base.js.map +1 -0
  74. package/dist/poi/core/Css2D.js +181 -0
  75. package/dist/poi/core/Css2D.js.map +1 -0
  76. package/dist/poi/core/Css3D.d.ts +1 -0
  77. package/dist/poi/core/Css3D.js +24 -0
  78. package/dist/poi/core/Css3D.js.map +1 -0
  79. package/dist/poi/core/Sprite.d.ts +12 -0
  80. package/dist/poi/core/Sprite.js +145 -0
  81. package/dist/poi/core/Sprite.js.map +1 -0
  82. package/dist/poi/core/SpriteBase.d.ts +11 -0
  83. package/dist/poi/core/SpriteBase.js +58 -0
  84. package/dist/poi/core/SpriteBase.js.map +1 -0
  85. package/dist/poi/index.d.ts +12 -0
  86. package/dist/poi/index.js +29 -0
  87. package/dist/poi/index.js.map +1 -0
  88. package/dist/poi/utils/base64.d.ts +3 -0
  89. package/dist/poi/utils/base64.js +4 -0
  90. package/dist/poi/utils/base64.js.map +1 -0
  91. package/dist/poi/utils/canvas.d.ts +3 -0
  92. package/dist/poi/utils/canvas.js +68 -0
  93. package/dist/poi/utils/canvas.js.map +1 -0
  94. package/dist/poi/utils/css.d.ts +35 -0
  95. package/dist/poi/utils/css.js +41 -0
  96. package/dist/poi/utils/css.js.map +1 -0
  97. package/dist/poi/utils/type.d.ts +35 -0
  98. package/dist/poi/utils/type.js +39 -0
  99. package/dist/poi/utils/type.js.map +1 -0
  100. package/dist/poiBack/assets.d.ts +2 -0
  101. package/dist/poiBack/assets.js +3 -0
  102. package/dist/poiBack/assets.js.map +1 -0
  103. package/dist/poiBack/dom.d.ts +2 -0
  104. package/dist/poiBack/dom.js +36 -0
  105. package/dist/poiBack/dom.js.map +1 -0
  106. package/dist/poiBack/index.d.ts +19 -0
  107. package/dist/poiBack/index.js +145 -0
  108. package/dist/poiBack/index.js.map +1 -0
  109. package/dist/poiBack/type.d.ts +20 -0
  110. package/dist/poiBack/type.js +6 -0
  111. package/dist/poiBack/type.js.map +1 -0
  112. package/dist/postEffects/bloomPass.js +2 -1
  113. package/dist/postEffects/bloomPass.js.map +1 -0
  114. package/dist/postEffects/index.js +2 -1
  115. package/dist/postEffects/index.js.map +1 -0
  116. package/dist/postEffects/outlinePass.js +9 -2
  117. package/dist/postEffects/outlinePass.js.map +1 -0
  118. package/dist/scene/grow/grow.d.ts +10 -0
  119. package/dist/scene/grow/grow.js +128 -0
  120. package/dist/scene/grow/grow.js.map +1 -0
  121. package/dist/scene/grow/growStyle.d.ts +2 -0
  122. package/dist/scene/grow/growStyle.js +3 -0
  123. package/dist/scene/grow/growStyle.js.map +1 -0
  124. package/dist/scene/grow/index.d.ts +2 -0
  125. package/dist/scene/grow/index.js +3 -0
  126. package/dist/scene/grow/index.js.map +1 -0
  127. package/dist/scene/grow/style_down.d.ts +13 -0
  128. package/dist/scene/grow/style_down.js +92 -0
  129. package/dist/scene/grow/style_down.js.map +1 -0
  130. package/dist/scene/grow/style_up.d.ts +13 -0
  131. package/dist/scene/grow/style_up.js +96 -0
  132. package/dist/scene/grow/style_up.js.map +1 -0
  133. package/dist/scene/grow/type.d.ts +46 -0
  134. package/dist/scene/grow/type.js +42 -0
  135. package/dist/scene/grow/type.js.map +1 -0
  136. package/dist/scene/index.d.ts +1 -0
  137. package/dist/scene/index.js +2 -0
  138. package/dist/scene/index.js.map +1 -0
  139. package/dist/utils/index.js +2 -1
  140. package/dist/utils/index.js.map +1 -0
  141. package/dist/weather/fog2DMesh.d.ts +14 -0
  142. package/dist/weather/fog2DMesh.js +77 -0
  143. package/dist/weather/fog2DMesh.js.map +1 -0
  144. package/dist/weather/glsl/fog.d.ts +2 -0
  145. package/dist/weather/glsl/fog.js +3 -0
  146. package/dist/weather/glsl/fog.js.map +1 -0
  147. package/dist/weather/index.d.ts +4 -0
  148. package/dist/weather/index.js +12 -0
  149. package/dist/weather/index.js.map +1 -0
  150. package/package.json +10 -3
  151. package/dist/core/mouseDrawe.d.ts +0 -2
  152. package/dist/core/mouseDrawe.js +0 -1
  153. package/dist/environment/cloud/cloud.d.ts +0 -1
  154. package/dist/environment/cloud/cloud.js +0 -1
  155. package/dist/environment/cloud/index.d.ts +0 -7
  156. package/dist/environment/cloud/index.js +0 -60
  157. /package/dist/environment/{rainShder → rainShader}/index.d.ts +0 -0
  158. /package/dist/environment/{rainShder → rainShader}/shader.d.ts +0 -0
  159. /package/dist/environment/{showShder → showShader}/index.d.ts +0 -0
  160. /package/dist/environment/{showShder → showShader}/shader.d.ts +0 -0
@@ -27,4 +27,5 @@ var createBloomSelected = function createBloomSelected() {
27
27
  composer.addPass(effectPass);
28
28
  return function () {};
29
29
  };
30
- export default createBloomSelected;
30
+ export default createBloomSelected;
31
+ //# sourceMappingURL=bloomPass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Layers","use","utils","BlendFunction","EffectPass","KernelSize","SelectiveBloomEffect","storeManagement","useScene","createBloomSelected","scene","camera","composer","get","Error","bloomLayer","set","bloomEffect","blendFunction","COLOR_DODGE","kernelSize","SMALL","luminanceThreshold","luminanceSmoothing","height","inverted","effectPass","addPass"],"sources":["../../src/postEffects/bloomPass.ts"],"sourcesContent":["import type { lib } from '@anov/3d-core'\nimport { Layers, use, utils } from '@anov/3d-core'\nimport { BlendFunction, EffectPass, KernelSize, SelectiveBloomEffect } from 'postprocessing'\n\nconst { storeManagement } = utils\nconst { useScene } = use\n\n/**\n * create bloom selected\n */\nconst createBloomSelected = () => {\n const { scene, camera } = useScene()\n const composer = storeManagement.get('composer') as lib.EffectComposer | undefined\n\n if (!scene || !camera)\n throw new Error('scene or camera is not defined,')\n\n if (!composer)\n throw new Error('composer is not defined, please initPostEffects first')\n\n const bloomLayer = new Layers()\n bloomLayer.set(1)\n\n const bloomEffect = new SelectiveBloomEffect(scene, camera, {\n blendFunction: BlendFunction.COLOR_DODGE,\n kernelSize: KernelSize.SMALL,\n luminanceThreshold: 0.9,\n luminanceSmoothing: 0.0,\n height: 480,\n })\n bloomEffect.inverted = true\n\n const effectPass = new EffectPass(camera, bloomEffect)\n composer.addPass(effectPass as any)\n\n return () => {\n\n }\n}\n\nexport default createBloomSelected"],"mappings":"AACA,SAASA,MAAM,EAAEC,GAAG,EAAEC,KAAK,QAAQ,eAAe;AAClD,SAASC,aAAa,EAAEC,UAAU,EAAEC,UAAU,EAAEC,oBAAoB,QAAQ,gBAAgB;AAE5F,IAAQC,eAAe,GAAKL,KAAK,CAAzBK,eAAe;AACvB,IAAQC,QAAQ,GAAKP,GAAG,CAAhBO,QAAQ;;AAEhB;AACA;AACA;AACA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmB,GAAS;EAChC,gBAA0BD,QAAQ,EAAE;IAA5BE,KAAK,aAALA,KAAK;IAAEC,MAAM,aAANA,MAAM;EACrB,IAAMC,QAAQ,GAAGL,eAAe,CAACM,GAAG,CAAC,UAAU,CAAmC;EAElF,IAAI,CAACH,KAAK,IAAI,CAACC,MAAM,EACnB,MAAM,IAAIG,KAAK,CAAC,iCAAiC,CAAC;EAEpD,IAAI,CAACF,QAAQ,EACX,MAAM,IAAIE,KAAK,CAAC,uDAAuD,CAAC;EAE1E,IAAMC,UAAU,GAAG,IAAIf,MAAM,EAAE;EAC/Be,UAAU,CAACC,GAAG,CAAC,CAAC,CAAC;EAEjB,IAAMC,WAAW,GAAG,IAAIX,oBAAoB,CAACI,KAAK,EAAEC,MAAM,EAAE;IAC1DO,aAAa,EAAEf,aAAa,CAACgB,WAAW;IACxCC,UAAU,EAAEf,UAAU,CAACgB,KAAK;IAC5BC,kBAAkB,EAAE,GAAG;IACvBC,kBAAkB,EAAE,GAAG;IACvBC,MAAM,EAAE;EACV,CAAC,CAAC;EACFP,WAAW,CAACQ,QAAQ,GAAG,IAAI;EAE3B,IAAMC,UAAU,GAAG,IAAItB,UAAU,CAACO,MAAM,EAAEM,WAAW,CAAC;EACtDL,QAAQ,CAACe,OAAO,CAACD,UAAU,CAAQ;EAEnC,OAAO,YAAM,CAEb,CAAC;AACH,CAAC;AAED,eAAejB,mBAAmB"}
@@ -29,4 +29,5 @@ export var initPostEffects = function initPostEffects(scene, renderer, camera, b
29
29
  storeManagement.delete('renderPass');
30
30
  cleanEffectsframe();
31
31
  };
32
- };
32
+ };
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["lib","use","utils","EffectComposer","RenderPass","storeManagement","useframe","initPostEffects","scene","renderer","camera","beforehooks","afterhooks","composer","renderPass","set","addPass","cleanEffectsframe","render","delete"],"sources":["../../src/postEffects/index.ts"],"sourcesContent":["import type { Camera, Scene, WebGLRenderer } from '@anov/3d-core'\nimport { lib, use, utils } from '@anov/3d-core'\n\nconst { EffectComposer, RenderPass } = lib\nconst { storeManagement } = utils\nconst { useframe } = use\n\n/**\n * init post effects\n * @param scene\n * @param renderer\n * @param camera\n * @param beforehooks composer render before hook\n * @param afterhooks composer render after hook\n * @returns\n */\nexport const initPostEffects = (scene: Scene, renderer: WebGLRenderer, camera: Camera, beforehooks?: () => void, afterhooks?: () => void) => {\n const composer = new EffectComposer(renderer)\n const renderPass = new RenderPass(scene, camera)\n\n storeManagement.set('composer', composer)\n composer.addPass(renderPass)\n\n storeManagement.set('renderPass', renderPass)\n\n const cleanEffectsframe = useframe(() => {\n beforehooks && beforehooks()\n composer.render()\n afterhooks && afterhooks()\n })\n\n return () => {\n storeManagement.delete('composer')\n storeManagement.delete('renderPass')\n\n cleanEffectsframe()\n }\n}"],"mappings":"AACA,SAASA,GAAG,EAAEC,GAAG,EAAEC,KAAK,QAAQ,eAAe;AAE/C,IAAQC,cAAc,GAAiBH,GAAG,CAAlCG,cAAc;EAAEC,UAAU,GAAKJ,GAAG,CAAlBI,UAAU;AAClC,IAAQC,eAAe,GAAKH,KAAK,CAAzBG,eAAe;AACvB,IAAQC,QAAQ,GAAKL,GAAG,CAAhBK,QAAQ;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAe,CAAIC,KAAY,EAAEC,QAAuB,EAAEC,MAAc,EAAEC,WAAwB,EAAEC,UAAuB,EAAK;EAC3I,IAAMC,QAAQ,GAAG,IAAIV,cAAc,CAACM,QAAQ,CAAC;EAC7C,IAAMK,UAAU,GAAG,IAAIV,UAAU,CAACI,KAAK,EAAEE,MAAM,CAAC;EAEhDL,eAAe,CAACU,GAAG,CAAC,UAAU,EAAEF,QAAQ,CAAC;EACzCA,QAAQ,CAACG,OAAO,CAACF,UAAU,CAAC;EAE5BT,eAAe,CAACU,GAAG,CAAC,YAAY,EAAED,UAAU,CAAC;EAE7C,IAAMG,iBAAiB,GAAGX,QAAQ,CAAC,YAAM;IACvCK,WAAW,IAAIA,WAAW,EAAE;IAC5BE,QAAQ,CAACK,MAAM,EAAE;IACjBN,UAAU,IAAIA,UAAU,EAAE;EAC5B,CAAC,CAAC;EAEF,OAAO,YAAM;IACXP,eAAe,CAACc,MAAM,CAAC,UAAU,CAAC;IAClCd,eAAe,CAACc,MAAM,CAAC,YAAY,CAAC;IAEpCF,iBAAiB,EAAE;EACrB,CAAC;AACH,CAAC"}
@@ -7,7 +7,8 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
7
7
  import { OutlinePassExtend, Vector2, lib, use, utils } from '@anov/3d-core';
8
8
  var storeManagement = utils.storeManagement;
9
9
  var ShaderPass = lib.ShaderPass,
10
- FXAAShader = lib.FXAAShader;
10
+ FXAAShader = lib.FXAAShader,
11
+ GammaCorrectionShader = lib.GammaCorrectionShader;
11
12
  var useScene = use.useScene;
12
13
 
13
14
  /**
@@ -37,6 +38,11 @@ var createHighSelectedTool = function createHighSelectedTool(highParams) {
37
38
  lastHighParams.pulsePeriod && (outlinePass.pulsePeriod = lastHighParams.pulsePeriod);
38
39
  outlinePass.visibleEdgeColor.set(lastHighParams.visibleEdgeColor);
39
40
  composer.addPass(outlinePass);
41
+ var gammaCorrectionShader = new ShaderPass(GammaCorrectionShader);
42
+ if (!storeManagement.get('__&&__gammaCorrectionShader')) {
43
+ composer.addPass(gammaCorrectionShader);
44
+ storeManagement.set('__&&__gammaCorrectionShader', true);
45
+ }
40
46
 
41
47
  // todo bugfix
42
48
  // const effectFXAA = new ShaderPass(FXAAShader)
@@ -48,4 +54,5 @@ var createHighSelectedTool = function createHighSelectedTool(highParams) {
48
54
  outlinePass.selectedObjects = object3dArray;
49
55
  };
50
56
  };
51
- export default createHighSelectedTool;
57
+ export default createHighSelectedTool;
58
+ //# sourceMappingURL=outlinePass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["OutlinePassExtend","Vector2","lib","use","utils","storeManagement","ShaderPass","FXAAShader","GammaCorrectionShader","useScene","createHighSelectedTool","highParams","baseHighParams","edgeStrength","edgeGlow","edgeThickness","visibleEdgeColor","hiddenEdgeColor","lastHighParams","scene","camera","composer","get","Error","outlinePass","window","innerWidth","innerHeight","pulsePeriod","set","addPass","gammaCorrectionShader","object3dArray","selectedObjects"],"sources":["../../src/postEffects/outlinePass.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { OutlinePassExtend, TransformControls, Vector2, lib, use, utils } from '@anov/3d-core'\n\ntype HighParamsType = {\n edgeStrength?: number // 边缘强度\n edgeGlow?: number // 缓缓接近\n edgeThickness?: number // 边缘厚度\n pulsePeriod?: number // 脉冲周期\n visibleEdgeColor?: string // 可见边缘颜色\n hiddenEdgeColor?: string // 隐藏边缘颜色\n}\n\nconst { storeManagement } = utils\nconst { ShaderPass, FXAAShader, GammaCorrectionShader } = lib\nconst { useScene } = use\n\n/**\n *\n * @param highParams\n * @returns\n */\nconst createHighSelectedTool = (highParams?: HighParamsType) => {\n const baseHighParams = {\n edgeStrength: 10,\n edgeGlow: 1,\n edgeThickness: 3,\n visibleEdgeColor: 'red',\n hiddenEdgeColor: 'red',\n }\n\n const lastHighParams = {\n ...baseHighParams,\n ...highParams,\n }\n\n const { scene, camera } = useScene()\n const composer = storeManagement.get('composer') as lib.EffectComposer | undefined\n\n if (!scene || !camera)\n throw new Error('scene or camera is not defined,')\n\n if (!composer)\n throw new Error('composer is not defined, please initPostEffects first')\n\n const outlinePass = new OutlinePassExtend(new Vector2(window.innerWidth, window.innerHeight), scene, camera)\n\n outlinePass.edgeStrength = lastHighParams.edgeStrength\n outlinePass.edgeGlow = lastHighParams.edgeGlow\n outlinePass.edgeThickness = lastHighParams.edgeThickness\n lastHighParams.pulsePeriod && (outlinePass.pulsePeriod = lastHighParams.pulsePeriod)\n outlinePass.visibleEdgeColor.set(lastHighParams.visibleEdgeColor)\n\n composer.addPass(outlinePass)\n\n const gammaCorrectionShader = new ShaderPass(GammaCorrectionShader)\n\n if (!storeManagement.get<boolean>('__&&__gammaCorrectionShader')) {\n composer.addPass(gammaCorrectionShader)\n storeManagement.set('__&&__gammaCorrectionShader', true)\n }\n\n // todo bugfix\n // const effectFXAA = new ShaderPass(FXAAShader)\n // effectFXAA.uniforms.resolution.value.set(1 / window.innerWidth, 1 / window.innerHeight)\n // effectFXAA.renderToScreen = true\n // composer.addPass(effectFXAA)\n\n return (object3dArray: Object3D[]) => {\n outlinePass.selectedObjects = object3dArray\n }\n}\n\nexport default createHighSelectedTool\n"],"mappings":";;;;;;AACA,SAASA,iBAAiB,EAAqBC,OAAO,EAAEC,GAAG,EAAEC,GAAG,EAAEC,KAAK,QAAQ,eAAe;AAW9F,IAAQC,eAAe,GAAKD,KAAK,CAAzBC,eAAe;AACvB,IAAQC,UAAU,GAAwCJ,GAAG,CAArDI,UAAU;EAAEC,UAAU,GAA4BL,GAAG,CAAzCK,UAAU;EAAEC,qBAAqB,GAAKN,GAAG,CAA7BM,qBAAqB;AACrD,IAAQC,QAAQ,GAAKN,GAAG,CAAhBM,QAAQ;;AAEhB;AACA;AACA;AACA;AACA;AACA,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAsB,CAAIC,UAA2B,EAAK;EAC9D,IAAMC,cAAc,GAAG;IACrBC,YAAY,EAAE,EAAE;IAChBC,QAAQ,EAAE,CAAC;IACXC,aAAa,EAAE,CAAC;IAChBC,gBAAgB,EAAE,KAAK;IACvBC,eAAe,EAAE;EACnB,CAAC;EAED,IAAMC,cAAc,mCACfN,cAAc,GACdD,UAAU,CACd;EAED,gBAA0BF,QAAQ,EAAE;IAA5BU,KAAK,aAALA,KAAK;IAAEC,MAAM,aAANA,MAAM;EACrB,IAAMC,QAAQ,GAAGhB,eAAe,CAACiB,GAAG,CAAC,UAAU,CAAmC;EAElF,IAAI,CAACH,KAAK,IAAI,CAACC,MAAM,EACnB,MAAM,IAAIG,KAAK,CAAC,iCAAiC,CAAC;EAEpD,IAAI,CAACF,QAAQ,EACX,MAAM,IAAIE,KAAK,CAAC,uDAAuD,CAAC;EAE1E,IAAMC,WAAW,GAAG,IAAIxB,iBAAiB,CAAC,IAAIC,OAAO,CAACwB,MAAM,CAACC,UAAU,EAAED,MAAM,CAACE,WAAW,CAAC,EAAER,KAAK,EAAEC,MAAM,CAAC;EAE5GI,WAAW,CAACX,YAAY,GAAGK,cAAc,CAACL,YAAY;EACtDW,WAAW,CAACV,QAAQ,GAAGI,cAAc,CAACJ,QAAQ;EAC9CU,WAAW,CAACT,aAAa,GAAGG,cAAc,CAACH,aAAa;EACxDG,cAAc,CAACU,WAAW,KAAKJ,WAAW,CAACI,WAAW,GAAGV,cAAc,CAACU,WAAW,CAAC;EACpFJ,WAAW,CAACR,gBAAgB,CAACa,GAAG,CAACX,cAAc,CAACF,gBAAgB,CAAC;EAEjEK,QAAQ,CAACS,OAAO,CAACN,WAAW,CAAC;EAE7B,IAAMO,qBAAqB,GAAG,IAAIzB,UAAU,CAACE,qBAAqB,CAAC;EAEnE,IAAI,CAACH,eAAe,CAACiB,GAAG,CAAU,6BAA6B,CAAC,EAAE;IAChED,QAAQ,CAACS,OAAO,CAACC,qBAAqB,CAAC;IACvC1B,eAAe,CAACwB,GAAG,CAAC,6BAA6B,EAAE,IAAI,CAAC;EAC1D;;EAEA;EACA;EACA;EACA;EACA;;EAEA,OAAO,UAACG,aAAyB,EAAK;IACpCR,WAAW,CAACS,eAAe,GAAGD,aAAa;EAC7C,CAAC;AACH,CAAC;AAED,eAAetB,sBAAsB"}
@@ -0,0 +1,10 @@
1
+ import type { GrowOption } from './type';
2
+ export declare class Grow {
3
+ private objs;
4
+ private option;
5
+ private growStyle;
6
+ constructor(opt?: GrowOption);
7
+ in(callback: () => void): void;
8
+ out(callback: () => void): void;
9
+ init(opt: GrowOption): void;
10
+ }
@@ -0,0 +1,128 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
4
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ import { Box3, Object3D, Vector3, use } from '@anov/3d-core';
9
+ import { EEaseType, ESceneGrowType } from "./type";
10
+ import { GrowStyleDown, GrowStyleUp } from "./growStyle";
11
+
12
+ // 生长动画对象
13
+ export var Grow = /*#__PURE__*/function () {
14
+ function Grow(opt) {
15
+ _classCallCheck(this, Grow);
16
+ _defineProperty(this, "objs", void 0);
17
+ _defineProperty(this, "option", void 0);
18
+ _defineProperty(this, "growStyle", void 0);
19
+ this.objs = [];
20
+ this.option = {};
21
+ // @ts-ignore
22
+ this.growStyle = null;
23
+ this.init(opt || {});
24
+ }
25
+
26
+ // 生长
27
+ _createClass(Grow, [{
28
+ key: "in",
29
+ value: function _in(callback) {
30
+ var _this = this;
31
+ // 入场事件
32
+ this.option.onGrowInStart && this.option.onGrowInStart();
33
+ this.growStyle.getTimeLine().eventCallback('onComplete', function () {
34
+ _this.option.onGrowInCompleted && _this.option.onGrowInCompleted();
35
+ callback && callback();
36
+ });
37
+ this.growStyle.in();
38
+ }
39
+
40
+ // 消退
41
+ }, {
42
+ key: "out",
43
+ value: function out(callback) {
44
+ var _this2 = this;
45
+ // 出场事件
46
+ this.option.onGrowOutStart && this.option.onGrowOutStart();
47
+ this.growStyle.getTimeLine().eventCallback('onReverseComplete', function () {
48
+ _this2.option.onGrowOutCompleted && _this2.option.onGrowOutCompleted();
49
+ callback && callback();
50
+ });
51
+ this.growStyle.out();
52
+ }
53
+
54
+ // 初始化
55
+ }, {
56
+ key: "init",
57
+ value: function init(opt) {
58
+ var _this3 = this;
59
+ this.option = {
60
+ tag: '*',
61
+ // 可选,进场对象Tag, 默认 "*" 所有可见MESH对象,
62
+ type: ESceneGrowType.Up,
63
+ // 可选,进场动画类型,默认 ESceneGrowType.Up向上生长
64
+ time: 0.5,
65
+ // 可选,单对象进场时间,默认0.5秒
66
+ gapTime: 0.2,
67
+ // 可选,多个对象之间间隔事件,默认0.2秒
68
+ ease: EEaseType.SineInOut,
69
+ // 可选,默认缓入缓出
70
+ center: null,
71
+ // 可选,生长中心位置,默认包围盒中心点
72
+ scale: 1,
73
+ // 可选,倍速,默认为1。
74
+ distance: 1000,
75
+ // 可选,初始化UP/DOWN起始距离,默认1000
76
+ isRotate: true,
77
+ // 可选,初始化UP/DOWN起始旋转角度,默认true
78
+ isScale: true // 可选,初始化UP/DOWN起始缩放大小,默认true
79
+ };
80
+
81
+ Object.assign(this.option, opt);
82
+ // ------- 1.初始化目标对象 --------
83
+ this.objs.length = 0;
84
+ // 获取所有对象
85
+ if (this.option.tag === '*') {
86
+ use.useScene().scene.traverseVisible(function (object) {
87
+ if (object instanceof Object3D) _this3.objs.push(object);
88
+ });
89
+ } else {
90
+ // 获取指定tag对象
91
+ use.useScene().scene.traverseVisible(function (object) {
92
+ if (object instanceof Object3D && object.userData.tag && Array.isArray(object.userData.tag) && object.userData.tag.includes(_this3.option.tag)) _this3.objs.push(object);
93
+ });
94
+ }
95
+
96
+ // ------- 2.中心点 ------------
97
+ if (!this.option.center) {
98
+ var boundingBox = new Box3();
99
+
100
+ // 将每个物体的边界框扩展到包围盒中
101
+ for (var i = 0; i < this.objs.length; i++) {
102
+ var object = this.objs[i];
103
+ boundingBox.expandByObject(object);
104
+ }
105
+ // 计算包围盒的中心点
106
+ var center = new Vector3();
107
+ this.option.center = boundingBox.getCenter(center);
108
+ }
109
+
110
+ // ------- 2.初始化目标对象 生长前状态 --------
111
+ switch (this.option.type) {
112
+ case ESceneGrowType.Up:
113
+ this.growStyle = new GrowStyleUp(this.objs, this.option);
114
+ break;
115
+ case ESceneGrowType.Down:
116
+ this.growStyle = new GrowStyleDown(this.objs, this.option);
117
+ break;
118
+ default:
119
+ this.growStyle = new GrowStyleUp(this.objs, this.option);
120
+ break;
121
+ }
122
+ this.growStyle.init();
123
+ this.option.onGrowInitCompleted && this.option.onGrowInitCompleted();
124
+ }
125
+ }]);
126
+ return Grow;
127
+ }();
128
+ //# sourceMappingURL=grow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Box3","Object3D","Vector3","use","EEaseType","ESceneGrowType","GrowStyleDown","GrowStyleUp","Grow","opt","objs","option","growStyle","init","callback","onGrowInStart","getTimeLine","eventCallback","onGrowInCompleted","in","onGrowOutStart","onGrowOutCompleted","out","tag","type","Up","time","gapTime","ease","SineInOut","center","scale","distance","isRotate","isScale","Object","assign","length","useScene","scene","traverseVisible","object","push","userData","Array","isArray","includes","boundingBox","i","expandByObject","getCenter","Down","onGrowInitCompleted"],"sources":["../../../src/scene/grow/grow.ts"],"sourcesContent":["import { Box3, Object3D, Vector3, gsap, use } from '@anov/3d-core'\nimport type { GrowOption, IGrowStyle } from './type'\nimport { EEaseType, ESceneGrowType } from './type'\nimport { GrowStyleDown, GrowStyleUp } from './growStyle'\n\n// 生长动画对象\nexport class Grow {\n private objs: Array<Object3D>\n private option: GrowOption\n private growStyle: IGrowStyle\n\n constructor(opt?: GrowOption) {\n this.objs = []\n this.option = {}\n // @ts-ignore\n this.growStyle = null\n this.init(opt || {})\n }\n\n // 生长\n in(callback: () => void) {\n // 入场事件\n this.option.onGrowInStart && this.option.onGrowInStart()\n\n this.growStyle.getTimeLine().eventCallback('onComplete', () => {\n this.option.onGrowInCompleted && this.option.onGrowInCompleted()\n callback && callback()\n })\n\n this.growStyle.in()\n }\n\n // 消退\n out(callback: () => void) {\n // 出场事件\n this.option.onGrowOutStart && this.option.onGrowOutStart()\n\n this.growStyle.getTimeLine().eventCallback('onReverseComplete', () => {\n this.option.onGrowOutCompleted && this.option.onGrowOutCompleted()\n\n callback && callback()\n })\n\n this.growStyle.out()\n }\n\n // 初始化\n init(opt: GrowOption) {\n this.option = {\n tag: '*', // 可选,进场对象Tag, 默认 \"*\" 所有可见MESH对象,\n type: ESceneGrowType.Up, // 可选,进场动画类型,默认 ESceneGrowType.Up向上生长\n time: 0.5, // 可选,单对象进场时间,默认0.5秒\n gapTime: 0.2, // 可选,多个对象之间间隔事件,默认0.2秒\n ease: EEaseType.SineInOut, // 可选,默认缓入缓出\n center: null, // 可选,生长中心位置,默认包围盒中心点\n scale: 1, // 可选,倍速,默认为1。\n distance: 1000, // 可选,初始化UP/DOWN起始距离,默认1000\n isRotate: true, // 可选,初始化UP/DOWN起始旋转角度,默认true\n isScale: true, // 可选,初始化UP/DOWN起始缩放大小,默认true\n }\n Object.assign(this.option, opt)\n // ------- 1.初始化目标对象 --------\n this.objs.length = 0\n // 获取所有对象\n if (this.option.tag === '*') {\n use.useScene().scene!.traverseVisible((object) => {\n if (object instanceof Object3D)\n this.objs.push(object)\n })\n }\n else { // 获取指定tag对象\n use.useScene().scene!.traverseVisible((object) => {\n if (object instanceof Object3D && object.userData.tag && Array.isArray(object.userData.tag) && object.userData.tag.includes(this.option.tag))\n this.objs.push(object)\n })\n }\n\n // ------- 2.中心点 ------------\n if (!this.option.center) {\n const boundingBox = new Box3()\n\n // 将每个物体的边界框扩展到包围盒中\n for (let i = 0; i < this.objs.length; i++) {\n const object = this.objs[i]\n boundingBox.expandByObject(object)\n }\n // 计算包围盒的中心点\n const center = new Vector3()\n this.option.center = boundingBox.getCenter(center)\n }\n\n // ------- 2.初始化目标对象 生长前状态 --------\n switch (this.option.type) {\n case ESceneGrowType.Up:\n this.growStyle = new GrowStyleUp(this.objs, this.option)\n break\n case ESceneGrowType.Down:\n this.growStyle = new GrowStyleDown(this.objs, this.option)\n break\n default:\n this.growStyle = new GrowStyleUp(this.objs, this.option)\n break\n }\n this.growStyle.init()\n this.option.onGrowInitCompleted && this.option.onGrowInitCompleted()\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { GrowStyleDown } from './style_down';
2
+ export { GrowStyleUp } from './style_up';
@@ -0,0 +1,3 @@
1
+ export { GrowStyleDown } from "./style_down";
2
+ export { GrowStyleUp } from "./style_up";
3
+ //# sourceMappingURL=growStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GrowStyleDown","GrowStyleUp"],"sources":["../../../src/scene/grow/growStyle.ts"],"sourcesContent":["export { GrowStyleDown } from './style_down'\nexport { GrowStyleUp } from './style_up'\n"],"mappings":"AAAA,SAASA,aAAa;AACtB,SAASC,WAAW"}
@@ -0,0 +1,2 @@
1
+ export * from './type';
2
+ export { Grow } from './grow';
@@ -0,0 +1,3 @@
1
+ export * from "./type";
2
+ export { Grow } from "./grow";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Grow"],"sources":["../../../src/scene/grow/index.ts"],"sourcesContent":["export * from './type'\nexport { Grow } from './grow'\n"],"mappings":"AAAA;AACA,SAASA,IAAI"}
@@ -0,0 +1,13 @@
1
+ import type { Object3D } from '@anov/3d-core';
2
+ import type { GrowOption, IGrowStyle } from './type';
3
+ export declare class GrowStyleDown implements IGrowStyle {
4
+ private _objs;
5
+ private _opt;
6
+ private _tl;
7
+ private maxDistance;
8
+ constructor(objs: Array<Object3D>, opt: GrowOption);
9
+ init(): void;
10
+ in(): void;
11
+ out(): void;
12
+ getTimeLine(): gsap.core.Timeline;
13
+ }
@@ -0,0 +1,92 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
4
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ import { MathUtils, Vector3, gsap } from '@anov/3d-core';
9
+ // 向下掉落
10
+ export var GrowStyleDown = /*#__PURE__*/function () {
11
+ function GrowStyleDown(objs, opt) {
12
+ _classCallCheck(this, GrowStyleDown);
13
+ _defineProperty(this, "_objs", void 0);
14
+ _defineProperty(this, "_opt", void 0);
15
+ _defineProperty(this, "_tl", void 0);
16
+ _defineProperty(this, "maxDistance", void 0);
17
+ this._objs = objs;
18
+ this._opt = opt;
19
+ this._tl = null; // gsap.timeline()
20
+ this.maxDistance = 0;
21
+ }
22
+
23
+ // 对象初始化
24
+ _createClass(GrowStyleDown, [{
25
+ key: "init",
26
+ value: function init() {
27
+ var _this = this;
28
+ this._tl = gsap.timeline();
29
+ var max = this._opt.gapTime + this._opt.time;
30
+ // 统一为Vector3
31
+ if (Array.isArray(this._opt.center)) this._opt.center = new Vector3().fromArray(this._opt.center);
32
+ // 找到对象最远距离
33
+ this._objs.map(function (obj) {
34
+ var distance = Math.abs(obj.position.distanceTo(_this._opt.center));
35
+ obj.userData.growDistance = distance;
36
+ obj.userData.growY = obj.position.y;
37
+ if (distance > _this.maxDistance) _this.maxDistance = distance;
38
+ });
39
+ this._objs.map(function (obj) {
40
+ // 计算排序延迟
41
+ obj.userData.growDelay = MathUtils.lerp(0, max, obj.userData.growDistance / _this.maxDistance);
42
+ // 距离
43
+ obj.position.y += _this._opt.distance;
44
+ // 旋转
45
+ _this._opt.isRotate && obj.rotateY(MathUtils.degToRad(270));
46
+ // 缩放
47
+ _this._opt.isScale && obj.scale.set(obj.scale.x * 0.1, obj.scale.y * 0.1, obj.scale.z * 0.1);
48
+ });
49
+ }
50
+ }, {
51
+ key: "in",
52
+ value: function _in() {
53
+ var _this2 = this;
54
+ this._tl.clear();
55
+ this._objs.map(function (obj) {
56
+ _this2._tl.add(gsap.to(obj.position, {
57
+ y: obj.position.y - _this2._opt.distance,
58
+ duration: _this2._opt.time,
59
+ ease: _this2._opt.ease,
60
+ delay: obj.userData.growDelay
61
+ }), 0);
62
+ if (_this2._opt.isRotate) _this2._tl.add(gsap.to(obj.rotation, {
63
+ y: 0,
64
+ duration: _this2._opt.time,
65
+ ease: _this2._opt.ease,
66
+ delay: obj.userData.growDelay
67
+ }), 0);
68
+ if (_this2._opt.isScale) _this2._tl.add(gsap.to(obj.scale, {
69
+ x: 1,
70
+ y: 1,
71
+ z: 1,
72
+ duration: _this2._opt.time,
73
+ ease: _this2._opt.ease,
74
+ delay: obj.userData.growDelay
75
+ }), 0);
76
+ });
77
+ this._tl.play(0, false);
78
+ }
79
+ }, {
80
+ key: "out",
81
+ value: function out() {
82
+ this._tl.timeScale(this._opt.scale).reverse();
83
+ }
84
+ }, {
85
+ key: "getTimeLine",
86
+ value: function getTimeLine() {
87
+ return this._tl;
88
+ }
89
+ }]);
90
+ return GrowStyleDown;
91
+ }();
92
+ //# sourceMappingURL=style_down.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MathUtils","Vector3","gsap","GrowStyleDown","objs","opt","_objs","_opt","_tl","maxDistance","timeline","max","gapTime","time","Array","isArray","center","fromArray","map","obj","distance","Math","abs","position","distanceTo","userData","growDistance","growY","y","growDelay","lerp","isRotate","rotateY","degToRad","isScale","scale","set","x","z","clear","add","to","duration","ease","delay","rotation","play","timeScale","reverse"],"sources":["../../../src/scene/grow/style_down.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { MathUtils, Vector3, gsap, use } from '@anov/3d-core'\nimport type { GrowOption, IGrowStyle } from './type'\n\n// 向下掉落\nexport class GrowStyleDown implements IGrowStyle {\n private _objs: Array<Object3D>\n private _opt: GrowOption\n private _tl: gsap.core.Timeline\n private maxDistance: number\n\n constructor(objs: Array<Object3D>, opt: GrowOption) {\n this._objs = objs\n this._opt = opt\n this._tl = null// gsap.timeline()\n this.maxDistance = 0\n }\n\n // 对象初始化\n init(): void {\n this._tl = gsap.timeline()\n\n const max = this._opt.gapTime + this._opt.time\n // 统一为Vector3\n if (Array.isArray(this._opt.center))\n this._opt.center = new Vector3().fromArray(this._opt.center as number[])\n // 找到对象最远距离\n this._objs.map((obj) => {\n const distance = Math.abs(obj.position.distanceTo(this._opt.center as Vector3))\n obj.userData.growDistance = distance\n obj.userData.growY = obj.position.y\n if (distance > this.maxDistance)\n this.maxDistance = distance\n })\n\n this._objs.map((obj) => {\n // 计算排序延迟\n obj.userData.growDelay = MathUtils.lerp(0, max, obj.userData.growDistance / this.maxDistance)\n // 距离\n obj.position.y += this._opt.distance\n // 旋转\n this._opt.isRotate && obj.rotateY(MathUtils.degToRad(270))\n // 缩放\n this._opt.isScale && obj.scale.set(obj.scale.x * 0.1, obj.scale.y * 0.1, obj.scale.z * 0.1)\n })\n }\n\n in(): void {\n this._tl.clear()\n\n this._objs.map((obj) => {\n this._tl.add(gsap.to(obj.position, { y: obj.position.y - this._opt.distance, duration: this._opt.time, ease: this._opt.ease, delay: obj.userData.growDelay }), 0)\n if (this._opt.isRotate)\n this._tl.add(gsap.to(obj.rotation, { y: 0, duration: this._opt.time, ease: this._opt.ease, delay: obj.userData.growDelay }), 0)\n if (this._opt.isScale)\n this._tl.add(gsap.to(obj.scale, { x: 1, y: 1, z: 1, duration: this._opt.time, ease: this._opt.ease, delay: obj.userData.growDelay }), 0)\n })\n this._tl.play(0, false)\n }\n\n out(): void {\n this._tl.timeScale(this._opt.scale).reverse()\n }\n\n getTimeLine(): gsap.core.Timeline {\n return this._tl\n }\n}"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { Object3D } from '@anov/3d-core';
2
+ import type { GrowOption, IGrowStyle } from './type';
3
+ export declare class GrowStyleUp implements IGrowStyle {
4
+ private _objs;
5
+ private _opt;
6
+ private _tl;
7
+ private maxDistance;
8
+ constructor(objs: Array<Object3D>, opt: GrowOption);
9
+ init(): void;
10
+ in(): void;
11
+ out(): void;
12
+ getTimeLine(): gsap.core.Timeline;
13
+ }
@@ -0,0 +1,96 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
4
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ import { MathUtils, Vector3, gsap } from '@anov/3d-core';
9
+ // 向上生长
10
+ export var GrowStyleUp = /*#__PURE__*/function () {
11
+ function GrowStyleUp(objs, opt) {
12
+ _classCallCheck(this, GrowStyleUp);
13
+ _defineProperty(this, "_objs", void 0);
14
+ _defineProperty(this, "_opt", void 0);
15
+ _defineProperty(this, "_tl", void 0);
16
+ _defineProperty(this, "maxDistance", void 0);
17
+ this._objs = objs;
18
+ this._opt = opt;
19
+ this._tl = null; // gsap.timeline()
20
+ this.maxDistance = 0;
21
+ }
22
+
23
+ // 对象初始化
24
+ _createClass(GrowStyleUp, [{
25
+ key: "init",
26
+ value: function init() {
27
+ var _this = this;
28
+ this._tl = gsap.timeline();
29
+ var max = this._opt.gapTime + this._opt.time;
30
+ // 统一为Vector3
31
+ if (Array.isArray(this._opt.center)) this._opt.center = new Vector3().fromArray(this._opt.center);
32
+ // 找到对象最远距离
33
+ this._objs.map(function (obj) {
34
+ var distance = Math.abs(obj.position.distanceTo(_this._opt.center));
35
+ obj.userData.growDistance = distance;
36
+ obj.userData.growY = obj.position.y;
37
+ if (distance > _this.maxDistance) _this.maxDistance = distance;
38
+ });
39
+ this._objs.map(function (obj) {
40
+ // 计算排序延迟
41
+ obj.userData.growDelay = MathUtils.lerp(0, max, obj.userData.growDistance / _this.maxDistance);
42
+ // 距离
43
+ obj.position.y -= _this._opt.distance;
44
+ // 旋转
45
+ _this._opt.isRotate && obj.rotateY(MathUtils.degToRad(270));
46
+ // 缩放
47
+ _this._opt.isScale && obj.scale.set(obj.scale.x * 0.1, obj.scale.y * 0.1, obj.scale.z * 0.1);
48
+ });
49
+ }
50
+ }, {
51
+ key: "in",
52
+ value: function _in() {
53
+ var _this2 = this;
54
+ this._tl.clear();
55
+ // this._tl = gsap.timeline({ onComplete: this._opt.onGrowInCompleted, onReverseComplete: this._opt.onGrowOutCompleted })
56
+ this._objs.map(function (obj) {
57
+ // 距离1
58
+ _this2._tl.add(gsap.to(obj.position, {
59
+ y: obj.position.y + _this2._opt.distance,
60
+ duration: _this2._opt.time,
61
+ ease: _this2._opt.ease,
62
+ delay: obj.userData.growDelay
63
+ }), 0);
64
+ // 旋转
65
+ if (_this2._opt.isRotate) _this2._tl.add(gsap.to(obj.rotation, {
66
+ y: 0,
67
+ duration: _this2._opt.time,
68
+ ease: _this2._opt.ease,
69
+ delay: obj.userData.growDelay
70
+ }), 0);
71
+ // 缩放
72
+ if (_this2._opt.isScale) _this2._tl.add(gsap.to(obj.scale, {
73
+ x: 1,
74
+ y: 1,
75
+ z: 1,
76
+ duration: _this2._opt.time,
77
+ ease: _this2._opt.ease,
78
+ delay: obj.userData.growDelay
79
+ }), 0);
80
+ });
81
+ this._tl.play(0, false);
82
+ }
83
+ }, {
84
+ key: "out",
85
+ value: function out() {
86
+ this._tl.timeScale(this._opt.scale).reverse();
87
+ }
88
+ }, {
89
+ key: "getTimeLine",
90
+ value: function getTimeLine() {
91
+ return this._tl;
92
+ }
93
+ }]);
94
+ return GrowStyleUp;
95
+ }();
96
+ //# sourceMappingURL=style_up.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MathUtils","Vector3","gsap","GrowStyleUp","objs","opt","_objs","_opt","_tl","maxDistance","timeline","max","gapTime","time","Array","isArray","center","fromArray","map","obj","distance","Math","abs","position","distanceTo","userData","growDistance","growY","y","growDelay","lerp","isRotate","rotateY","degToRad","isScale","scale","set","x","z","clear","add","to","duration","ease","delay","rotation","play","timeScale","reverse"],"sources":["../../../src/scene/grow/style_up.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { MathUtils, Vector3, gsap, use } from '@anov/3d-core'\nimport type { GrowOption, IGrowStyle } from './type'\n\n// 向上生长\nexport class GrowStyleUp implements IGrowStyle {\n private _objs: Array<Object3D>\n private _opt: GrowOption\n private _tl: gsap.core.Timeline\n private maxDistance: number\n\n constructor(objs: Array<Object3D>, opt: GrowOption) {\n this._objs = objs\n this._opt = opt\n this._tl = null // gsap.timeline()\n this.maxDistance = 0\n }\n\n // 对象初始化\n init(): void {\n this._tl = gsap.timeline()\n\n const max = this._opt.gapTime + this._opt.time\n // 统一为Vector3\n if (Array.isArray(this._opt.center))\n this._opt.center = new Vector3().fromArray(this._opt.center as number[])\n // 找到对象最远距离\n this._objs.map((obj) => {\n const distance = Math.abs(obj.position.distanceTo(this._opt.center as Vector3))\n obj.userData.growDistance = distance\n obj.userData.growY = obj.position.y\n if (distance > this.maxDistance)\n this.maxDistance = distance\n })\n\n this._objs.map((obj) => {\n // 计算排序延迟\n obj.userData.growDelay = MathUtils.lerp(0, max, obj.userData.growDistance / this.maxDistance)\n // 距离\n obj.position.y -= this._opt.distance\n // 旋转\n this._opt.isRotate && obj.rotateY(MathUtils.degToRad(270))\n // 缩放\n this._opt.isScale && obj.scale.set(obj.scale.x * 0.1, obj.scale.y * 0.1, obj.scale.z * 0.1)\n })\n }\n\n in(): void {\n this._tl.clear()\n // this._tl = gsap.timeline({ onComplete: this._opt.onGrowInCompleted, onReverseComplete: this._opt.onGrowOutCompleted })\n this._objs.map((obj) => {\n // 距离1\n this._tl.add(gsap.to(obj.position, { y: obj.position.y + this._opt.distance, duration: this._opt.time, ease: this._opt.ease, delay: obj.userData.growDelay }), 0)\n // 旋转\n if (this._opt.isRotate)\n this._tl.add(gsap.to(obj.rotation, { y: 0, duration: this._opt.time, ease: this._opt.ease, delay: obj.userData.growDelay }), 0)\n // 缩放\n if (this._opt.isScale)\n this._tl.add(gsap.to(obj.scale, { x: 1, y: 1, z: 1, duration: this._opt.time, ease: this._opt.ease, delay: obj.userData.growDelay }), 0)\n })\n this._tl.play(0, false)\n }\n\n out(): void {\n this._tl.timeScale(this._opt.scale).reverse()\n }\n\n getTimeLine(): gsap.core.Timeline {\n return this._tl\n }\n}"],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import type { Vector3 } from '@anov/3d-core';
2
+ export interface IGrowStyle {
3
+ init(): void;
4
+ in(): void;
5
+ out(): void;
6
+ getTimeLine(): gsap.core.Timeline;
7
+ }
8
+ export interface GrowOption {
9
+ tag?: string;
10
+ type?: ESceneGrowType;
11
+ time?: number;
12
+ gapTime?: number;
13
+ ease?: string;
14
+ center?: Vector3 | Array<number> | null;
15
+ scale?: number;
16
+ distance?: number;
17
+ isRotate?: boolean;
18
+ isScale?: boolean;
19
+ onGrowInitCompleted?(): void;
20
+ onGrowInStart?(): void;
21
+ onGrowInCompleted?(): void;
22
+ onGrowOutStart?(): void;
23
+ onGrowOutCompleted?(): void;
24
+ }
25
+ export declare enum ESceneGrowType {
26
+ Up = 0,
27
+ Down = 1
28
+ }
29
+ export declare const EEaseType: {
30
+ Linear: string;
31
+ SineIn: string;
32
+ SineOut: string;
33
+ SineInOut: string;
34
+ BackIn: string;
35
+ BackOut: string;
36
+ BackInOut: string;
37
+ BounceIn: string;
38
+ BounceOut: string;
39
+ BounceInOut: string;
40
+ ExpoIn: string;
41
+ ExpoOut: string;
42
+ ExpoInOut: string;
43
+ ElasticIn: string;
44
+ ElasticOut: string;
45
+ ElasticInOut: string;
46
+ };
@@ -0,0 +1,42 @@
1
+ // 生长动画类型
2
+ export var ESceneGrowType;
3
+
4
+ // 动画ease类型
5
+ (function (ESceneGrowType) {
6
+ ESceneGrowType[ESceneGrowType["Up"] = 0] = "Up";
7
+ ESceneGrowType[ESceneGrowType["Down"] = 1] = "Down";
8
+ })(ESceneGrowType || (ESceneGrowType = {}));
9
+ export var EEaseType = {
10
+ Linear: 'none',
11
+ // 均速
12
+ SineIn: 'sine.in',
13
+ // 缓入
14
+ SineOut: 'sine.out',
15
+ // 缓出
16
+ SineInOut: 'sine.inOut',
17
+ // 缓入缓出
18
+ BackIn: 'back.in(1.7)',
19
+ // 回退入
20
+ BackOut: 'back.out(1.7)',
21
+ // 回退出
22
+ BackInOut: 'back.inOut(1.7)',
23
+ // 回退入回退出
24
+ BounceIn: 'bounce.in',
25
+ // 硬弹跳入,步伐越来越大,类似三级跳远,
26
+ BounceOut: 'bounce.out',
27
+ // 硬弹跳出,步伐越来越小,类似乒乓球掉落到停止
28
+ BounceInOut: 'bounce.inOut',
29
+ // 弹跳入弹跳出
30
+ ExpoIn: 'expo.in',
31
+ // 缓入, 类似SineIn * 4倍效果
32
+ ExpoOut: 'expo.out',
33
+ // 缓出, 类似SineOut * 4倍效果
34
+ ExpoInOut: 'expo.inOut',
35
+ // 缓入缓出, 类似SineInOut * 4倍效果
36
+ ElasticIn: 'elastic.in(1,0.3)',
37
+ // 弹入,软回弹,类似橡胶
38
+ ElasticOut: 'elastic.out(1,0.3)',
39
+ // 弹出,软回弹,类似橡胶
40
+ ElasticInOut: 'elastic.inOut(1,0.3)' // 弹入弹出,软回弹,类似橡胶
41
+ };
42
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ESceneGrowType","EEaseType","Linear","SineIn","SineOut","SineInOut","BackIn","BackOut","BackInOut","BounceIn","BounceOut","BounceInOut","ExpoIn","ExpoOut","ExpoInOut","ElasticIn","ElasticOut","ElasticInOut"],"sources":["../../../src/scene/grow/type.ts"],"sourcesContent":["import type { Vector3, gsap } from '@anov/3d-core'\n\nexport interface IGrowStyle {\n init(): void\n in(): void\n out(): void\n getTimeLine(): gsap.core.Timeline\n}\n\nexport interface GrowOption {\n tag?: string // 可选,进场对象Tag, 默认 \"*\" 所有对象,\n type?: ESceneGrowType // 可选,进场动画类型,默认 ESceneGrowType.Up向上生长\n time?: number // 可选,单对象进场时间,默认0.5秒\n gapTime?: number // 可选,多个对象之间间隔事件,默认0.2秒\n ease?: string // 可选,默认缓入缓出\n center?: Vector3 | Array<number> | null // 可选,生长中心位置,默认[0,0,0]\n scale?: number // 可选,出场倍数,是进场时间的几倍,默认为1, 注意:进场无效。\n distance?: number // 可选,初始化UP/DOWN起始距离,默认1000\n isRotate?: boolean // 可选,初始化UP/DOWN起始旋转角度,默认270\n isScale?: boolean // 可选,初始化UP/DOWN起始缩放大小,默认0.1\n onGrowInitCompleted?(): void // 可选,初始化\n onGrowInStart?(): void // 可选,生长开始回调\n onGrowInCompleted?(): void // 可选,生长完成回调\n onGrowOutStart?(): void // 可选,消失开始回调\n onGrowOutCompleted?(): void // 可选,消失完成回调\n}\n\n// 生长动画类型\nexport enum ESceneGrowType {\n Up,\n Down,\n}\n\n// 动画ease类型\nexport const EEaseType = {\n Linear: 'none', // 均速\n SineIn: 'sine.in', // 缓入\n SineOut: 'sine.out', // 缓出\n SineInOut: 'sine.inOut', // 缓入缓出\n BackIn: 'back.in(1.7)', // 回退入\n BackOut: 'back.out(1.7)', // 回退出\n BackInOut: 'back.inOut(1.7)', // 回退入回退出\n BounceIn: 'bounce.in', // 硬弹跳入,步伐越来越大,类似三级跳远,\n BounceOut: 'bounce.out', // 硬弹跳出,步伐越来越小,类似乒乓球掉落到停止\n BounceInOut: 'bounce.inOut', // 弹跳入弹跳出\n ExpoIn: 'expo.in', // 缓入, 类似SineIn * 4倍效果\n ExpoOut: 'expo.out', // 缓出, 类似SineOut * 4倍效果\n ExpoInOut: 'expo.inOut', // 缓入缓出, 类似SineInOut * 4倍效果\n ElasticIn: 'elastic.in(1,0.3)', // 弹入,软回弹,类似橡胶\n ElasticOut: 'elastic.out(1,0.3)', // 弹出,软回弹,类似橡胶\n ElasticInOut: 'elastic.inOut(1,0.3)', // 弹入弹出,软回弹,类似橡胶\n}"],"mappings":"AA2BA;AACA,WAAYA,cAAc;;AAK1B;AAAA,WALYA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;AAAA,GAAdA,cAAc,KAAdA,cAAc;AAM1B,OAAO,IAAMC,SAAS,GAAG;EACvBC,MAAM,EAAE,MAAM;EAAE;EAChBC,MAAM,EAAE,SAAS;EAAE;EACnBC,OAAO,EAAE,UAAU;EAAE;EACrBC,SAAS,EAAE,YAAY;EAAE;EACzBC,MAAM,EAAE,cAAc;EAAE;EACxBC,OAAO,EAAE,eAAe;EAAE;EAC1BC,SAAS,EAAE,iBAAiB;EAAE;EAC9BC,QAAQ,EAAE,WAAW;EAAE;EACvBC,SAAS,EAAE,YAAY;EAAE;EACzBC,WAAW,EAAE,cAAc;EAAE;EAC7BC,MAAM,EAAE,SAAS;EAAE;EACnBC,OAAO,EAAE,UAAU;EAAE;EACrBC,SAAS,EAAE,YAAY;EAAE;EACzBC,SAAS,EAAE,mBAAmB;EAAE;EAChCC,UAAU,EAAE,oBAAoB;EAAE;EAClCC,YAAY,EAAE,sBAAsB,CAAE;AACxC,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './grow';
@@ -0,0 +1,2 @@
1
+ export * from "./grow";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../src/scene/index.ts"],"sourcesContent":["export * from './grow'"],"mappings":"AAAA"}
@@ -1,3 +1,4 @@
1
1
  export var getLastValue = function getLastValue(optsValue, value) {
2
2
  return optsValue !== null && optsValue !== void 0 ? optsValue : value;
3
- };
3
+ };
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getLastValue","optsValue","value"],"sources":["../../src/utils/index.ts"],"sourcesContent":["export const getLastValue = <T>(optsValue: T | undefined | null, value: T): T => {\n return optsValue ?? value\n}"],"mappings":"AAAA,OAAO,IAAMA,YAAY,GAAG,SAAfA,YAAY,CAAOC,SAA+B,EAAEC,KAAQ,EAAQ;EAC/E,OAAOD,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIC,KAAK;AAC3B,CAAC"}