@galacean/effects-threejs 2.2.0-alpha.0 → 2.2.1-alpha.0

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: v2.2.0-alpha.0
6
+ * Version: v2.2.1-alpha.0
7
7
  */
8
8
 
9
9
  import * as THREE from 'three';
@@ -5719,22 +5719,6 @@ var TextureSourceType;
5719
5719
  TextureSourceType[TextureSourceType["mipmaps"] = 7] = "mipmaps";
5720
5720
  })(TextureSourceType || (TextureSourceType = {}));
5721
5721
 
5722
- var RUNTIME_ENV = "runtime_env";
5723
- var RENDER_PREFER_LOOKUP_TEXTURE = "lookup_texture";
5724
- // 文本元素使用 offscreen canvas 绘制
5725
- var TEMPLATE_USE_OFFSCREEN_CANVAS = "offscreen_canvas";
5726
- // 后处理配置相关
5727
- var POST_PROCESS_SETTINGS = "post_process_settings";
5728
- // 加载图片时是否使用 ImageBitmap
5729
- var LOAD_PREFER_IMAGE_BITMAP = "load_image_bitmap";
5730
- var config = {};
5731
- function getConfig(name) {
5732
- return config[name];
5733
- }
5734
- function setConfig(name, value) {
5735
- return config[name] = value;
5736
- }
5737
-
5738
5722
  /**
5739
5723
  * 负责下载各种资源,并提供了一些异步加载和缓存管理的功能
5740
5724
  */ var Downloader = /*#__PURE__*/ function() {
@@ -5823,11 +5807,11 @@ var avifFailed = false;
5823
5807
  * 异步加载一个 WebP 图片文件,如果不支持 WebP,则加载 PNG 图片文件
5824
5808
  * @param png - PNG 图片文件的 URL
5825
5809
  * @param webp - WebP 图片文件的 URL
5826
- */ function loadWebPOptional(png, webp, options) {
5810
+ */ function loadWebPOptional(png, webp) {
5827
5811
  return _loadWebPOptional.apply(this, arguments);
5828
5812
  }
5829
5813
  function _loadWebPOptional() {
5830
- _loadWebPOptional = _async_to_generator(function(png, webp, options) {
5814
+ _loadWebPOptional = _async_to_generator(function(png, webp) {
5831
5815
  var image, image1, image2;
5832
5816
  return __generator(this, function(_state) {
5833
5817
  switch(_state.label){
@@ -5838,7 +5822,7 @@ function _loadWebPOptional() {
5838
5822
  ];
5839
5823
  return [
5840
5824
  4,
5841
- loadImageBitmap(png, options)
5825
+ loadImage(png)
5842
5826
  ];
5843
5827
  case 1:
5844
5828
  image = _state.sent();
@@ -5858,7 +5842,7 @@ function _loadWebPOptional() {
5858
5842
  ]);
5859
5843
  return [
5860
5844
  4,
5861
- loadImageBitmap(webp, options)
5845
+ loadImage(webp)
5862
5846
  ];
5863
5847
  case 3:
5864
5848
  image1 = _state.sent();
@@ -5874,7 +5858,7 @@ function _loadWebPOptional() {
5874
5858
  webPFailed = true;
5875
5859
  return [
5876
5860
  4,
5877
- loadImageBitmap(png, options)
5861
+ loadImage(png)
5878
5862
  ];
5879
5863
  case 5:
5880
5864
  image2 = _state.sent();
@@ -5898,11 +5882,11 @@ function _loadWebPOptional() {
5898
5882
  * 异步加载一个 AVIF 图片文件,如果不支持 AVIF,则加载 PNG 图片文件
5899
5883
  * @param png - PNG 图片文件的 URL
5900
5884
  * @param avif - AVIF 图片文件的 URL
5901
- */ function loadAVIFOptional(png, avif, options) {
5885
+ */ function loadAVIFOptional(png, avif) {
5902
5886
  return _loadAVIFOptional.apply(this, arguments);
5903
5887
  }
5904
5888
  function _loadAVIFOptional() {
5905
- _loadAVIFOptional = _async_to_generator(function(png, avif, options) {
5889
+ _loadAVIFOptional = _async_to_generator(function(png, avif) {
5906
5890
  var image, image1, image2;
5907
5891
  return __generator(this, function(_state) {
5908
5892
  switch(_state.label){
@@ -5913,7 +5897,7 @@ function _loadAVIFOptional() {
5913
5897
  ];
5914
5898
  return [
5915
5899
  4,
5916
- loadImageBitmap(png, options)
5900
+ loadImage(png)
5917
5901
  ];
5918
5902
  case 1:
5919
5903
  image = _state.sent();
@@ -5933,7 +5917,7 @@ function _loadAVIFOptional() {
5933
5917
  ]);
5934
5918
  return [
5935
5919
  4,
5936
- loadImageBitmap(avif, options)
5920
+ loadImage(avif)
5937
5921
  ];
5938
5922
  case 3:
5939
5923
  image1 = _state.sent();
@@ -5949,7 +5933,7 @@ function _loadAVIFOptional() {
5949
5933
  avifFailed = true;
5950
5934
  return [
5951
5935
  4,
5952
- loadImageBitmap(png, options)
5936
+ loadImage(png)
5953
5937
  ];
5954
5938
  case 5:
5955
5939
  image2 = _state.sent();
@@ -6164,80 +6148,6 @@ function _loadMedia() {
6164
6148
  });
6165
6149
  return _loadMedia.apply(this, arguments);
6166
6150
  }
6167
- var imageBitMapAvailable = typeof createImageBitmap === "function";
6168
- /**
6169
- * 异步加载一个图片文件,如果支持 ImageBitmap 则返回 ImageBitmap 对象
6170
- * @param source
6171
- * @param options
6172
- * @returns
6173
- */ function loadImageBitmap(source, options) {
6174
- return _loadImageBitmap.apply(this, arguments);
6175
- }
6176
- function _loadImageBitmap() {
6177
- _loadImageBitmap = _async_to_generator(function(source, options) {
6178
- var blob;
6179
- return __generator(this, function(_state) {
6180
- switch(_state.label){
6181
- case 0:
6182
- if (!(imageBitMapAvailable && getConfig(LOAD_PREFER_IMAGE_BITMAP))) return [
6183
- 3,
6184
- 4
6185
- ];
6186
- if (!(typeof source === "string")) return [
6187
- 3,
6188
- 2
6189
- ];
6190
- return [
6191
- 4,
6192
- loadBlob(source)
6193
- ];
6194
- case 1:
6195
- blob = _state.sent();
6196
- return [
6197
- 3,
6198
- 3
6199
- ];
6200
- case 2:
6201
- if (_instanceof1(source, Blob)) {
6202
- blob = source;
6203
- } else {
6204
- return [
6205
- 2,
6206
- loadImage(source)
6207
- ];
6208
- }
6209
- _state.label = 3;
6210
- case 3:
6211
- return [
6212
- 2,
6213
- createImageBitmap(blob, options)
6214
- ];
6215
- case 4:
6216
- return [
6217
- 2,
6218
- loadImage(source)
6219
- ];
6220
- case 5:
6221
- return [
6222
- 2
6223
- ];
6224
- }
6225
- });
6226
- });
6227
- return _loadImageBitmap.apply(this, arguments);
6228
- }
6229
- /**
6230
- * 关闭 ImageBitMap,释放内存
6231
- * @param imgs
6232
- */ function closeImageBitMap(imgs) {
6233
- if (imageBitMapAvailable) {
6234
- if (_instanceof1(imgs, ImageBitmap)) {
6235
- imgs.close();
6236
- } else if (_instanceof1(imgs, Array)) {
6237
- imgs.forEach(closeImageBitMap);
6238
- }
6239
- }
6240
- }
6241
6151
 
6242
6152
  function deserializeMipmapTexture(textureOptions, bins, assets) {
6243
6153
  return _deserializeMipmapTexture.apply(this, arguments);
@@ -16901,9 +16811,11 @@ function shouldIgnoreBouncing(arg, mul) {
16901
16811
  */ var MeshCollider = /*#__PURE__*/ function() {
16902
16812
  function MeshCollider() {
16903
16813
  this.triangles = [];
16814
+ this.worldMatrix = new Matrix4();
16904
16815
  }
16905
16816
  var _proto = MeshCollider.prototype;
16906
16817
  _proto.getBoundingBoxData = function getBoundingBoxData() {
16818
+ this.applyWorldMatrix(this.boundingBoxData.area);
16907
16819
  return this.boundingBoxData;
16908
16820
  };
16909
16821
  _proto.getBoundingBox = function getBoundingBox() {
@@ -16933,6 +16845,7 @@ function shouldIgnoreBouncing(arg, mul) {
16933
16845
  p1: point2,
16934
16846
  p2: point3
16935
16847
  });
16848
+ this.applyWorldMatrix(area);
16936
16849
  return {
16937
16850
  type: HitTestType.triangle,
16938
16851
  area: area
@@ -16953,11 +16866,7 @@ function shouldIgnoreBouncing(arg, mul) {
16953
16866
  });
16954
16867
  }
16955
16868
  if (worldMatrix) {
16956
- area.forEach(function(triangle) {
16957
- triangle.p0 = worldMatrix.transformPoint(triangle.p0, new Vector3());
16958
- triangle.p1 = worldMatrix.transformPoint(triangle.p1, new Vector3());
16959
- triangle.p2 = worldMatrix.transformPoint(triangle.p2, new Vector3());
16960
- });
16869
+ this.worldMatrix.copyFrom(worldMatrix);
16961
16870
  }
16962
16871
  this.boundingBoxData = {
16963
16872
  type: HitTestType.triangle,
@@ -16997,6 +16906,15 @@ function shouldIgnoreBouncing(arg, mul) {
16997
16906
  }
16998
16907
  return res;
16999
16908
  };
16909
+ _proto.applyWorldMatrix = function applyWorldMatrix(area) {
16910
+ var _this = this;
16911
+ area.forEach(function(triangle) {
16912
+ triangle.p0 = _this.worldMatrix.transformPoint(triangle.p0, new Vector3());
16913
+ triangle.p1 = _this.worldMatrix.transformPoint(triangle.p1, new Vector3());
16914
+ triangle.p2 = _this.worldMatrix.transformPoint(triangle.p2, new Vector3());
16915
+ });
16916
+ return area;
16917
+ };
17000
16918
  return MeshCollider;
17001
16919
  }();
17002
16920
 
@@ -17892,7 +17810,7 @@ var VFXItem = /*#__PURE__*/ function(EffectsObject) {
17892
17810
  };
17893
17811
  /**
17894
17812
  * 添加组件
17895
- * @param classConstructor - 要添加的组件类型
17813
+ * @param classConstructor - 要添加的组件
17896
17814
  */ _proto.addComponent = function addComponent(classConstructor) {
17897
17815
  var newComponent = new classConstructor(this.engine);
17898
17816
  this.components.push(newComponent);
@@ -18135,7 +18053,7 @@ var VFXItem = /*#__PURE__*/ function(EffectsObject) {
18135
18053
  };
18136
18054
  _proto.fromData = function fromData(data) {
18137
18055
  EffectsObject.prototype.fromData.call(this, data);
18138
- var id = data.id, name = data.name, delay = data.delay, parentId = data.parentId, endBehavior = data.endBehavior, transform = data.transform, _data_listIndex = data.listIndex, listIndex = _data_listIndex === void 0 ? 0 : _data_listIndex, _data_duration = data.duration, duration = _data_duration === void 0 ? 0 : _data_duration;
18056
+ var id = data.id, name = data.name, delay = data.delay, parentId = data.parentId, endBehavior = data.endBehavior, transform = data.transform, _data_duration = data.duration, duration = _data_duration === void 0 ? 0 : _data_duration;
18139
18057
  this.props = data;
18140
18058
  //@ts-expect-error
18141
18059
  this.type = data.type;
@@ -18197,8 +18115,6 @@ var VFXItem = /*#__PURE__*/ function(EffectsObject) {
18197
18115
  this.rendererComponents.push(component.renderer);
18198
18116
  }
18199
18117
  }
18200
- // renderOrder 在 component 初始化后设置。确保能拿到 rendererComponent。
18201
- this.renderOrder = listIndex;
18202
18118
  };
18203
18119
  _proto.toData = function toData() {
18204
18120
  var _this_parent;
@@ -18806,6 +18722,20 @@ SpriteComponent = __decorate([
18806
18722
  effectsClass(DataType.SpriteComponent)
18807
18723
  ], SpriteComponent);
18808
18724
 
18725
+ var RUNTIME_ENV = "runtime_env";
18726
+ var RENDER_PREFER_LOOKUP_TEXTURE = "lookup_texture";
18727
+ // 文本元素使用 offscreen canvas 绘制
18728
+ var TEMPLATE_USE_OFFSCREEN_CANVAS = "offscreen_canvas";
18729
+ // 后处理配置相关
18730
+ var POST_PROCESS_SETTINGS = "post_process_settings";
18731
+ var config = {};
18732
+ function getConfig(name) {
18733
+ return config[name];
18734
+ }
18735
+ function setConfig(name, value) {
18736
+ return config[name] = value;
18737
+ }
18738
+
18809
18739
  var Cone = /*#__PURE__*/ function() {
18810
18740
  function Cone(props) {
18811
18741
  var _this = this;
@@ -23877,6 +23807,20 @@ var SerializationHelper = /*#__PURE__*/ function() {
23877
23807
  }
23878
23808
  return regions;
23879
23809
  };
23810
+ /**
23811
+ * 设置当前合成子元素的渲染顺序
23812
+ * @internal
23813
+ */ _proto.setChildrenRenderOrder = function setChildrenRenderOrder(startOrder) {
23814
+ for(var _iterator = _create_for_of_iterator_helper_loose(this.items), _step; !(_step = _iterator()).done;){
23815
+ var item = _step.value;
23816
+ item.renderOrder = startOrder++;
23817
+ var subCompositionComponent = item.getComponent(CompositionComponent);
23818
+ if (subCompositionComponent) {
23819
+ startOrder = subCompositionComponent.setChildrenRenderOrder(startOrder);
23820
+ }
23821
+ }
23822
+ return startOrder;
23823
+ };
23880
23824
  _proto.fromData = function fromData(data) {
23881
23825
  Behaviour.prototype.fromData.call(this, data);
23882
23826
  this.items = data.items;
@@ -24691,7 +24635,7 @@ var TextLayout = /*#__PURE__*/ function() {
24691
24635
  function TextLayout(options) {
24692
24636
  this.width = 0;
24693
24637
  this.height = 0;
24694
- var _options_textHeight = options.textHeight, textHeight = _options_textHeight === void 0 ? 100 : _options_textHeight, _options_textWidth = options.textWidth, textWidth = _options_textWidth === void 0 ? 100 : _options_textWidth, _options_textOverflow = options.textOverflow, textOverflow = _options_textOverflow === void 0 ? TextOverflow.display : _options_textOverflow, _options_textBaseline = options.textBaseline, textBaseline = _options_textBaseline === void 0 ? TextBaseline.top : _options_textBaseline, _options_textAlign = options.textAlign, textAlign = _options_textAlign === void 0 ? TextAlignment.left : _options_textAlign, _options_text = options.text, text = _options_text === void 0 ? " " : _options_text, _options_letterSpace = options.letterSpace, letterSpace = _options_letterSpace === void 0 ? 0 : _options_letterSpace, _options_autoWidth = options.autoWidth, autoWidth = _options_autoWidth === void 0 ? false : _options_autoWidth, fontSize = options.fontSize, _options_lineHeight = options.lineHeight, lineHeight = _options_lineHeight === void 0 ? fontSize : _options_lineHeight;
24638
+ var _options_textHeight = options.textHeight, textHeight = _options_textHeight === void 0 ? 100 : _options_textHeight, _options_textWidth = options.textWidth, textWidth = _options_textWidth === void 0 ? 100 : _options_textWidth, _options_textOverflow = options.textOverflow, textOverflow = _options_textOverflow === void 0 ? TextOverflow.clip : _options_textOverflow, _options_textBaseline = options.textBaseline, textBaseline = _options_textBaseline === void 0 ? TextBaseline.top : _options_textBaseline, _options_textAlign = options.textAlign, textAlign = _options_textAlign === void 0 ? TextAlignment.left : _options_textAlign, _options_text = options.text, text = _options_text === void 0 ? " " : _options_text, _options_letterSpace = options.letterSpace, letterSpace = _options_letterSpace === void 0 ? 0 : _options_letterSpace, _options_autoWidth = options.autoWidth, autoWidth = _options_autoWidth === void 0 ? false : _options_autoWidth, fontSize = options.fontSize, _options_lineHeight = options.lineHeight, lineHeight = _options_lineHeight === void 0 ? fontSize : _options_lineHeight;
24695
24639
  var tempWidth = fontSize + letterSpace;
24696
24640
  this.autoWidth = autoWidth;
24697
24641
  this.maxTextWidth = text.length * tempWidth;
@@ -27313,7 +27257,6 @@ var seed$1 = 1;
27313
27257
  this.downloader = downloader;
27314
27258
  this.assets = {};
27315
27259
  this.sourceFrom = {};
27316
- this.imageBitmapOptions = {};
27317
27260
  this.id = seed$1++;
27318
27261
  this.timers = [];
27319
27262
  this.updateOptions(options);
@@ -27571,12 +27514,12 @@ var seed$1 = 1;
27571
27514
  _proto.processJSON = function processJSON(json) {
27572
27515
  var _this = this;
27573
27516
  return _async_to_generator(function() {
27574
- var jsonScene, _jsonScene_plugins, plugins, textures, pluginSystem;
27517
+ var jsonScene, _jsonScene_plugins, plugins, pluginSystem;
27575
27518
  return __generator(this, function(_state) {
27576
27519
  switch(_state.label){
27577
27520
  case 0:
27578
27521
  jsonScene = getStandardJSON(json);
27579
- _jsonScene_plugins = jsonScene.plugins, plugins = _jsonScene_plugins === void 0 ? [] : _jsonScene_plugins, textures = jsonScene.textures;
27522
+ _jsonScene_plugins = jsonScene.plugins, plugins = _jsonScene_plugins === void 0 ? [] : _jsonScene_plugins;
27580
27523
  pluginSystem = new PluginSystem(plugins);
27581
27524
  return [
27582
27525
  4,
@@ -27584,7 +27527,6 @@ var seed$1 = 1;
27584
27527
  ];
27585
27528
  case 1:
27586
27529
  _state.sent();
27587
- _this.assignImageBitmapOptions(textures);
27588
27530
  return [
27589
27531
  2,
27590
27532
  {
@@ -27816,7 +27758,7 @@ var seed$1 = 1;
27816
27758
  ];
27817
27759
  return [
27818
27760
  4,
27819
- loadAVIFOptional(imageURL, avifURL, _this.imageBitmapOptions[id])
27761
+ loadAVIFOptional(imageURL, avifURL)
27820
27762
  ];
27821
27763
  case 10:
27822
27764
  _tmp = _state.sent();
@@ -27827,7 +27769,7 @@ var seed$1 = 1;
27827
27769
  case 11:
27828
27770
  return [
27829
27771
  4,
27830
- loadWebPOptional(imageURL, webpURL, _this.imageBitmapOptions[id])
27772
+ loadWebPOptional(imageURL, webpURL)
27831
27773
  ];
27832
27774
  case 12:
27833
27775
  _tmp = _state.sent();
@@ -28039,21 +27981,6 @@ var seed$1 = 1;
28039
27981
  this.assets[images[i].id] = loadedImages[i];
28040
27982
  }
28041
27983
  };
28042
- _proto.assignImageBitmapOptions = function assignImageBitmapOptions(textures) {
28043
- var _this = this;
28044
- if (textures === void 0) textures = [];
28045
- textures.forEach(function(texture) {
28046
- if (!(_instanceof1(texture, Texture) || "mipmaps" in texture)) {
28047
- var source = texture.source;
28048
- if (isObject(source)) {
28049
- _this.imageBitmapOptions[source.id] = {
28050
- imageOrientation: texture.flipY ? "flipY" : "none",
28051
- premultiplyAlpha: texture.premultiplyAlpha ? "premultiply" : "none"
28052
- };
28053
- }
28054
- }
28055
- });
28056
- };
28057
27984
  _proto.removeTimer = function removeTimer(id) {
28058
27985
  var index = this.timers.indexOf(id);
28059
27986
  if (index !== -1) {
@@ -28063,15 +27990,11 @@ var seed$1 = 1;
28063
27990
  /**
28064
27991
  * 销毁方法
28065
27992
  */ _proto.dispose = function dispose() {
28066
- var _this = this;
28067
27993
  if (this.timers.length) {
28068
27994
  this.timers.map(function(id) {
28069
27995
  return window.clearTimeout(id);
28070
27996
  });
28071
27997
  }
28072
- closeImageBitMap(Object.keys(this.assets).map(function(key) {
28073
- return _this.assets[key];
28074
- }));
28075
27998
  this.assets = {};
28076
27999
  this.sourceFrom = {};
28077
28000
  this.timers = [];
@@ -28088,7 +28011,7 @@ function createTextureOptionsBySource(image, sourceFrom, id) {
28088
28011
  };
28089
28012
  if (_instanceof1(image, Texture)) {
28090
28013
  return _extends({}, image.source, options);
28091
- } else if (_instanceof1(image, HTMLImageElement) || _instanceof1(image, ImageBitmap) || isCanvas(image)) {
28014
+ } else if (_instanceof1(image, HTMLImageElement) || isCanvas(image)) {
28092
28015
  return _extends({
28093
28016
  image: image,
28094
28017
  sourceType: TextureSourceType.image,
@@ -28415,7 +28338,6 @@ var tmpScale = new Vector3(1, 1, 1);
28415
28338
  return Camera;
28416
28339
  }();
28417
28340
 
28418
- var listOrder = 0;
28419
28341
  /**
28420
28342
  * 合成资源管理
28421
28343
  */ var CompositionSourceManager = /*#__PURE__*/ function() {
@@ -28448,7 +28370,6 @@ var listOrder = 0;
28448
28370
  this.pluginSystem = pluginSystem;
28449
28371
  this.totalTime = totalTime != null ? totalTime : 0;
28450
28372
  this.textures = cachedTextures;
28451
- listOrder = 0;
28452
28373
  this.sourceContent = this.getContent(this.composition);
28453
28374
  }
28454
28375
  var _proto = CompositionSourceManager.prototype;
@@ -28479,7 +28400,6 @@ var listOrder = 0;
28479
28400
  var sourceItemData = this.engine.jsonSceneData[itemDataPath.id];
28480
28401
  var itemProps = sourceItemData;
28481
28402
  if (passRenderLevel(sourceItemData.renderLevel, this.renderLevel)) {
28482
- itemProps.listIndex = listOrder++;
28483
28403
  if (itemProps.type === ItemType.sprite || itemProps.type === ItemType.particle || itemProps.type === ItemType.spine || //@ts-expect-error
28484
28404
  itemProps.type === ItemType.shape) {
28485
28405
  for(var _iterator2 = _create_for_of_iterator_helper_loose(itemProps.components), _step2; !(_step2 = _iterator2()).done;){
@@ -28782,6 +28702,7 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
28782
28702
  SerializationHelper.deserialize(sourceContent, _this.rootComposition);
28783
28703
  _this.rootComposition.createContent();
28784
28704
  _this.buildItemTree(_this.rootItem);
28705
+ _this.rootComposition.setChildrenRenderOrder(0);
28785
28706
  _this.pluginSystem.resetComposition(_assert_this_initialized(_this), _this.renderFrame);
28786
28707
  return _this;
28787
28708
  }
@@ -31421,7 +31342,7 @@ registerPlugin("sprite", SpriteLoader, VFXItem, true);
31421
31342
  registerPlugin("particle", ParticleLoader, VFXItem, true);
31422
31343
  registerPlugin("cal", CalculateLoader, VFXItem, true);
31423
31344
  registerPlugin("interact", InteractLoader, VFXItem, true);
31424
- var version$1 = "2.2.0-alpha.0";
31345
+ var version$1 = "2.2.1-alpha.0";
31425
31346
  logger.info("Core version: " + version$1 + ".");
31426
31347
 
31427
31348
  var _obj;
@@ -31478,6 +31399,7 @@ var _obj3;
31478
31399
  /**
31479
31400
  * 储存 uniform 变量名及对应的 THREE uniform 对象
31480
31401
  */ _this.uniforms = {};
31402
+ _this.macrosDirty = true;
31481
31403
  var shader = props == null ? void 0 : props.shader;
31482
31404
  var level = engine.gpuCapability.level;
31483
31405
  _this.shader = new Shader(engine);
@@ -31717,15 +31639,20 @@ var _obj3;
31717
31639
  var uniform = new THREE.Uniform(value);
31718
31640
  this.uniforms[name] = this.material.uniforms[name] = uniform;
31719
31641
  };
31720
- // 下列三个方法暂时不需要实现
31721
- _proto.enableMacro = function enableMacro(keyword) {
31722
- throw new Error("Method not implemented.");
31642
+ _proto.enableMacro = function enableMacro(keyword, value) {
31643
+ if (!this.isMacroEnabled(keyword) || this.enabledMacros[keyword] !== value) {
31644
+ this.enabledMacros[keyword] = value != null ? value : true;
31645
+ this.macrosDirty = true;
31646
+ }
31723
31647
  };
31724
31648
  _proto.disableMacro = function disableMacro(keyword) {
31725
- throw new Error("Method not implemented.");
31649
+ if (this.isMacroEnabled(keyword)) {
31650
+ delete this.enabledMacros[keyword];
31651
+ this.macrosDirty = true;
31652
+ }
31726
31653
  };
31727
31654
  _proto.isMacroEnabled = function isMacroEnabled(keyword) {
31728
- throw new Error("Method not implemented.");
31655
+ return this.enabledMacros[keyword] !== undefined;
31729
31656
  };
31730
31657
  _proto.clone = function clone(props) {
31731
31658
  //FIXME: 暂时不实现
@@ -33048,8 +32975,8 @@ setMaxSpriteMeshItemCount(8);
33048
32975
  */ Mesh.create = function(engine, props) {
33049
32976
  return new ThreeMesh(engine, props);
33050
32977
  };
33051
- var version = "2.2.0-alpha.0";
32978
+ var version = "2.2.1-alpha.0";
33052
32979
  logger.info("THREEJS plugin version: " + version + ".");
33053
32980
 
33054
- export { AbstractPlugin, ActivationPlayable, ActivationPlayableAsset, ActivationTrack, AnimationClip, AnimationClipPlayable, Asset, AssetLoader, AssetManager, BYTES_TYPE_MAP, BaseRenderComponent, Behaviour, BezierCurve, BezierCurvePath, BezierCurveQuat, BinaryAsset, 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, CalculateLoader, Camera, CameraController, CameraVFXItemLoader, ColorCurve, ColorPropertyPlayableAsset, ColorPropertyTrack, Component, Composition, CompositionComponent, CompositionSourceManager, DEFAULT_FONTS, DEFAULT_FPS, Database, DestroyOptions, Downloader, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, EffectComponent, EffectsObject, EffectsPackage, Engine, EventEmitter, EventSystem, Fake3DAnimationMode, Fake3DComponent, FilterMode, Float16ArrayWrapper, FloatPropertyPlayableAsset, FloatPropertyTrack, Framebuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, HELP_LINK, HitTestType, InteractComponent, InteractLoader, InteractMesh, Item, KTXTexture, LOAD_PREFER_IMAGE_BITMAP, LineSegments, LinearValue, 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, 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, SpriteColorPlayableAsset, SpriteColorTrack, SpriteComponent, SpriteLoader, StaticValue, SubCompositionPlayableAsset, SubCompositionTrack, TEMPLATE_USE_OFFSCREEN_CANVAS, TEXTURE_UNIFORM_MAP, TextComponent, TextComponentBase, TextLayout, TextLoader, TextStyle, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, ThreeComposition, ThreeDisplayObject, ThreeEngine, ThreeMaterial, ThreeSpriteComponent, ThreeTextComponent, ThreeTexture, Ticker, TimelineAsset, TimelineClip, TimelinePlayable, TrackAsset, TrackSortWrapper, TrackType, Transform, TransformAnimationPlayable, TransformPlayableAsset, TransformTrack, VFXItem, ValueGetter, Vector4Curve, Vector4PropertyPlayableAsset, Vector4PropertyTrack, addByOrder, addItem, addItemWithOrder, applyMixins, assertExist, asserts, base64ToFile, blend, calculateTranslation, canvasPool, closeImageBitMap, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, createCopyShader, createGLContext, createKeyFrameMeta, createShape, createValueGetter, 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, getImageItemRenderInfo, 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, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isValidFontFamily, isWebGL2, isWechatMiniApp, itemFrag, itemFrameFrag, itemVert, loadAVIFOptional, loadBinary, loadBlob, loadImage, loadImageBitmap, 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, setUniformValue, sortByOrder, index$1 as spec, spriteMeshShaderFromFilter, spriteMeshShaderFromRenderInfo, spriteMeshShaderIdFromRenderInfo, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecFill, vecMulCombine, version, vertexFormatType2GLType };
32981
+ export { AbstractPlugin, ActivationPlayable, ActivationPlayableAsset, ActivationTrack, AnimationClip, AnimationClipPlayable, Asset, AssetLoader, AssetManager, BYTES_TYPE_MAP, BaseRenderComponent, Behaviour, BezierCurve, BezierCurvePath, BezierCurveQuat, BinaryAsset, 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, CalculateLoader, Camera, CameraController, CameraVFXItemLoader, ColorCurve, ColorPropertyPlayableAsset, ColorPropertyTrack, Component, Composition, CompositionComponent, CompositionSourceManager, DEFAULT_FONTS, DEFAULT_FPS, Database, DestroyOptions, Downloader, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, EffectComponent, EffectsObject, EffectsPackage, Engine, EventEmitter, EventSystem, Fake3DAnimationMode, Fake3DComponent, FilterMode, Float16ArrayWrapper, FloatPropertyPlayableAsset, FloatPropertyTrack, Framebuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, HELP_LINK, HitTestType, InteractComponent, InteractLoader, InteractMesh, Item, KTXTexture, LineSegments, LinearValue, 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, 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, SpriteColorPlayableAsset, SpriteColorTrack, SpriteComponent, SpriteLoader, StaticValue, SubCompositionPlayableAsset, SubCompositionTrack, TEMPLATE_USE_OFFSCREEN_CANVAS, TEXTURE_UNIFORM_MAP, TextComponent, TextComponentBase, TextLayout, TextLoader, TextStyle, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, ThreeComposition, ThreeDisplayObject, ThreeEngine, ThreeMaterial, ThreeSpriteComponent, ThreeTextComponent, ThreeTexture, Ticker, TimelineAsset, TimelineClip, TimelinePlayable, TrackAsset, TrackSortWrapper, TrackType, Transform, TransformAnimationPlayable, TransformPlayableAsset, TransformTrack, VFXItem, ValueGetter, Vector4Curve, Vector4PropertyPlayableAsset, Vector4PropertyTrack, addByOrder, addItem, addItemWithOrder, applyMixins, assertExist, asserts, base64ToFile, blend, calculateTranslation, canvasPool, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, createCopyShader, createGLContext, createKeyFrameMeta, createShape, createValueGetter, 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, getImageItemRenderInfo, 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, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isValidFontFamily, isWebGL2, isWechatMiniApp, itemFrag, 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, setUniformValue, sortByOrder, index$1 as spec, spriteMeshShaderFromFilter, spriteMeshShaderFromRenderInfo, spriteMeshShaderIdFromRenderInfo, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecFill, vecMulCombine, version, vertexFormatType2GLType };
33055
32982
  //# sourceMappingURL=index.mjs.map