@galacean/effects-threejs 2.7.4 → 2.7.5

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