@galacean/effects-threejs 2.2.2 → 2.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.js +129 -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 +129 -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.4
|
|
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,9 @@ 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;
|
|
25257
|
+
this.material.setTexture("_MainTex", texture);
|
|
25240
25258
|
this.isDirty = false;
|
|
25241
25259
|
};
|
|
25242
25260
|
_proto.getFontDesc = function getFontDesc() {
|
|
@@ -28424,7 +28442,7 @@ var tmpScale = new Vector3(1, 1, 1);
|
|
|
28424
28442
|
var sourceItemData = this.engine.jsonSceneData[itemDataPath.id];
|
|
28425
28443
|
var itemProps = sourceItemData;
|
|
28426
28444
|
if (passRenderLevel(sourceItemData.renderLevel, this.renderLevel)) {
|
|
28427
|
-
if (itemProps.type === ItemType.sprite || itemProps.type === ItemType.particle || itemProps.type === ItemType.spine || //@ts-expect-error
|
|
28445
|
+
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
28446
|
itemProps.type === ItemType.shape) {
|
|
28429
28447
|
for(var _iterator2 = _create_for_of_iterator_helper_loose(itemProps.components), _step2; !(_step2 = _iterator2()).done;){
|
|
28430
28448
|
var componentPath = _step2.value;
|
|
@@ -28445,6 +28463,13 @@ var tmpScale = new Vector3(1, 1, 1);
|
|
|
28445
28463
|
}
|
|
28446
28464
|
}
|
|
28447
28465
|
items.push(itemDataPath);
|
|
28466
|
+
} else {
|
|
28467
|
+
// 非预合成元素未达到渲染等级的转化为空节点。
|
|
28468
|
+
// 预合成元素有根据 item type 的子元素加载判断,没法保留空节点,这边先整体过滤掉。
|
|
28469
|
+
if (itemProps.type !== ItemType.composition) {
|
|
28470
|
+
itemProps.components = [];
|
|
28471
|
+
items.push(itemDataPath);
|
|
28472
|
+
}
|
|
28448
28473
|
}
|
|
28449
28474
|
}
|
|
28450
28475
|
composition.items = items;
|
|
@@ -28689,10 +28714,13 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
28689
28714
|
assertExist(sourceContent);
|
|
28690
28715
|
_this.renderer = renderer;
|
|
28691
28716
|
_this.refCompositionProps = refCompositionProps;
|
|
28692
|
-
|
|
28717
|
+
// Instantiate composition rootItem
|
|
28718
|
+
_this.rootItem = new exports.VFXItem(_this.getEngine());
|
|
28693
28719
|
_this.rootItem.name = "rootItem";
|
|
28720
|
+
_this.rootItem.duration = sourceContent.duration;
|
|
28721
|
+
_this.rootItem.endBehavior = sourceContent.endBehavior;
|
|
28694
28722
|
_this.rootItem.composition = _assert_this_initialized(_this);
|
|
28695
|
-
//
|
|
28723
|
+
// Create rootCompositionComponent
|
|
28696
28724
|
_this.rootComposition = _this.rootItem.addComponent(CompositionComponent);
|
|
28697
28725
|
_this.width = width;
|
|
28698
28726
|
_this.height = height;
|
|
@@ -31366,7 +31394,7 @@ registerPlugin("sprite", SpriteLoader, exports.VFXItem, true);
|
|
|
31366
31394
|
registerPlugin("particle", ParticleLoader, exports.VFXItem, true);
|
|
31367
31395
|
registerPlugin("cal", CalculateLoader, exports.VFXItem, true);
|
|
31368
31396
|
registerPlugin("interact", InteractLoader, exports.VFXItem, true);
|
|
31369
|
-
var version$1 = "2.2.
|
|
31397
|
+
var version$1 = "2.2.4";
|
|
31370
31398
|
logger.info("Core version: " + version$1 + ".");
|
|
31371
31399
|
|
|
31372
31400
|
var _obj;
|
|
@@ -32999,7 +33027,7 @@ setMaxSpriteMeshItemCount(8);
|
|
|
32999
33027
|
*/ Mesh.create = function(engine, props) {
|
|
33000
33028
|
return new ThreeMesh(engine, props);
|
|
33001
33029
|
};
|
|
33002
|
-
var version = "2.2.
|
|
33030
|
+
var version = "2.2.4";
|
|
33003
33031
|
logger.info("THREEJS plugin version: " + version + ".");
|
|
33004
33032
|
|
|
33005
33033
|
exports.AbstractPlugin = AbstractPlugin;
|