@galacean/effects 1.2.3 → 1.2.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 player for the web
4
4
  * Author: Ant Group CO., Ltd.
5
5
  * Contributors: 燃然,飂兮,十弦,云垣,茂安,意绮
6
- * Version: v1.2.3
6
+ * Version: v1.2.4
7
7
  */
8
8
 
9
9
  /******************************************************************************
@@ -9243,10 +9243,10 @@ var VFXItem = /** @class */ (function () {
9243
9243
  };
9244
9244
  VFXItem.prototype.translateByPixel = function (x, y) {
9245
9245
  if (this.composition) {
9246
+ // @ts-expect-error
9247
+ var _a = this.composition.renderer.canvas.getBoundingClientRect(), width = _a.width, height = _a.height;
9246
9248
  var z = this.transform.getWorldPosition().z;
9247
- var _a = this.composition.camera.getInverseVPRatio(z), rx = _a.x, ry = _a.y;
9248
- var width = this.composition.renderer.getWidth() / 2;
9249
- var height = this.composition.renderer.getHeight() / 2;
9249
+ var _b = this.composition.camera.getInverseVPRatio(z), rx = _b.x, ry = _b.y;
9250
9250
  this.transform.translate(2 * x * rx / width, -2 * y * ry / height, 0);
9251
9251
  }
9252
9252
  };
@@ -21352,8 +21352,9 @@ var Camera = /** @class */ (function () {
21352
21352
  Camera.prototype.getInverseVPRatio = function (z) {
21353
21353
  var pos = new Vector3(0, 0, z);
21354
21354
  var mat = this.getViewProjectionMatrix();
21355
- var nz = pos.applyMatrix(mat).z;
21356
- return new Vector3(1, 1, nz).applyMatrix(mat);
21355
+ var inverseVP = this.getInverseViewProjectionMatrix();
21356
+ var nz = mat.projectPoint(pos).z;
21357
+ return inverseVP.projectPoint(new Vector3(1, 1, nz));
21357
21358
  };
21358
21359
  /**
21359
21360
  * 设置相机的旋转四元数
@@ -21365,7 +21366,6 @@ var Camera = /** @class */ (function () {
21365
21366
  this.dirty = true;
21366
21367
  }
21367
21368
  else {
21368
- this.options.quat;
21369
21369
  if (!this.options.quat.equals(value)) {
21370
21370
  this.options.quat.copyFrom(value);
21371
21371
  this.dirty = true;
@@ -23697,16 +23697,17 @@ var AssetManager = /** @class */ (function () {
23697
23697
  };
23698
23698
  AssetManager.prototype.processBins = function (bins) {
23699
23699
  return __awaiter(this, void 0, void 0, function () {
23700
- var renderLevel, jobs;
23700
+ var renderLevel, baseUrl, jobs;
23701
23701
  var _this = this;
23702
23702
  return __generator(this, function (_a) {
23703
23703
  renderLevel = this.options.renderLevel;
23704
+ baseUrl = this.baseUrl;
23704
23705
  jobs = bins.map(function (bin) {
23705
23706
  if (bin instanceof ArrayBuffer) {
23706
23707
  return bin;
23707
23708
  }
23708
23709
  if (passRenderLevel(bin.renderLevel, renderLevel)) {
23709
- return _this.loadBins(bin.url);
23710
+ return _this.loadBins(new URL(bin.url, baseUrl).href);
23710
23711
  }
23711
23712
  throw new Error("Invalid bins source: ".concat(JSON.stringify(bins)));
23712
23713
  });
@@ -23724,13 +23725,14 @@ var AssetManager = /** @class */ (function () {
23724
23725
  return [2 /*return*/];
23725
23726
  }
23726
23727
  jobs = fonts.map(function (font) { return __awaiter(_this, void 0, void 0, function () {
23727
- var fontFace;
23728
+ var url, fontFace;
23728
23729
  var _a;
23729
23730
  return __generator(this, function (_b) {
23730
23731
  switch (_b.label) {
23731
23732
  case 0:
23732
23733
  if (!(font.fontURL && !AssetManager.fonts.has(font.fontFamily))) return [3 /*break*/, 4];
23733
- fontFace = new FontFace((_a = font.fontFamily) !== null && _a !== void 0 ? _a : '', 'url(' + font.fontURL + ')');
23734
+ url = new URL(font.fontURL, this.baseUrl).href;
23735
+ fontFace = new FontFace((_a = font.fontFamily) !== null && _a !== void 0 ? _a : '', 'url(' + url + ')');
23734
23736
  _b.label = 1;
23735
23737
  case 1:
23736
23738
  _b.trys.push([1, 3, , 4]);
@@ -23743,7 +23745,7 @@ var AssetManager = /** @class */ (function () {
23743
23745
  return [3 /*break*/, 4];
23744
23746
  case 3:
23745
23747
  _b.sent();
23746
- logger.warn("Invalid fonts source: ".concat(JSON.stringify(font.fontURL)));
23748
+ logger.warn("Invalid fonts source: ".concat(JSON.stringify(url)));
23747
23749
  return [3 /*break*/, 4];
23748
23750
  case 4: return [2 /*return*/];
23749
23751
  }
@@ -23975,7 +23977,7 @@ function createTextureOptionsBySource(image, sourceFrom) {
23975
23977
  return image.source;
23976
23978
  }
23977
23979
  else if (image instanceof HTMLImageElement ||
23978
- image instanceof HTMLCanvasElement) {
23980
+ isCanvas(image)) {
23979
23981
  return {
23980
23982
  image: image,
23981
23983
  sourceType: TextureSourceType.image,
@@ -24012,6 +24014,11 @@ function createTextureOptionsBySource(image, sourceFrom) {
24012
24014
  }
24013
24015
  throw new Error('Invalid texture options');
24014
24016
  }
24017
+ function isCanvas(cavnas) {
24018
+ var _a;
24019
+ // 小程序 Canvas 无法使用 instanceof HTMLCanvasElement 判断
24020
+ return typeof cavnas === 'object' && cavnas !== null && ((_a = cavnas.tagName) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === 'CANVAS';
24021
+ }
24015
24022
 
24016
24023
  var CompVFXItem = /** @class */ (function (_super) {
24017
24024
  __extends(CompVFXItem, _super);
@@ -29595,6 +29602,7 @@ var Player = /** @class */ (function () {
29595
29602
  this.displayScale = 1;
29596
29603
  this.resumePending = false;
29597
29604
  this.disposed = false;
29605
+ this.assetManagers = [];
29598
29606
  this.speed = 1;
29599
29607
  this.baseCompositionIndex = 0;
29600
29608
  /**
@@ -29877,7 +29885,7 @@ var Player = /** @class */ (function () {
29877
29885
  Player.prototype.createComposition = function (url, options) {
29878
29886
  if (options === void 0) { options = {}; }
29879
29887
  return __awaiter(this, void 0, void 0, function () {
29880
- var renderer, last, opts, source, scene, composition, firstFrameTime;
29888
+ var renderer, last, opts, source, assetManager, scene, composition, firstFrameTime;
29881
29889
  var _this = this;
29882
29890
  return __generator(this, function (_a) {
29883
29891
  switch (_a.label) {
@@ -29892,13 +29900,9 @@ var Player = /** @class */ (function () {
29892
29900
  else {
29893
29901
  source = url;
29894
29902
  }
29895
- if (this.assetManager) {
29896
- this.assetManager.updateOptions(opts);
29897
- }
29898
- else {
29899
- this.assetManager = new AssetManager(opts);
29900
- }
29901
- return [4 /*yield*/, this.assetManager.loadScene(source, this.renderer, { env: this.env })];
29903
+ assetManager = new AssetManager(opts);
29904
+ this.assetManagers.push(assetManager);
29905
+ return [4 /*yield*/, assetManager.loadScene(source, this.renderer, { env: this.env })];
29902
29906
  case 1:
29903
29907
  scene = _a.sent();
29904
29908
  // 加载期间 player 销毁
@@ -30228,7 +30232,7 @@ var Player = /** @class */ (function () {
30228
30232
  * @param keepCanvas - 是否保留 canvas 画面,默认不保留,canvas 不能再被使用
30229
30233
  */
30230
30234
  Player.prototype.dispose = function (keepCanvas) {
30231
- var _a, _b;
30235
+ var _a;
30232
30236
  logger.info("call player destroy: ".concat(this.name));
30233
30237
  if (this.disposed) {
30234
30238
  return;
@@ -30236,7 +30240,7 @@ var Player = /** @class */ (function () {
30236
30240
  playerMap.delete(this.canvas);
30237
30241
  this.pause();
30238
30242
  (_a = this.ticker) === null || _a === void 0 ? void 0 : _a.stop();
30239
- (_b = this.assetManager) === null || _b === void 0 ? void 0 : _b.dispose();
30243
+ this.assetManagers.forEach(function (assetManager) { return assetManager.dispose(); });
30240
30244
  this.compositions.forEach(function (comp) { return comp.dispose(); });
30241
30245
  this.compositions.length = 0;
30242
30246
  this.renderer.context.removeLostHandler({ lost: this.lost });
@@ -30442,7 +30446,7 @@ Renderer.create = function (canvas, framework, renderOptions) {
30442
30446
  Engine.create = function (gl) {
30443
30447
  return new GLEngine(gl);
30444
30448
  };
30445
- var version = "1.2.3";
30449
+ var version = "1.2.4";
30446
30450
  logger.info('player version: ' + version);
30447
30451
 
30448
30452
  export { AbstractPlugin, AssetManager, BYTES_TYPE_MAP, BezierSegments, COMPRESSED_TEXTURE, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, CalculateItem, CalculateLoader, CalculateVFXItem, Camera, CameraController, CameraVFXItem, CameraVFXItemLoader, Composition, CompositionSourceManager, CurveValue, DEFAULT_FONTS, DestroyOptions, Downloader, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, Engine, EventSystem, FILTER_NAME_NONE, FilterMode, FilterSpriteVFXItem, Float16ArrayWrapper, FrameBuffer, GLEngine, GLGeometry, GLRenderer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, HELP_LINK$1 as HELP_LINK, HitTestType, InteractBehavior$1 as InteractBehavior, InteractItem, InteractLoader, InteractMesh, InteractVFXItem, Item, KTXTexture, LineSegments, LinearValue, Material, MaterialDataBlock, MaterialRenderType, Mesh, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleLoader, ParticleMesh, ParticleSystem, ParticleVFXItem, PassTextureCache, PathSegments, Player, PluginSystem, QCanvasViewer, QText, QTextWrapMode, RENDER_PASS_NAME_PREFIX, RENDER_PREFER_LOOKUP_TEXTURE, RUNTIME_ENV, RandomSetValue, RandomValue, RandomVectorValue, RenderBuffer, RenderFrame, RenderPass, RenderPassAttachmentStorageType, RenderPassDestroyAttachmentType, RenderPassPriorityNormal, RenderPassPriorityPostprocess, RenderPassPriorityPrepare, RenderTargetHandle, RenderTextureFormat, Renderer, 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, SemanticMap, Shader, ShaderCompileResultStatus, ShaderType, SpriteItem, SpriteLoader, SpriteMesh, SpriteVFXItem, StaticValue, TEMPLATE_USE_OFFSCREEN_CANVAS, TextItem, TextLoader, TextMesh, TextVFXItem, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, Ticker, TimelineComponent, Transform, VFXItem, ValueGetter, addByOrder, addItem, addItemWithOrder, alphaFrameFrag, alphaMaskFrag, assertExist, asserts, blend, bloomMixVert, bloomThresholdVert, calculateTranslation, cameraMove_frag as cameraMoveFrag, cameraMoveVert, canvasPool, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, combineImageTemplate1, combineImageTemplate1Async, combineImageTemplate2, combineImageTemplate2Async, combineImageTemplateAsync, compatible_frag as compatibleFrag, compatible_vert as compatibleVert, convertAnchor, copyFrag, createCopyShader, createFilter, createFilterShaders, createGLContext, createKeyFrameMeta, createShaderWithMarcos, createShape, createVFXItem, createValueGetter, deepClone, defaultGlobalVolume, defaultPlugins, delayFrag, deserializeMipmapTexture, disableAllPlayer, distortionFrag, distortionVert, earcut, enlargeBuffer, ensureVec3, filters, findPreviousRenderPass, gaussianDown_frag as gaussianDownFrag, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateHalfFloatTexture, getActivePlayers, getBackgroundImage, getColorFromGradientStops, getConfig, getDefaultTemplateCanvasPool, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getImageItemRenderInfo, getKTXTextureOptions, getKeyFrameMetaByRawValue, getParticleMeshShader, getPixelRatio, getPlayerByCanvas, getPreMultiAlpha, getStandardComposition, getStandardImage, getStandardItem, getStandardJSON, getTextureSize, glContext, gpuTimer, imageDataFromColor, imageDataFromGradient, initErrors, initGLContext, integrate, interpolateColor, isAndroid, isArray, isCanvasUsedByPlayer, isFunction, isIOS, isObject, isScene, isSceneWithOptions, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isWebGL2, item_define as itemDefine, itemFrag, itemFrameFrag, itemVert, loadBinary, loadBlob, loadImage, loadVideo, loadWebPOptional, logger, index as math, maxSpriteMeshItemCount, maxSpriteTextureCount, modifyMaxKeyframeShader, nearestPowerOfTwo, noop, parsePercent$1 as parsePercent, particleFrag, particleOriginTranslateMap, particleVert, pluginLoaderMap, random, registerFilter, registerFilters, registerPlugin, removeItem, requestAsync, rotateVec2, screenMeshVert, setBlendMode, setConfig, setDefaultTextureFactory, setMaskMode, setMaxSpriteMeshItemCount, setRayFromCamera, setSideMode, setSpriteMeshMaxFragmentTextures, setSpriteMeshMaxItemCountByGPU, sortByOrder, index$1 as spec, spriteMeshShaderFromFilter, spriteMeshShaderFromRenderInfo, spriteMeshShaderIdFromRenderInfo, thresholdFrag, throwDestroyedError$1 as throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecAssign, vecFill, vecMulCombine, vecNormalize, version };