@galacean/effects-threejs 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 threejs plugin 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
  import * as THREE from 'three';
@@ -20317,7 +20317,7 @@ function calculateDirection(prePoint, point, nextPoint) {
20317
20317
  if (this.time >= 0 && this.time < particleSystem.item.duration && particleSystem.isEnded()) {
20318
20318
  particleSystem.reset();
20319
20319
  }
20320
- particleSystem.update(this.time - particleSystem.time);
20320
+ particleSystem.simulate(this.time - particleSystem.time);
20321
20321
  }
20322
20322
  this.lastTime = this.time;
20323
20323
  };
@@ -21769,126 +21769,133 @@ var ParticleSystem = /*#__PURE__*/ function(Component) {
21769
21769
  this.initEmitterTransform();
21770
21770
  };
21771
21771
  _proto.onUpdate = function onUpdate(dt) {
21772
- this.update(dt);
21772
+ if (!this.frozen) {
21773
+ this.update(dt);
21774
+ }
21775
+ };
21776
+ _proto.simulate = function simulate(time) {
21777
+ this.update(time * 1000);
21778
+ this.frozen = true;
21773
21779
  };
21774
21780
  _proto.update = function update(delta) {
21775
21781
  var _this = this;
21776
- if (this.started && !this.frozen) {
21777
- var now = this.time + delta / 1000;
21778
- var options = this.options;
21779
- var loopStartTime = this.loopStartTime;
21780
- var emission = this.emission;
21781
- this.time = now;
21782
- this.upDirectionWorld = null;
21783
- this.renderer.updateTime(now, delta);
21784
- var link = this.particleLink;
21785
- var emitterLifetime = (now - loopStartTime) / this.item.duration;
21786
- var timePassed = this.timePassed;
21787
- var trailUpdated = false;
21788
- var updateTrail = function() {
21789
- if (_this.trails && !trailUpdated) {
21790
- trailUpdated = true;
21791
- link.forEach(function(param) {
21792
- var time = param[0], pointIndex = param[1], delay = param[2], point = param[3];
21793
- if (time < timePassed) {
21794
- _this.clearPointTrail(pointIndex);
21795
- } else if (timePassed > delay) {
21796
- _this.updatePointTrail(pointIndex, emitterLifetime, point, delay);
21797
- }
21798
- });
21782
+ if (!this.started) {
21783
+ return;
21784
+ }
21785
+ var now = this.time + delta / 1000;
21786
+ var options = this.options;
21787
+ var loopStartTime = this.loopStartTime;
21788
+ var emission = this.emission;
21789
+ this.time = now;
21790
+ this.upDirectionWorld = null;
21791
+ this.renderer.updateTime(now, delta);
21792
+ var link = this.particleLink;
21793
+ var emitterLifetime = (now - loopStartTime) / this.item.duration;
21794
+ var timePassed = this.timePassed;
21795
+ var trailUpdated = false;
21796
+ var updateTrail = function() {
21797
+ if (_this.trails && !trailUpdated) {
21798
+ trailUpdated = true;
21799
+ link.forEach(function(param) {
21800
+ var time = param[0], pointIndex = param[1], delay = param[2], point = param[3];
21801
+ if (time < timePassed) {
21802
+ _this.clearPointTrail(pointIndex);
21803
+ } else if (timePassed > delay) {
21804
+ _this.updatePointTrail(pointIndex, emitterLifetime, point, delay);
21805
+ }
21806
+ });
21807
+ }
21808
+ };
21809
+ if (!this.ended) {
21810
+ var duration = this.item.duration;
21811
+ var lifetime = this.lifetime;
21812
+ if (timePassed < duration) {
21813
+ var interval = 1 / emission.rateOverTime.getValue(lifetime);
21814
+ var pointCount = Math.floor((timePassed - this.lastEmitTime) / interval);
21815
+ var maxEmissionCount = pointCount;
21816
+ var timeDelta = interval / pointCount;
21817
+ var meshTime = now;
21818
+ var maxCount = options.maxCount;
21819
+ this.updateEmitterTransform(timePassed);
21820
+ var shouldSkipGenerate = function() {
21821
+ var first = link.first;
21822
+ return _this.emissionStopped || link.length === maxCount && first && first.content[0] - loopStartTime > timePassed;
21823
+ };
21824
+ for(var i = 0; i < maxEmissionCount && i < maxCount; i++){
21825
+ if (shouldSkipGenerate()) {
21826
+ break;
21827
+ }
21828
+ var p = this.createPoint(lifetime);
21829
+ p.delay += meshTime + i * timeDelta;
21830
+ this.addParticle(p, maxCount);
21831
+ this.lastEmitTime = timePassed;
21799
21832
  }
21800
- };
21801
- if (!this.ended) {
21802
- var duration = this.item.duration;
21803
- var lifetime = this.lifetime;
21804
- if (timePassed < duration) {
21805
- var interval = 1 / emission.rateOverTime.getValue(lifetime);
21806
- var pointCount = Math.floor((timePassed - this.lastEmitTime) / interval);
21807
- var maxEmissionCount = pointCount;
21808
- var timeDelta = interval / pointCount;
21809
- var meshTime = now;
21810
- var maxCount = options.maxCount;
21811
- this.updateEmitterTransform(timePassed);
21812
- var shouldSkipGenerate = function() {
21813
- var first = link.first;
21814
- return _this.emissionStopped || link.length === maxCount && first && first.content[0] - loopStartTime > timePassed;
21815
- };
21816
- for(var i = 0; i < maxEmissionCount && i < maxCount; i++){
21817
- if (shouldSkipGenerate()) {
21818
- break;
21819
- }
21820
- var p = this.createPoint(lifetime);
21821
- p.delay += meshTime + i * timeDelta;
21822
- this.addParticle(p, maxCount);
21823
- this.lastEmitTime = timePassed;
21833
+ var bursts = emission.bursts;
21834
+ for(var j = (bursts == null ? void 0 : bursts.length) - 1, cursor = 0; j >= 0 && cursor < maxCount; j--){
21835
+ if (shouldSkipGenerate()) {
21836
+ break;
21824
21837
  }
21825
- var bursts = emission.bursts;
21826
- for(var j = (bursts == null ? void 0 : bursts.length) - 1, cursor = 0; j >= 0 && cursor < maxCount; j--){
21827
- if (shouldSkipGenerate()) {
21828
- break;
21838
+ var burst = bursts[j];
21839
+ var opts = !burst.disabled && burst.getGeneratorOptions(timePassed, lifetime);
21840
+ if (opts) {
21841
+ var originVec = [
21842
+ 0,
21843
+ 0,
21844
+ 0
21845
+ ];
21846
+ var offsets = emission.burstOffsets[j];
21847
+ var burstOffset = offsets && offsets[opts.cycleIndex] || originVec;
21848
+ if (burst.once) {
21849
+ this.removeBurst(j);
21829
21850
  }
21830
- var burst = bursts[j];
21831
- var opts = !burst.disabled && burst.getGeneratorOptions(timePassed, lifetime);
21832
- if (opts) {
21833
- var originVec = [
21834
- 0,
21835
- 0,
21836
- 0
21837
- ];
21838
- var offsets = emission.burstOffsets[j];
21839
- var burstOffset = offsets && offsets[opts.cycleIndex] || originVec;
21840
- if (burst.once) {
21841
- this.removeBurst(j);
21842
- }
21843
- for(var i1 = 0; i1 < opts.count && cursor < maxCount; i1++){
21844
- var _p_transform;
21845
- if (shouldSkipGenerate()) {
21846
- break;
21847
- }
21848
- var p1 = this.initPoint(this.shape.generate({
21849
- total: opts.total,
21850
- index: opts.index,
21851
- burstIndex: i1,
21852
- burstCount: opts.count
21853
- }));
21854
- p1.delay += meshTime;
21855
- cursor++;
21856
- (_p_transform = p1.transform).translate.apply(_p_transform, [].concat(burstOffset));
21857
- this.addParticle(p1, maxCount);
21851
+ for(var i1 = 0; i1 < opts.count && cursor < maxCount; i1++){
21852
+ var _p_transform;
21853
+ if (shouldSkipGenerate()) {
21854
+ break;
21858
21855
  }
21856
+ var p1 = this.initPoint(this.shape.generate({
21857
+ total: opts.total,
21858
+ index: opts.index,
21859
+ burstIndex: i1,
21860
+ burstCount: opts.count
21861
+ }));
21862
+ p1.delay += meshTime;
21863
+ cursor++;
21864
+ (_p_transform = p1.transform).translate.apply(_p_transform, [].concat(burstOffset));
21865
+ this.addParticle(p1, maxCount);
21859
21866
  }
21860
21867
  }
21861
- } else if (this.item.endBehavior === EndBehavior.restart) {
21862
- updateTrail();
21863
- this.loopStartTime = now - duration;
21864
- this.lastEmitTime -= duration;
21865
- this.time -= duration;
21866
- emission.bursts.forEach(function(b) {
21867
- return b.reset();
21868
- });
21869
- this.particleLink.forEach(function(content) {
21870
- content[0] -= duration;
21871
- content[2] -= duration;
21872
- content[3].delay -= duration;
21873
- });
21874
- this.renderer.minusTimeForLoop(duration);
21875
- } else {
21876
- this.ended = true;
21877
- var endBehavior = this.item.endBehavior;
21878
- if (endBehavior === EndBehavior.freeze) {
21879
- this.frozen = true;
21880
- }
21881
21868
  }
21882
- } else if (this.item.endBehavior !== EndBehavior.restart) {
21883
- if (EndBehavior.destroy === this.item.endBehavior) {
21884
- var node = link.last;
21885
- if (node && node.content[0] < this.time) {
21886
- this.destroyed = true;
21887
- }
21869
+ } else if (this.item.endBehavior === EndBehavior.restart) {
21870
+ updateTrail();
21871
+ this.loopStartTime = now - duration;
21872
+ this.lastEmitTime -= duration;
21873
+ this.time -= duration;
21874
+ emission.bursts.forEach(function(b) {
21875
+ return b.reset();
21876
+ });
21877
+ this.particleLink.forEach(function(content) {
21878
+ content[0] -= duration;
21879
+ content[2] -= duration;
21880
+ content[3].delay -= duration;
21881
+ });
21882
+ this.renderer.minusTimeForLoop(duration);
21883
+ } else {
21884
+ this.ended = true;
21885
+ var endBehavior = this.item.endBehavior;
21886
+ if (endBehavior === EndBehavior.freeze) {
21887
+ this.frozen = true;
21888
+ }
21889
+ }
21890
+ } else if (this.item.endBehavior !== EndBehavior.restart) {
21891
+ if (EndBehavior.destroy === this.item.endBehavior) {
21892
+ var node = link.last;
21893
+ if (node && node.content[0] < this.time) {
21894
+ this.destroyed = true;
21888
21895
  }
21889
21896
  }
21890
- updateTrail();
21891
21897
  }
21898
+ updateTrail();
21892
21899
  };
21893
21900
  _proto.drawStencilMask = function drawStencilMask(renderer) {
21894
21901
  if (!this.isActiveAndEnabled) {
@@ -31611,7 +31618,7 @@ function getStandardSpriteContent(sprite, transform) {
31611
31618
  return ret;
31612
31619
  }
31613
31620
 
31614
- var version$2 = "2.7.3";
31621
+ var version$2 = "2.7.4";
31615
31622
  var v0 = /^(\d+)\.(\d+)\.(\d+)(-(\w+)\.\d+)?$/;
31616
31623
  var standardVersion = /^(\d+)\.(\d+)$/;
31617
31624
  var reverseParticle = false;
@@ -34887,7 +34894,7 @@ registerPlugin("sprite", SpriteLoader, VFXItem);
34887
34894
  registerPlugin("particle", ParticleLoader, VFXItem);
34888
34895
  registerPlugin("cal", CalculateLoader, VFXItem);
34889
34896
  registerPlugin("interact", InteractLoader, VFXItem);
34890
- var version$1 = "2.7.3";
34897
+ var version$1 = "2.7.4";
34891
34898
  logger.info("Core version: " + version$1 + ".");
34892
34899
 
34893
34900
  var _obj;
@@ -36468,7 +36475,7 @@ setMaxSpriteMeshItemCount(8);
36468
36475
  */ Mesh.create = function(engine, props) {
36469
36476
  return new ThreeMesh(engine, props);
36470
36477
  };
36471
- var version = "2.7.3";
36478
+ var version = "2.7.4";
36472
36479
  logger.info("THREEJS plugin version: " + version + ".");
36473
36480
 
36474
36481
  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, CONSTANT_MAP_BLEND, CONSTANT_MAP_DEPTH, CONSTANT_MAP_STENCIL_FUNC, CONSTANT_MAP_STENCIL_OP, 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, TEXTURE_UNIFORM_MAP, TangentMode, TextComponent, TextComponentBase, TextLayout, TextLoader, TextStyle, Texture, TextureFactory, TextureLoadAction, TexturePaintScaleMode, TextureSourceType, TextureStoreAction, ThreeComposition, ThreeDisplayObject, ThreeEngine, ThreeMaterial, ThreeSpriteComponent, ThreeTextComponent, ThreeTexture, 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, setUniformValue, sortByOrder, index$1 as spec, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecFill, vecMulCombine, version, vertexFormatType2GLType };