@anov/3d-ability 0.0.28 → 0.0.29
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.
- package/dist/camera/index.d.ts +1 -1
- package/dist/camera/index.js +3 -3
- package/dist/camera/index.js.map +1 -1
- package/dist/common/IconStyle.d.ts +4 -4
- package/dist/common/IconStyle.js +3 -3
- package/dist/common/IconStyle.js.map +1 -1
- package/dist/common/ImageStyle.d.ts +3 -3
- package/dist/common/ImageStyle.js +3 -3
- package/dist/common/ImageStyle.js.map +1 -1
- package/dist/common/LabelStyle.d.ts +5 -5
- package/dist/common/LabelStyle.js +3 -3
- package/dist/common/LabelStyle.js.map +1 -1
- package/dist/common/component.d.ts +3 -2
- package/dist/common/component.js +8 -6
- package/dist/common/component.js.map +1 -1
- package/dist/common/constant.d.ts +9 -3
- package/dist/common/constant.js +5 -4
- package/dist/common/constant.js.map +1 -1
- package/dist/controls/base.js +3 -3
- package/dist/controls/base.js.map +1 -1
- package/dist/controls/src/FirstViewControl.js +3 -3
- package/dist/controls/src/FirstViewControl.js.map +1 -1
- package/dist/controls/src/ThirdViewControl/action/input.js +3 -3
- package/dist/controls/src/ThirdViewControl/action/input.js.map +1 -1
- package/dist/controls/src/ThirdViewControl/index.js +3 -3
- package/dist/controls/src/ThirdViewControl/index.js.map +1 -1
- package/dist/controls/src/ThirdViewControl/player/animation.d.ts +2 -2
- package/dist/controls/src/ThirdViewControl/player/animation.js +4 -4
- package/dist/controls/src/ThirdViewControl/player/animation.js.map +1 -1
- package/dist/controls/src/ThirdViewControl/player/camera.js +3 -3
- package/dist/controls/src/ThirdViewControl/player/camera.js.map +1 -1
- package/dist/controls/src/ThirdViewControl/player/control.js +3 -3
- package/dist/controls/src/ThirdViewControl/player/control.js.map +1 -1
- package/dist/controls/src/ThirdViewControl/player.js +6 -6
- package/dist/controls/src/ThirdViewControl/player.js.map +1 -1
- package/dist/controls/src/ThirdViewControl/type.d.ts +1 -1
- package/dist/environment/rain.d.ts +1 -1
- package/dist/environment/rain.js.map +1 -1
- package/dist/environment/rainShader/index.js +3 -3
- package/dist/environment/rainShader/index.js.map +1 -1
- package/dist/environment/rainShader/shader.d.ts +2 -2
- package/dist/environment/shaderCloud/cloudMaterial.d.ts +1 -1
- package/dist/environment/shaderCloud/cloudMaterial.js +3 -3
- package/dist/environment/shaderCloud/cloudMaterial.js.map +1 -1
- package/dist/environment/shaderCloud/index.js.map +1 -1
- package/dist/environment/showShader/index.js +3 -3
- package/dist/environment/showShader/index.js.map +1 -1
- package/dist/environment/showShader/shader.d.ts +2 -2
- package/dist/environment/sky/index.js +1 -1
- package/dist/environment/sky/index.js.map +1 -1
- package/dist/environment/skyBox/index.d.ts +1 -1
- package/dist/environment/skyBox/index.js +13 -14
- package/dist/environment/skyBox/index.js.map +1 -1
- package/dist/environment/skyv2/config.d.ts +2 -2
- package/dist/environment/skyv2/config.js.map +1 -1
- package/dist/environment/skyv2/index.js +4 -4
- package/dist/environment/skyv2/index.js.map +1 -1
- package/dist/environment/snow.d.ts +1 -1
- package/dist/environment/snow.js.map +1 -1
- package/dist/environment/sun/index.d.ts +4 -1
- package/dist/environment/sun/index.js.map +1 -1
- package/dist/environment/utils/points.d.ts +1 -1
- package/dist/environment/utils/points.js +3 -3
- package/dist/environment/utils/points.js.map +1 -1
- package/dist/environment/volumetricCloud/cloudMaterial.js.map +1 -1
- package/dist/environment/volumetricCloud/inex.js +3 -3
- package/dist/environment/volumetricCloud/inex.js.map +1 -1
- package/dist/heatmap/index.js +4 -4
- package/dist/heatmap/index.js.map +1 -1
- package/dist/helper/view/index.d.ts +2 -2
- package/dist/helper/view/index.js +4 -5
- package/dist/helper/view/index.js.map +1 -1
- package/dist/helper/view/utils.js +1 -1
- package/dist/helper/view/utils.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/line/curve.d.ts +2 -2
- package/dist/line/curve.js +3 -3
- package/dist/line/curve.js.map +1 -1
- package/dist/line/index.d.ts +16 -0
- package/dist/line/index.js +62 -1
- package/dist/line/index.js.map +1 -1
- package/dist/line/round-curve.d.ts +1 -1
- package/dist/line/round-curve.js +5 -5
- package/dist/line/round-curve.js.map +1 -1
- package/dist/material/fakeGlowMaterial/index.js +3 -3
- package/dist/material/fakeGlowMaterial/index.js.map +1 -1
- package/dist/material/finirMaterialMaterial/index.d.ts +1 -1
- package/dist/material/finirMaterialMaterial/index.js +3 -3
- package/dist/material/finirMaterialMaterial/index.js.map +1 -1
- package/dist/material/pristineGridMaterial/index.d.ts +1 -1
- package/dist/material/pristineGridMaterial/index.js +3 -3
- package/dist/material/pristineGridMaterial/index.js.map +1 -1
- package/dist/poi/Poi.d.ts +10 -6
- package/dist/poi/Poi.js +52 -35
- package/dist/poi/Poi.js.map +1 -1
- package/dist/poi/{2D → disable/2D}/index.js +5 -6
- package/dist/poi/disable/2D/index.js.map +1 -0
- package/dist/poi/{3D → disable/3D}/index.js +6 -6
- package/dist/poi/disable/3D/index.js.map +1 -0
- package/dist/poi/{3D → disable/3D}/index1.d.ts +3 -3
- package/dist/poi/{3D → disable/3D}/index1.js +7 -6
- package/dist/poi/disable/3D/index1.js.map +1 -0
- package/dist/poi/disable/3D/type.js +6 -0
- package/dist/poi/disable/3D/type.js.map +1 -0
- package/dist/poi/{Base.js → disable/Base.js} +3 -3
- package/dist/poi/disable/Base.js.map +1 -0
- package/dist/poi/{Sprite → disable/Sprite}/index.js +6 -6
- package/dist/poi/disable/Sprite/index.js.map +1 -0
- package/dist/poi/disable/Sprite/index2.js +188 -0
- package/dist/poi/disable/Sprite/index2.js.map +1 -0
- package/dist/poi/disable/utils/canvas.js +68 -0
- package/dist/poi/disable/utils/canvas.js.map +1 -0
- package/dist/poi/{utils → disable/utils}/element.js +5 -6
- package/dist/poi/disable/utils/element.js.map +1 -0
- package/dist/poi/{utils → disable/utils}/type.d.ts +3 -3
- package/dist/poi/{utils → disable/utils}/type.js +3 -3
- package/dist/poi/disable/utils/type.js.map +1 -0
- package/dist/poi/index.d.ts +6 -5
- package/dist/poi/index.js +6 -5
- package/dist/poi/index.js.map +1 -1
- package/dist/poi/plane/index.d.ts +21 -0
- package/dist/poi/plane/index.js +127 -0
- package/dist/poi/plane/index.js.map +1 -0
- package/dist/postEffects/addACESFilmicToneMappingPass.js.map +1 -1
- package/dist/postEffects/addBrightnessContrastPass.js.map +1 -1
- package/dist/postEffects/bloomPass.d.ts +1 -1
- package/dist/postEffects/bloomPass.js.map +1 -1
- package/dist/postEffects/bloomSelect.d.ts +1 -1
- package/dist/postEffects/bloomSelect.js.map +1 -1
- package/dist/postEffects/colorifyPass.js.map +1 -1
- package/dist/postEffects/index.d.ts +1 -1
- package/dist/postEffects/index.js.map +1 -1
- package/dist/postEffects/outlinePass.d.ts +1 -1
- package/dist/postEffects/outlinePass.js +5 -5
- package/dist/postEffects/outlinePass.js.map +1 -1
- package/dist/postEffects/postprocessing.js.map +1 -1
- package/dist/postEffects/saoPass.js.map +1 -1
- package/dist/postEffects/shader/colorify.d.ts +1 -1
- package/dist/postEffects/shader/gammaCorrectionShader.d.ts +1 -1
- package/dist/postEffects/shader/mapping.d.ts +1 -1
- package/dist/postEffects/shader/thermalMaging.d.ts +1 -1
- package/dist/scene/grow/grow.js +3 -4
- package/dist/scene/grow/grow.js.map +1 -1
- package/dist/scene/grow/style_down.js +3 -3
- package/dist/scene/grow/style_down.js.map +1 -1
- package/dist/scene/grow/style_up.js +3 -3
- package/dist/scene/grow/style_up.js.map +1 -1
- package/dist/scene/grow/type.js +5 -5
- package/dist/scene/grow/type.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/weather/index.js +12 -11
- package/dist/weather/index.js.map +1 -1
- package/dist/weather/objects/CloudMesh.js +5 -5
- package/dist/weather/objects/CloudMesh.js.map +1 -1
- package/dist/weather/objects/Fog2DMesh.js +5 -5
- package/dist/weather/objects/Fog2DMesh.js.map +1 -1
- package/dist/weather/objects/RainMesh.js +5 -5
- package/dist/weather/objects/RainMesh.js.map +1 -1
- package/dist/weather/objects/SkyMesh.js +3 -3
- package/dist/weather/objects/SkyMesh.js.map +1 -1
- package/dist/weather/objects/SnowMesh.js +4 -4
- package/dist/weather/objects/SnowMesh.js.map +1 -1
- package/dist/weather/shaders/RainPlane.d.ts +2 -2
- package/dist/weather/shaders/cloud.d.ts +2 -2
- package/dist/weather/shaders/snow.d.ts +2 -2
- package/dist/weather/utils/constant.d.ts +1 -1
- package/dist/weather/utils/constant.js +9 -10
- package/dist/weather/utils/constant.js.map +1 -1
- package/dist/widget/icon.js +3 -3
- package/dist/widget/icon.js.map +1 -1
- package/dist/widget/image.js +3 -3
- package/dist/widget/image.js.map +1 -1
- package/dist/widget/label.js +5 -5
- package/dist/widget/label.js.map +1 -1
- package/package.json +2 -3
- package/dist/poi/2D/index.js.map +0 -1
- package/dist/poi/3D/index.js.map +0 -1
- package/dist/poi/3D/index1.js.map +0 -1
- package/dist/poi/3D/type.js +0 -6
- package/dist/poi/3D/type.js.map +0 -1
- package/dist/poi/Base.js.map +0 -1
- package/dist/poi/Sprite/index.js.map +0 -1
- package/dist/poi/Sprite/index2.js +0 -184
- package/dist/poi/Sprite/index2.js.map +0 -1
- package/dist/poi/utils/canvas.js +0 -68
- package/dist/poi/utils/canvas.js.map +0 -1
- package/dist/poi/utils/element.js.map +0 -1
- package/dist/poi/utils/type.js.map +0 -1
- /package/dist/poi/{2D → disable/2D}/index.d.ts +0 -0
- /package/dist/poi/{3D → disable/3D}/index.d.ts +0 -0
- /package/dist/poi/{3D → disable/3D}/type.d.ts +0 -0
- /package/dist/poi/{Base.d.ts → disable/Base.d.ts} +0 -0
- /package/dist/poi/{Sprite → disable/Sprite}/index.d.ts +0 -0
- /package/dist/poi/{Sprite → disable/Sprite}/index2.d.ts +0 -0
- /package/dist/poi/{utils → disable/utils}/canvas.d.ts +0 -0
- /package/dist/poi/{utils → disable/utils}/element.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Color","Layers","MeshBasicMaterial","ShaderMaterial","SpriteMaterial","Vector2","lib","use","utils","EffectComposer","RenderPass","UnrealBloomPass","ShaderPass","GammaCorrectionShader","CopyShader","FXAAShader","storeManagement","createBloomSelectedTool","highParams","useScene","scene","camera","renderer","strength","radius","threshold","composer","get","Error","isNeedRender","BLOOM_SCENE","bloomLayer","set","renderScene","bloomPass","window","innerWidth","innerHeight","bloomComposer","renderToScreen","addPass","effectCopy","effectFXAA","uniforms","resolution","value","mixPass","baseTexture","bloomTexture","renderTarget2","texture","vertexShader","fragmentShader","defines","needsSwap","gammaCorrectionShader","materials","darkMaterial","color","cleanBloomBefore","useframeAfter","old","background","clone","traverse","obj","visible","type","material","map","transparent","opacity","depthTest","uuid","isMesh","test","layers","render","bloomSelected","object3dArray","forEach","object3d","enable","child","clean"],"sources":["../../src/postEffects/bloomSelect.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Color, Layers, MeshBasicMaterial, ShaderMaterial, SpriteMaterial, Vector2, lib, use, utils } from '@anov/3d-core'\n\nconst { EffectComposer, RenderPass, UnrealBloomPass, ShaderPass, GammaCorrectionShader, CopyShader, FXAAShader } = lib\nconst { storeManagement } = utils\n\ntype HighParams = {\n strength?: number\n radius?: number\n threshold?: number\n}\n\n/**\n * @file createBloomSelectedTool\n * todo 待优化\n */\n\n/**\n * createBloomSelectedTool\n * @param highParams\n * @returns\n */\nconst createBloomSelectedTool = (highParams?: HighParams) => {\n const { scene, camera, renderer } = use.useScene()\n const { strength = 1.5, radius = 0.4, threshold = 0.85 } = highParams || {}\n\n const composer = storeManagement.get('composer') as lib.EffectComposer\n\n if (!scene || !camera || !renderer)\n throw new Error('scene or camera is not defined,')\n\n // @ts-ignore\n composer.isNeedRender = false\n\n const BLOOM_SCENE = 1\n const bloomLayer = new Layers()\n\n bloomLayer.set(BLOOM_SCENE)\n\n const renderScene = new RenderPass(scene, camera)\n const bloomPass = new UnrealBloomPass(new Vector2(window.innerWidth, window.innerHeight), strength, radius, threshold)\n\n const bloomComposer = new EffectComposer(renderer)\n\n bloomComposer.renderToScreen = false\n bloomComposer.addPass(renderScene)\n bloomComposer.addPass(bloomPass)\n\n const effectCopy = new ShaderPass(CopyShader)\n effectCopy.renderToScreen = true\n\n const effectFXAA = new ShaderPass(FXAAShader)\n effectFXAA.uniforms.resolution.value.set(1 / window.innerWidth, 1 / window.innerHeight)\n\n const mixPass = new ShaderPass(\n new ShaderMaterial({\n uniforms: {\n baseTexture: { value: null },\n bloomTexture: { value: bloomComposer.renderTarget2.texture },\n },\n vertexShader: `\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}\n `,\n fragmentShader: `\n uniform sampler2D baseTexture;\n uniform sampler2D bloomTexture;\n varying vec2 vUv;\n\n void main() {\n gl_FragColor = ( texture2D( baseTexture, vUv ) + vec4( 1.0 ) * texture2D( bloomTexture, vUv ) );\n }\n `,\n defines: {},\n }), 'baseTexture',\n )\n mixPass.needsSwap = true\n\n const gammaCorrectionShader = new ShaderPass(GammaCorrectionShader)\n\n composer.addPass(renderScene)\n composer.addPass(mixPass)\n composer.addPass(gammaCorrectionShader)\n composer.addPass(effectCopy)\n\n const materials = {} as any\n const darkMaterial = new MeshBasicMaterial({ color: 'black' })\n\n /**\n * 性能消耗太大了\n */\n const cleanBloomBefore = use.useframeAfter(() => {\n const old = scene.background?.clone() ?? null\n\n scene.traverse((obj: any) => {\n if (!obj.visible)\n return\n\n if (obj.type === 'SpritePoi') {\n if (obj.material && obj.material.map) {\n obj.material = new SpriteMaterial({ map: obj.material.map, transparent: true, opacity: obj.material.opacity, depthTest: obj.material.depthTest })\n materials[obj.uuid] = obj.material\n obj.material = new SpriteMaterial({ color: 'black' })\n }\n }\n\n if (scene.background)\n scene.background = new Color('#000')\n\n if (obj.isMesh && bloomLayer.test(obj.layers) === false) {\n materials[obj.uuid] = obj.material\n obj.material = darkMaterial\n }\n })\n\n bloomComposer.render()\n\n scene.traverse((obj: any) => {\n if (!obj.visible)\n return\n\n if (materials[obj.uuid]) {\n obj.material = materials[obj.uuid]\n delete materials[obj.uuid]\n }\n })\n\n if (old)\n scene.background = old\n\n composer.render()\n })\n\n const bloomSelected = (object3dArray: Object3D[]) => {\n object3dArray.forEach((object3d) => {\n if (object3d.type === 'Mesh') {\n object3d.layers.enable(BLOOM_SCENE)\n }\n\n else if (object3d.type === 'Group') {\n object3d.traverse((child) => {\n if (child.type === 'Mesh')\n child.layers.enable(BLOOM_SCENE)\n })\n }\n })\n }\n\n return {\n bloomSelected,\n clean: () => {\n cleanBloomBefore()\n\n // @ts-ignore\n composer.isNeedRender = true\n },\n }\n}\n\nexport default createBloomSelectedTool"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Color","Layers","MeshBasicMaterial","ShaderMaterial","SpriteMaterial","Vector2","lib","use","utils","EffectComposer","RenderPass","UnrealBloomPass","ShaderPass","GammaCorrectionShader","CopyShader","FXAAShader","storeManagement","createBloomSelectedTool","highParams","_use$useScene","useScene","scene","camera","renderer","_ref","_ref$strength","strength","_ref$radius","radius","_ref$threshold","threshold","composer","get","Error","isNeedRender","BLOOM_SCENE","bloomLayer","set","renderScene","bloomPass","window","innerWidth","innerHeight","bloomComposer","renderToScreen","addPass","effectCopy","effectFXAA","uniforms","resolution","value","mixPass","baseTexture","bloomTexture","renderTarget2","texture","vertexShader","fragmentShader","defines","needsSwap","gammaCorrectionShader","materials","darkMaterial","color","cleanBloomBefore","useframeAfter","_scene$background$clo","_scene$background","old","background","clone","traverse","obj","visible","type","material","map","transparent","opacity","depthTest","uuid","isMesh","test","layers","render","bloomSelected","object3dArray","forEach","object3d","enable","child","clean"],"sources":["../../src/postEffects/bloomSelect.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Color, Layers, MeshBasicMaterial, ShaderMaterial, SpriteMaterial, Vector2, lib, use, utils } from '@anov/3d-core'\n\nconst { EffectComposer, RenderPass, UnrealBloomPass, ShaderPass, GammaCorrectionShader, CopyShader, FXAAShader } = lib\nconst { storeManagement } = utils\n\ntype HighParams = {\n strength?: number\n radius?: number\n threshold?: number\n}\n\n/**\n * @file createBloomSelectedTool\n * todo 待优化\n */\n\n/**\n * createBloomSelectedTool\n * @param highParams\n * @returns\n */\nconst createBloomSelectedTool = (highParams?: HighParams) => {\n const { scene, camera, renderer } = use.useScene()\n const { strength = 1.5, radius = 0.4, threshold = 0.85 } = highParams || {}\n\n const composer = storeManagement.get('composer') as lib.EffectComposer\n\n if (!scene || !camera || !renderer)\n throw new Error('scene or camera is not defined,')\n\n // @ts-ignore\n composer.isNeedRender = false\n\n const BLOOM_SCENE = 1\n const bloomLayer = new Layers()\n\n bloomLayer.set(BLOOM_SCENE)\n\n const renderScene = new RenderPass(scene, camera)\n const bloomPass = new UnrealBloomPass(new Vector2(window.innerWidth, window.innerHeight), strength, radius, threshold)\n\n const bloomComposer = new EffectComposer(renderer)\n\n bloomComposer.renderToScreen = false\n bloomComposer.addPass(renderScene)\n bloomComposer.addPass(bloomPass)\n\n const effectCopy = new ShaderPass(CopyShader)\n effectCopy.renderToScreen = true\n\n const effectFXAA = new ShaderPass(FXAAShader)\n effectFXAA.uniforms.resolution.value.set(1 / window.innerWidth, 1 / window.innerHeight)\n\n const mixPass = new ShaderPass(\n new ShaderMaterial({\n uniforms: {\n baseTexture: { value: null },\n bloomTexture: { value: bloomComposer.renderTarget2.texture },\n },\n vertexShader: `\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}\n `,\n fragmentShader: `\n uniform sampler2D baseTexture;\n uniform sampler2D bloomTexture;\n varying vec2 vUv;\n\n void main() {\n gl_FragColor = ( texture2D( baseTexture, vUv ) + vec4( 1.0 ) * texture2D( bloomTexture, vUv ) );\n }\n `,\n defines: {},\n }), 'baseTexture',\n )\n mixPass.needsSwap = true\n\n const gammaCorrectionShader = new ShaderPass(GammaCorrectionShader)\n\n composer.addPass(renderScene)\n composer.addPass(mixPass)\n composer.addPass(gammaCorrectionShader)\n composer.addPass(effectCopy)\n\n const materials = {} as any\n const darkMaterial = new MeshBasicMaterial({ color: 'black' })\n\n /**\n * 性能消耗太大了\n */\n const cleanBloomBefore = use.useframeAfter(() => {\n const old = scene.background?.clone() ?? null\n\n scene.traverse((obj: any) => {\n if (!obj.visible)\n return\n\n if (obj.type === 'SpritePoi') {\n if (obj.material && obj.material.map) {\n obj.material = new SpriteMaterial({ map: obj.material.map, transparent: true, opacity: obj.material.opacity, depthTest: obj.material.depthTest })\n materials[obj.uuid] = obj.material\n obj.material = new SpriteMaterial({ color: 'black' })\n }\n }\n\n if (scene.background)\n scene.background = new Color('#000')\n\n if (obj.isMesh && bloomLayer.test(obj.layers) === false) {\n materials[obj.uuid] = obj.material\n obj.material = darkMaterial\n }\n })\n\n bloomComposer.render()\n\n scene.traverse((obj: any) => {\n if (!obj.visible)\n return\n\n if (materials[obj.uuid]) {\n obj.material = materials[obj.uuid]\n delete materials[obj.uuid]\n }\n })\n\n if (old)\n scene.background = old\n\n composer.render()\n })\n\n const bloomSelected = (object3dArray: Object3D[]) => {\n object3dArray.forEach((object3d) => {\n if (object3d.type === 'Mesh') {\n object3d.layers.enable(BLOOM_SCENE)\n }\n\n else if (object3d.type === 'Group') {\n object3d.traverse((child) => {\n if (child.type === 'Mesh')\n child.layers.enable(BLOOM_SCENE)\n })\n }\n })\n }\n\n return {\n bloomSelected,\n clean: () => {\n cleanBloomBefore()\n\n // @ts-ignore\n composer.isNeedRender = true\n },\n }\n}\n\nexport default createBloomSelectedTool"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["lib","use","utils","ColorifyShader","storeManagement","CopyShader","ShaderPass","addColorifyPass","color","alpha","useScene","scene","camera","composer","get","Error","effectCopy","renderToScreen","colorify","enabled","uniforms","value","addPass","clean","removePass","setColor"],"sources":["../../src/postEffects/colorifyPass.ts"],"sourcesContent":["import type { Color } from '@anov/3d-core'\nimport { lib, use, utils } from '@anov/3d-core'\nimport ColorifyShader from './shader/colorify'\n\nconst { storeManagement } = utils\nconst { CopyShader, ShaderPass } = lib\n\nconst addColorifyPass = (color: Color, alpha = 0.5) => {\n const { scene, camera } = use.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 effectCopy = new ShaderPass(CopyShader)\n effectCopy.renderToScreen = true\n\n const colorify = new ShaderPass(ColorifyShader)\n colorify.enabled = true\n\n colorify.uniforms.color.value = color\n colorify.uniforms.alpha.value = alpha\n\n composer.addPass(colorify)\n composer.addPass(effectCopy)\n\n return {\n clean: () => {\n composer.removePass(effectCopy)\n composer.removePass(colorify)\n },\n setColor: (color: Color) => {\n colorify.uniforms.color.value = color\n },\n }\n}\n\nexport default addColorifyPass"],"mappings":"AACA,SAASA,GAAG,EAAEC,GAAG,EAAEC,KAAK,QAAQ,eAAe;AAC/C,OAAOC,cAAc;AAErB,IAAQC,eAAe,GAAKF,KAAK,CAAzBE,eAAe;AACvB,IAAQC,UAAU,GAAiBL,GAAG,CAA9BK,UAAU;EAAEC,UAAU,GAAKN,GAAG,CAAlBM,UAAU;AAE9B,IAAMC,eAAe,GAAG,SAAlBA,
|
|
1
|
+
{"version":3,"names":["lib","use","utils","ColorifyShader","storeManagement","CopyShader","ShaderPass","addColorifyPass","color","alpha","arguments","length","undefined","_use$useScene","useScene","scene","camera","composer","get","Error","effectCopy","renderToScreen","colorify","enabled","uniforms","value","addPass","clean","removePass","setColor"],"sources":["../../src/postEffects/colorifyPass.ts"],"sourcesContent":["import type { Color } from '@anov/3d-core'\nimport { lib, use, utils } from '@anov/3d-core'\nimport ColorifyShader from './shader/colorify'\n\nconst { storeManagement } = utils\nconst { CopyShader, ShaderPass } = lib\n\nconst addColorifyPass = (color: Color, alpha = 0.5) => {\n const { scene, camera } = use.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 effectCopy = new ShaderPass(CopyShader)\n effectCopy.renderToScreen = true\n\n const colorify = new ShaderPass(ColorifyShader)\n colorify.enabled = true\n\n colorify.uniforms.color.value = color\n colorify.uniforms.alpha.value = alpha\n\n composer.addPass(colorify)\n composer.addPass(effectCopy)\n\n return {\n clean: () => {\n composer.removePass(effectCopy)\n composer.removePass(colorify)\n },\n setColor: (color: Color) => {\n colorify.uniforms.color.value = color\n },\n }\n}\n\nexport default addColorifyPass"],"mappings":"AACA,SAASA,GAAG,EAAEC,GAAG,EAAEC,KAAK,QAAQ,eAAe;AAC/C,OAAOC,cAAc;AAErB,IAAQC,eAAe,GAAKF,KAAK,CAAzBE,eAAe;AACvB,IAAQC,UAAU,GAAiBL,GAAG,CAA9BK,UAAU;EAAEC,UAAU,GAAKN,GAAG,CAAlBM,UAAU;AAE9B,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,KAAY,EAAkB;EAAA,IAAhBC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAChD,IAAAG,aAAA,GAA0BZ,GAAG,CAACa,QAAQ,CAAC,CAAC;IAAhCC,KAAK,GAAAF,aAAA,CAALE,KAAK;IAAEC,MAAM,GAAAH,aAAA,CAANG,MAAM;EACrB,IAAMC,QAAQ,GAAGb,eAAe,CAACc,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,IAAId,UAAU,CAACD,UAAU,CAAC;EAC7Ce,UAAU,CAACC,cAAc,GAAG,IAAI;EAEhC,IAAMC,QAAQ,GAAG,IAAIhB,UAAU,CAACH,cAAc,CAAC;EAC/CmB,QAAQ,CAACC,OAAO,GAAG,IAAI;EAEvBD,QAAQ,CAACE,QAAQ,CAAChB,KAAK,CAACiB,KAAK,GAAGjB,KAAK;EACrCc,QAAQ,CAACE,QAAQ,CAACf,KAAK,CAACgB,KAAK,GAAGhB,KAAK;EAErCQ,QAAQ,CAACS,OAAO,CAACJ,QAAQ,CAAC;EAC1BL,QAAQ,CAACS,OAAO,CAACN,UAAU,CAAC;EAE5B,OAAO;IACLO,KAAK,EAAE,SAAAA,MAAA,EAAM;MACXV,QAAQ,CAACW,UAAU,CAACR,UAAU,CAAC;MAC/BH,QAAQ,CAACW,UAAU,CAACN,QAAQ,CAAC;IAC/B,CAAC;IACDO,QAAQ,EAAE,SAAAA,SAACrB,KAAY,EAAK;MAC1Bc,QAAQ,CAACE,QAAQ,CAAChB,KAAK,CAACiB,KAAK,GAAGjB,KAAK;IACvC;EACF,CAAC;AACH,CAAC;AAED,eAAeD,eAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["lib","use","utils","EffectComposer","RenderPass","storeManagement","useSubComposerFrame","useComposerFrame","clean","initPostEffects","scene","renderer","camera","options","type","beforehooks","afterhooks","renderToScreen","composer","renderPass","func","set","addPass","isNeedRender","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 { useSubComposerFrame, useComposerFrame } = use\n\ntype InitPostEffectsOptions = {\n type: 'main' | 'sub'\n beforehooks?: () => void\n afterhooks?: () => void\n renderToScreen?: boolean\n}\n\nlet clean: () => void\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 = (\n scene: Scene,\n renderer: WebGLRenderer,\n camera: Camera,\n options?: InitPostEffectsOptions,\n) => {\n const { type, beforehooks, afterhooks, renderToScreen = true } = options || { type: 'main' }\n const composer = new EffectComposer(renderer)\n const renderPass = new RenderPass(scene, camera)\n const func = type === 'main' ? useComposerFrame : useSubComposerFrame\n\n clean && clean()\n\n storeManagement.set('composer', composer)\n storeManagement.set('renderPass', renderPass)\n\n composer.addPass(renderPass)\n composer.renderToScreen = renderToScreen\n\n // @ts-ignore\n composer.isNeedRender = true\n\n const cleanEffectsframe = func (() => {\n beforehooks && beforehooks()\n // @ts-ignore\n composer.isNeedRender && composer.render()\n afterhooks && afterhooks()\n })\n\n clean = () => {\n storeManagement.delete('composer')\n storeManagement.delete('renderPass')\n\n cleanEffectsframe()\n }\n\n return {\n composer,\n clean,\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,mBAAmB,GAAuBL,GAAG,CAA7CK,mBAAmB;EAAEC,gBAAgB,GAAKN,GAAG,CAAxBM,gBAAgB;AAS7C,IAAIC,KAAiB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,eAAe,GAAG,SAAlBA,
|
|
1
|
+
{"version":3,"names":["lib","use","utils","EffectComposer","RenderPass","storeManagement","useSubComposerFrame","useComposerFrame","clean","initPostEffects","scene","renderer","camera","options","_ref","type","beforehooks","afterhooks","_ref$renderToScreen","renderToScreen","composer","renderPass","func","set","addPass","isNeedRender","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 { useSubComposerFrame, useComposerFrame } = use\n\ntype InitPostEffectsOptions = {\n type: 'main' | 'sub'\n beforehooks?: () => void\n afterhooks?: () => void\n renderToScreen?: boolean\n}\n\nlet clean: () => void\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 = (\n scene: Scene,\n renderer: WebGLRenderer,\n camera: Camera,\n options?: InitPostEffectsOptions,\n) => {\n const { type, beforehooks, afterhooks, renderToScreen = true } = options || { type: 'main' }\n const composer = new EffectComposer(renderer)\n const renderPass = new RenderPass(scene, camera)\n const func = type === 'main' ? useComposerFrame : useSubComposerFrame\n\n clean && clean()\n\n storeManagement.set('composer', composer)\n storeManagement.set('renderPass', renderPass)\n\n composer.addPass(renderPass)\n composer.renderToScreen = renderToScreen\n\n // @ts-ignore\n composer.isNeedRender = true\n\n const cleanEffectsframe = func (() => {\n beforehooks && beforehooks()\n // @ts-ignore\n composer.isNeedRender && composer.render()\n afterhooks && afterhooks()\n })\n\n clean = () => {\n storeManagement.delete('composer')\n storeManagement.delete('renderPass')\n\n cleanEffectsframe()\n }\n\n return {\n composer,\n clean,\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,mBAAmB,GAAuBL,GAAG,CAA7CK,mBAAmB;EAAEC,gBAAgB,GAAKN,GAAG,CAAxBM,gBAAgB;AAS7C,IAAIC,KAAiB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAC1BC,KAAY,EACZC,QAAuB,EACvBC,MAAc,EACdC,OAAgC,EAC7B;EACH,IAAAC,IAAA,GAAiED,OAAO,IAAI;MAAEE,IAAI,EAAE;IAAO,CAAC;IAApFA,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IAAEC,UAAU,GAAAH,IAAA,CAAVG,UAAU;IAAAC,mBAAA,GAAAJ,IAAA,CAAEK,cAAc;IAAdA,cAAc,GAAAD,mBAAA,cAAG,IAAI,GAAAA,mBAAA;EAC5D,IAAME,QAAQ,GAAG,IAAIjB,cAAc,CAACQ,QAAQ,CAAC;EAC7C,IAAMU,UAAU,GAAG,IAAIjB,UAAU,CAACM,KAAK,EAAEE,MAAM,CAAC;EAChD,IAAMU,IAAI,GAAGP,IAAI,KAAK,MAAM,GAAGR,gBAAgB,GAAGD,mBAAmB;EAErEE,KAAK,IAAIA,KAAK,CAAC,CAAC;EAEhBH,eAAe,CAACkB,GAAG,CAAC,UAAU,EAAEH,QAAQ,CAAC;EACzCf,eAAe,CAACkB,GAAG,CAAC,YAAY,EAAEF,UAAU,CAAC;EAE7CD,QAAQ,CAACI,OAAO,CAACH,UAAU,CAAC;EAC5BD,QAAQ,CAACD,cAAc,GAAGA,cAAc;;EAExC;EACAC,QAAQ,CAACK,YAAY,GAAG,IAAI;EAE5B,IAAMC,iBAAiB,GAAGJ,IAAI,CAAE,YAAM;IACpCN,WAAW,IAAIA,WAAW,CAAC,CAAC;IAC5B;IACAI,QAAQ,CAACK,YAAY,IAAIL,QAAQ,CAACO,MAAM,CAAC,CAAC;IAC1CV,UAAU,IAAIA,UAAU,CAAC,CAAC;EAC5B,CAAC,CAAC;EAEFT,KAAK,GAAG,SAAAA,MAAA,EAAM;IACZH,eAAe,CAACuB,MAAM,CAAC,UAAU,CAAC;IAClCvB,eAAe,CAACuB,MAAM,CAAC,YAAY,CAAC;IAEpCF,iBAAiB,CAAC,CAAC;EACrB,CAAC;EAED,OAAO;IACLN,QAAQ,EAARA,QAAQ;IACRZ,KAAK,EAALA;EACF,CAAC;AACH,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
function _typeof(
|
|
2
|
-
function ownKeys(
|
|
3
|
-
function _objectSpread(
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
4
|
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; }
|
|
5
|
-
function _toPropertyKey(
|
|
6
|
-
function _toPrimitive(
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
7
|
import { OutlinePassExtend, Vector2, lib, use, utils } from '@anov/3d-core';
|
|
8
8
|
var storeManagement = utils.storeManagement;
|
|
9
9
|
var ShaderPass = lib.ShaderPass,
|
|
@@ -1 +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, 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,EAAEC,OAAO,EAAEC,GAAG,EAAEC,GAAG,EAAEC,KAAK,QAAQ,eAAe;AAW3E,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,
|
|
1
|
+
{"version":3,"names":["OutlinePassExtend","Vector2","lib","use","utils","storeManagement","ShaderPass","FXAAShader","GammaCorrectionShader","useScene","createHighSelectedTool","highParams","baseHighParams","edgeStrength","edgeGlow","edgeThickness","visibleEdgeColor","hiddenEdgeColor","lastHighParams","_objectSpread","_useScene","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, 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,EAAEC,OAAO,EAAEC,GAAG,EAAEC,GAAG,EAAEC,KAAK,QAAQ,eAAe;AAW3E,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,sBAAsBA,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,GAAAC,aAAA,CAAAA,aAAA,KACfP,cAAc,GACdD,UAAU,CACd;EAED,IAAAS,SAAA,GAA0BX,QAAQ,CAAC,CAAC;IAA5BY,KAAK,GAAAD,SAAA,CAALC,KAAK;IAAEC,MAAM,GAAAF,SAAA,CAANE,MAAM;EACrB,IAAMC,QAAQ,GAAGlB,eAAe,CAACmB,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,IAAI1B,iBAAiB,CAAC,IAAIC,OAAO,CAAC0B,MAAM,CAACC,UAAU,EAAED,MAAM,CAACE,WAAW,CAAC,EAAER,KAAK,EAAEC,MAAM,CAAC;EAE5GI,WAAW,CAACb,YAAY,GAAGK,cAAc,CAACL,YAAY;EACtDa,WAAW,CAACZ,QAAQ,GAAGI,cAAc,CAACJ,QAAQ;EAC9CY,WAAW,CAACX,aAAa,GAAGG,cAAc,CAACH,aAAa;EACxDG,cAAc,CAACY,WAAW,KAAKJ,WAAW,CAACI,WAAW,GAAGZ,cAAc,CAACY,WAAW,CAAC;EACpFJ,WAAW,CAACV,gBAAgB,CAACe,GAAG,CAACb,cAAc,CAACF,gBAAgB,CAAC;EAEjEO,QAAQ,CAACS,OAAO,CAACN,WAAW,CAAC;EAE7B,IAAMO,qBAAqB,GAAG,IAAI3B,UAAU,CAACE,qBAAqB,CAAC;EAEnE,IAAI,CAACH,eAAe,CAACmB,GAAG,CAAU,6BAA6B,CAAC,EAAE;IAChED,QAAQ,CAACS,OAAO,CAACC,qBAAqB,CAAC;IACvC5B,eAAe,CAAC0B,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,eAAexB,sBAAsB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["use","BlendFunction","DepthDownsamplingPass","EdgeDetectionMode","EffectComposer","EffectPass","NormalPass","PredicationMode","RenderPass","SMAAEffect","SMAAPreset","SSAOEffect","TextureEffect","useComposerFrame","initPostEffectsV2","scene","renderer","camera","composer","addPass","normalPass","depthDownsamplingPass","normalBuffer","texture","resolutionScale","normalDepthBuffer","smaaEffect","preset","MEDIUM","edgeDetectionMode","COLOR","predicationMode","DEPTH","edgeDetectionMaterial","setEdgeDetectionThreshold","ssaoEffect","blendFunction","MULTIPLY","distanceScaling","depthAwareUpsampling","samples","rings","distanceThreshold","distanceFalloff","rangeThreshold","rangeFalloff","luminanceInfluence","minRadiusScale","radius","intensity","bias","fade","color","textureEffect","SKIP","effectPass","render"],"sources":["../../src/postEffects/postprocessing.ts"],"sourcesContent":["import { type Camera, type Scene, type WebGLRenderer, use } from '@anov/3d-core'\nimport { BlendFunction, DepthDownsamplingPass, EdgeDetectionMode, EffectComposer, EffectPass, NormalPass, PredicationMode, RenderPass, SMAAEffect, SMAAPreset, SSAOEffect, TextureEffect } from 'postprocessing'\n\nconst { useComposerFrame } = use\n\nexport const initPostEffectsV2 = (\n scene: Scene,\n renderer: WebGLRenderer,\n camera: Camera,\n) => {\n const composer = new EffectComposer(renderer)\n composer.addPass(new RenderPass(scene, camera))\n\n const normalPass = new NormalPass(scene, camera)\n const depthDownsamplingPass = new DepthDownsamplingPass({\n normalBuffer: normalPass.texture,\n resolutionScale: 0.5,\n })\n\n const normalDepthBuffer = depthDownsamplingPass.texture\n\n const smaaEffect = new SMAAEffect({\n preset: SMAAPreset.MEDIUM,\n edgeDetectionMode: EdgeDetectionMode.COLOR,\n predicationMode: PredicationMode.DEPTH,\n })\n\n smaaEffect.edgeDetectionMaterial.setEdgeDetectionThreshold(0.01)\n\n const ssaoEffect = new SSAOEffect(camera, normalPass.texture, {\n blendFunction: BlendFunction.MULTIPLY,\n distanceScaling: true,\n depthAwareUpsampling: true,\n normalDepthBuffer,\n samples: 9,\n rings: 7,\n distanceThreshold: 0.02, // Render up to a distance of ~20 world units\n distanceFalloff: 0.0025, // with an additional ~2.5 units of falloff.\n rangeThreshold: 0.0003, // Occlusion proximity of ~0.3 world units\n rangeFalloff: 0.0001, // with ~0.1 units of falloff.\n luminanceInfluence: 0.7,\n minRadiusScale: 0.33,\n radius: 0.1,\n intensity: 1.33,\n bias: 0.025,\n fade: 0.01,\n color: null,\n resolutionScale: 0.5,\n })\n\n const textureEffect = new TextureEffect({\n blendFunction: BlendFunction.SKIP,\n texture: depthDownsamplingPass.texture,\n })\n\n const effectPass = new EffectPass(camera, smaaEffect, ssaoEffect, textureEffect)\n\n composer.addPass(normalPass)\n composer.addPass(depthDownsamplingPass)\n composer.addPass(effectPass)\n\n useComposerFrame(() => {\n composer.render()\n })\n}"],"mappings":"AAAA,SAAsDA,GAAG,QAAQ,eAAe;AAChF,SAASC,aAAa,EAAEC,qBAAqB,EAAEC,iBAAiB,EAAEC,cAAc,EAAEC,UAAU,EAAEC,UAAU,EAAEC,eAAe,EAAEC,UAAU,EAAEC,UAAU,EAAEC,UAAU,EAAEC,UAAU,EAAEC,aAAa,QAAQ,gBAAgB;AAEhN,IAAQC,gBAAgB,GAAKb,GAAG,CAAxBa,gBAAgB;AAExB,OAAO,IAAMC,iBAAiB,GAAG,SAApBA,
|
|
1
|
+
{"version":3,"names":["use","BlendFunction","DepthDownsamplingPass","EdgeDetectionMode","EffectComposer","EffectPass","NormalPass","PredicationMode","RenderPass","SMAAEffect","SMAAPreset","SSAOEffect","TextureEffect","useComposerFrame","initPostEffectsV2","scene","renderer","camera","composer","addPass","normalPass","depthDownsamplingPass","normalBuffer","texture","resolutionScale","normalDepthBuffer","smaaEffect","preset","MEDIUM","edgeDetectionMode","COLOR","predicationMode","DEPTH","edgeDetectionMaterial","setEdgeDetectionThreshold","ssaoEffect","blendFunction","MULTIPLY","distanceScaling","depthAwareUpsampling","samples","rings","distanceThreshold","distanceFalloff","rangeThreshold","rangeFalloff","luminanceInfluence","minRadiusScale","radius","intensity","bias","fade","color","textureEffect","SKIP","effectPass","render"],"sources":["../../src/postEffects/postprocessing.ts"],"sourcesContent":["import { type Camera, type Scene, type WebGLRenderer, use } from '@anov/3d-core'\nimport { BlendFunction, DepthDownsamplingPass, EdgeDetectionMode, EffectComposer, EffectPass, NormalPass, PredicationMode, RenderPass, SMAAEffect, SMAAPreset, SSAOEffect, TextureEffect } from 'postprocessing'\n\nconst { useComposerFrame } = use\n\nexport const initPostEffectsV2 = (\n scene: Scene,\n renderer: WebGLRenderer,\n camera: Camera,\n) => {\n const composer = new EffectComposer(renderer)\n composer.addPass(new RenderPass(scene, camera))\n\n const normalPass = new NormalPass(scene, camera)\n const depthDownsamplingPass = new DepthDownsamplingPass({\n normalBuffer: normalPass.texture,\n resolutionScale: 0.5,\n })\n\n const normalDepthBuffer = depthDownsamplingPass.texture\n\n const smaaEffect = new SMAAEffect({\n preset: SMAAPreset.MEDIUM,\n edgeDetectionMode: EdgeDetectionMode.COLOR,\n predicationMode: PredicationMode.DEPTH,\n })\n\n smaaEffect.edgeDetectionMaterial.setEdgeDetectionThreshold(0.01)\n\n const ssaoEffect = new SSAOEffect(camera, normalPass.texture, {\n blendFunction: BlendFunction.MULTIPLY,\n distanceScaling: true,\n depthAwareUpsampling: true,\n normalDepthBuffer,\n samples: 9,\n rings: 7,\n distanceThreshold: 0.02, // Render up to a distance of ~20 world units\n distanceFalloff: 0.0025, // with an additional ~2.5 units of falloff.\n rangeThreshold: 0.0003, // Occlusion proximity of ~0.3 world units\n rangeFalloff: 0.0001, // with ~0.1 units of falloff.\n luminanceInfluence: 0.7,\n minRadiusScale: 0.33,\n radius: 0.1,\n intensity: 1.33,\n bias: 0.025,\n fade: 0.01,\n color: null,\n resolutionScale: 0.5,\n })\n\n const textureEffect = new TextureEffect({\n blendFunction: BlendFunction.SKIP,\n texture: depthDownsamplingPass.texture,\n })\n\n const effectPass = new EffectPass(camera, smaaEffect, ssaoEffect, textureEffect)\n\n composer.addPass(normalPass)\n composer.addPass(depthDownsamplingPass)\n composer.addPass(effectPass)\n\n useComposerFrame(() => {\n composer.render()\n })\n}"],"mappings":"AAAA,SAAsDA,GAAG,QAAQ,eAAe;AAChF,SAASC,aAAa,EAAEC,qBAAqB,EAAEC,iBAAiB,EAAEC,cAAc,EAAEC,UAAU,EAAEC,UAAU,EAAEC,eAAe,EAAEC,UAAU,EAAEC,UAAU,EAAEC,UAAU,EAAEC,UAAU,EAAEC,aAAa,QAAQ,gBAAgB;AAEhN,IAAQC,gBAAgB,GAAKb,GAAG,CAAxBa,gBAAgB;AAExB,OAAO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAC5BC,KAAY,EACZC,QAAuB,EACvBC,MAAc,EACX;EACH,IAAMC,QAAQ,GAAG,IAAId,cAAc,CAACY,QAAQ,CAAC;EAC7CE,QAAQ,CAACC,OAAO,CAAC,IAAIX,UAAU,CAACO,KAAK,EAAEE,MAAM,CAAC,CAAC;EAE/C,IAAMG,UAAU,GAAG,IAAId,UAAU,CAACS,KAAK,EAAEE,MAAM,CAAC;EAChD,IAAMI,qBAAqB,GAAG,IAAInB,qBAAqB,CAAC;IACtDoB,YAAY,EAAEF,UAAU,CAACG,OAAO;IAChCC,eAAe,EAAE;EACnB,CAAC,CAAC;EAEF,IAAMC,iBAAiB,GAAGJ,qBAAqB,CAACE,OAAO;EAEvD,IAAMG,UAAU,GAAG,IAAIjB,UAAU,CAAC;IAChCkB,MAAM,EAAEjB,UAAU,CAACkB,MAAM;IACzBC,iBAAiB,EAAE1B,iBAAiB,CAAC2B,KAAK;IAC1CC,eAAe,EAAExB,eAAe,CAACyB;EACnC,CAAC,CAAC;EAEFN,UAAU,CAACO,qBAAqB,CAACC,yBAAyB,CAAC,IAAI,CAAC;EAEhE,IAAMC,UAAU,GAAG,IAAIxB,UAAU,CAACM,MAAM,EAAEG,UAAU,CAACG,OAAO,EAAE;IAC5Da,aAAa,EAAEnC,aAAa,CAACoC,QAAQ;IACrCC,eAAe,EAAE,IAAI;IACrBC,oBAAoB,EAAE,IAAI;IAC1Bd,iBAAiB,EAAjBA,iBAAiB;IACjBe,OAAO,EAAE,CAAC;IACVC,KAAK,EAAE,CAAC;IACRC,iBAAiB,EAAE,IAAI;IAAE;IACzBC,eAAe,EAAE,MAAM;IAAE;IACzBC,cAAc,EAAE,MAAM;IAAE;IACxBC,YAAY,EAAE,MAAM;IAAE;IACtBC,kBAAkB,EAAE,GAAG;IACvBC,cAAc,EAAE,IAAI;IACpBC,MAAM,EAAE,GAAG;IACXC,SAAS,EAAE,IAAI;IACfC,IAAI,EAAE,KAAK;IACXC,IAAI,EAAE,IAAI;IACVC,KAAK,EAAE,IAAI;IACX5B,eAAe,EAAE;EACnB,CAAC,CAAC;EAEF,IAAM6B,aAAa,GAAG,IAAIzC,aAAa,CAAC;IACtCwB,aAAa,EAAEnC,aAAa,CAACqD,IAAI;IACjC/B,OAAO,EAAEF,qBAAqB,CAACE;EACjC,CAAC,CAAC;EAEF,IAAMgC,UAAU,GAAG,IAAIlD,UAAU,CAACY,MAAM,EAAES,UAAU,EAAES,UAAU,EAAEkB,aAAa,CAAC;EAEhFnC,QAAQ,CAACC,OAAO,CAACC,UAAU,CAAC;EAC5BF,QAAQ,CAACC,OAAO,CAACE,qBAAqB,CAAC;EACvCH,QAAQ,CAACC,OAAO,CAACoC,UAAU,CAAC;EAE5B1C,gBAAgB,CAAC,YAAM;IACrBK,QAAQ,CAACsC,MAAM,CAAC,CAAC;EACnB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OutputPass","lib","use","utils","storeManagement","SAOPass","addSAOPass","useScene","scene","camera","composer","get","Error","saoPass","addPass","outputPass","removePass"],"sources":["../../src/postEffects/saoPass.ts"],"sourcesContent":["import { OutputPass, lib, use, utils } from '@anov/3d-core'\n\nconst { storeManagement } = utils\nconst { SAOPass } = lib\n\n/**\n * add ssao 环境光遮蔽\n * @returns\n */\nconst addSAOPass = () => {\n const { scene, camera } = use.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 saoPass = new SAOPass(scene, camera)\n composer.addPass(saoPass)\n\n const outputPass = new OutputPass()\n composer.addPass(outputPass)\n\n return () => {\n composer.removePass(saoPass)\n composer.removePass(outputPass)\n }\n}\n\nexport default addSAOPass\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,GAAG,EAAEC,GAAG,EAAEC,KAAK,QAAQ,eAAe;AAE3D,IAAQC,eAAe,GAAKD,KAAK,CAAzBC,eAAe;AACvB,IAAQC,OAAO,GAAKJ,GAAG,CAAfI,OAAO;;AAEf;AACA;AACA;AACA;AACA,IAAMC,UAAU,GAAG,SAAbA,
|
|
1
|
+
{"version":3,"names":["OutputPass","lib","use","utils","storeManagement","SAOPass","addSAOPass","_use$useScene","useScene","scene","camera","composer","get","Error","saoPass","addPass","outputPass","removePass"],"sources":["../../src/postEffects/saoPass.ts"],"sourcesContent":["import { OutputPass, lib, use, utils } from '@anov/3d-core'\n\nconst { storeManagement } = utils\nconst { SAOPass } = lib\n\n/**\n * add ssao 环境光遮蔽\n * @returns\n */\nconst addSAOPass = () => {\n const { scene, camera } = use.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 saoPass = new SAOPass(scene, camera)\n composer.addPass(saoPass)\n\n const outputPass = new OutputPass()\n composer.addPass(outputPass)\n\n return () => {\n composer.removePass(saoPass)\n composer.removePass(outputPass)\n }\n}\n\nexport default addSAOPass\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,GAAG,EAAEC,GAAG,EAAEC,KAAK,QAAQ,eAAe;AAE3D,IAAQC,eAAe,GAAKD,KAAK,CAAzBC,eAAe;AACvB,IAAQC,OAAO,GAAKJ,GAAG,CAAfI,OAAO;;AAEf;AACA;AACA;AACA;AACA,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAA,EAAS;EACvB,IAAAC,aAAA,GAA0BL,GAAG,CAACM,QAAQ,CAAC,CAAC;IAAhCC,KAAK,GAAAF,aAAA,CAALE,KAAK;IAAEC,MAAM,GAAAH,aAAA,CAANG,MAAM;EACrB,IAAMC,QAAQ,GAAGP,eAAe,CAACQ,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,OAAO,GAAG,IAAIT,OAAO,CAACI,KAAK,EAAEC,MAAM,CAAC;EAC1CC,QAAQ,CAACI,OAAO,CAACD,OAAO,CAAC;EAEzB,IAAME,UAAU,GAAG,IAAIhB,UAAU,CAAC,CAAC;EACnCW,QAAQ,CAACI,OAAO,CAACC,UAAU,CAAC;EAE5B,OAAO,YAAM;IACXL,QAAQ,CAACM,UAAU,CAACH,OAAO,CAAC;IAC5BH,QAAQ,CAACM,UAAU,CAACD,UAAU,CAAC;EACjC,CAAC;AACH,CAAC;AAED,eAAeV,UAAU"}
|
package/dist/scene/grow/grow.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
function _typeof(
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
2
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3
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
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
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(
|
|
7
|
-
function _toPrimitive(
|
|
6
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
7
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
8
|
import { Box3, Object3D, Vector3, use } from '@anov/3d-core';
|
|
9
9
|
import { EEaseType, ESceneGrowType } from "./type";
|
|
10
10
|
import { GrowStyleDown, GrowStyleUp } from "./growStyle";
|
|
@@ -77,7 +77,6 @@ export var Grow = /*#__PURE__*/function () {
|
|
|
77
77
|
// 可选,初始化UP/DOWN起始旋转角度,默认true
|
|
78
78
|
isScale: true // 可选,初始化UP/DOWN起始缩放大小,默认true
|
|
79
79
|
};
|
|
80
|
-
|
|
81
80
|
Object.assign(this.option, opt);
|
|
82
81
|
// ------- 1.初始化目标对象 --------
|
|
83
82
|
this.objs.length = 0;
|
|
@@ -1 +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","
|
|
1
|
+
{"version":3,"names":["Box3","Object3D","Vector3","use","EEaseType","ESceneGrowType","GrowStyleDown","GrowStyleUp","Grow","opt","_classCallCheck","_defineProperty","objs","option","growStyle","init","_createClass","key","value","_in","callback","_this","onGrowInStart","getTimeLine","eventCallback","onGrowInCompleted","in","out","_this2","onGrowOutStart","onGrowOutCompleted","_this3","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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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
function _typeof(
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
2
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3
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
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
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(
|
|
7
|
-
function _toPrimitive(
|
|
6
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
7
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
8
|
import { MathUtils, Vector3, gsap } from '@anov/3d-core';
|
|
9
9
|
// 向下掉落
|
|
10
10
|
export var GrowStyleDown = /*#__PURE__*/function () {
|
|
@@ -1 +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":";;;;;;;AACA,SAASA,SAAS,EAAEC,OAAO,EAAEC,IAAI,QAAa,eAAe;AAG7D;AACA,WAAaC,aAAa;EAMxB,
|
|
1
|
+
{"version":3,"names":["MathUtils","Vector3","gsap","GrowStyleDown","objs","opt","_classCallCheck","_defineProperty","_objs","_opt","_tl","maxDistance","_createClass","key","value","init","_this","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","_in","_this2","clear","add","to","duration","ease","delay","rotation","play","out","timeScale","reverse","getTimeLine"],"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":";;;;;;;AACA,SAASA,SAAS,EAAEC,OAAO,EAAEC,IAAI,QAAa,eAAe;AAG7D;AACA,WAAaC,aAAa;EAMxB,SAAAA,cAAYC,IAAqB,EAAEC,GAAe,EAAE;IAAAC,eAAA,OAAAH,aAAA;IAAAI,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAClD,IAAI,CAACC,KAAK,GAAGJ,IAAI;IACjB,IAAI,CAACK,IAAI,GAAGJ,GAAG;IACf,IAAI,CAACK,GAAG,GAAG,IAAI;IACf,IAAI,CAACC,WAAW,GAAG,CAAC;EACtB;;EAEA;EAAAC,YAAA,CAAAT,aAAA;IAAAU,GAAA;IAAAC,KAAA,EACA,SAAAC,KAAA,EAAa;MAAA,IAAAC,KAAA;MACX,IAAI,CAACN,GAAG,GAAGR,IAAI,CAACe,QAAQ,CAAC,CAAC;MAE1B,IAAMC,GAAG,GAAG,IAAI,CAACT,IAAI,CAACU,OAAO,GAAG,IAAI,CAACV,IAAI,CAACW,IAAI;MAC9C;MACA,IAAIC,KAAK,CAACC,OAAO,CAAC,IAAI,CAACb,IAAI,CAACc,MAAM,CAAC,EACjC,IAAI,CAACd,IAAI,CAACc,MAAM,GAAG,IAAItB,OAAO,CAAC,CAAC,CAACuB,SAAS,CAAC,IAAI,CAACf,IAAI,CAACc,MAAkB,CAAC;MAC1E;MACA,IAAI,CAACf,KAAK,CAACiB,GAAG,CAAC,UAACC,GAAG,EAAK;QACtB,IAAMC,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAACH,GAAG,CAACI,QAAQ,CAACC,UAAU,CAACf,KAAI,CAACP,IAAI,CAACc,MAAiB,CAAC,CAAC;QAC/EG,GAAG,CAACM,QAAQ,CAACC,YAAY,GAAGN,QAAQ;QACpCD,GAAG,CAACM,QAAQ,CAACE,KAAK,GAAGR,GAAG,CAACI,QAAQ,CAACK,CAAC;QACnC,IAAIR,QAAQ,GAAGX,KAAI,CAACL,WAAW,EAC7BK,KAAI,CAACL,WAAW,GAAGgB,QAAQ;MAC/B,CAAC,CAAC;MAEF,IAAI,CAACnB,KAAK,CAACiB,GAAG,CAAC,UAACC,GAAG,EAAK;QACtB;QACAA,GAAG,CAACM,QAAQ,CAACI,SAAS,GAAGpC,SAAS,CAACqC,IAAI,CAAC,CAAC,EAAEnB,GAAG,EAAEQ,GAAG,CAACM,QAAQ,CAACC,YAAY,GAAGjB,KAAI,CAACL,WAAW,CAAC;QAC7F;QACAe,GAAG,CAACI,QAAQ,CAACK,CAAC,IAAInB,KAAI,CAACP,IAAI,CAACkB,QAAQ;QACpC;QACAX,KAAI,CAACP,IAAI,CAAC6B,QAAQ,IAAIZ,GAAG,CAACa,OAAO,CAACvC,SAAS,CAACwC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC1D;QACAxB,KAAI,CAACP,IAAI,CAACgC,OAAO,IAAIf,GAAG,CAACgB,KAAK,CAACC,GAAG,CAACjB,GAAG,CAACgB,KAAK,CAACE,CAAC,GAAG,GAAG,EAAElB,GAAG,CAACgB,KAAK,CAACP,CAAC,GAAG,GAAG,EAAET,GAAG,CAACgB,KAAK,CAACG,CAAC,GAAG,GAAG,CAAC;MAC7F,CAAC,CAAC;IACJ;EAAC;IAAAhC,GAAA;IAAAC,KAAA,EAED,SAAAgC,IAAA,EAAW;MAAA,IAAAC,MAAA;MACT,IAAI,CAACrC,GAAG,CAACsC,KAAK,CAAC,CAAC;MAEhB,IAAI,CAACxC,KAAK,CAACiB,GAAG,CAAC,UAACC,GAAG,EAAK;QACtBqB,MAAI,CAACrC,GAAG,CAACuC,GAAG,CAAC/C,IAAI,CAACgD,EAAE,CAACxB,GAAG,CAACI,QAAQ,EAAE;UAAEK,CAAC,EAAET,GAAG,CAACI,QAAQ,CAACK,CAAC,GAAGY,MAAI,CAACtC,IAAI,CAACkB,QAAQ;UAAEwB,QAAQ,EAAEJ,MAAI,CAACtC,IAAI,CAACW,IAAI;UAAEgC,IAAI,EAAEL,MAAI,CAACtC,IAAI,CAAC2C,IAAI;UAAEC,KAAK,EAAE3B,GAAG,CAACM,QAAQ,CAACI;QAAU,CAAC,CAAC,EAAE,CAAC,CAAC;QACjK,IAAIW,MAAI,CAACtC,IAAI,CAAC6B,QAAQ,EACpBS,MAAI,CAACrC,GAAG,CAACuC,GAAG,CAAC/C,IAAI,CAACgD,EAAE,CAACxB,GAAG,CAAC4B,QAAQ,EAAE;UAAEnB,CAAC,EAAE,CAAC;UAAEgB,QAAQ,EAAEJ,MAAI,CAACtC,IAAI,CAACW,IAAI;UAAEgC,IAAI,EAAEL,MAAI,CAACtC,IAAI,CAAC2C,IAAI;UAAEC,KAAK,EAAE3B,GAAG,CAACM,QAAQ,CAACI;QAAU,CAAC,CAAC,EAAE,CAAC,CAAC;QACjI,IAAIW,MAAI,CAACtC,IAAI,CAACgC,OAAO,EACnBM,MAAI,CAACrC,GAAG,CAACuC,GAAG,CAAC/C,IAAI,CAACgD,EAAE,CAACxB,GAAG,CAACgB,KAAK,EAAE;UAAEE,CAAC,EAAE,CAAC;UAAET,CAAC,EAAE,CAAC;UAAEU,CAAC,EAAE,CAAC;UAAEM,QAAQ,EAAEJ,MAAI,CAACtC,IAAI,CAACW,IAAI;UAAEgC,IAAI,EAAEL,MAAI,CAACtC,IAAI,CAAC2C,IAAI;UAAEC,KAAK,EAAE3B,GAAG,CAACM,QAAQ,CAACI;QAAU,CAAC,CAAC,EAAE,CAAC,CAAC;MAC5I,CAAC,CAAC;MACF,IAAI,CAAC1B,GAAG,CAAC6C,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC;IACzB;EAAC;IAAA1C,GAAA;IAAAC,KAAA,EAED,SAAA0C,IAAA,EAAY;MACV,IAAI,CAAC9C,GAAG,CAAC+C,SAAS,CAAC,IAAI,CAAChD,IAAI,CAACiC,KAAK,CAAC,CAACgB,OAAO,CAAC,CAAC;IAC/C;EAAC;IAAA7C,GAAA;IAAAC,KAAA,EAED,SAAA6C,YAAA,EAAkC;MAChC,OAAO,IAAI,CAACjD,GAAG;IACjB;EAAC;EAAA,OAAAP,aAAA;AAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
function _typeof(
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
2
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3
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
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
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(
|
|
7
|
-
function _toPrimitive(
|
|
6
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
7
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
8
|
import { MathUtils, Vector3, gsap } from '@anov/3d-core';
|
|
9
9
|
// 向上生长
|
|
10
10
|
export var GrowStyleUp = /*#__PURE__*/function () {
|
|
@@ -1 +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":";;;;;;;AACA,SAASA,SAAS,EAAEC,OAAO,EAAEC,IAAI,QAAa,eAAe;AAG7D;AACA,WAAaC,WAAW;EAMtB,
|
|
1
|
+
{"version":3,"names":["MathUtils","Vector3","gsap","GrowStyleUp","objs","opt","_classCallCheck","_defineProperty","_objs","_opt","_tl","maxDistance","_createClass","key","value","init","_this","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","_in","_this2","clear","add","to","duration","ease","delay","rotation","play","out","timeScale","reverse","getTimeLine"],"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":";;;;;;;AACA,SAASA,SAAS,EAAEC,OAAO,EAAEC,IAAI,QAAa,eAAe;AAG7D;AACA,WAAaC,WAAW;EAMtB,SAAAA,YAAYC,IAAqB,EAAEC,GAAe,EAAE;IAAAC,eAAA,OAAAH,WAAA;IAAAI,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAClD,IAAI,CAACC,KAAK,GAAGJ,IAAI;IACjB,IAAI,CAACK,IAAI,GAAGJ,GAAG;IACf,IAAI,CAACK,GAAG,GAAG,IAAI,EAAC;IAChB,IAAI,CAACC,WAAW,GAAG,CAAC;EACtB;;EAEA;EAAAC,YAAA,CAAAT,WAAA;IAAAU,GAAA;IAAAC,KAAA,EACA,SAAAC,KAAA,EAAa;MAAA,IAAAC,KAAA;MACX,IAAI,CAACN,GAAG,GAAGR,IAAI,CAACe,QAAQ,CAAC,CAAC;MAE1B,IAAMC,GAAG,GAAG,IAAI,CAACT,IAAI,CAACU,OAAO,GAAG,IAAI,CAACV,IAAI,CAACW,IAAI;MAC9C;MACA,IAAIC,KAAK,CAACC,OAAO,CAAC,IAAI,CAACb,IAAI,CAACc,MAAM,CAAC,EACjC,IAAI,CAACd,IAAI,CAACc,MAAM,GAAG,IAAItB,OAAO,CAAC,CAAC,CAACuB,SAAS,CAAC,IAAI,CAACf,IAAI,CAACc,MAAkB,CAAC;MAC1E;MACA,IAAI,CAACf,KAAK,CAACiB,GAAG,CAAC,UAACC,GAAG,EAAK;QACtB,IAAMC,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAACH,GAAG,CAACI,QAAQ,CAACC,UAAU,CAACf,KAAI,CAACP,IAAI,CAACc,MAAiB,CAAC,CAAC;QAC/EG,GAAG,CAACM,QAAQ,CAACC,YAAY,GAAGN,QAAQ;QACpCD,GAAG,CAACM,QAAQ,CAACE,KAAK,GAAGR,GAAG,CAACI,QAAQ,CAACK,CAAC;QACnC,IAAIR,QAAQ,GAAGX,KAAI,CAACL,WAAW,EAC7BK,KAAI,CAACL,WAAW,GAAGgB,QAAQ;MAC/B,CAAC,CAAC;MAEF,IAAI,CAACnB,KAAK,CAACiB,GAAG,CAAC,UAACC,GAAG,EAAK;QACtB;QACAA,GAAG,CAACM,QAAQ,CAACI,SAAS,GAAGpC,SAAS,CAACqC,IAAI,CAAC,CAAC,EAAEnB,GAAG,EAAEQ,GAAG,CAACM,QAAQ,CAACC,YAAY,GAAGjB,KAAI,CAACL,WAAW,CAAC;QAC7F;QACAe,GAAG,CAACI,QAAQ,CAACK,CAAC,IAAInB,KAAI,CAACP,IAAI,CAACkB,QAAQ;QACpC;QACAX,KAAI,CAACP,IAAI,CAAC6B,QAAQ,IAAIZ,GAAG,CAACa,OAAO,CAACvC,SAAS,CAACwC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC1D;QACAxB,KAAI,CAACP,IAAI,CAACgC,OAAO,IAAIf,GAAG,CAACgB,KAAK,CAACC,GAAG,CAACjB,GAAG,CAACgB,KAAK,CAACE,CAAC,GAAG,GAAG,EAAElB,GAAG,CAACgB,KAAK,CAACP,CAAC,GAAG,GAAG,EAAET,GAAG,CAACgB,KAAK,CAACG,CAAC,GAAG,GAAG,CAAC;MAC7F,CAAC,CAAC;IACJ;EAAC;IAAAhC,GAAA;IAAAC,KAAA,EAED,SAAAgC,IAAA,EAAW;MAAA,IAAAC,MAAA;MACT,IAAI,CAACrC,GAAG,CAACsC,KAAK,CAAC,CAAC;MAChB;MACA,IAAI,CAACxC,KAAK,CAACiB,GAAG,CAAC,UAACC,GAAG,EAAK;QACtB;QACAqB,MAAI,CAACrC,GAAG,CAACuC,GAAG,CAAC/C,IAAI,CAACgD,EAAE,CAACxB,GAAG,CAACI,QAAQ,EAAE;UAAEK,CAAC,EAAET,GAAG,CAACI,QAAQ,CAACK,CAAC,GAAGY,MAAI,CAACtC,IAAI,CAACkB,QAAQ;UAAEwB,QAAQ,EAAEJ,MAAI,CAACtC,IAAI,CAACW,IAAI;UAAEgC,IAAI,EAAEL,MAAI,CAACtC,IAAI,CAAC2C,IAAI;UAAEC,KAAK,EAAE3B,GAAG,CAACM,QAAQ,CAACI;QAAU,CAAC,CAAC,EAAE,CAAC,CAAC;QACjK;QACA,IAAIW,MAAI,CAACtC,IAAI,CAAC6B,QAAQ,EACpBS,MAAI,CAACrC,GAAG,CAACuC,GAAG,CAAC/C,IAAI,CAACgD,EAAE,CAACxB,GAAG,CAAC4B,QAAQ,EAAE;UAAEnB,CAAC,EAAE,CAAC;UAAEgB,QAAQ,EAAEJ,MAAI,CAACtC,IAAI,CAACW,IAAI;UAAEgC,IAAI,EAAEL,MAAI,CAACtC,IAAI,CAAC2C,IAAI;UAAEC,KAAK,EAAE3B,GAAG,CAACM,QAAQ,CAACI;QAAU,CAAC,CAAC,EAAE,CAAC,CAAC;QACjI;QACA,IAAIW,MAAI,CAACtC,IAAI,CAACgC,OAAO,EACnBM,MAAI,CAACrC,GAAG,CAACuC,GAAG,CAAC/C,IAAI,CAACgD,EAAE,CAACxB,GAAG,CAACgB,KAAK,EAAE;UAAEE,CAAC,EAAE,CAAC;UAAET,CAAC,EAAE,CAAC;UAAEU,CAAC,EAAE,CAAC;UAAEM,QAAQ,EAAEJ,MAAI,CAACtC,IAAI,CAACW,IAAI;UAAEgC,IAAI,EAAEL,MAAI,CAACtC,IAAI,CAAC2C,IAAI;UAAEC,KAAK,EAAE3B,GAAG,CAACM,QAAQ,CAACI;QAAU,CAAC,CAAC,EAAE,CAAC,CAAC;MAC5I,CAAC,CAAC;MACF,IAAI,CAAC1B,GAAG,CAAC6C,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC;IACzB;EAAC;IAAA1C,GAAA;IAAAC,KAAA,EAED,SAAA0C,IAAA,EAAY;MACV,IAAI,CAAC9C,GAAG,CAAC+C,SAAS,CAAC,IAAI,CAAChD,IAAI,CAACiC,KAAK,CAAC,CAACgB,OAAO,CAAC,CAAC;IAC/C;EAAC;IAAA7C,GAAA;IAAAC,KAAA,EAED,SAAA6C,YAAA,EAAkC;MAChC,OAAO,IAAI,CAACjD,GAAG;IACjB;EAAC;EAAA,OAAAP,WAAA;AAAA"}
|
package/dist/scene/grow/type.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// 生长动画类型
|
|
2
|
-
export var ESceneGrowType
|
|
3
|
-
|
|
4
|
-
// 动画ease类型
|
|
5
|
-
(function (ESceneGrowType) {
|
|
2
|
+
export var ESceneGrowType = /*#__PURE__*/function (ESceneGrowType) {
|
|
6
3
|
ESceneGrowType[ESceneGrowType["Up"] = 0] = "Up";
|
|
7
4
|
ESceneGrowType[ESceneGrowType["Down"] = 1] = "Down";
|
|
8
|
-
|
|
5
|
+
return ESceneGrowType;
|
|
6
|
+
}({});
|
|
7
|
+
|
|
8
|
+
// 动画ease类型
|
|
9
9
|
export var EEaseType = {
|
|
10
10
|
Linear: 'none',
|
|
11
11
|
// 均速
|
|
@@ -1 +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
|
|
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,0BAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;;AAK1B;AACA,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"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const getLastValue: <T>(optsValue: T
|
|
1
|
+
export declare const getLastValue: <T>(optsValue: T, value: T) => T;
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +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,
|
|
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,YAAYA,CAAOC,SAA+B,EAAEC,KAAQ,EAAQ;EAC/E,OAAOD,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIC,KAAK;AAC3B,CAAC"}
|