@galacean/effects-core 2.4.7 → 2.4.8

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.4.7
6
+ * Version: v2.4.8
7
7
  */
8
8
 
9
9
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
@@ -20135,7 +20135,7 @@ var RuntimeClip = /*#__PURE__*/ function() {
20135
20135
  this.playable.play();
20136
20136
  }
20137
20137
  this.parentMixer.setClipWeight(this.playable, weight);
20138
- var clipTime = parseFloat(clip.toLocalTime(localTime).toFixed(3));
20138
+ var clipTime = clip.toLocalTime(localTime);
20139
20139
  this.playable.setTime(clipTime);
20140
20140
  // 判断动画是否结束
20141
20141
  if (ended) {
@@ -21324,11 +21324,12 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
21324
21324
  * 前进合成到指定时间
21325
21325
  * @param time - 相对0时刻的时间
21326
21326
  */ _proto.forwardTime = function forwardTime(time) {
21327
- var deltaTime = time * 1000 - this.rootComposition.time * 1000;
21327
+ var deltaTime = time * 1000 - this.time * 1000;
21328
21328
  var reverse = deltaTime < 0;
21329
21329
  var step = 15;
21330
21330
  var t = Math.abs(deltaTime);
21331
21331
  var ss = reverse ? -step : step;
21332
+ // FIXME Update 中可能会修改合成时间,这边需要优化更新逻辑
21332
21333
  for(t; t > step; t -= step){
21333
21334
  this.update(ss);
21334
21335
  }
@@ -21368,13 +21369,14 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
21368
21369
  this.callAwake(this.rootItem);
21369
21370
  this.rootItem.beginPlay();
21370
21371
  }
21371
- var dt = parseFloat(this.getUpdateTime(deltaTime * this.speed).toFixed(0));
21372
- this.updateRootComposition(dt / 1000);
21372
+ var previousCompositionTime = this.time;
21373
+ this.updateCompositionTime(deltaTime * this.speed / 1000);
21374
+ var deltaTimeInMs = (this.time - previousCompositionTime) * 1000;
21373
21375
  this.updateVideo();
21374
21376
  // 更新 model-tree-plugin
21375
- this.updatePluginLoaders(deltaTime);
21376
- this.sceneTicking.update.tick(dt);
21377
- this.sceneTicking.lateUpdate.tick(dt);
21377
+ this.updatePluginLoaders(deltaTimeInMs);
21378
+ this.sceneTicking.update.tick(deltaTimeInMs);
21379
+ this.sceneTicking.lateUpdate.tick(deltaTimeInMs);
21378
21380
  this.updateCamera();
21379
21381
  this.prepareRender();
21380
21382
  if (this.isEnded && !this.isEndCalled) {
@@ -21390,14 +21392,6 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
21390
21392
  _proto.shouldDispose = function shouldDispose() {
21391
21393
  return this.isEnded && this.rootItem.endBehavior === EndBehavior.destroy && !this.reusable;
21392
21394
  };
21393
- _proto.getUpdateTime = function getUpdateTime(t) {
21394
- var startTimeInMs = this.startTime * 1000;
21395
- var now = this.rootComposition.time * 1000;
21396
- if (t < 0 && now + t < startTimeInMs) {
21397
- return startTimeInMs - now;
21398
- }
21399
- return t;
21400
- };
21401
21395
  _proto.callAwake = function callAwake(item) {
21402
21396
  for(var _iterator = _create_for_of_iterator_helper_loose(item.components), _step; !(_step = _iterator()).done;){
21403
21397
  var component = _step.value;
@@ -21442,14 +21436,18 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
21442
21436
  };
21443
21437
  /**
21444
21438
  * 更新主合成组件
21445
- */ _proto.updateRootComposition = function updateRootComposition(deltaTime) {
21439
+ */ _proto.updateCompositionTime = function updateCompositionTime(deltaTime) {
21446
21440
  if (this.rootComposition.state === PlayState.Paused || !this.rootComposition.isActiveAndEnabled) {
21447
21441
  return;
21448
21442
  }
21449
- var localTime = parseFloat((this.time + deltaTime - this.rootItem.start).toFixed(3));
21450
- var isEnded = false;
21443
+ // 相对于合成开始时间的时间
21444
+ var localTime = this.time + deltaTime - this.startTime;
21445
+ if (deltaTime < 0 && localTime < 0) {
21446
+ localTime = 0;
21447
+ }
21451
21448
  var duration = this.rootItem.duration;
21452
21449
  var endBehavior = this.rootItem.endBehavior;
21450
+ var isEnded = false;
21453
21451
  if (localTime - duration > 0.001) {
21454
21452
  isEnded = true;
21455
21453
  switch(endBehavior){
@@ -21474,7 +21472,7 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
21474
21472
  }
21475
21473
  }
21476
21474
  }
21477
- this.rootComposition.time = localTime;
21475
+ this.rootComposition.time = localTime + this.startTime;
21478
21476
  // end state changed, handle onEnd flags
21479
21477
  if (this.isEnded !== isEnded) {
21480
21478
  if (isEnded) {
@@ -31624,7 +31622,7 @@ registerPlugin("sprite", SpriteLoader, VFXItem);
31624
31622
  registerPlugin("particle", ParticleLoader, VFXItem);
31625
31623
  registerPlugin("cal", CalculateLoader, VFXItem);
31626
31624
  registerPlugin("interact", InteractLoader, VFXItem);
31627
- var version = "2.4.7";
31625
+ var version = "2.4.8";
31628
31626
  logger.info("Core version: " + version + ".");
31629
31627
 
31630
31628
  export { AbstractPlugin, ActivationPlayable, ActivationPlayableAsset, ActivationTrack, AnimationClip, AnimationClipPlayable, Asset, AssetLoader, AssetManager, AssetService, BYTES_TYPE_MAP, BaseRenderComponent, Behaviour, BezierCurve, BezierCurvePath, BezierCurveQuat, BinaryAsset, COMPRESSED_TEXTURE, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, CalculateLoader, Camera, CameraController, CameraVFXItemLoader, ColorCurve, ColorPropertyPlayableAsset, ColorPropertyTrack, Component, Composition, CompositionComponent, DEFAULT_FONTS, DEFAULT_FPS, Database, DestroyOptions, Downloader, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, EffectComponent, EffectsObject, EffectsPackage, Ellipse, Engine, EventEmitter, EventSystem, Fake3DAnimationMode, Fake3DComponent, FilterMode, Float16ArrayWrapper, FloatPropertyPlayableAsset, FloatPropertyTrack, Framebuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, GraphicsPath, HELP_LINK, HitTestType, InteractComponent, InteractLoader, InteractMesh, Item, KTXTexture, LineSegments, LinearValue, MaskMode, MaskProcessor, Material, MaterialDataBlock, MaterialRenderType, MaterialTrack, Mesh, MeshCollider, ObjectBindingTrack, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleBehaviourPlayable, ParticleBehaviourPlayableAsset, ParticleLoader, ParticleMesh, ParticleSystem, ParticleSystemRenderer, ParticleTrack, PassTextureCache, PathSegments, PluginSystem, PolyStar, Polygon, PostProcessVolume, 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, SpriteColorPlayableAsset, SpriteColorTrack, SpriteComponent, SpriteLoader, StarType, StaticValue, SubCompositionPlayableAsset, SubCompositionTrack, TEMPLATE_USE_OFFSCREEN_CANVAS, TextComponent, TextComponentBase, TextLayout, TextLoader, TextStyle, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, Ticker, TimelineAsset, TimelineClip, TimelinePlayable, TrackAsset, TrackSortWrapper, TrackType, Transform, TransformAnimationPlayable, TransformPlayableAsset, TransformTrack, VFXItem, ValueGetter, Vector2Curve, Vector2PropertyPlayableAsset, Vector2PropertyTrack, Vector4Curve, Vector4PropertyPlayableAsset, Vector4PropertyTrack, addByOrder, addItem, addItemWithOrder, applyMixins, assertExist, asserts, base64ToFile, blend, buildLine, calculateTranslation, 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, gaussianDown_frag as gaussianDownFrag, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateGUID, generateHalfFloatTexture, generateTransparentTexture, generateWhiteTexture, getBackgroundImage, getColorFromGradientStops, getConfig, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getKTXTextureOptions, getKeyFrameMetaByRawValue, getMergedStore, 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, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isValidFontFamily, isWebGL2, isWechatMiniApp, itemFrag, itemFrame_frag as itemFrameFrag, itemVert, loadAVIFOptional, loadBinary, loadBlob, loadImage, loadMedia, loadVideo, loadWebPOptional, logger, index as math, maxSpriteMeshItemCount, modifyMaxKeyframeShader, nearestPowerOfTwo, noop, normalizeColor, numberToFix, 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 };