@galacean/effects-threejs 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 threejs plugin 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
  import * as THREE from 'three';
@@ -9245,10 +9245,10 @@ var VFXItem = /** @class */ (function () {
9245
9245
  };
9246
9246
  VFXItem.prototype.translateByPixel = function (x, y) {
9247
9247
  if (this.composition) {
9248
+ // @ts-expect-error
9249
+ var _a = this.composition.renderer.canvas.getBoundingClientRect(), width = _a.width, height = _a.height;
9248
9250
  var z = this.transform.getWorldPosition().z;
9249
- var _a = this.composition.camera.getInverseVPRatio(z), rx = _a.x, ry = _a.y;
9250
- var width = this.composition.renderer.getWidth() / 2;
9251
- var height = this.composition.renderer.getHeight() / 2;
9251
+ var _b = this.composition.camera.getInverseVPRatio(z), rx = _b.x, ry = _b.y;
9252
9252
  this.transform.translate(2 * x * rx / width, -2 * y * ry / height, 0);
9253
9253
  }
9254
9254
  };
@@ -21354,8 +21354,9 @@ var Camera = /** @class */ (function () {
21354
21354
  Camera.prototype.getInverseVPRatio = function (z) {
21355
21355
  var pos = new Vector3(0, 0, z);
21356
21356
  var mat = this.getViewProjectionMatrix();
21357
- var nz = pos.applyMatrix(mat).z;
21358
- return new Vector3(1, 1, nz).applyMatrix(mat);
21357
+ var inverseVP = this.getInverseViewProjectionMatrix();
21358
+ var nz = mat.projectPoint(pos).z;
21359
+ return inverseVP.projectPoint(new Vector3(1, 1, nz));
21359
21360
  };
21360
21361
  /**
21361
21362
  * 设置相机的旋转四元数
@@ -21367,7 +21368,6 @@ var Camera = /** @class */ (function () {
21367
21368
  this.dirty = true;
21368
21369
  }
21369
21370
  else {
21370
- this.options.quat;
21371
21371
  if (!this.options.quat.equals(value)) {
21372
21372
  this.options.quat.copyFrom(value);
21373
21373
  this.dirty = true;
@@ -23699,16 +23699,17 @@ var AssetManager = /** @class */ (function () {
23699
23699
  };
23700
23700
  AssetManager.prototype.processBins = function (bins) {
23701
23701
  return __awaiter(this, void 0, void 0, function () {
23702
- var renderLevel, jobs;
23702
+ var renderLevel, baseUrl, jobs;
23703
23703
  var _this = this;
23704
23704
  return __generator(this, function (_a) {
23705
23705
  renderLevel = this.options.renderLevel;
23706
+ baseUrl = this.baseUrl;
23706
23707
  jobs = bins.map(function (bin) {
23707
23708
  if (bin instanceof ArrayBuffer) {
23708
23709
  return bin;
23709
23710
  }
23710
23711
  if (passRenderLevel(bin.renderLevel, renderLevel)) {
23711
- return _this.loadBins(bin.url);
23712
+ return _this.loadBins(new URL(bin.url, baseUrl).href);
23712
23713
  }
23713
23714
  throw new Error("Invalid bins source: ".concat(JSON.stringify(bins)));
23714
23715
  });
@@ -23726,13 +23727,14 @@ var AssetManager = /** @class */ (function () {
23726
23727
  return [2 /*return*/];
23727
23728
  }
23728
23729
  jobs = fonts.map(function (font) { return __awaiter(_this, void 0, void 0, function () {
23729
- var fontFace;
23730
+ var url, fontFace;
23730
23731
  var _a;
23731
23732
  return __generator(this, function (_b) {
23732
23733
  switch (_b.label) {
23733
23734
  case 0:
23734
23735
  if (!(font.fontURL && !AssetManager.fonts.has(font.fontFamily))) return [3 /*break*/, 4];
23735
- fontFace = new FontFace((_a = font.fontFamily) !== null && _a !== void 0 ? _a : '', 'url(' + font.fontURL + ')');
23736
+ url = new URL(font.fontURL, this.baseUrl).href;
23737
+ fontFace = new FontFace((_a = font.fontFamily) !== null && _a !== void 0 ? _a : '', 'url(' + url + ')');
23736
23738
  _b.label = 1;
23737
23739
  case 1:
23738
23740
  _b.trys.push([1, 3, , 4]);
@@ -23745,7 +23747,7 @@ var AssetManager = /** @class */ (function () {
23745
23747
  return [3 /*break*/, 4];
23746
23748
  case 3:
23747
23749
  _b.sent();
23748
- logger.warn("Invalid fonts source: ".concat(JSON.stringify(font.fontURL)));
23750
+ logger.warn("Invalid fonts source: ".concat(JSON.stringify(url)));
23749
23751
  return [3 /*break*/, 4];
23750
23752
  case 4: return [2 /*return*/];
23751
23753
  }
@@ -23977,7 +23979,7 @@ function createTextureOptionsBySource(image, sourceFrom) {
23977
23979
  return image.source;
23978
23980
  }
23979
23981
  else if (image instanceof HTMLImageElement ||
23980
- image instanceof HTMLCanvasElement) {
23982
+ isCanvas(image)) {
23981
23983
  return {
23982
23984
  image: image,
23983
23985
  sourceType: TextureSourceType.image,
@@ -24014,6 +24016,11 @@ function createTextureOptionsBySource(image, sourceFrom) {
24014
24016
  }
24015
24017
  throw new Error('Invalid texture options');
24016
24018
  }
24019
+ function isCanvas(cavnas) {
24020
+ var _a;
24021
+ // 小程序 Canvas 无法使用 instanceof HTMLCanvasElement 判断
24022
+ return typeof cavnas === 'object' && cavnas !== null && ((_a = cavnas.tagName) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === 'CANVAS';
24023
+ }
24017
24024
 
24018
24025
  var CompVFXItem = /** @class */ (function (_super) {
24019
24026
  __extends(CompVFXItem, _super);
@@ -26911,7 +26918,7 @@ Geometry.create = function (engine, options) {
26911
26918
  Mesh.create = function (engine, props) {
26912
26919
  return new ThreeMesh(engine, props);
26913
26920
  };
26914
- var version = "1.2.3";
26921
+ var version = "1.2.4";
26915
26922
  logger.info('THREEJS plugin version: ' + version);
26916
26923
 
26917
26924
  export { AbstractPlugin, AssetManager, BYTES_TYPE_MAP, BezierSegments, 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, 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, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, 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, 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, TEXTURE_UNIFORM_MAP, TextItem, TextLoader, TextMesh, TextVFXItem, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, ThreeComposition, ThreeDisplayObject, ThreeMaterial, ThreeTexture, 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, distortionFrag, distortionVert, earcut, enlargeBuffer, ensureVec3, filters, findPreviousRenderPass, gaussianDown_frag as gaussianDownFrag, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateHalfFloatTexture, getBackgroundImage, getColorFromGradientStops, getConfig, getDefaultTemplateCanvasPool, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getImageItemRenderInfo, getKTXTextureOptions, getKeyFrameMetaByRawValue, getParticleMeshShader, getPixelRatio, getPreMultiAlpha, getStandardComposition, getStandardImage, getStandardItem, getStandardJSON, getTextureSize, glContext, gpuTimer, imageDataFromColor, imageDataFromGradient, initErrors, initGLContext, integrate, interpolateColor, isAndroid, isArray, isFunction, isIOS, isObject, isScene, 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, setUniformValue, sortByOrder, index$1 as spec, spriteMeshShaderFromFilter, spriteMeshShaderFromRenderInfo, spriteMeshShaderIdFromRenderInfo, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecAssign, vecFill, vecMulCombine, vecNormalize, version };