@galacean/effects-threejs 2.2.2 → 2.2.3
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.js +128 -101
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +2 -2
- package/dist/index.min.js.map +1 -1
- package/dist/index.mjs +128 -101
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.js
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.
|
|
6
|
+
* Version: v2.2.3
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
'use strict';
|
|
@@ -16646,8 +16646,16 @@ exports.InteractComponent = /*#__PURE__*/ function(RendererComponent) {
|
|
|
16646
16646
|
_proto.onEnable = function onEnable() {
|
|
16647
16647
|
RendererComponent.prototype.onEnable.call(this);
|
|
16648
16648
|
var type = this.interactData.options.type;
|
|
16649
|
+
var env = this.item.engine.renderer.env;
|
|
16649
16650
|
if (type === InteractType.CLICK) {
|
|
16650
16651
|
this.clickable = true;
|
|
16652
|
+
} else if (type === InteractType.DRAG) {
|
|
16653
|
+
var options = this.interactData.options;
|
|
16654
|
+
var enableInEditor = options.enableInEditor;
|
|
16655
|
+
if (env !== PLAYER_OPTIONS_ENV_EDITOR || enableInEditor) {
|
|
16656
|
+
var _this_item_composition;
|
|
16657
|
+
((_this_item_composition = this.item.composition) == null ? void 0 : _this_item_composition.event) && this.beginDragTarget(options, this.item.composition.event);
|
|
16658
|
+
}
|
|
16651
16659
|
}
|
|
16652
16660
|
};
|
|
16653
16661
|
_proto.onUpdate = function onUpdate(dt) {
|
|
@@ -17183,6 +17191,83 @@ var PlayState;
|
|
|
17183
17191
|
PlayState[PlayState["Paused"] = 1] = "Paused";
|
|
17184
17192
|
})(PlayState || (PlayState = {}));
|
|
17185
17193
|
|
|
17194
|
+
/**
|
|
17195
|
+
*
|
|
17196
|
+
*/ /**
|
|
17197
|
+
* 事件监听器
|
|
17198
|
+
*/ var EventEmitter = function EventEmitter() {
|
|
17199
|
+
var _this = this;
|
|
17200
|
+
var _this1 = this;
|
|
17201
|
+
this.listeners = {};
|
|
17202
|
+
/**
|
|
17203
|
+
* 移除事件监听器
|
|
17204
|
+
* @param eventName - 事件名称
|
|
17205
|
+
* @param listener - 事件监听器
|
|
17206
|
+
* @returns
|
|
17207
|
+
*/ this.off = function(eventName, listener) {
|
|
17208
|
+
if (!_this.listeners[eventName]) {
|
|
17209
|
+
return;
|
|
17210
|
+
}
|
|
17211
|
+
_this.listeners[eventName] = _this.listeners[eventName].filter(function(param) {
|
|
17212
|
+
var l = param.listener;
|
|
17213
|
+
return l !== listener;
|
|
17214
|
+
});
|
|
17215
|
+
};
|
|
17216
|
+
/**
|
|
17217
|
+
* 监听事件
|
|
17218
|
+
* @param eventName - 事件名称
|
|
17219
|
+
* @param listener - 事件监听器
|
|
17220
|
+
* @param options - 事件监听器选项
|
|
17221
|
+
* @returns
|
|
17222
|
+
*/ this.on = function(eventName, listener, options) {
|
|
17223
|
+
_this.listeners[eventName] = _this.listeners[eventName] || [];
|
|
17224
|
+
_this.listeners[eventName].push({
|
|
17225
|
+
listener: listener,
|
|
17226
|
+
options: options
|
|
17227
|
+
});
|
|
17228
|
+
return function() {
|
|
17229
|
+
return _this.off(eventName, listener);
|
|
17230
|
+
};
|
|
17231
|
+
};
|
|
17232
|
+
/**
|
|
17233
|
+
* 一次性监听事件
|
|
17234
|
+
* @param eventName - 事件名称
|
|
17235
|
+
* @param listener - 事件监听器
|
|
17236
|
+
*/ this.once = function(eventName, listener) {
|
|
17237
|
+
_this.on(eventName, listener, {
|
|
17238
|
+
once: true
|
|
17239
|
+
});
|
|
17240
|
+
};
|
|
17241
|
+
/**
|
|
17242
|
+
* 触发事件
|
|
17243
|
+
* @param eventName - 事件名称
|
|
17244
|
+
* @param args - 事件参数
|
|
17245
|
+
*/ this.emit = function(eventName) {
|
|
17246
|
+
for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
|
|
17247
|
+
args[_key - 1] = arguments[_key];
|
|
17248
|
+
}
|
|
17249
|
+
var _this_listeners_eventName;
|
|
17250
|
+
(_this_listeners_eventName = _this1.listeners[eventName]) == null ? void 0 : _this_listeners_eventName.forEach(function(param) {
|
|
17251
|
+
var listener = param.listener, options = param.options;
|
|
17252
|
+
listener.apply(void 0, [].concat(args));
|
|
17253
|
+
if (options == null ? void 0 : options.once) {
|
|
17254
|
+
_this1.off(eventName, listener);
|
|
17255
|
+
}
|
|
17256
|
+
});
|
|
17257
|
+
};
|
|
17258
|
+
/**
|
|
17259
|
+
* 获取事件名称对应的所有监听器
|
|
17260
|
+
* @param eventName - 事件名称
|
|
17261
|
+
* @returns - 返回事件名称对应的所有监听器
|
|
17262
|
+
*/ this.getListeners = function(eventName) {
|
|
17263
|
+
var _this_listeners_eventName;
|
|
17264
|
+
return ((_this_listeners_eventName = _this.listeners[eventName]) == null ? void 0 : _this_listeners_eventName.map(function(param) {
|
|
17265
|
+
var listener = param.listener;
|
|
17266
|
+
return listener;
|
|
17267
|
+
})) || [];
|
|
17268
|
+
};
|
|
17269
|
+
};
|
|
17270
|
+
|
|
17186
17271
|
var tempQuat$1 = new Quaternion();
|
|
17187
17272
|
var seed$4 = 1;
|
|
17188
17273
|
// TODO 继承 Component
|
|
@@ -17653,83 +17738,6 @@ var seed$4 = 1;
|
|
|
17653
17738
|
return Transform;
|
|
17654
17739
|
}();
|
|
17655
17740
|
|
|
17656
|
-
/**
|
|
17657
|
-
*
|
|
17658
|
-
*/ /**
|
|
17659
|
-
* 事件监听器
|
|
17660
|
-
*/ var EventEmitter = function EventEmitter() {
|
|
17661
|
-
var _this = this;
|
|
17662
|
-
var _this1 = this;
|
|
17663
|
-
this.listeners = {};
|
|
17664
|
-
/**
|
|
17665
|
-
* 移除事件监听器
|
|
17666
|
-
* @param eventName - 事件名称
|
|
17667
|
-
* @param listener - 事件监听器
|
|
17668
|
-
* @returns
|
|
17669
|
-
*/ this.off = function(eventName, listener) {
|
|
17670
|
-
if (!_this.listeners[eventName]) {
|
|
17671
|
-
return;
|
|
17672
|
-
}
|
|
17673
|
-
_this.listeners[eventName] = _this.listeners[eventName].filter(function(param) {
|
|
17674
|
-
var l = param.listener;
|
|
17675
|
-
return l !== listener;
|
|
17676
|
-
});
|
|
17677
|
-
};
|
|
17678
|
-
/**
|
|
17679
|
-
* 监听事件
|
|
17680
|
-
* @param eventName - 事件名称
|
|
17681
|
-
* @param listener - 事件监听器
|
|
17682
|
-
* @param options - 事件监听器选项
|
|
17683
|
-
* @returns
|
|
17684
|
-
*/ this.on = function(eventName, listener, options) {
|
|
17685
|
-
_this.listeners[eventName] = _this.listeners[eventName] || [];
|
|
17686
|
-
_this.listeners[eventName].push({
|
|
17687
|
-
listener: listener,
|
|
17688
|
-
options: options
|
|
17689
|
-
});
|
|
17690
|
-
return function() {
|
|
17691
|
-
return _this.off(eventName, listener);
|
|
17692
|
-
};
|
|
17693
|
-
};
|
|
17694
|
-
/**
|
|
17695
|
-
* 一次性监听事件
|
|
17696
|
-
* @param eventName - 事件名称
|
|
17697
|
-
* @param listener - 事件监听器
|
|
17698
|
-
*/ this.once = function(eventName, listener) {
|
|
17699
|
-
_this.on(eventName, listener, {
|
|
17700
|
-
once: true
|
|
17701
|
-
});
|
|
17702
|
-
};
|
|
17703
|
-
/**
|
|
17704
|
-
* 触发事件
|
|
17705
|
-
* @param eventName - 事件名称
|
|
17706
|
-
* @param args - 事件参数
|
|
17707
|
-
*/ this.emit = function(eventName) {
|
|
17708
|
-
for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
|
|
17709
|
-
args[_key - 1] = arguments[_key];
|
|
17710
|
-
}
|
|
17711
|
-
var _this_listeners_eventName;
|
|
17712
|
-
(_this_listeners_eventName = _this1.listeners[eventName]) == null ? void 0 : _this_listeners_eventName.forEach(function(param) {
|
|
17713
|
-
var listener = param.listener, options = param.options;
|
|
17714
|
-
listener.apply(void 0, [].concat(args));
|
|
17715
|
-
if (options == null ? void 0 : options.once) {
|
|
17716
|
-
_this1.off(eventName, listener);
|
|
17717
|
-
}
|
|
17718
|
-
});
|
|
17719
|
-
};
|
|
17720
|
-
/**
|
|
17721
|
-
* 获取事件名称对应的所有监听器
|
|
17722
|
-
* @param eventName - 事件名称
|
|
17723
|
-
* @returns - 返回事件名称对应的所有监听器
|
|
17724
|
-
*/ this.getListeners = function(eventName) {
|
|
17725
|
-
var _this_listeners_eventName;
|
|
17726
|
-
return ((_this_listeners_eventName = _this.listeners[eventName]) == null ? void 0 : _this_listeners_eventName.map(function(param) {
|
|
17727
|
-
var listener = param.listener;
|
|
17728
|
-
return listener;
|
|
17729
|
-
})) || [];
|
|
17730
|
-
};
|
|
17731
|
-
};
|
|
17732
|
-
|
|
17733
17741
|
exports.VFXItem = /*#__PURE__*/ function(EffectsObject) {
|
|
17734
17742
|
_inherits(VFXItem, EffectsObject);
|
|
17735
17743
|
function VFXItem(engine, props) {
|
|
@@ -18079,42 +18087,36 @@ exports.VFXItem = /*#__PURE__*/ function(EffectsObject) {
|
|
|
18079
18087
|
EffectsObject.prototype.fromData.call(this, data);
|
|
18080
18088
|
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;
|
|
18081
18089
|
this.props = data;
|
|
18082
|
-
//@ts-expect-error
|
|
18083
18090
|
this.type = data.type;
|
|
18084
18091
|
this.id = id.toString(); // TODO 老数据 id 是 number,需要转换
|
|
18085
18092
|
this.name = name;
|
|
18086
18093
|
this.start = delay ? delay : this.start;
|
|
18094
|
+
var transformProps = {};
|
|
18087
18095
|
if (transform) {
|
|
18088
|
-
|
|
18089
|
-
transform.position = new Vector3().copyFrom(transform.position);
|
|
18096
|
+
transformProps.position = new Vector3().copyFrom(transform.position);
|
|
18090
18097
|
// FIXME: transform.rotation待删除
|
|
18098
|
+
//@ts-expect-error
|
|
18091
18099
|
if (transform.quat) {
|
|
18092
18100
|
//@ts-expect-error
|
|
18093
|
-
|
|
18101
|
+
transformProps.quat = new Quaternion(transform.quat.x, transform.quat.y, transform.quat.z, transform.quat.w);
|
|
18094
18102
|
} else {
|
|
18095
18103
|
var _transform_eulerHint;
|
|
18096
18104
|
//@ts-expect-error
|
|
18097
|
-
|
|
18105
|
+
transformProps.rotation = new Euler().copyFrom((_transform_eulerHint = transform.eulerHint) != null ? _transform_eulerHint : transform.rotation);
|
|
18098
18106
|
}
|
|
18099
|
-
|
|
18100
|
-
transform.scale = new Vector3().copyFrom(transform.scale);
|
|
18101
|
-
//@ts-expect-error
|
|
18107
|
+
transformProps.scale = new Vector3().copyFrom(transform.scale);
|
|
18102
18108
|
if (transform.size) {
|
|
18103
|
-
|
|
18104
|
-
transform.size = new Vector2().copyFrom(transform.size);
|
|
18109
|
+
transformProps.size = new Vector2().copyFrom(transform.size);
|
|
18105
18110
|
}
|
|
18106
|
-
//@ts-expect-error
|
|
18107
18111
|
if (transform.anchor) {
|
|
18108
|
-
|
|
18109
|
-
transform.anchor = new Vector2().copyFrom(transform.anchor);
|
|
18112
|
+
transformProps.anchor = new Vector2().copyFrom(transform.anchor);
|
|
18110
18113
|
}
|
|
18111
|
-
this.transform.setTransform(
|
|
18114
|
+
this.transform.setTransform(transformProps);
|
|
18112
18115
|
}
|
|
18113
18116
|
this.transform.name = this.name;
|
|
18114
18117
|
this.transform.engine = this.engine;
|
|
18115
18118
|
this.parentId = parentId;
|
|
18116
18119
|
this.duration = duration;
|
|
18117
|
-
// TODO spec endbehavior 类型修正
|
|
18118
18120
|
this.endBehavior = endBehavior;
|
|
18119
18121
|
if (!data.content) {
|
|
18120
18122
|
data.content = {
|
|
@@ -24906,9 +24908,23 @@ exports.TextComponent = /*#__PURE__*/ function(BaseRenderComponent) {
|
|
|
24906
24908
|
order: listIndex
|
|
24907
24909
|
};
|
|
24908
24910
|
this.interaction = interaction;
|
|
24911
|
+
this.cachePrefix = "-";
|
|
24912
|
+
this.renderInfo = getImageItemRenderInfo(this);
|
|
24913
|
+
var material = this.createMaterial(this.renderInfo, 2);
|
|
24914
|
+
this.worldMatrix = Matrix4.fromIdentity();
|
|
24915
|
+
this.material = material;
|
|
24916
|
+
this.material.setVector4("_TexOffset", new Vector4().setFromArray([
|
|
24917
|
+
0,
|
|
24918
|
+
0,
|
|
24919
|
+
1,
|
|
24920
|
+
1
|
|
24921
|
+
]));
|
|
24922
|
+
// TextComponentBase
|
|
24909
24923
|
this.updateWithOptions(options);
|
|
24910
|
-
// Text
|
|
24911
24924
|
this.updateTexture();
|
|
24925
|
+
this.setItem();
|
|
24926
|
+
// 恢复默认颜色
|
|
24927
|
+
this.material.setVector4("_Color", new Vector4(1, 1, 1, 1));
|
|
24912
24928
|
};
|
|
24913
24929
|
_proto.updateWithOptions = function updateWithOptions(options) {
|
|
24914
24930
|
// OVERRIDE by mixins
|
|
@@ -25226,7 +25242,7 @@ var TextComponentBase = /*#__PURE__*/ function() {
|
|
|
25226
25242
|
}
|
|
25227
25243
|
//与 toDataURL() 两种方式都需要像素读取操作
|
|
25228
25244
|
var imageData = context.getImageData(0, 0, this.canvas.width, this.canvas.height);
|
|
25229
|
-
|
|
25245
|
+
var texture = Texture.createWithData(this.engine, {
|
|
25230
25246
|
data: new Uint8Array(imageData.data),
|
|
25231
25247
|
width: imageData.width,
|
|
25232
25248
|
height: imageData.height
|
|
@@ -25236,7 +25252,8 @@ var TextComponentBase = /*#__PURE__*/ function() {
|
|
|
25236
25252
|
minFilter: glContext.LINEAR,
|
|
25237
25253
|
wrapS: glContext.CLAMP_TO_EDGE,
|
|
25238
25254
|
wrapT: glContext.CLAMP_TO_EDGE
|
|
25239
|
-
})
|
|
25255
|
+
});
|
|
25256
|
+
this.renderer.texture = texture;
|
|
25240
25257
|
this.isDirty = false;
|
|
25241
25258
|
};
|
|
25242
25259
|
_proto.getFontDesc = function getFontDesc() {
|
|
@@ -28424,7 +28441,7 @@ var tmpScale = new Vector3(1, 1, 1);
|
|
|
28424
28441
|
var sourceItemData = this.engine.jsonSceneData[itemDataPath.id];
|
|
28425
28442
|
var itemProps = sourceItemData;
|
|
28426
28443
|
if (passRenderLevel(sourceItemData.renderLevel, this.renderLevel)) {
|
|
28427
|
-
if (itemProps.type === ItemType.sprite || itemProps.type === ItemType.particle || itemProps.type === ItemType.spine || //@ts-expect-error
|
|
28444
|
+
if (itemProps.type === ItemType.sprite || itemProps.type === ItemType.particle || itemProps.type === ItemType.spine || itemProps.type === ItemType.text || itemProps.type === ItemType.video || //@ts-expect-error
|
|
28428
28445
|
itemProps.type === ItemType.shape) {
|
|
28429
28446
|
for(var _iterator2 = _create_for_of_iterator_helper_loose(itemProps.components), _step2; !(_step2 = _iterator2()).done;){
|
|
28430
28447
|
var componentPath = _step2.value;
|
|
@@ -28445,6 +28462,13 @@ var tmpScale = new Vector3(1, 1, 1);
|
|
|
28445
28462
|
}
|
|
28446
28463
|
}
|
|
28447
28464
|
items.push(itemDataPath);
|
|
28465
|
+
} else {
|
|
28466
|
+
// 非预合成元素未达到渲染等级的转化为空节点。
|
|
28467
|
+
// 预合成元素有根据 item type 的子元素加载判断,没法保留空节点,这边先整体过滤掉。
|
|
28468
|
+
if (itemProps.type !== ItemType.composition) {
|
|
28469
|
+
itemProps.components = [];
|
|
28470
|
+
items.push(itemDataPath);
|
|
28471
|
+
}
|
|
28448
28472
|
}
|
|
28449
28473
|
}
|
|
28450
28474
|
composition.items = items;
|
|
@@ -28689,10 +28713,13 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
28689
28713
|
assertExist(sourceContent);
|
|
28690
28714
|
_this.renderer = renderer;
|
|
28691
28715
|
_this.refCompositionProps = refCompositionProps;
|
|
28692
|
-
|
|
28716
|
+
// Instantiate composition rootItem
|
|
28717
|
+
_this.rootItem = new exports.VFXItem(_this.getEngine());
|
|
28693
28718
|
_this.rootItem.name = "rootItem";
|
|
28719
|
+
_this.rootItem.duration = sourceContent.duration;
|
|
28720
|
+
_this.rootItem.endBehavior = sourceContent.endBehavior;
|
|
28694
28721
|
_this.rootItem.composition = _assert_this_initialized(_this);
|
|
28695
|
-
//
|
|
28722
|
+
// Create rootCompositionComponent
|
|
28696
28723
|
_this.rootComposition = _this.rootItem.addComponent(CompositionComponent);
|
|
28697
28724
|
_this.width = width;
|
|
28698
28725
|
_this.height = height;
|
|
@@ -31366,7 +31393,7 @@ registerPlugin("sprite", SpriteLoader, exports.VFXItem, true);
|
|
|
31366
31393
|
registerPlugin("particle", ParticleLoader, exports.VFXItem, true);
|
|
31367
31394
|
registerPlugin("cal", CalculateLoader, exports.VFXItem, true);
|
|
31368
31395
|
registerPlugin("interact", InteractLoader, exports.VFXItem, true);
|
|
31369
|
-
var version$1 = "2.2.
|
|
31396
|
+
var version$1 = "2.2.3";
|
|
31370
31397
|
logger.info("Core version: " + version$1 + ".");
|
|
31371
31398
|
|
|
31372
31399
|
var _obj;
|
|
@@ -32999,7 +33026,7 @@ setMaxSpriteMeshItemCount(8);
|
|
|
32999
33026
|
*/ Mesh.create = function(engine, props) {
|
|
33000
33027
|
return new ThreeMesh(engine, props);
|
|
33001
33028
|
};
|
|
33002
|
-
var version = "2.2.
|
|
33029
|
+
var version = "2.2.3";
|
|
33003
33030
|
logger.info("THREEJS plugin version: " + version + ".");
|
|
33004
33031
|
|
|
33005
33032
|
exports.AbstractPlugin = AbstractPlugin;
|