@galacean/effects-core 2.5.0-alpha.1 → 2.5.0-alpha.2

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.5.0-alpha.1
6
+ * Version: v2.5.0-alpha.2
7
7
  */
8
8
 
9
9
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
@@ -12868,6 +12868,25 @@ var singleSplits = [
12868
12868
  this.configureMaterial(this.renderer);
12869
12869
  if (baseRenderComponentData.geometry) {
12870
12870
  this.geometry = this.engine.findObject(baseRenderComponentData.geometry);
12871
+ var uvTransform = baseRenderComponentData.splits && !baseRenderComponentData.textureSheetAnimation ? baseRenderComponentData.splits[0] : singleSplits[0];
12872
+ var x = uvTransform[0];
12873
+ var y = uvTransform[1];
12874
+ var isRotate90 = uvTransform[4];
12875
+ var width = isRotate90 ? uvTransform[3] : uvTransform[2];
12876
+ var height = isRotate90 ? uvTransform[2] : uvTransform[3];
12877
+ var aUV = this.geometry.getAttributeData("aUV");
12878
+ var aPos = this.geometry.getAttributeData("aPos");
12879
+ if (aUV && aPos) {
12880
+ var vertexCount = aUV.length / 2;
12881
+ for(var i = 0; i < vertexCount; i++){
12882
+ var positionOffset = i * 3;
12883
+ var uvOffset = i * 2;
12884
+ var positionX = aPos[positionOffset];
12885
+ var positionY = aPos[positionOffset + 1];
12886
+ aUV[uvOffset] = (positionX + 0.5) * width + x;
12887
+ aUV[uvOffset + 1] = (positionY + 0.5) * height + y;
12888
+ }
12889
+ }
12871
12890
  } else {
12872
12891
  this.geometry = this.defaultGeometry;
12873
12892
  this.configureDefaultGeometry(this.renderer);
@@ -20230,7 +20249,7 @@ var RuntimeClip = /*#__PURE__*/ function() {
20230
20249
  this.playable.play();
20231
20250
  }
20232
20251
  this.parentMixer.setClipWeight(this.playable, weight);
20233
- var clipTime = parseFloat(clip.toLocalTime(localTime).toFixed(3));
20252
+ var clipTime = clip.toLocalTime(localTime);
20234
20253
  this.playable.setTime(clipTime);
20235
20254
  // 判断动画是否结束
20236
20255
  if (ended) {
@@ -21419,11 +21438,12 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
21419
21438
  * 前进合成到指定时间
21420
21439
  * @param time - 相对0时刻的时间
21421
21440
  */ _proto.forwardTime = function forwardTime(time) {
21422
- var deltaTime = time * 1000 - this.rootComposition.time * 1000;
21441
+ var deltaTime = time * 1000 - this.time * 1000;
21423
21442
  var reverse = deltaTime < 0;
21424
21443
  var step = 15;
21425
21444
  var t = Math.abs(deltaTime);
21426
21445
  var ss = reverse ? -step : step;
21446
+ // FIXME Update 中可能会修改合成时间,这边需要优化更新逻辑
21427
21447
  for(t; t > step; t -= step){
21428
21448
  this.update(ss);
21429
21449
  }
@@ -21463,13 +21483,14 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
21463
21483
  this.callAwake(this.rootItem);
21464
21484
  this.rootItem.beginPlay();
21465
21485
  }
21466
- var dt = parseFloat(this.getUpdateTime(deltaTime * this.speed).toFixed(0));
21467
- this.updateRootComposition(dt / 1000);
21486
+ var previousCompositionTime = this.time;
21487
+ this.updateCompositionTime(deltaTime * this.speed / 1000);
21488
+ var deltaTimeInMs = (this.time - previousCompositionTime) * 1000;
21468
21489
  this.updateVideo();
21469
21490
  // 更新 model-tree-plugin
21470
- this.updatePluginLoaders(deltaTime);
21471
- this.sceneTicking.update.tick(dt);
21472
- this.sceneTicking.lateUpdate.tick(dt);
21491
+ this.updatePluginLoaders(deltaTimeInMs);
21492
+ this.sceneTicking.update.tick(deltaTimeInMs);
21493
+ this.sceneTicking.lateUpdate.tick(deltaTimeInMs);
21473
21494
  this.updateCamera();
21474
21495
  this.prepareRender();
21475
21496
  if (this.isEnded && !this.isEndCalled) {
@@ -21485,14 +21506,6 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
21485
21506
  _proto.shouldDispose = function shouldDispose() {
21486
21507
  return this.isEnded && this.rootItem.endBehavior === EndBehavior.destroy && !this.reusable;
21487
21508
  };
21488
- _proto.getUpdateTime = function getUpdateTime(t) {
21489
- var startTimeInMs = this.startTime * 1000;
21490
- var now = this.rootComposition.time * 1000;
21491
- if (t < 0 && now + t < startTimeInMs) {
21492
- return startTimeInMs - now;
21493
- }
21494
- return t;
21495
- };
21496
21509
  _proto.callAwake = function callAwake(item) {
21497
21510
  for(var _iterator = _create_for_of_iterator_helper_loose(item.components), _step; !(_step = _iterator()).done;){
21498
21511
  var component = _step.value;
@@ -21537,14 +21550,18 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
21537
21550
  };
21538
21551
  /**
21539
21552
  * 更新主合成组件
21540
- */ _proto.updateRootComposition = function updateRootComposition(deltaTime) {
21553
+ */ _proto.updateCompositionTime = function updateCompositionTime(deltaTime) {
21541
21554
  if (this.rootComposition.state === PlayState.Paused || !this.rootComposition.isActiveAndEnabled) {
21542
21555
  return;
21543
21556
  }
21544
- var localTime = parseFloat((this.time + deltaTime - this.rootItem.start).toFixed(3));
21545
- var isEnded = false;
21557
+ // 相对于合成开始时间的时间
21558
+ var localTime = this.time + deltaTime - this.startTime;
21559
+ if (deltaTime < 0 && localTime < 0) {
21560
+ localTime = 0;
21561
+ }
21546
21562
  var duration = this.rootItem.duration;
21547
21563
  var endBehavior = this.rootItem.endBehavior;
21564
+ var isEnded = false;
21548
21565
  if (localTime - duration > 0.001) {
21549
21566
  isEnded = true;
21550
21567
  switch(endBehavior){
@@ -21569,7 +21586,7 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
21569
21586
  }
21570
21587
  }
21571
21588
  }
21572
- this.rootComposition.time = localTime;
21589
+ this.rootComposition.time = localTime + this.startTime;
21573
21590
  // end state changed, handle onEnd flags
21574
21591
  if (this.isEnded !== isEnded) {
21575
21592
  if (isEnded) {
@@ -28372,7 +28389,7 @@ function getStandardSpriteContent(sprite, transform) {
28372
28389
  return ret;
28373
28390
  }
28374
28391
 
28375
- var version$1 = "2.5.0-alpha.1";
28392
+ var version$1 = "2.5.0-alpha.2";
28376
28393
  var v0 = /^(\d+)\.(\d+)\.(\d+)(-(\w+)\.\d+)?$/;
28377
28394
  var standardVersion = /^(\d+)\.(\d+)$/;
28378
28395
  var reverseParticle = false;
@@ -31622,7 +31639,7 @@ registerPlugin("sprite", SpriteLoader, VFXItem);
31622
31639
  registerPlugin("particle", ParticleLoader, VFXItem);
31623
31640
  registerPlugin("cal", CalculateLoader, VFXItem);
31624
31641
  registerPlugin("interact", InteractLoader, VFXItem);
31625
- var version = "2.5.0-alpha.1";
31642
+ var version = "2.5.0-alpha.2";
31626
31643
  logger.info("Core version: " + version + ".");
31627
31644
 
31628
31645
  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, Deferred, 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 };