@galacean/effects-core 2.7.3 → 2.7.4

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/index.mjs CHANGED
@@ -3,7 +3,7 @@
3
3
  * Description: Galacean Effects runtime core for the web
4
4
  * Author: Ant Group CO., Ltd.
5
5
  * Contributors: 燃然,飂兮,十弦,云垣,茂安,意绮
6
- * Version: v2.7.3
6
+ * Version: v2.7.4
7
7
  */
8
8
 
9
9
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
@@ -20315,7 +20315,7 @@ function calculateDirection(prePoint, point, nextPoint) {
20315
20315
  if (this.time >= 0 && this.time < particleSystem.item.duration && particleSystem.isEnded()) {
20316
20316
  particleSystem.reset();
20317
20317
  }
20318
- particleSystem.update(this.time - particleSystem.time);
20318
+ particleSystem.simulate(this.time - particleSystem.time);
20319
20319
  }
20320
20320
  this.lastTime = this.time;
20321
20321
  };
@@ -21767,126 +21767,133 @@ var ParticleSystem = /*#__PURE__*/ function(Component) {
21767
21767
  this.initEmitterTransform();
21768
21768
  };
21769
21769
  _proto.onUpdate = function onUpdate(dt) {
21770
- this.update(dt);
21770
+ if (!this.frozen) {
21771
+ this.update(dt);
21772
+ }
21773
+ };
21774
+ _proto.simulate = function simulate(time) {
21775
+ this.update(time * 1000);
21776
+ this.frozen = true;
21771
21777
  };
21772
21778
  _proto.update = function update(delta) {
21773
21779
  var _this = this;
21774
- if (this.started && !this.frozen) {
21775
- var now = this.time + delta / 1000;
21776
- var options = this.options;
21777
- var loopStartTime = this.loopStartTime;
21778
- var emission = this.emission;
21779
- this.time = now;
21780
- this.upDirectionWorld = null;
21781
- this.renderer.updateTime(now, delta);
21782
- var link = this.particleLink;
21783
- var emitterLifetime = (now - loopStartTime) / this.item.duration;
21784
- var timePassed = this.timePassed;
21785
- var trailUpdated = false;
21786
- var updateTrail = function() {
21787
- if (_this.trails && !trailUpdated) {
21788
- trailUpdated = true;
21789
- link.forEach(function(param) {
21790
- var time = param[0], pointIndex = param[1], delay = param[2], point = param[3];
21791
- if (time < timePassed) {
21792
- _this.clearPointTrail(pointIndex);
21793
- } else if (timePassed > delay) {
21794
- _this.updatePointTrail(pointIndex, emitterLifetime, point, delay);
21795
- }
21796
- });
21780
+ if (!this.started) {
21781
+ return;
21782
+ }
21783
+ var now = this.time + delta / 1000;
21784
+ var options = this.options;
21785
+ var loopStartTime = this.loopStartTime;
21786
+ var emission = this.emission;
21787
+ this.time = now;
21788
+ this.upDirectionWorld = null;
21789
+ this.renderer.updateTime(now, delta);
21790
+ var link = this.particleLink;
21791
+ var emitterLifetime = (now - loopStartTime) / this.item.duration;
21792
+ var timePassed = this.timePassed;
21793
+ var trailUpdated = false;
21794
+ var updateTrail = function() {
21795
+ if (_this.trails && !trailUpdated) {
21796
+ trailUpdated = true;
21797
+ link.forEach(function(param) {
21798
+ var time = param[0], pointIndex = param[1], delay = param[2], point = param[3];
21799
+ if (time < timePassed) {
21800
+ _this.clearPointTrail(pointIndex);
21801
+ } else if (timePassed > delay) {
21802
+ _this.updatePointTrail(pointIndex, emitterLifetime, point, delay);
21803
+ }
21804
+ });
21805
+ }
21806
+ };
21807
+ if (!this.ended) {
21808
+ var duration = this.item.duration;
21809
+ var lifetime = this.lifetime;
21810
+ if (timePassed < duration) {
21811
+ var interval = 1 / emission.rateOverTime.getValue(lifetime);
21812
+ var pointCount = Math.floor((timePassed - this.lastEmitTime) / interval);
21813
+ var maxEmissionCount = pointCount;
21814
+ var timeDelta = interval / pointCount;
21815
+ var meshTime = now;
21816
+ var maxCount = options.maxCount;
21817
+ this.updateEmitterTransform(timePassed);
21818
+ var shouldSkipGenerate = function() {
21819
+ var first = link.first;
21820
+ return _this.emissionStopped || link.length === maxCount && first && first.content[0] - loopStartTime > timePassed;
21821
+ };
21822
+ for(var i = 0; i < maxEmissionCount && i < maxCount; i++){
21823
+ if (shouldSkipGenerate()) {
21824
+ break;
21825
+ }
21826
+ var p = this.createPoint(lifetime);
21827
+ p.delay += meshTime + i * timeDelta;
21828
+ this.addParticle(p, maxCount);
21829
+ this.lastEmitTime = timePassed;
21797
21830
  }
21798
- };
21799
- if (!this.ended) {
21800
- var duration = this.item.duration;
21801
- var lifetime = this.lifetime;
21802
- if (timePassed < duration) {
21803
- var interval = 1 / emission.rateOverTime.getValue(lifetime);
21804
- var pointCount = Math.floor((timePassed - this.lastEmitTime) / interval);
21805
- var maxEmissionCount = pointCount;
21806
- var timeDelta = interval / pointCount;
21807
- var meshTime = now;
21808
- var maxCount = options.maxCount;
21809
- this.updateEmitterTransform(timePassed);
21810
- var shouldSkipGenerate = function() {
21811
- var first = link.first;
21812
- return _this.emissionStopped || link.length === maxCount && first && first.content[0] - loopStartTime > timePassed;
21813
- };
21814
- for(var i = 0; i < maxEmissionCount && i < maxCount; i++){
21815
- if (shouldSkipGenerate()) {
21816
- break;
21817
- }
21818
- var p = this.createPoint(lifetime);
21819
- p.delay += meshTime + i * timeDelta;
21820
- this.addParticle(p, maxCount);
21821
- this.lastEmitTime = timePassed;
21831
+ var bursts = emission.bursts;
21832
+ for(var j = (bursts == null ? void 0 : bursts.length) - 1, cursor = 0; j >= 0 && cursor < maxCount; j--){
21833
+ if (shouldSkipGenerate()) {
21834
+ break;
21822
21835
  }
21823
- var bursts = emission.bursts;
21824
- for(var j = (bursts == null ? void 0 : bursts.length) - 1, cursor = 0; j >= 0 && cursor < maxCount; j--){
21825
- if (shouldSkipGenerate()) {
21826
- break;
21836
+ var burst = bursts[j];
21837
+ var opts = !burst.disabled && burst.getGeneratorOptions(timePassed, lifetime);
21838
+ if (opts) {
21839
+ var originVec = [
21840
+ 0,
21841
+ 0,
21842
+ 0
21843
+ ];
21844
+ var offsets = emission.burstOffsets[j];
21845
+ var burstOffset = offsets && offsets[opts.cycleIndex] || originVec;
21846
+ if (burst.once) {
21847
+ this.removeBurst(j);
21827
21848
  }
21828
- var burst = bursts[j];
21829
- var opts = !burst.disabled && burst.getGeneratorOptions(timePassed, lifetime);
21830
- if (opts) {
21831
- var originVec = [
21832
- 0,
21833
- 0,
21834
- 0
21835
- ];
21836
- var offsets = emission.burstOffsets[j];
21837
- var burstOffset = offsets && offsets[opts.cycleIndex] || originVec;
21838
- if (burst.once) {
21839
- this.removeBurst(j);
21840
- }
21841
- for(var i1 = 0; i1 < opts.count && cursor < maxCount; i1++){
21842
- var _p_transform;
21843
- if (shouldSkipGenerate()) {
21844
- break;
21845
- }
21846
- var p1 = this.initPoint(this.shape.generate({
21847
- total: opts.total,
21848
- index: opts.index,
21849
- burstIndex: i1,
21850
- burstCount: opts.count
21851
- }));
21852
- p1.delay += meshTime;
21853
- cursor++;
21854
- (_p_transform = p1.transform).translate.apply(_p_transform, [].concat(burstOffset));
21855
- this.addParticle(p1, maxCount);
21849
+ for(var i1 = 0; i1 < opts.count && cursor < maxCount; i1++){
21850
+ var _p_transform;
21851
+ if (shouldSkipGenerate()) {
21852
+ break;
21856
21853
  }
21854
+ var p1 = this.initPoint(this.shape.generate({
21855
+ total: opts.total,
21856
+ index: opts.index,
21857
+ burstIndex: i1,
21858
+ burstCount: opts.count
21859
+ }));
21860
+ p1.delay += meshTime;
21861
+ cursor++;
21862
+ (_p_transform = p1.transform).translate.apply(_p_transform, [].concat(burstOffset));
21863
+ this.addParticle(p1, maxCount);
21857
21864
  }
21858
21865
  }
21859
- } else if (this.item.endBehavior === EndBehavior.restart) {
21860
- updateTrail();
21861
- this.loopStartTime = now - duration;
21862
- this.lastEmitTime -= duration;
21863
- this.time -= duration;
21864
- emission.bursts.forEach(function(b) {
21865
- return b.reset();
21866
- });
21867
- this.particleLink.forEach(function(content) {
21868
- content[0] -= duration;
21869
- content[2] -= duration;
21870
- content[3].delay -= duration;
21871
- });
21872
- this.renderer.minusTimeForLoop(duration);
21873
- } else {
21874
- this.ended = true;
21875
- var endBehavior = this.item.endBehavior;
21876
- if (endBehavior === EndBehavior.freeze) {
21877
- this.frozen = true;
21878
- }
21879
21866
  }
21880
- } else if (this.item.endBehavior !== EndBehavior.restart) {
21881
- if (EndBehavior.destroy === this.item.endBehavior) {
21882
- var node = link.last;
21883
- if (node && node.content[0] < this.time) {
21884
- this.destroyed = true;
21885
- }
21867
+ } else if (this.item.endBehavior === EndBehavior.restart) {
21868
+ updateTrail();
21869
+ this.loopStartTime = now - duration;
21870
+ this.lastEmitTime -= duration;
21871
+ this.time -= duration;
21872
+ emission.bursts.forEach(function(b) {
21873
+ return b.reset();
21874
+ });
21875
+ this.particleLink.forEach(function(content) {
21876
+ content[0] -= duration;
21877
+ content[2] -= duration;
21878
+ content[3].delay -= duration;
21879
+ });
21880
+ this.renderer.minusTimeForLoop(duration);
21881
+ } else {
21882
+ this.ended = true;
21883
+ var endBehavior = this.item.endBehavior;
21884
+ if (endBehavior === EndBehavior.freeze) {
21885
+ this.frozen = true;
21886
+ }
21887
+ }
21888
+ } else if (this.item.endBehavior !== EndBehavior.restart) {
21889
+ if (EndBehavior.destroy === this.item.endBehavior) {
21890
+ var node = link.last;
21891
+ if (node && node.content[0] < this.time) {
21892
+ this.destroyed = true;
21886
21893
  }
21887
21894
  }
21888
- updateTrail();
21889
21895
  }
21896
+ updateTrail();
21890
21897
  };
21891
21898
  _proto.drawStencilMask = function drawStencilMask(renderer) {
21892
21899
  if (!this.isActiveAndEnabled) {
@@ -31609,7 +31616,7 @@ function getStandardSpriteContent(sprite, transform) {
31609
31616
  return ret;
31610
31617
  }
31611
31618
 
31612
- var version$1 = "2.7.3";
31619
+ var version$1 = "2.7.4";
31613
31620
  var v0 = /^(\d+)\.(\d+)\.(\d+)(-(\w+)\.\d+)?$/;
31614
31621
  var standardVersion = /^(\d+)\.(\d+)$/;
31615
31622
  var reverseParticle = false;
@@ -34885,7 +34892,7 @@ registerPlugin("sprite", SpriteLoader, VFXItem);
34885
34892
  registerPlugin("particle", ParticleLoader, VFXItem);
34886
34893
  registerPlugin("cal", CalculateLoader, VFXItem);
34887
34894
  registerPlugin("interact", InteractLoader, VFXItem);
34888
- var version = "2.7.3";
34895
+ var version = "2.7.4";
34889
34896
  logger.info("Core version: " + version + ".");
34890
34897
 
34891
34898
  export { AbstractPlugin, ActivationMixerPlayable, ActivationPlayable, ActivationPlayableAsset, ActivationTrack, AndNode, AndNodeData, Animatable, AnimationClip, AnimationClipNode, AnimationClipNodeData, AnimationGraphAsset, Animator, ApplyAdditiveNode, ApplyAdditiveNodeData, Asset, AssetLoader, AssetManager, AssetService, BYTES_TYPE_MAP, Behaviour, BezierCurve, BezierCurvePath, BezierCurveQuat, BinaryAsset, BlendNode, BlendNodeData, BoolValueNode, COMPRESSED_TEXTURE, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, CalculateLoader, Camera, CameraController, CameraVFXItemLoader, ColorCurve, ColorPlayable, ColorPropertyMixerPlayable, ColorPropertyPlayableAsset, ColorPropertyTrack, Component, ComponentTimePlayable, ComponentTimePlayableAsset, ComponentTimeTrack, Composition, CompositionComponent, ConstBoolNode, ConstBoolNodeData, ConstFloatNode, ConstFloatNodeData, ControlParameterBoolNode, ControlParameterBoolNodeData, ControlParameterFloatNode, ControlParameterFloatNodeData, ControlParameterTriggerNode, ControlParameterTriggerNodeData, DEFAULT_FONTS, DEFAULT_FPS, Database, Deferred, DestroyOptions, Downloader, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, EffectComponent, EffectComponentTimeTrack, EffectsObject, EffectsPackage, Ellipse, Engine, EqualNodeData, EventEmitter, EventSystem, Fake3DAnimationMode, Fake3DComponent, FilterMode, Float16ArrayWrapper, FloatComparisonNode, FloatComparisonNodeData, FloatPropertyMixerPlayable, FloatPropertyPlayableAsset, FloatPropertyTrack, FloatValueNode, Framebuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, GraphInstance, GraphNode, GraphNodeData, GraphicsPath, GreaterNodeData, HELP_LINK, HitTestType, InteractComponent, InteractLoader, InteractMesh, InvalidIndex, Item, KTXTexture, LayerBlendNode, LayerBlendNodeData, LessNodeData, LineSegments, LinearValue, MaskMode, MaskProcessor, MaskableGraphic, Material, MaterialDataBlock, MaterialRenderType, MaterialTrack, Mesh, MeshCollider, NodeTransform, NotNode, NotNodeData, ObjectBindingTrack, OrNode, OrNodeData, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleBehaviourPlayable, ParticleBehaviourPlayableAsset, ParticleLoader, ParticleMesh, ParticleMixerPlayable, ParticleSystem, ParticleSystemRenderer, ParticleTrack, PassTextureCache, PathSegments, PlayState, Playable, PlayableAsset, PlayableOutput, PluginSystem, PolyStar, Polygon, Pose, PoseNode, PostProcessVolume, PropertyClipPlayable, PropertyTrack, RENDER_PASS_NAME_PREFIX, RENDER_PREFER_LOOKUP_TEXTURE, RUNTIME_ENV, RandomSetValue, RandomValue, RandomVectorValue, RenderFrame, RenderPass, RenderPassAttachmentStorageType, RenderPassDestroyAttachmentType, RenderPassPriorityNormal, RenderPassPriorityPostprocess, RenderPassPriorityPrepare, RenderTargetHandle, RenderTextureFormat, Renderbuffer, Renderer, RendererComponent, RuntimeClip, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_0, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_SIZE_0, SEMANTIC_PRE_COLOR_ATTACHMENT_0, SEMANTIC_PRE_COLOR_ATTACHMENT_SIZE_0, SPRITE_VERTEX_STRIDE, Scene, SemanticMap, SerializationHelper, Shader, ShaderCompileResultStatus, ShaderFactory, ShaderType, ShaderVariant, ShapeComponent, ShapePath, SourceType, SpriteColorMixerPlayable, SpriteColorPlayableAsset, SpriteColorTrack, SpriteComponent, SpriteComponentTimeTrack, SpriteLoader, StarType, StateMachineNode, StateMachineNodeData, StateNode, StateNodeData, StaticValue, SubCompositionClipPlayable, SubCompositionMixerPlayable, SubCompositionPlayableAsset, SubCompositionTrack, TEMPLATE_USE_OFFSCREEN_CANVAS, TangentMode, TextComponent, TextComponentBase, TextLayout, TextLoader, TextStyle, Texture, TextureFactory, TextureLoadAction, TexturePaintScaleMode, TextureSourceType, TextureStoreAction, Ticker, TimelineAsset, TimelineClip, TimelineInstance, TrackAsset, TrackMixerPlayable, TrackType, Transform, TransformMixerPlayable, TransformPlayable, TransformPlayableAsset, TransformTrack, TransitionNode, TransitionNodeData, TransitionState, VFXItem, ValueGetter, ValueNode, Vector2Curve, Vector2PropertyMixerPlayable, Vector2PropertyPlayableAsset, Vector2PropertyTrack, Vector3Curve, Vector3PropertyMixerPlayable, Vector3PropertyTrack, Vector3ropertyPlayableAsset, Vector4Curve, Vector4PropertyMixerPlayable, Vector4PropertyPlayableAsset, Vector4PropertyTrack, WeightedMode, addByOrder, addItem, addItemWithOrder, applyMixins, assertExist, asserts, base64ToFile, buildLine, calculateTranslation, canUseBOM, canvasPool, closePointEps, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, createCopyShader, createGLContext, createKeyFrameMeta, createShape, createValueGetter, curveEps, decimalEqual, defaultPlugins, deserializeMipmapTexture, earcut, effectsClass, effectsClassStore, enlargeBuffer, ensureFixedNumber, ensureVec3, findPreviousRenderPass, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateGUID, generateHalfFloatTexture, generateTransparentTexture, generateWhiteTexture, getBackgroundImage, getClass, getColorFromGradientStops, getConfig, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getKTXTextureOptions, getKeyFrameMetaByRawValue, getMergedStore, getNodeDataClass, getParticleMeshShader, getPixelRatio, getPreMultiAlpha, getStandardComposition, getStandardImage, getStandardItem, getStandardJSON, getTextureSize, glContext, glType2VertexFormatType, gpuTimer, imageDataFromColor, imageDataFromGradient, initErrors, initGLContext, integrate, interpolateColor, isAlipayMiniApp, isAndroid, isArray, isCanvas, isFunction, isIOS, isIOSByUA, isMiniProgram, isObject, isOpenHarmony, isPlainObject, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isValidFontFamily, isWebGL2, isWechatMiniApp, itemFrag, itemVert, loadAVIFOptional, loadBinary, loadBlob, loadImage, loadMedia, loadVideo, loadWebPOptional, logger, index as math, maxSpriteMeshItemCount, modifyMaxKeyframeShader, nearestPowerOfTwo, nodeDataClass, noop, normalizeColor, numberToFix, oldBezierKeyFramesToNew, parsePercent$1 as parsePercent, particleFrag, particleOriginTranslateMap$1 as particleOriginTranslateMap, particleUniformTypeMap, particleVert, passRenderLevel, pluginLoaderMap, randomInRange, registerPlugin, removeItem, rotateVec2, screenMeshVert, serialize, setBlendMode, setConfig, setDefaultTextureFactory, setMaskMode, setMaxSpriteMeshItemCount, setRayFromCamera, setSideMode, setSpriteMeshMaxItemCountByGPU, sortByOrder, index$1 as spec, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecFill, vecMulCombine, version, vertexFormatType2GLType };