@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/weapp.mjs CHANGED
@@ -9237,10 +9237,10 @@ var VFXItem = /** @class */ (function () {
9237
9237
  };
9238
9238
  VFXItem.prototype.translateByPixel = function (x, y) {
9239
9239
  if (this.composition) {
9240
+ // @ts-expect-error
9241
+ var _a = this.composition.renderer.canvas.getBoundingClientRect(), width = _a.width, height = _a.height;
9240
9242
  var z = this.transform.getWorldPosition().z;
9241
- var _a = this.composition.camera.getInverseVPRatio(z), rx = _a.x, ry = _a.y;
9242
- var width = this.composition.renderer.getWidth() / 2;
9243
- var height = this.composition.renderer.getHeight() / 2;
9243
+ var _b = this.composition.camera.getInverseVPRatio(z), rx = _b.x, ry = _b.y;
9244
9244
  this.transform.translate(2 * x * rx / width, -2 * y * ry / height, 0);
9245
9245
  }
9246
9246
  };
@@ -21346,8 +21346,9 @@ var Camera = /** @class */ (function () {
21346
21346
  Camera.prototype.getInverseVPRatio = function (z) {
21347
21347
  var pos = new Vector3(0, 0, z);
21348
21348
  var mat = this.getViewProjectionMatrix();
21349
- var nz = pos.applyMatrix(mat).z;
21350
- return new Vector3(1, 1, nz).applyMatrix(mat);
21349
+ var inverseVP = this.getInverseViewProjectionMatrix();
21350
+ var nz = mat.projectPoint(pos).z;
21351
+ return inverseVP.projectPoint(new Vector3(1, 1, nz));
21351
21352
  };
21352
21353
  /**
21353
21354
  * 设置相机的旋转四元数
@@ -21359,7 +21360,6 @@ var Camera = /** @class */ (function () {
21359
21360
  this.dirty = true;
21360
21361
  }
21361
21362
  else {
21362
- this.options.quat;
21363
21363
  if (!this.options.quat.equals(value)) {
21364
21364
  this.options.quat.copyFrom(value);
21365
21365
  this.dirty = true;
@@ -23691,16 +23691,17 @@ var AssetManager = /** @class */ (function () {
23691
23691
  };
23692
23692
  AssetManager.prototype.processBins = function (bins) {
23693
23693
  return __awaiter(this, void 0, void 0, function () {
23694
- var renderLevel, jobs;
23694
+ var renderLevel, baseUrl, jobs;
23695
23695
  var _this = this;
23696
23696
  return __generator(this, function (_a) {
23697
23697
  renderLevel = this.options.renderLevel;
23698
+ baseUrl = this.baseUrl;
23698
23699
  jobs = bins.map(function (bin) {
23699
23700
  if (bin instanceof ArrayBuffer) {
23700
23701
  return bin;
23701
23702
  }
23702
23703
  if (passRenderLevel(bin.renderLevel, renderLevel)) {
23703
- return _this.loadBins(bin.url);
23704
+ return _this.loadBins(new URL(bin.url, baseUrl).href);
23704
23705
  }
23705
23706
  throw new Error("Invalid bins source: ".concat(JSON.stringify(bins)));
23706
23707
  });
@@ -23718,13 +23719,14 @@ var AssetManager = /** @class */ (function () {
23718
23719
  return [2 /*return*/];
23719
23720
  }
23720
23721
  jobs = fonts.map(function (font) { return __awaiter(_this, void 0, void 0, function () {
23721
- var fontFace;
23722
+ var url, fontFace;
23722
23723
  var _a;
23723
23724
  return __generator(this, function (_b) {
23724
23725
  switch (_b.label) {
23725
23726
  case 0:
23726
23727
  if (!(font.fontURL && !AssetManager.fonts.has(font.fontFamily))) return [3 /*break*/, 4];
23727
- fontFace = new FontFace((_a = font.fontFamily) !== null && _a !== void 0 ? _a : '', 'url(' + font.fontURL + ')');
23728
+ url = new URL(font.fontURL, this.baseUrl).href;
23729
+ fontFace = new FontFace((_a = font.fontFamily) !== null && _a !== void 0 ? _a : '', 'url(' + url + ')');
23728
23730
  _b.label = 1;
23729
23731
  case 1:
23730
23732
  _b.trys.push([1, 3, , 4]);
@@ -23737,7 +23739,7 @@ var AssetManager = /** @class */ (function () {
23737
23739
  return [3 /*break*/, 4];
23738
23740
  case 3:
23739
23741
  _b.sent();
23740
- logger.warn("Invalid fonts source: ".concat(JSON.stringify(font.fontURL)));
23742
+ logger.warn("Invalid fonts source: ".concat(JSON.stringify(url)));
23741
23743
  return [3 /*break*/, 4];
23742
23744
  case 4: return [2 /*return*/];
23743
23745
  }
@@ -23969,7 +23971,7 @@ function createTextureOptionsBySource(image, sourceFrom) {
23969
23971
  return image.source;
23970
23972
  }
23971
23973
  else if (image instanceof HTMLImageElement ||
23972
- image instanceof HTMLCanvasElement) {
23974
+ isCanvas(image)) {
23973
23975
  return {
23974
23976
  image: image,
23975
23977
  sourceType: TextureSourceType.image,
@@ -24006,6 +24008,11 @@ function createTextureOptionsBySource(image, sourceFrom) {
24006
24008
  }
24007
24009
  throw new Error('Invalid texture options');
24008
24010
  }
24011
+ function isCanvas(cavnas) {
24012
+ var _a;
24013
+ // 小程序 Canvas 无法使用 instanceof HTMLCanvasElement 判断
24014
+ return typeof cavnas === 'object' && cavnas !== null && ((_a = cavnas.tagName) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === 'CANVAS';
24015
+ }
24009
24016
 
24010
24017
  var CompVFXItem = /** @class */ (function (_super) {
24011
24018
  __extends(CompVFXItem, _super);
@@ -29589,6 +29596,7 @@ var Player = /** @class */ (function () {
29589
29596
  this.displayScale = 1;
29590
29597
  this.resumePending = false;
29591
29598
  this.disposed = false;
29599
+ this.assetManagers = [];
29592
29600
  this.speed = 1;
29593
29601
  this.baseCompositionIndex = 0;
29594
29602
  /**
@@ -29871,7 +29879,7 @@ var Player = /** @class */ (function () {
29871
29879
  Player.prototype.createComposition = function (url, options) {
29872
29880
  if (options === void 0) { options = {}; }
29873
29881
  return __awaiter(this, void 0, void 0, function () {
29874
- var renderer, last, opts, source, scene, composition, firstFrameTime;
29882
+ var renderer, last, opts, source, assetManager, scene, composition, firstFrameTime;
29875
29883
  var _this = this;
29876
29884
  return __generator(this, function (_a) {
29877
29885
  switch (_a.label) {
@@ -29886,13 +29894,9 @@ var Player = /** @class */ (function () {
29886
29894
  else {
29887
29895
  source = url;
29888
29896
  }
29889
- if (this.assetManager) {
29890
- this.assetManager.updateOptions(opts);
29891
- }
29892
- else {
29893
- this.assetManager = new AssetManager(opts);
29894
- }
29895
- return [4 /*yield*/, this.assetManager.loadScene(source, this.renderer, { env: this.env })];
29897
+ assetManager = new AssetManager(opts);
29898
+ this.assetManagers.push(assetManager);
29899
+ return [4 /*yield*/, assetManager.loadScene(source, this.renderer, { env: this.env })];
29896
29900
  case 1:
29897
29901
  scene = _a.sent();
29898
29902
  // 加载期间 player 销毁
@@ -30222,7 +30226,7 @@ var Player = /** @class */ (function () {
30222
30226
  * @param keepCanvas - 是否保留 canvas 画面,默认不保留,canvas 不能再被使用
30223
30227
  */
30224
30228
  Player.prototype.dispose = function (keepCanvas) {
30225
- var _a, _b;
30229
+ var _a;
30226
30230
  logger.info("call player destroy: ".concat(this.name));
30227
30231
  if (this.disposed) {
30228
30232
  return;
@@ -30230,7 +30234,7 @@ var Player = /** @class */ (function () {
30230
30234
  playerMap.delete(this.canvas);
30231
30235
  this.pause();
30232
30236
  (_a = this.ticker) === null || _a === void 0 ? void 0 : _a.stop();
30233
- (_b = this.assetManager) === null || _b === void 0 ? void 0 : _b.dispose();
30237
+ this.assetManagers.forEach(function (assetManager) { return assetManager.dispose(); });
30234
30238
  this.compositions.forEach(function (comp) { return comp.dispose(); });
30235
30239
  this.compositions.length = 0;
30236
30240
  this.renderer.context.removeLostHandler({ lost: this.lost });
@@ -30436,7 +30440,7 @@ Renderer.create = function (canvas, framework, renderOptions) {
30436
30440
  Engine.create = function (gl) {
30437
30441
  return new GLEngine(gl);
30438
30442
  };
30439
- var version = "1.2.3";
30443
+ var version = "1.2.4";
30440
30444
  logger.info('player version: ' + version);
30441
30445
 
30442
30446
  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 };