@galacean/effects-threejs 1.3.0-alpha.0 → 1.3.0-alpha.1

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.3.0-alpha.0
6
+ * Version: v1.3.0-alpha.1
7
7
  */
8
8
 
9
9
  import * as THREE from 'three';
@@ -684,7 +684,7 @@ function asserts(condition, msg) {
684
684
  * Name: @galacean/effects-specification
685
685
  * Description: Galacean Effects JSON Specification
686
686
  * Author: Ant Group CO., Ltd.
687
- * Version: v1.1.0-alpha.0
687
+ * Version: v1.1.0-alpha.1
688
688
  */
689
689
 
690
690
  /*********************************************/
@@ -9256,10 +9256,10 @@ var VFXItem = /** @class */ (function () {
9256
9256
  };
9257
9257
  VFXItem.prototype.translateByPixel = function (x, y) {
9258
9258
  if (this.composition) {
9259
+ // @ts-expect-error
9260
+ var _a = this.composition.renderer.canvas.getBoundingClientRect(), width = _a.width, height = _a.height;
9259
9261
  var z = this.transform.getWorldPosition().z;
9260
- var _a = this.composition.camera.getInverseVPRatio(z), rx = _a.x, ry = _a.y;
9261
- var width = this.composition.renderer.getWidth() / 2;
9262
- var height = this.composition.renderer.getHeight() / 2;
9262
+ var _b = this.composition.camera.getInverseVPRatio(z), rx = _b.x, ry = _b.y;
9263
9263
  this.transform.translate(2 * x * rx / width, -2 * y * ry / height, 0);
9264
9264
  }
9265
9265
  };
@@ -13150,9 +13150,13 @@ var InteractVFXItem = /** @class */ (function (_super) {
13150
13150
  this.handleDragMove(this.dragEvent, this.bouncingArg);
13151
13151
  }
13152
13152
  };
13153
- InteractVFXItem.prototype.onItemRemoved = function (composition) {
13153
+ InteractVFXItem.prototype.onEnd = function () {
13154
+ if (this.composition) {
13155
+ this.composition.removeInteractiveItem(this, this.ui.options.type);
13156
+ }
13157
+ };
13158
+ InteractVFXItem.prototype.onItemRemoved = function () {
13154
13159
  var _a;
13155
- composition.removeInteractiveItem(this, this.ui.options.type);
13156
13160
  this.clickable = false;
13157
13161
  (_a = this.previewContent) === null || _a === void 0 ? void 0 : _a.mesh.dispose();
13158
13162
  this.endDragTarget();
@@ -14944,7 +14948,6 @@ var SpriteItem = /** @class */ (function (_super) {
14944
14948
  ret.texOffset = [0, 0, 1, 1];
14945
14949
  }
14946
14950
  ret.visible = this.vfxItem.contentVisible;
14947
- // 图层元素作为父节点时,除了k的大小变换,自身的尺寸也需要传递给子元素,子元素可以通过startSize读取
14948
14951
  ret.startSize = this.startSize;
14949
14952
  return ret;
14950
14953
  };
@@ -15042,7 +15045,9 @@ var SpriteVFXItem = /** @class */ (function (_super) {
15042
15045
  };
15043
15046
  SpriteVFXItem.prototype.doCreateContent = function (composition) {
15044
15047
  var emptyTexture = composition.getRendererOptions().emptyTexture;
15045
- return new SpriteItem(this.sprite, { emptyTexture: emptyTexture }, this);
15048
+ var content = new SpriteItem(this.sprite, { emptyTexture: emptyTexture }, this);
15049
+ content.getRenderData(0, true);
15050
+ return content;
15046
15051
  };
15047
15052
  SpriteVFXItem.prototype.createWireframeMesh = function (item, color) {
15048
15053
  var spMesh = new SpriteMesh(this.composition.getEngine(), __assign$1({ wireframe: true }, item.renderInfo), this.composition);
@@ -21380,8 +21385,9 @@ var Camera = /** @class */ (function () {
21380
21385
  Camera.prototype.getInverseVPRatio = function (z) {
21381
21386
  var pos = new Vector3(0, 0, z);
21382
21387
  var mat = this.getViewProjectionMatrix();
21383
- var nz = pos.applyMatrix(mat).z;
21384
- return new Vector3(1, 1, nz).applyMatrix(mat);
21388
+ var inverseVP = this.getInverseViewProjectionMatrix();
21389
+ var nz = mat.projectPoint(pos).z;
21390
+ return inverseVP.projectPoint(new Vector3(1, 1, nz));
21385
21391
  };
21386
21392
  /**
21387
21393
  * 设置相机的旋转四元数
@@ -21393,7 +21399,6 @@ var Camera = /** @class */ (function () {
21393
21399
  this.dirty = true;
21394
21400
  }
21395
21401
  else {
21396
- this.options.quat;
21397
21402
  if (!this.options.quat.equals(value)) {
21398
21403
  this.options.quat.copyFrom(value);
21399
21404
  this.dirty = true;
@@ -21570,7 +21575,7 @@ var filters = {
21570
21575
  * Name: @galacean/effects-specification
21571
21576
  * Description: Galacean Effects JSON Specification
21572
21577
  * Author: Ant Group CO., Ltd.
21573
- * Version: v1.1.0-alpha.0
21578
+ * Version: v1.1.0-alpha.1
21574
21579
  */
21575
21580
 
21576
21581
  /*********************************************/
@@ -23733,16 +23738,17 @@ var AssetManager = /** @class */ (function () {
23733
23738
  };
23734
23739
  AssetManager.prototype.processBins = function (bins) {
23735
23740
  return __awaiter(this, void 0, void 0, function () {
23736
- var renderLevel, jobs;
23741
+ var renderLevel, baseUrl, jobs;
23737
23742
  var _this = this;
23738
23743
  return __generator(this, function (_a) {
23739
23744
  renderLevel = this.options.renderLevel;
23745
+ baseUrl = this.baseUrl;
23740
23746
  jobs = bins.map(function (bin) {
23741
23747
  if (bin instanceof ArrayBuffer) {
23742
23748
  return bin;
23743
23749
  }
23744
23750
  if (passRenderLevel(bin.renderLevel, renderLevel)) {
23745
- return _this.loadBins(bin.url);
23751
+ return _this.loadBins(new URL(bin.url, baseUrl).href);
23746
23752
  }
23747
23753
  throw new Error("Invalid bins source: ".concat(JSON.stringify(bins)));
23748
23754
  });
@@ -23760,13 +23766,14 @@ var AssetManager = /** @class */ (function () {
23760
23766
  return [2 /*return*/];
23761
23767
  }
23762
23768
  jobs = fonts.map(function (font) { return __awaiter(_this, void 0, void 0, function () {
23763
- var fontFace;
23769
+ var url, fontFace;
23764
23770
  var _a;
23765
23771
  return __generator(this, function (_b) {
23766
23772
  switch (_b.label) {
23767
23773
  case 0:
23768
23774
  if (!(font.fontURL && !AssetManager.fonts.has(font.fontFamily))) return [3 /*break*/, 4];
23769
- fontFace = new FontFace((_a = font.fontFamily) !== null && _a !== void 0 ? _a : '', 'url(' + font.fontURL + ')');
23775
+ url = new URL(font.fontURL, this.baseUrl).href;
23776
+ fontFace = new FontFace((_a = font.fontFamily) !== null && _a !== void 0 ? _a : '', 'url(' + url + ')');
23770
23777
  _b.label = 1;
23771
23778
  case 1:
23772
23779
  _b.trys.push([1, 3, , 4]);
@@ -23779,7 +23786,7 @@ var AssetManager = /** @class */ (function () {
23779
23786
  return [3 /*break*/, 4];
23780
23787
  case 3:
23781
23788
  _b.sent();
23782
- logger.warn("Invalid fonts source: ".concat(JSON.stringify(font.fontURL)));
23789
+ logger.warn("Invalid fonts source: ".concat(JSON.stringify(url)));
23783
23790
  return [3 /*break*/, 4];
23784
23791
  case 4: return [2 /*return*/];
23785
23792
  }
@@ -23992,7 +23999,7 @@ function createTextureOptionsBySource(image, sourceFrom) {
23992
23999
  return image.source;
23993
24000
  }
23994
24001
  else if (image instanceof HTMLImageElement ||
23995
- image instanceof HTMLCanvasElement) {
24002
+ isCanvas(image)) {
23996
24003
  return {
23997
24004
  image: image,
23998
24005
  sourceType: TextureSourceType.image,
@@ -24029,6 +24036,11 @@ function createTextureOptionsBySource(image, sourceFrom) {
24029
24036
  }
24030
24037
  throw new Error('Invalid texture options');
24031
24038
  }
24039
+ function isCanvas(canvas) {
24040
+ var _a;
24041
+ // 小程序 Canvas 无法使用 instanceof HTMLCanvasElement 判断
24042
+ return typeof canvas === 'object' && canvas !== null && ((_a = canvas.tagName) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === 'CANVAS';
24043
+ }
24032
24044
 
24033
24045
  var CompVFXItem = /** @class */ (function (_super) {
24034
24046
  __extends(CompVFXItem, _super);
@@ -26926,7 +26938,7 @@ Geometry.create = function (engine, options) {
26926
26938
  Mesh.create = function (engine, props) {
26927
26939
  return new ThreeMesh(engine, props);
26928
26940
  };
26929
- var version = "1.3.0-alpha.0";
26941
+ var version = "1.3.0-alpha.1";
26930
26942
  logger.info('THREEJS plugin version: ' + version);
26931
26943
 
26932
26944
  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, loadMedia, 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 };