@galacean/effects-core 1.3.0 → 1.3.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.js +119 -119
- package/dist/index.mjs +119 -119
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Description: Galacean Effects runtime core for the web
|
|
4
4
|
* Author: Ant Group CO., Ltd.
|
|
5
5
|
* Contributors: 燃然,飂兮,十弦,云垣,茂安,意绮
|
|
6
|
-
* Version: v1.3.
|
|
6
|
+
* Version: v1.3.1
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
'use strict';
|
|
@@ -7130,9 +7130,9 @@ var Float16ArrayWrapper = /** @class */ (function () {
|
|
|
7130
7130
|
this.data = new Uint16Array(num);
|
|
7131
7131
|
}
|
|
7132
7132
|
else if (num && typeof num === 'object' && Number.isInteger(num.length)) {
|
|
7133
|
-
var
|
|
7134
|
-
for (var i = 0; i <
|
|
7135
|
-
|
|
7133
|
+
var data = this.data = new Uint16Array(num.length);
|
|
7134
|
+
for (var i = 0; i < data.length; i++) {
|
|
7135
|
+
data[i] = toHalf(num[i]);
|
|
7136
7136
|
}
|
|
7137
7137
|
}
|
|
7138
7138
|
}
|
|
@@ -7505,9 +7505,9 @@ var CurveValue = /** @class */ (function (_super) {
|
|
|
7505
7505
|
CurveValue.getAllData = function (meta, halfFloat) {
|
|
7506
7506
|
var ret = new (halfFloat ? Float16ArrayWrapper : Float32Array)(meta.index * 4);
|
|
7507
7507
|
for (var i = 0, cursor = 0, curves = meta.curves; i < curves.length; i++) {
|
|
7508
|
-
var
|
|
7509
|
-
ret.set(
|
|
7510
|
-
cursor +=
|
|
7508
|
+
var data = curves[i].toData();
|
|
7509
|
+
ret.set(data, cursor);
|
|
7510
|
+
cursor += data.length;
|
|
7511
7511
|
}
|
|
7512
7512
|
return halfFloat ? ret.data : ret;
|
|
7513
7513
|
};
|
|
@@ -7516,17 +7516,17 @@ var CurveValue = /** @class */ (function (_super) {
|
|
|
7516
7516
|
var max = -Infinity;
|
|
7517
7517
|
//formatted number
|
|
7518
7518
|
if (Number.isFinite(props[0]) && Number.isFinite(props[1])) {
|
|
7519
|
-
var
|
|
7519
|
+
var keys = [];
|
|
7520
7520
|
for (var i = 2; i < props.length; i++) {
|
|
7521
7521
|
// FIXME
|
|
7522
|
-
|
|
7522
|
+
keys.push(props[i].slice(0, 4));
|
|
7523
7523
|
}
|
|
7524
|
-
this.keys =
|
|
7524
|
+
this.keys = keys;
|
|
7525
7525
|
this.min = props[0];
|
|
7526
7526
|
this.dist = props[1] - props[0];
|
|
7527
7527
|
}
|
|
7528
7528
|
else {
|
|
7529
|
-
var
|
|
7529
|
+
var keys = props.map(function (item) {
|
|
7530
7530
|
if (isArray(item)) {
|
|
7531
7531
|
min = Math.min(min, item[1]);
|
|
7532
7532
|
max = Math.max(max, item[1]);
|
|
@@ -7541,22 +7541,22 @@ var CurveValue = /** @class */ (function (_super) {
|
|
|
7541
7541
|
throw new Error('invalid keyframe');
|
|
7542
7542
|
});
|
|
7543
7543
|
var dist = max - min;
|
|
7544
|
-
this.keys =
|
|
7544
|
+
this.keys = keys;
|
|
7545
7545
|
if (dist !== 0) {
|
|
7546
|
-
for (var i = 0; i <
|
|
7547
|
-
var key =
|
|
7546
|
+
for (var i = 0; i < keys.length; i++) {
|
|
7547
|
+
var key = keys[i];
|
|
7548
7548
|
key[1] = (key[1] - min) / dist;
|
|
7549
7549
|
}
|
|
7550
7550
|
}
|
|
7551
|
-
var key0 =
|
|
7551
|
+
var key0 = keys[0];
|
|
7552
7552
|
if (key0[0] > 0) {
|
|
7553
7553
|
key0[2] = 0;
|
|
7554
|
-
|
|
7554
|
+
keys.unshift([0, key0[1], 0, 0]);
|
|
7555
7555
|
}
|
|
7556
|
-
var key1 =
|
|
7556
|
+
var key1 = keys[keys.length - 1];
|
|
7557
7557
|
if (key1[0] < 1) {
|
|
7558
7558
|
key1[3] = 0;
|
|
7559
|
-
|
|
7559
|
+
keys.push([1, key1[1], 0, 0]);
|
|
7560
7560
|
}
|
|
7561
7561
|
this.min = min;
|
|
7562
7562
|
this.dist = dist;
|
|
@@ -7931,14 +7931,14 @@ function curveValueIntegrateByTime(t1, keyframe0, keyframe1) {
|
|
|
7931
7931
|
function getKeyFrameMetaByRawValue(meta, value) {
|
|
7932
7932
|
if (value) {
|
|
7933
7933
|
var type = value[0];
|
|
7934
|
-
var
|
|
7934
|
+
var keys = value[1];
|
|
7935
7935
|
if (type === ValueType$1.CURVE) {
|
|
7936
|
-
meta.curves.push(
|
|
7937
|
-
var keyLen =
|
|
7938
|
-
if (
|
|
7936
|
+
meta.curves.push(keys);
|
|
7937
|
+
var keyLen = keys.length;
|
|
7938
|
+
if (keys[0][0] > 0) {
|
|
7939
7939
|
keyLen++;
|
|
7940
7940
|
}
|
|
7941
|
-
if (
|
|
7941
|
+
if (keys[keys.length - 1][0] < 1) {
|
|
7942
7942
|
keyLen++;
|
|
7943
7943
|
}
|
|
7944
7944
|
meta.index += keyLen;
|
|
@@ -7946,19 +7946,19 @@ function getKeyFrameMetaByRawValue(meta, value) {
|
|
|
7946
7946
|
meta.curveCount += keyLen;
|
|
7947
7947
|
}
|
|
7948
7948
|
else if (type === ValueType$1.LINE) {
|
|
7949
|
-
var keyLen =
|
|
7950
|
-
if (keyLen === 2 &&
|
|
7949
|
+
var keyLen = keys.length;
|
|
7950
|
+
if (keyLen === 2 && keys[0][0] === 0 && keys[1][0] === 1) {
|
|
7951
7951
|
return;
|
|
7952
7952
|
}
|
|
7953
|
-
if (
|
|
7953
|
+
if (keys[0][0] > 0) {
|
|
7954
7954
|
keyLen++;
|
|
7955
7955
|
}
|
|
7956
|
-
if (
|
|
7956
|
+
if (keys[keys.length - 1][0] < 1) {
|
|
7957
7957
|
keyLen++;
|
|
7958
7958
|
}
|
|
7959
7959
|
var uniformCount = Math.ceil(keyLen / 2);
|
|
7960
7960
|
meta.lineSegCount += uniformCount;
|
|
7961
|
-
meta.curves.push(
|
|
7961
|
+
meta.curves.push(keys);
|
|
7962
7962
|
meta.index += uniformCount;
|
|
7963
7963
|
meta.max = Math.max(meta.max, uniformCount);
|
|
7964
7964
|
}
|
|
@@ -10439,9 +10439,9 @@ var KTXTexture = /** @class */ (function () {
|
|
|
10439
10439
|
for (var level = 0; level < mipmapCount; level++) {
|
|
10440
10440
|
var imageSize = new Int32Array(this.arrayBuffer, this.baseOffset + dataOffset, 1)[0]; // size per face, since not supporting array cubemaps
|
|
10441
10441
|
for (var face = 0; face < this.numberOfFaces; face++) {
|
|
10442
|
-
var
|
|
10442
|
+
var data = new Uint8Array(this.arrayBuffer, this.baseOffset + dataOffset + 4, imageSize);
|
|
10443
10443
|
mipmaps.push({
|
|
10444
|
-
data:
|
|
10444
|
+
data: data,
|
|
10445
10445
|
width: width,
|
|
10446
10446
|
height: height,
|
|
10447
10447
|
});
|
|
@@ -13270,16 +13270,16 @@ var InteractVFXItem = /** @class */ (function (_super) {
|
|
|
13270
13270
|
var nx = position[0] - width;
|
|
13271
13271
|
var ny = position[1] - height;
|
|
13272
13272
|
if (options.dxRange) {
|
|
13273
|
-
var _d = __read$3(options.dxRange, 2),
|
|
13274
|
-
nx = clamp$1(nx,
|
|
13275
|
-
if (nx !==
|
|
13273
|
+
var _d = __read$3(options.dxRange, 2), min = _d[0], max = _d[1];
|
|
13274
|
+
nx = clamp$1(nx, min, max);
|
|
13275
|
+
if (nx !== min && nx !== max && min !== max) {
|
|
13276
13276
|
(_a = event.origin) === null || _a === void 0 ? void 0 : _a.preventDefault();
|
|
13277
13277
|
}
|
|
13278
13278
|
}
|
|
13279
13279
|
if (options.dyRange) {
|
|
13280
|
-
var _e = __read$3(options.dyRange, 2),
|
|
13281
|
-
ny = clamp$1(ny,
|
|
13282
|
-
if (ny !==
|
|
13280
|
+
var _e = __read$3(options.dyRange, 2), min = _e[0], max = _e[1];
|
|
13281
|
+
ny = clamp$1(ny, min, max);
|
|
13282
|
+
if (ny !== min && ny !== max && min !== max) {
|
|
13283
13283
|
(_b = event.origin) === null || _b === void 0 ? void 0 : _b.preventDefault();
|
|
13284
13284
|
}
|
|
13285
13285
|
}
|
|
@@ -13393,11 +13393,11 @@ var SpriteMesh = /** @class */ (function () {
|
|
|
13393
13393
|
var item = items[i];
|
|
13394
13394
|
var texture = item === null || item === void 0 ? void 0 : item.renderer.texture;
|
|
13395
13395
|
var textureIndex = texture ? textures.indexOf(texture) : -1;
|
|
13396
|
-
var
|
|
13397
|
-
aPointLen +=
|
|
13398
|
-
indexLen +=
|
|
13399
|
-
datas.push(
|
|
13400
|
-
pointCount +=
|
|
13396
|
+
var data = this.getItemInitData(item, i, pointCount, textureIndex);
|
|
13397
|
+
aPointLen += data.aPoint.length;
|
|
13398
|
+
indexLen += data.index.length;
|
|
13399
|
+
datas.push(data);
|
|
13400
|
+
pointCount += data.aPoint.length / 6;
|
|
13401
13401
|
this.updateItem(item, true);
|
|
13402
13402
|
}
|
|
13403
13403
|
var bundle = {
|
|
@@ -13409,10 +13409,10 @@ var SpriteMesh = /** @class */ (function () {
|
|
|
13409
13409
|
index: 0,
|
|
13410
13410
|
};
|
|
13411
13411
|
var _loop_1 = function (i) {
|
|
13412
|
-
var
|
|
13412
|
+
var data = datas[i];
|
|
13413
13413
|
Object.keys(bundle).forEach(function (name) {
|
|
13414
13414
|
var arr = bundle[name];
|
|
13415
|
-
var ta =
|
|
13415
|
+
var ta = data[name];
|
|
13416
13416
|
arr.set(ta, cursor[name]);
|
|
13417
13417
|
cursor[name] += ta.length;
|
|
13418
13418
|
});
|
|
@@ -13679,14 +13679,14 @@ var SpriteMesh = /** @class */ (function () {
|
|
|
13679
13679
|
for (var y = 0; y < row; y++) {
|
|
13680
13680
|
var base = (y * 2 + x) * 4;
|
|
13681
13681
|
// @ts-expect-error
|
|
13682
|
-
var
|
|
13683
|
-
var texOffset =
|
|
13682
|
+
var split = textureSheetAnimation ? [0, 0, 1, 1, splits[0][4]] : splits[y * 2 + x];
|
|
13683
|
+
var texOffset = split[4] ? [0, 0, 1, 0, 0, 1, 1, 1] : [0, 1, 0, 0, 1, 1, 1, 0];
|
|
13684
13684
|
var dw = ((x + x + 1) / col - 1) / 2;
|
|
13685
13685
|
var dh = ((y + y + 1) / row - 1) / 2;
|
|
13686
|
-
var tox =
|
|
13687
|
-
var toy =
|
|
13688
|
-
var tsx =
|
|
13689
|
-
var tsy =
|
|
13686
|
+
var tox = split[0];
|
|
13687
|
+
var toy = split[1];
|
|
13688
|
+
var tsx = split[4] ? split[3] : split[2];
|
|
13689
|
+
var tsy = split[4] ? split[2] : split[3];
|
|
13690
13690
|
var origin_1 = [
|
|
13691
13691
|
originData[0] / col + dw,
|
|
13692
13692
|
originData[1] / row + dh,
|
|
@@ -13783,13 +13783,13 @@ function generateFeatureTexture(engine, feather) {
|
|
|
13783
13783
|
}
|
|
13784
13784
|
else {
|
|
13785
13785
|
var len = 128;
|
|
13786
|
-
var
|
|
13786
|
+
var data = new Uint8Array(len);
|
|
13787
13787
|
for (var i = 0, s = len - 1; i < len; i++) {
|
|
13788
13788
|
var p = i / s;
|
|
13789
13789
|
var val = feather.getValue(p);
|
|
13790
|
-
|
|
13790
|
+
data[i] = Math.round(val * 255);
|
|
13791
13791
|
}
|
|
13792
|
-
tex = Texture.createWithData(engine, { width: len, height: 1, data:
|
|
13792
|
+
tex = Texture.createWithData(engine, { width: len, height: 1, data: data }, {
|
|
13793
13793
|
name: 'feather',
|
|
13794
13794
|
format: glContext.LUMINANCE,
|
|
13795
13795
|
minFilter: glContext.LINEAR,
|
|
@@ -13947,22 +13947,22 @@ var SpriteGroup = /** @class */ (function () {
|
|
|
13947
13947
|
* 需要则添加到meshToModify数组
|
|
13948
13948
|
*/
|
|
13949
13949
|
for (var i = 0; i < splits.length; i++) {
|
|
13950
|
-
var
|
|
13950
|
+
var split = splits[i];
|
|
13951
13951
|
// @ts-expect-error
|
|
13952
|
-
var spriteMesh =
|
|
13953
|
-
if (
|
|
13952
|
+
var spriteMesh = split.spriteMesh;
|
|
13953
|
+
if (split.items.length === 0) {
|
|
13954
13954
|
throw new Error('split not combined');
|
|
13955
13955
|
}
|
|
13956
|
-
if (
|
|
13957
|
-
var priority =
|
|
13956
|
+
if (split.dirty) {
|
|
13957
|
+
var priority = split.indexStart;
|
|
13958
13958
|
if (spriteMesh.mesh.priority !== priority) {
|
|
13959
13959
|
spriteMesh.mesh.priority = priority;
|
|
13960
13960
|
meshToModify.push(spriteMesh.mesh);
|
|
13961
13961
|
}
|
|
13962
|
-
spriteMesh.setItems(
|
|
13962
|
+
spriteMesh.setItems(split.items.map(function (item) { return item.content; }));
|
|
13963
13963
|
}
|
|
13964
13964
|
spriteMesh.applyChange();
|
|
13965
|
-
|
|
13965
|
+
split.dirty = false;
|
|
13966
13966
|
}
|
|
13967
13967
|
/**
|
|
13968
13968
|
* 有需要移除的meshSplit 则废弃对应的mesh 保留material
|
|
@@ -13970,8 +13970,8 @@ var SpriteGroup = /** @class */ (function () {
|
|
|
13970
13970
|
*/
|
|
13971
13971
|
if (splitsToRemove.length) {
|
|
13972
13972
|
for (var i = 0; i < splitsToRemove.length; i++) {
|
|
13973
|
-
var
|
|
13974
|
-
var sp =
|
|
13973
|
+
var split = splitsToRemove[i];
|
|
13974
|
+
var sp = split.spriteMesh;
|
|
13975
13975
|
// @ts-expect-error
|
|
13976
13976
|
var mesh = sp.mesh;
|
|
13977
13977
|
mesh.dispose({ material: { textures: exports.DestroyOptions.keep } });
|
|
@@ -14088,7 +14088,7 @@ var SpriteGroup = /** @class */ (function () {
|
|
|
14088
14088
|
addItemWithOrder(items, item, itemSortProperty);
|
|
14089
14089
|
if (isSprite(item)) {
|
|
14090
14090
|
var content = item.createContent();
|
|
14091
|
-
var
|
|
14091
|
+
var split = {
|
|
14092
14092
|
indexStart: item.listIndex,
|
|
14093
14093
|
indexEnd: item.listIndex,
|
|
14094
14094
|
items: [item],
|
|
@@ -14096,21 +14096,21 @@ var SpriteGroup = /** @class */ (function () {
|
|
|
14096
14096
|
cacheId: content.renderInfo.cacheId,
|
|
14097
14097
|
textures: [item.content.renderer.texture],
|
|
14098
14098
|
};
|
|
14099
|
-
splits.unshift(
|
|
14100
|
-
return [
|
|
14099
|
+
splits.unshift(split);
|
|
14100
|
+
return [split];
|
|
14101
14101
|
}
|
|
14102
14102
|
return [];
|
|
14103
14103
|
}
|
|
14104
14104
|
var _loop_2 = function (i) {
|
|
14105
|
-
var
|
|
14105
|
+
var split = splits[i];
|
|
14106
14106
|
var listIndex = item.listIndex;
|
|
14107
14107
|
if (isSprite(item)) {
|
|
14108
14108
|
// @ts-expect-error
|
|
14109
|
-
if (listIndex <=
|
|
14109
|
+
if (listIndex <= split.indexEnd) {
|
|
14110
14110
|
addItemWithOrder(items, item, itemSortProperty);
|
|
14111
14111
|
var itemIndex_1 = items.indexOf(item);
|
|
14112
|
-
var indexStart = Math.min(itemIndex_1, items.indexOf(
|
|
14113
|
-
var indexEnd = Math.max(itemIndex_1, items.indexOf(
|
|
14112
|
+
var indexStart = Math.min(itemIndex_1, items.indexOf(split.items[0]));
|
|
14113
|
+
var indexEnd = Math.max(itemIndex_1, items.indexOf(split.items[split.items.length - 1]));
|
|
14114
14114
|
var neoSplits_1 = this_2.getMeshSplits(items, indexStart, indexEnd);
|
|
14115
14115
|
var neoSplitIndex_1 = neoSplits_1.findIndex(function (split) { return split.items.includes(item); });
|
|
14116
14116
|
if (neoSplits_1.length === 2) {
|
|
@@ -14118,14 +14118,14 @@ var SpriteGroup = /** @class */ (function () {
|
|
|
14118
14118
|
//1 or 0
|
|
14119
14119
|
Object.keys(neoSplits_1[1 - neoSplitIndex_1]).forEach(function (key) {
|
|
14120
14120
|
// @ts-expect-error
|
|
14121
|
-
|
|
14121
|
+
split[key] = neoSplits_1[1 - neoSplitIndex_1][key];
|
|
14122
14122
|
});
|
|
14123
14123
|
return { value: [neoSplits_1[neoSplitIndex_1]] };
|
|
14124
14124
|
}
|
|
14125
14125
|
else if (neoSplits_1.length === 3) {
|
|
14126
14126
|
Object.keys(neoSplits_1[0]).forEach(function (key) {
|
|
14127
14127
|
// @ts-expect-error
|
|
14128
|
-
|
|
14128
|
+
split[key] = neoSplits_1[0][key];
|
|
14129
14129
|
});
|
|
14130
14130
|
splits.splice(i + 1, 0, neoSplits_1[1], neoSplits_1[2]);
|
|
14131
14131
|
if (neoSplitIndex_1 !== 1) {
|
|
@@ -14139,25 +14139,25 @@ var SpriteGroup = /** @class */ (function () {
|
|
|
14139
14139
|
//todo add case
|
|
14140
14140
|
Object.keys(neoSplits_1[0]).forEach(function (key) {
|
|
14141
14141
|
// @ts-expect-error
|
|
14142
|
-
|
|
14142
|
+
split[key] = neoSplits_1[0][key];
|
|
14143
14143
|
});
|
|
14144
14144
|
return { value: [] };
|
|
14145
14145
|
}
|
|
14146
14146
|
}
|
|
14147
14147
|
else {
|
|
14148
|
-
if (listIndex <
|
|
14148
|
+
if (listIndex < split.indexStart || listIndex === split.indexEnd) {
|
|
14149
14149
|
addItemWithOrder(items, item, itemSortProperty);
|
|
14150
14150
|
return { value: [] };
|
|
14151
14151
|
// @ts-expect-error
|
|
14152
14152
|
}
|
|
14153
|
-
else if (listIndex <
|
|
14153
|
+
else if (listIndex < split.indexEnd) {
|
|
14154
14154
|
addItemWithOrder(items, item, itemSortProperty);
|
|
14155
|
-
var lastItem =
|
|
14155
|
+
var lastItem = split.items[split.items.length - 1];
|
|
14156
14156
|
var endIndex = items.indexOf(lastItem);
|
|
14157
|
-
var neoSplits_2 = this_2.getMeshSplits(items, items.indexOf(
|
|
14157
|
+
var neoSplits_2 = this_2.getMeshSplits(items, items.indexOf(split.items[0]), endIndex);
|
|
14158
14158
|
Object.keys(neoSplits_2[0]).forEach(function (key) {
|
|
14159
14159
|
// @ts-expect-error
|
|
14160
|
-
|
|
14160
|
+
split[key] = neoSplits_2[0][key];
|
|
14161
14161
|
});
|
|
14162
14162
|
if (neoSplits_2.length === 2) {
|
|
14163
14163
|
splits.splice(i + 1, 0, neoSplits_2[1]);
|
|
@@ -14218,10 +14218,10 @@ var SpriteGroup = /** @class */ (function () {
|
|
|
14218
14218
|
* 遍历this.meshSplits,找到元素的listIndex在split的indexStart和indexEnd范围内的第一个meshSplit
|
|
14219
14219
|
*/
|
|
14220
14220
|
for (var i = 0; i < splits.length; i++) {
|
|
14221
|
-
var
|
|
14221
|
+
var split = splits[i];
|
|
14222
14222
|
// @ts-expect-error
|
|
14223
|
-
if (
|
|
14224
|
-
targetSplit =
|
|
14223
|
+
if (split.indexStart <= item.listIndex && split.indexEnd >= item.listIndex) {
|
|
14224
|
+
targetSplit = split;
|
|
14225
14225
|
targetSplitIndex = i;
|
|
14226
14226
|
break;
|
|
14227
14227
|
}
|
|
@@ -14331,8 +14331,8 @@ var SpriteGroup = /** @class */ (function () {
|
|
|
14331
14331
|
// FIXME: 可选性
|
|
14332
14332
|
var targetSplitIndex = void 0;
|
|
14333
14333
|
for (var i = 0; i < splits.length; i++) {
|
|
14334
|
-
var
|
|
14335
|
-
if (
|
|
14334
|
+
var split = splits[i];
|
|
14335
|
+
if (split.items.includes(item)) {
|
|
14336
14336
|
targetSplitIndex = i;
|
|
14337
14337
|
break;
|
|
14338
14338
|
}
|
|
@@ -15483,10 +15483,10 @@ var ParticleMesh = /** @class */ (function () {
|
|
|
15483
15483
|
var index = geometry.getIndexData();
|
|
15484
15484
|
for (var i = 0; i < names.length; i++) {
|
|
15485
15485
|
var name_1 = names[i];
|
|
15486
|
-
var
|
|
15487
|
-
if (
|
|
15486
|
+
var data = geometry.getAttributeData(name_1);
|
|
15487
|
+
if (data) {
|
|
15488
15488
|
// @ts-expect-error
|
|
15489
|
-
geometry.setAttributeData(name_1, new
|
|
15489
|
+
geometry.setAttributeData(name_1, new data.constructor(0));
|
|
15490
15490
|
}
|
|
15491
15491
|
}
|
|
15492
15492
|
// @ts-expect-error
|
|
@@ -16861,10 +16861,10 @@ function getGeometryTriangles(geometry, options) {
|
|
|
16861
16861
|
var segment = segments[i];
|
|
16862
16862
|
var p0 = points[i];
|
|
16863
16863
|
var p1 = points[i + 1] || points[0];
|
|
16864
|
-
var
|
|
16864
|
+
var keys = segment;
|
|
16865
16865
|
var point = [0, 0];
|
|
16866
|
-
for (var j = 0; j <
|
|
16867
|
-
var key =
|
|
16866
|
+
for (var j = 0; j < keys.length - 1; j++) {
|
|
16867
|
+
var key = keys[j];
|
|
16868
16868
|
getBezier2DValue(point, key, p0, p1, p0[4], p0[5], p1[2], p1[3]);
|
|
16869
16869
|
setPoint(point[0], point[1]);
|
|
16870
16870
|
}
|
|
@@ -16923,11 +16923,11 @@ function getGeometryByShape(shape, uvTransform) {
|
|
|
16923
16923
|
var index = 0;
|
|
16924
16924
|
for (var i = 0; i < geometries.length; i++) {
|
|
16925
16925
|
var geometry = geometries[i];
|
|
16926
|
-
var
|
|
16927
|
-
indexBase +=
|
|
16928
|
-
datas.push(
|
|
16929
|
-
aPoint +=
|
|
16930
|
-
index +=
|
|
16926
|
+
var data = getGeometryTriangles(geometry, { indexBase: indexBase, uvTransform: uvTransform });
|
|
16927
|
+
indexBase += data.aPoint.length / 5;
|
|
16928
|
+
datas.push(data);
|
|
16929
|
+
aPoint += data.aPoint.length;
|
|
16930
|
+
index += data.index.length;
|
|
16931
16931
|
}
|
|
16932
16932
|
if (datas.length === 1) {
|
|
16933
16933
|
return datas[0];
|
|
@@ -16936,11 +16936,11 @@ function getGeometryByShape(shape, uvTransform) {
|
|
|
16936
16936
|
var indexData = new Uint16Array(index);
|
|
16937
16937
|
// @ts-expect-error
|
|
16938
16938
|
for (var i = 0, pointIndex = 0, idx = 0; i < datas[i]; i++) {
|
|
16939
|
-
var
|
|
16940
|
-
aPointData.set(
|
|
16941
|
-
pointIndex +=
|
|
16942
|
-
indexData.set(
|
|
16943
|
-
idx +=
|
|
16939
|
+
var data = datas[i];
|
|
16940
|
+
aPointData.set(data.aPoint, pointIndex);
|
|
16941
|
+
pointIndex += data.aPoint.length;
|
|
16942
|
+
indexData.set(data.index, idx);
|
|
16943
|
+
idx += data.index.length;
|
|
16944
16944
|
}
|
|
16945
16945
|
return {
|
|
16946
16946
|
aPoint: aPointData,
|
|
@@ -17251,10 +17251,10 @@ var TrailMesh = /** @class */ (function () {
|
|
|
17251
17251
|
var pointCountPerTrail = this.pointCountPerTrail;
|
|
17252
17252
|
if (index >= 0 && index < pointCountPerTrail) {
|
|
17253
17253
|
var startIndex = (trail * pointCountPerTrail + index) * 24 + 8;
|
|
17254
|
-
var
|
|
17255
|
-
out.x =
|
|
17256
|
-
out.y =
|
|
17257
|
-
out.z =
|
|
17254
|
+
var data = this.geometry.getAttributeData('aColor');
|
|
17255
|
+
out.x = data[startIndex];
|
|
17256
|
+
out.y = data[1 + startIndex];
|
|
17257
|
+
out.z = data[2 + startIndex];
|
|
17258
17258
|
return out;
|
|
17259
17259
|
}
|
|
17260
17260
|
};
|
|
@@ -18660,14 +18660,14 @@ var TextMesh = /** @class */ (function (_super) {
|
|
|
18660
18660
|
for (var y_1 = 0; y_1 < row; y_1++) {
|
|
18661
18661
|
var base = (y_1 * 2 + x_1) * 4;
|
|
18662
18662
|
// @ts-expect-error
|
|
18663
|
-
var
|
|
18664
|
-
var texOffset =
|
|
18663
|
+
var split = textureSheetAnimation ? [0, 0, 1, 1, splits[0][4]] : splits[y_1 * 2 + x_1];
|
|
18664
|
+
var texOffset = split[4] ? [0, 0, 1, 0, 0, 1, 1, 1] : [0, 1, 0, 0, 1, 1, 1, 0];
|
|
18665
18665
|
var dw = ((x_1 + x_1 + 1) / col - 1) / 2;
|
|
18666
18666
|
var dh = ((y_1 + y_1 + 1) / row - 1) / 2;
|
|
18667
|
-
var tox =
|
|
18668
|
-
var toy =
|
|
18669
|
-
var tsx =
|
|
18670
|
-
var tsy =
|
|
18667
|
+
var tox = split[0];
|
|
18668
|
+
var toy = split[1];
|
|
18669
|
+
var tsx = split[4] ? split[3] : split[2];
|
|
18670
|
+
var tsy = split[4] ? split[2] : split[3];
|
|
18671
18671
|
var origin_1 = [
|
|
18672
18672
|
originData[0] / col + dw,
|
|
18673
18673
|
originData[1] / row + dh,
|
|
@@ -23347,13 +23347,13 @@ var CompositionSourceManager = /** @class */ (function () {
|
|
|
23347
23347
|
if (renderContent.renderer) {
|
|
23348
23348
|
renderContent.renderer = _this.changeTex(renderContent.renderer);
|
|
23349
23349
|
_this.processMask(renderContent.renderer);
|
|
23350
|
-
var
|
|
23350
|
+
var split = renderContent.splits && !renderContent.textureSheetAnimation && renderContent.splits[0];
|
|
23351
23351
|
if (Number.isInteger(renderContent.renderer.shape)) {
|
|
23352
23352
|
// TODO: scene.shapes 类型问题?
|
|
23353
|
-
renderContent.renderer.shape = getGeometryByShape((_a = _this.jsonScene) === null || _a === void 0 ? void 0 : _a.shapes[renderContent.renderer.shape],
|
|
23353
|
+
renderContent.renderer.shape = getGeometryByShape((_a = _this.jsonScene) === null || _a === void 0 ? void 0 : _a.shapes[renderContent.renderer.shape], split);
|
|
23354
23354
|
}
|
|
23355
23355
|
else if (renderContent.renderer.shape && isObject(renderContent.renderer.shape)) {
|
|
23356
|
-
renderContent.renderer.shape = getGeometryByShape(renderContent.renderer.shape,
|
|
23356
|
+
renderContent.renderer.shape = getGeometryByShape(renderContent.renderer.shape, split);
|
|
23357
23357
|
}
|
|
23358
23358
|
}
|
|
23359
23359
|
else {
|
|
@@ -23365,14 +23365,14 @@ var CompositionSourceManager = /** @class */ (function () {
|
|
|
23365
23365
|
if (renderContent.filter) {
|
|
23366
23366
|
renderContent.filter = __assign$1({}, renderContent.filter);
|
|
23367
23367
|
}
|
|
23368
|
-
var name_1 = item.name, _b = item.delay, delay = _b === void 0 ? 0 : _b,
|
|
23368
|
+
var name_1 = item.name, _b = item.delay, delay = _b === void 0 ? 0 : _b, id = item.id, parentId = item.parentId, duration = item.duration, endBehavior = item.endBehavior, pluginName = item.pluginName, pn = item.pn, transform = item.transform;
|
|
23369
23369
|
// FIXME: specification 下定义的 Item 不存在 refCount 类型定义
|
|
23370
23370
|
// @ts-expect-error
|
|
23371
23371
|
var refCount = item.refCount;
|
|
23372
23372
|
var _c = _this.jsonScene.plugins, plugins = _c === void 0 ? [] : _c;
|
|
23373
23373
|
option.name = name_1;
|
|
23374
23374
|
option.delay = delay;
|
|
23375
|
-
option.id =
|
|
23375
|
+
option.id = id;
|
|
23376
23376
|
if (parentId) {
|
|
23377
23377
|
option.parentId = parentId;
|
|
23378
23378
|
}
|
|
@@ -23834,8 +23834,8 @@ var AssetManager = /** @class */ (function () {
|
|
|
23834
23834
|
return [2 /*return*/, resultImage];
|
|
23835
23835
|
case 3:
|
|
23836
23836
|
// 如果是加载图片且是数组,设置变量,视频情况下不需要
|
|
23837
|
-
if (background &&
|
|
23838
|
-
variables[background.name] =
|
|
23837
|
+
if (background && Array.isArray(url_1) && variables) {
|
|
23838
|
+
variables[background.name] = resultImage.src;
|
|
23839
23839
|
}
|
|
23840
23840
|
return [4 /*yield*/, combineImageTemplate(resultImage, template, variables, this.options, img.oriY === -1)];
|
|
23841
23841
|
case 4: return [2 /*return*/, _b.sent()];
|
|
@@ -23983,14 +23983,14 @@ var AssetManager = /** @class */ (function () {
|
|
|
23983
23983
|
}());
|
|
23984
23984
|
function fixOldImageUsage(usedImages, compositions, imgUsage, images, renderLevel) {
|
|
23985
23985
|
for (var i = 0; i < compositions.length; i++) {
|
|
23986
|
-
var
|
|
23987
|
-
var ids = imgUsage[
|
|
23986
|
+
var id = compositions[i].id;
|
|
23987
|
+
var ids = imgUsage[id];
|
|
23988
23988
|
if (ids) {
|
|
23989
23989
|
for (var j = 0; j < ids.length; j++) {
|
|
23990
|
-
var
|
|
23991
|
-
var tag = images[
|
|
23990
|
+
var id_1 = ids[j];
|
|
23991
|
+
var tag = images[id_1].renderLevel;
|
|
23992
23992
|
if (passRenderLevel(tag, renderLevel)) {
|
|
23993
|
-
usedImages[
|
|
23993
|
+
usedImages[id_1] = true;
|
|
23994
23994
|
}
|
|
23995
23995
|
}
|
|
23996
23996
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Description: Galacean Effects runtime core for the web
|
|
4
4
|
* Author: Ant Group CO., Ltd.
|
|
5
5
|
* Contributors: 燃然,飂兮,十弦,云垣,茂安,意绮
|
|
6
|
-
* Version: v1.3.
|
|
6
|
+
* Version: v1.3.1
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
/******************************************************************************
|
|
@@ -7126,9 +7126,9 @@ var Float16ArrayWrapper = /** @class */ (function () {
|
|
|
7126
7126
|
this.data = new Uint16Array(num);
|
|
7127
7127
|
}
|
|
7128
7128
|
else if (num && typeof num === 'object' && Number.isInteger(num.length)) {
|
|
7129
|
-
var
|
|
7130
|
-
for (var i = 0; i <
|
|
7131
|
-
|
|
7129
|
+
var data = this.data = new Uint16Array(num.length);
|
|
7130
|
+
for (var i = 0; i < data.length; i++) {
|
|
7131
|
+
data[i] = toHalf(num[i]);
|
|
7132
7132
|
}
|
|
7133
7133
|
}
|
|
7134
7134
|
}
|
|
@@ -7501,9 +7501,9 @@ var CurveValue = /** @class */ (function (_super) {
|
|
|
7501
7501
|
CurveValue.getAllData = function (meta, halfFloat) {
|
|
7502
7502
|
var ret = new (halfFloat ? Float16ArrayWrapper : Float32Array)(meta.index * 4);
|
|
7503
7503
|
for (var i = 0, cursor = 0, curves = meta.curves; i < curves.length; i++) {
|
|
7504
|
-
var
|
|
7505
|
-
ret.set(
|
|
7506
|
-
cursor +=
|
|
7504
|
+
var data = curves[i].toData();
|
|
7505
|
+
ret.set(data, cursor);
|
|
7506
|
+
cursor += data.length;
|
|
7507
7507
|
}
|
|
7508
7508
|
return halfFloat ? ret.data : ret;
|
|
7509
7509
|
};
|
|
@@ -7512,17 +7512,17 @@ var CurveValue = /** @class */ (function (_super) {
|
|
|
7512
7512
|
var max = -Infinity;
|
|
7513
7513
|
//formatted number
|
|
7514
7514
|
if (Number.isFinite(props[0]) && Number.isFinite(props[1])) {
|
|
7515
|
-
var
|
|
7515
|
+
var keys = [];
|
|
7516
7516
|
for (var i = 2; i < props.length; i++) {
|
|
7517
7517
|
// FIXME
|
|
7518
|
-
|
|
7518
|
+
keys.push(props[i].slice(0, 4));
|
|
7519
7519
|
}
|
|
7520
|
-
this.keys =
|
|
7520
|
+
this.keys = keys;
|
|
7521
7521
|
this.min = props[0];
|
|
7522
7522
|
this.dist = props[1] - props[0];
|
|
7523
7523
|
}
|
|
7524
7524
|
else {
|
|
7525
|
-
var
|
|
7525
|
+
var keys = props.map(function (item) {
|
|
7526
7526
|
if (isArray(item)) {
|
|
7527
7527
|
min = Math.min(min, item[1]);
|
|
7528
7528
|
max = Math.max(max, item[1]);
|
|
@@ -7537,22 +7537,22 @@ var CurveValue = /** @class */ (function (_super) {
|
|
|
7537
7537
|
throw new Error('invalid keyframe');
|
|
7538
7538
|
});
|
|
7539
7539
|
var dist = max - min;
|
|
7540
|
-
this.keys =
|
|
7540
|
+
this.keys = keys;
|
|
7541
7541
|
if (dist !== 0) {
|
|
7542
|
-
for (var i = 0; i <
|
|
7543
|
-
var key =
|
|
7542
|
+
for (var i = 0; i < keys.length; i++) {
|
|
7543
|
+
var key = keys[i];
|
|
7544
7544
|
key[1] = (key[1] - min) / dist;
|
|
7545
7545
|
}
|
|
7546
7546
|
}
|
|
7547
|
-
var key0 =
|
|
7547
|
+
var key0 = keys[0];
|
|
7548
7548
|
if (key0[0] > 0) {
|
|
7549
7549
|
key0[2] = 0;
|
|
7550
|
-
|
|
7550
|
+
keys.unshift([0, key0[1], 0, 0]);
|
|
7551
7551
|
}
|
|
7552
|
-
var key1 =
|
|
7552
|
+
var key1 = keys[keys.length - 1];
|
|
7553
7553
|
if (key1[0] < 1) {
|
|
7554
7554
|
key1[3] = 0;
|
|
7555
|
-
|
|
7555
|
+
keys.push([1, key1[1], 0, 0]);
|
|
7556
7556
|
}
|
|
7557
7557
|
this.min = min;
|
|
7558
7558
|
this.dist = dist;
|
|
@@ -7927,14 +7927,14 @@ function curveValueIntegrateByTime(t1, keyframe0, keyframe1) {
|
|
|
7927
7927
|
function getKeyFrameMetaByRawValue(meta, value) {
|
|
7928
7928
|
if (value) {
|
|
7929
7929
|
var type = value[0];
|
|
7930
|
-
var
|
|
7930
|
+
var keys = value[1];
|
|
7931
7931
|
if (type === ValueType$1.CURVE) {
|
|
7932
|
-
meta.curves.push(
|
|
7933
|
-
var keyLen =
|
|
7934
|
-
if (
|
|
7932
|
+
meta.curves.push(keys);
|
|
7933
|
+
var keyLen = keys.length;
|
|
7934
|
+
if (keys[0][0] > 0) {
|
|
7935
7935
|
keyLen++;
|
|
7936
7936
|
}
|
|
7937
|
-
if (
|
|
7937
|
+
if (keys[keys.length - 1][0] < 1) {
|
|
7938
7938
|
keyLen++;
|
|
7939
7939
|
}
|
|
7940
7940
|
meta.index += keyLen;
|
|
@@ -7942,19 +7942,19 @@ function getKeyFrameMetaByRawValue(meta, value) {
|
|
|
7942
7942
|
meta.curveCount += keyLen;
|
|
7943
7943
|
}
|
|
7944
7944
|
else if (type === ValueType$1.LINE) {
|
|
7945
|
-
var keyLen =
|
|
7946
|
-
if (keyLen === 2 &&
|
|
7945
|
+
var keyLen = keys.length;
|
|
7946
|
+
if (keyLen === 2 && keys[0][0] === 0 && keys[1][0] === 1) {
|
|
7947
7947
|
return;
|
|
7948
7948
|
}
|
|
7949
|
-
if (
|
|
7949
|
+
if (keys[0][0] > 0) {
|
|
7950
7950
|
keyLen++;
|
|
7951
7951
|
}
|
|
7952
|
-
if (
|
|
7952
|
+
if (keys[keys.length - 1][0] < 1) {
|
|
7953
7953
|
keyLen++;
|
|
7954
7954
|
}
|
|
7955
7955
|
var uniformCount = Math.ceil(keyLen / 2);
|
|
7956
7956
|
meta.lineSegCount += uniformCount;
|
|
7957
|
-
meta.curves.push(
|
|
7957
|
+
meta.curves.push(keys);
|
|
7958
7958
|
meta.index += uniformCount;
|
|
7959
7959
|
meta.max = Math.max(meta.max, uniformCount);
|
|
7960
7960
|
}
|
|
@@ -10435,9 +10435,9 @@ var KTXTexture = /** @class */ (function () {
|
|
|
10435
10435
|
for (var level = 0; level < mipmapCount; level++) {
|
|
10436
10436
|
var imageSize = new Int32Array(this.arrayBuffer, this.baseOffset + dataOffset, 1)[0]; // size per face, since not supporting array cubemaps
|
|
10437
10437
|
for (var face = 0; face < this.numberOfFaces; face++) {
|
|
10438
|
-
var
|
|
10438
|
+
var data = new Uint8Array(this.arrayBuffer, this.baseOffset + dataOffset + 4, imageSize);
|
|
10439
10439
|
mipmaps.push({
|
|
10440
|
-
data:
|
|
10440
|
+
data: data,
|
|
10441
10441
|
width: width,
|
|
10442
10442
|
height: height,
|
|
10443
10443
|
});
|
|
@@ -13266,16 +13266,16 @@ var InteractVFXItem = /** @class */ (function (_super) {
|
|
|
13266
13266
|
var nx = position[0] - width;
|
|
13267
13267
|
var ny = position[1] - height;
|
|
13268
13268
|
if (options.dxRange) {
|
|
13269
|
-
var _d = __read$3(options.dxRange, 2),
|
|
13270
|
-
nx = clamp$1(nx,
|
|
13271
|
-
if (nx !==
|
|
13269
|
+
var _d = __read$3(options.dxRange, 2), min = _d[0], max = _d[1];
|
|
13270
|
+
nx = clamp$1(nx, min, max);
|
|
13271
|
+
if (nx !== min && nx !== max && min !== max) {
|
|
13272
13272
|
(_a = event.origin) === null || _a === void 0 ? void 0 : _a.preventDefault();
|
|
13273
13273
|
}
|
|
13274
13274
|
}
|
|
13275
13275
|
if (options.dyRange) {
|
|
13276
|
-
var _e = __read$3(options.dyRange, 2),
|
|
13277
|
-
ny = clamp$1(ny,
|
|
13278
|
-
if (ny !==
|
|
13276
|
+
var _e = __read$3(options.dyRange, 2), min = _e[0], max = _e[1];
|
|
13277
|
+
ny = clamp$1(ny, min, max);
|
|
13278
|
+
if (ny !== min && ny !== max && min !== max) {
|
|
13279
13279
|
(_b = event.origin) === null || _b === void 0 ? void 0 : _b.preventDefault();
|
|
13280
13280
|
}
|
|
13281
13281
|
}
|
|
@@ -13389,11 +13389,11 @@ var SpriteMesh = /** @class */ (function () {
|
|
|
13389
13389
|
var item = items[i];
|
|
13390
13390
|
var texture = item === null || item === void 0 ? void 0 : item.renderer.texture;
|
|
13391
13391
|
var textureIndex = texture ? textures.indexOf(texture) : -1;
|
|
13392
|
-
var
|
|
13393
|
-
aPointLen +=
|
|
13394
|
-
indexLen +=
|
|
13395
|
-
datas.push(
|
|
13396
|
-
pointCount +=
|
|
13392
|
+
var data = this.getItemInitData(item, i, pointCount, textureIndex);
|
|
13393
|
+
aPointLen += data.aPoint.length;
|
|
13394
|
+
indexLen += data.index.length;
|
|
13395
|
+
datas.push(data);
|
|
13396
|
+
pointCount += data.aPoint.length / 6;
|
|
13397
13397
|
this.updateItem(item, true);
|
|
13398
13398
|
}
|
|
13399
13399
|
var bundle = {
|
|
@@ -13405,10 +13405,10 @@ var SpriteMesh = /** @class */ (function () {
|
|
|
13405
13405
|
index: 0,
|
|
13406
13406
|
};
|
|
13407
13407
|
var _loop_1 = function (i) {
|
|
13408
|
-
var
|
|
13408
|
+
var data = datas[i];
|
|
13409
13409
|
Object.keys(bundle).forEach(function (name) {
|
|
13410
13410
|
var arr = bundle[name];
|
|
13411
|
-
var ta =
|
|
13411
|
+
var ta = data[name];
|
|
13412
13412
|
arr.set(ta, cursor[name]);
|
|
13413
13413
|
cursor[name] += ta.length;
|
|
13414
13414
|
});
|
|
@@ -13675,14 +13675,14 @@ var SpriteMesh = /** @class */ (function () {
|
|
|
13675
13675
|
for (var y = 0; y < row; y++) {
|
|
13676
13676
|
var base = (y * 2 + x) * 4;
|
|
13677
13677
|
// @ts-expect-error
|
|
13678
|
-
var
|
|
13679
|
-
var texOffset =
|
|
13678
|
+
var split = textureSheetAnimation ? [0, 0, 1, 1, splits[0][4]] : splits[y * 2 + x];
|
|
13679
|
+
var texOffset = split[4] ? [0, 0, 1, 0, 0, 1, 1, 1] : [0, 1, 0, 0, 1, 1, 1, 0];
|
|
13680
13680
|
var dw = ((x + x + 1) / col - 1) / 2;
|
|
13681
13681
|
var dh = ((y + y + 1) / row - 1) / 2;
|
|
13682
|
-
var tox =
|
|
13683
|
-
var toy =
|
|
13684
|
-
var tsx =
|
|
13685
|
-
var tsy =
|
|
13682
|
+
var tox = split[0];
|
|
13683
|
+
var toy = split[1];
|
|
13684
|
+
var tsx = split[4] ? split[3] : split[2];
|
|
13685
|
+
var tsy = split[4] ? split[2] : split[3];
|
|
13686
13686
|
var origin_1 = [
|
|
13687
13687
|
originData[0] / col + dw,
|
|
13688
13688
|
originData[1] / row + dh,
|
|
@@ -13779,13 +13779,13 @@ function generateFeatureTexture(engine, feather) {
|
|
|
13779
13779
|
}
|
|
13780
13780
|
else {
|
|
13781
13781
|
var len = 128;
|
|
13782
|
-
var
|
|
13782
|
+
var data = new Uint8Array(len);
|
|
13783
13783
|
for (var i = 0, s = len - 1; i < len; i++) {
|
|
13784
13784
|
var p = i / s;
|
|
13785
13785
|
var val = feather.getValue(p);
|
|
13786
|
-
|
|
13786
|
+
data[i] = Math.round(val * 255);
|
|
13787
13787
|
}
|
|
13788
|
-
tex = Texture.createWithData(engine, { width: len, height: 1, data:
|
|
13788
|
+
tex = Texture.createWithData(engine, { width: len, height: 1, data: data }, {
|
|
13789
13789
|
name: 'feather',
|
|
13790
13790
|
format: glContext.LUMINANCE,
|
|
13791
13791
|
minFilter: glContext.LINEAR,
|
|
@@ -13943,22 +13943,22 @@ var SpriteGroup = /** @class */ (function () {
|
|
|
13943
13943
|
* 需要则添加到meshToModify数组
|
|
13944
13944
|
*/
|
|
13945
13945
|
for (var i = 0; i < splits.length; i++) {
|
|
13946
|
-
var
|
|
13946
|
+
var split = splits[i];
|
|
13947
13947
|
// @ts-expect-error
|
|
13948
|
-
var spriteMesh =
|
|
13949
|
-
if (
|
|
13948
|
+
var spriteMesh = split.spriteMesh;
|
|
13949
|
+
if (split.items.length === 0) {
|
|
13950
13950
|
throw new Error('split not combined');
|
|
13951
13951
|
}
|
|
13952
|
-
if (
|
|
13953
|
-
var priority =
|
|
13952
|
+
if (split.dirty) {
|
|
13953
|
+
var priority = split.indexStart;
|
|
13954
13954
|
if (spriteMesh.mesh.priority !== priority) {
|
|
13955
13955
|
spriteMesh.mesh.priority = priority;
|
|
13956
13956
|
meshToModify.push(spriteMesh.mesh);
|
|
13957
13957
|
}
|
|
13958
|
-
spriteMesh.setItems(
|
|
13958
|
+
spriteMesh.setItems(split.items.map(function (item) { return item.content; }));
|
|
13959
13959
|
}
|
|
13960
13960
|
spriteMesh.applyChange();
|
|
13961
|
-
|
|
13961
|
+
split.dirty = false;
|
|
13962
13962
|
}
|
|
13963
13963
|
/**
|
|
13964
13964
|
* 有需要移除的meshSplit 则废弃对应的mesh 保留material
|
|
@@ -13966,8 +13966,8 @@ var SpriteGroup = /** @class */ (function () {
|
|
|
13966
13966
|
*/
|
|
13967
13967
|
if (splitsToRemove.length) {
|
|
13968
13968
|
for (var i = 0; i < splitsToRemove.length; i++) {
|
|
13969
|
-
var
|
|
13970
|
-
var sp =
|
|
13969
|
+
var split = splitsToRemove[i];
|
|
13970
|
+
var sp = split.spriteMesh;
|
|
13971
13971
|
// @ts-expect-error
|
|
13972
13972
|
var mesh = sp.mesh;
|
|
13973
13973
|
mesh.dispose({ material: { textures: DestroyOptions.keep } });
|
|
@@ -14084,7 +14084,7 @@ var SpriteGroup = /** @class */ (function () {
|
|
|
14084
14084
|
addItemWithOrder(items, item, itemSortProperty);
|
|
14085
14085
|
if (isSprite(item)) {
|
|
14086
14086
|
var content = item.createContent();
|
|
14087
|
-
var
|
|
14087
|
+
var split = {
|
|
14088
14088
|
indexStart: item.listIndex,
|
|
14089
14089
|
indexEnd: item.listIndex,
|
|
14090
14090
|
items: [item],
|
|
@@ -14092,21 +14092,21 @@ var SpriteGroup = /** @class */ (function () {
|
|
|
14092
14092
|
cacheId: content.renderInfo.cacheId,
|
|
14093
14093
|
textures: [item.content.renderer.texture],
|
|
14094
14094
|
};
|
|
14095
|
-
splits.unshift(
|
|
14096
|
-
return [
|
|
14095
|
+
splits.unshift(split);
|
|
14096
|
+
return [split];
|
|
14097
14097
|
}
|
|
14098
14098
|
return [];
|
|
14099
14099
|
}
|
|
14100
14100
|
var _loop_2 = function (i) {
|
|
14101
|
-
var
|
|
14101
|
+
var split = splits[i];
|
|
14102
14102
|
var listIndex = item.listIndex;
|
|
14103
14103
|
if (isSprite(item)) {
|
|
14104
14104
|
// @ts-expect-error
|
|
14105
|
-
if (listIndex <=
|
|
14105
|
+
if (listIndex <= split.indexEnd) {
|
|
14106
14106
|
addItemWithOrder(items, item, itemSortProperty);
|
|
14107
14107
|
var itemIndex_1 = items.indexOf(item);
|
|
14108
|
-
var indexStart = Math.min(itemIndex_1, items.indexOf(
|
|
14109
|
-
var indexEnd = Math.max(itemIndex_1, items.indexOf(
|
|
14108
|
+
var indexStart = Math.min(itemIndex_1, items.indexOf(split.items[0]));
|
|
14109
|
+
var indexEnd = Math.max(itemIndex_1, items.indexOf(split.items[split.items.length - 1]));
|
|
14110
14110
|
var neoSplits_1 = this_2.getMeshSplits(items, indexStart, indexEnd);
|
|
14111
14111
|
var neoSplitIndex_1 = neoSplits_1.findIndex(function (split) { return split.items.includes(item); });
|
|
14112
14112
|
if (neoSplits_1.length === 2) {
|
|
@@ -14114,14 +14114,14 @@ var SpriteGroup = /** @class */ (function () {
|
|
|
14114
14114
|
//1 or 0
|
|
14115
14115
|
Object.keys(neoSplits_1[1 - neoSplitIndex_1]).forEach(function (key) {
|
|
14116
14116
|
// @ts-expect-error
|
|
14117
|
-
|
|
14117
|
+
split[key] = neoSplits_1[1 - neoSplitIndex_1][key];
|
|
14118
14118
|
});
|
|
14119
14119
|
return { value: [neoSplits_1[neoSplitIndex_1]] };
|
|
14120
14120
|
}
|
|
14121
14121
|
else if (neoSplits_1.length === 3) {
|
|
14122
14122
|
Object.keys(neoSplits_1[0]).forEach(function (key) {
|
|
14123
14123
|
// @ts-expect-error
|
|
14124
|
-
|
|
14124
|
+
split[key] = neoSplits_1[0][key];
|
|
14125
14125
|
});
|
|
14126
14126
|
splits.splice(i + 1, 0, neoSplits_1[1], neoSplits_1[2]);
|
|
14127
14127
|
if (neoSplitIndex_1 !== 1) {
|
|
@@ -14135,25 +14135,25 @@ var SpriteGroup = /** @class */ (function () {
|
|
|
14135
14135
|
//todo add case
|
|
14136
14136
|
Object.keys(neoSplits_1[0]).forEach(function (key) {
|
|
14137
14137
|
// @ts-expect-error
|
|
14138
|
-
|
|
14138
|
+
split[key] = neoSplits_1[0][key];
|
|
14139
14139
|
});
|
|
14140
14140
|
return { value: [] };
|
|
14141
14141
|
}
|
|
14142
14142
|
}
|
|
14143
14143
|
else {
|
|
14144
|
-
if (listIndex <
|
|
14144
|
+
if (listIndex < split.indexStart || listIndex === split.indexEnd) {
|
|
14145
14145
|
addItemWithOrder(items, item, itemSortProperty);
|
|
14146
14146
|
return { value: [] };
|
|
14147
14147
|
// @ts-expect-error
|
|
14148
14148
|
}
|
|
14149
|
-
else if (listIndex <
|
|
14149
|
+
else if (listIndex < split.indexEnd) {
|
|
14150
14150
|
addItemWithOrder(items, item, itemSortProperty);
|
|
14151
|
-
var lastItem =
|
|
14151
|
+
var lastItem = split.items[split.items.length - 1];
|
|
14152
14152
|
var endIndex = items.indexOf(lastItem);
|
|
14153
|
-
var neoSplits_2 = this_2.getMeshSplits(items, items.indexOf(
|
|
14153
|
+
var neoSplits_2 = this_2.getMeshSplits(items, items.indexOf(split.items[0]), endIndex);
|
|
14154
14154
|
Object.keys(neoSplits_2[0]).forEach(function (key) {
|
|
14155
14155
|
// @ts-expect-error
|
|
14156
|
-
|
|
14156
|
+
split[key] = neoSplits_2[0][key];
|
|
14157
14157
|
});
|
|
14158
14158
|
if (neoSplits_2.length === 2) {
|
|
14159
14159
|
splits.splice(i + 1, 0, neoSplits_2[1]);
|
|
@@ -14214,10 +14214,10 @@ var SpriteGroup = /** @class */ (function () {
|
|
|
14214
14214
|
* 遍历this.meshSplits,找到元素的listIndex在split的indexStart和indexEnd范围内的第一个meshSplit
|
|
14215
14215
|
*/
|
|
14216
14216
|
for (var i = 0; i < splits.length; i++) {
|
|
14217
|
-
var
|
|
14217
|
+
var split = splits[i];
|
|
14218
14218
|
// @ts-expect-error
|
|
14219
|
-
if (
|
|
14220
|
-
targetSplit =
|
|
14219
|
+
if (split.indexStart <= item.listIndex && split.indexEnd >= item.listIndex) {
|
|
14220
|
+
targetSplit = split;
|
|
14221
14221
|
targetSplitIndex = i;
|
|
14222
14222
|
break;
|
|
14223
14223
|
}
|
|
@@ -14327,8 +14327,8 @@ var SpriteGroup = /** @class */ (function () {
|
|
|
14327
14327
|
// FIXME: 可选性
|
|
14328
14328
|
var targetSplitIndex = void 0;
|
|
14329
14329
|
for (var i = 0; i < splits.length; i++) {
|
|
14330
|
-
var
|
|
14331
|
-
if (
|
|
14330
|
+
var split = splits[i];
|
|
14331
|
+
if (split.items.includes(item)) {
|
|
14332
14332
|
targetSplitIndex = i;
|
|
14333
14333
|
break;
|
|
14334
14334
|
}
|
|
@@ -15479,10 +15479,10 @@ var ParticleMesh = /** @class */ (function () {
|
|
|
15479
15479
|
var index = geometry.getIndexData();
|
|
15480
15480
|
for (var i = 0; i < names.length; i++) {
|
|
15481
15481
|
var name_1 = names[i];
|
|
15482
|
-
var
|
|
15483
|
-
if (
|
|
15482
|
+
var data = geometry.getAttributeData(name_1);
|
|
15483
|
+
if (data) {
|
|
15484
15484
|
// @ts-expect-error
|
|
15485
|
-
geometry.setAttributeData(name_1, new
|
|
15485
|
+
geometry.setAttributeData(name_1, new data.constructor(0));
|
|
15486
15486
|
}
|
|
15487
15487
|
}
|
|
15488
15488
|
// @ts-expect-error
|
|
@@ -16857,10 +16857,10 @@ function getGeometryTriangles(geometry, options) {
|
|
|
16857
16857
|
var segment = segments[i];
|
|
16858
16858
|
var p0 = points[i];
|
|
16859
16859
|
var p1 = points[i + 1] || points[0];
|
|
16860
|
-
var
|
|
16860
|
+
var keys = segment;
|
|
16861
16861
|
var point = [0, 0];
|
|
16862
|
-
for (var j = 0; j <
|
|
16863
|
-
var key =
|
|
16862
|
+
for (var j = 0; j < keys.length - 1; j++) {
|
|
16863
|
+
var key = keys[j];
|
|
16864
16864
|
getBezier2DValue(point, key, p0, p1, p0[4], p0[5], p1[2], p1[3]);
|
|
16865
16865
|
setPoint(point[0], point[1]);
|
|
16866
16866
|
}
|
|
@@ -16919,11 +16919,11 @@ function getGeometryByShape(shape, uvTransform) {
|
|
|
16919
16919
|
var index = 0;
|
|
16920
16920
|
for (var i = 0; i < geometries.length; i++) {
|
|
16921
16921
|
var geometry = geometries[i];
|
|
16922
|
-
var
|
|
16923
|
-
indexBase +=
|
|
16924
|
-
datas.push(
|
|
16925
|
-
aPoint +=
|
|
16926
|
-
index +=
|
|
16922
|
+
var data = getGeometryTriangles(geometry, { indexBase: indexBase, uvTransform: uvTransform });
|
|
16923
|
+
indexBase += data.aPoint.length / 5;
|
|
16924
|
+
datas.push(data);
|
|
16925
|
+
aPoint += data.aPoint.length;
|
|
16926
|
+
index += data.index.length;
|
|
16927
16927
|
}
|
|
16928
16928
|
if (datas.length === 1) {
|
|
16929
16929
|
return datas[0];
|
|
@@ -16932,11 +16932,11 @@ function getGeometryByShape(shape, uvTransform) {
|
|
|
16932
16932
|
var indexData = new Uint16Array(index);
|
|
16933
16933
|
// @ts-expect-error
|
|
16934
16934
|
for (var i = 0, pointIndex = 0, idx = 0; i < datas[i]; i++) {
|
|
16935
|
-
var
|
|
16936
|
-
aPointData.set(
|
|
16937
|
-
pointIndex +=
|
|
16938
|
-
indexData.set(
|
|
16939
|
-
idx +=
|
|
16935
|
+
var data = datas[i];
|
|
16936
|
+
aPointData.set(data.aPoint, pointIndex);
|
|
16937
|
+
pointIndex += data.aPoint.length;
|
|
16938
|
+
indexData.set(data.index, idx);
|
|
16939
|
+
idx += data.index.length;
|
|
16940
16940
|
}
|
|
16941
16941
|
return {
|
|
16942
16942
|
aPoint: aPointData,
|
|
@@ -17247,10 +17247,10 @@ var TrailMesh = /** @class */ (function () {
|
|
|
17247
17247
|
var pointCountPerTrail = this.pointCountPerTrail;
|
|
17248
17248
|
if (index >= 0 && index < pointCountPerTrail) {
|
|
17249
17249
|
var startIndex = (trail * pointCountPerTrail + index) * 24 + 8;
|
|
17250
|
-
var
|
|
17251
|
-
out.x =
|
|
17252
|
-
out.y =
|
|
17253
|
-
out.z =
|
|
17250
|
+
var data = this.geometry.getAttributeData('aColor');
|
|
17251
|
+
out.x = data[startIndex];
|
|
17252
|
+
out.y = data[1 + startIndex];
|
|
17253
|
+
out.z = data[2 + startIndex];
|
|
17254
17254
|
return out;
|
|
17255
17255
|
}
|
|
17256
17256
|
};
|
|
@@ -18656,14 +18656,14 @@ var TextMesh = /** @class */ (function (_super) {
|
|
|
18656
18656
|
for (var y_1 = 0; y_1 < row; y_1++) {
|
|
18657
18657
|
var base = (y_1 * 2 + x_1) * 4;
|
|
18658
18658
|
// @ts-expect-error
|
|
18659
|
-
var
|
|
18660
|
-
var texOffset =
|
|
18659
|
+
var split = textureSheetAnimation ? [0, 0, 1, 1, splits[0][4]] : splits[y_1 * 2 + x_1];
|
|
18660
|
+
var texOffset = split[4] ? [0, 0, 1, 0, 0, 1, 1, 1] : [0, 1, 0, 0, 1, 1, 1, 0];
|
|
18661
18661
|
var dw = ((x_1 + x_1 + 1) / col - 1) / 2;
|
|
18662
18662
|
var dh = ((y_1 + y_1 + 1) / row - 1) / 2;
|
|
18663
|
-
var tox =
|
|
18664
|
-
var toy =
|
|
18665
|
-
var tsx =
|
|
18666
|
-
var tsy =
|
|
18663
|
+
var tox = split[0];
|
|
18664
|
+
var toy = split[1];
|
|
18665
|
+
var tsx = split[4] ? split[3] : split[2];
|
|
18666
|
+
var tsy = split[4] ? split[2] : split[3];
|
|
18667
18667
|
var origin_1 = [
|
|
18668
18668
|
originData[0] / col + dw,
|
|
18669
18669
|
originData[1] / row + dh,
|
|
@@ -23343,13 +23343,13 @@ var CompositionSourceManager = /** @class */ (function () {
|
|
|
23343
23343
|
if (renderContent.renderer) {
|
|
23344
23344
|
renderContent.renderer = _this.changeTex(renderContent.renderer);
|
|
23345
23345
|
_this.processMask(renderContent.renderer);
|
|
23346
|
-
var
|
|
23346
|
+
var split = renderContent.splits && !renderContent.textureSheetAnimation && renderContent.splits[0];
|
|
23347
23347
|
if (Number.isInteger(renderContent.renderer.shape)) {
|
|
23348
23348
|
// TODO: scene.shapes 类型问题?
|
|
23349
|
-
renderContent.renderer.shape = getGeometryByShape((_a = _this.jsonScene) === null || _a === void 0 ? void 0 : _a.shapes[renderContent.renderer.shape],
|
|
23349
|
+
renderContent.renderer.shape = getGeometryByShape((_a = _this.jsonScene) === null || _a === void 0 ? void 0 : _a.shapes[renderContent.renderer.shape], split);
|
|
23350
23350
|
}
|
|
23351
23351
|
else if (renderContent.renderer.shape && isObject(renderContent.renderer.shape)) {
|
|
23352
|
-
renderContent.renderer.shape = getGeometryByShape(renderContent.renderer.shape,
|
|
23352
|
+
renderContent.renderer.shape = getGeometryByShape(renderContent.renderer.shape, split);
|
|
23353
23353
|
}
|
|
23354
23354
|
}
|
|
23355
23355
|
else {
|
|
@@ -23361,14 +23361,14 @@ var CompositionSourceManager = /** @class */ (function () {
|
|
|
23361
23361
|
if (renderContent.filter) {
|
|
23362
23362
|
renderContent.filter = __assign$1({}, renderContent.filter);
|
|
23363
23363
|
}
|
|
23364
|
-
var name_1 = item.name, _b = item.delay, delay = _b === void 0 ? 0 : _b,
|
|
23364
|
+
var name_1 = item.name, _b = item.delay, delay = _b === void 0 ? 0 : _b, id = item.id, parentId = item.parentId, duration = item.duration, endBehavior = item.endBehavior, pluginName = item.pluginName, pn = item.pn, transform = item.transform;
|
|
23365
23365
|
// FIXME: specification 下定义的 Item 不存在 refCount 类型定义
|
|
23366
23366
|
// @ts-expect-error
|
|
23367
23367
|
var refCount = item.refCount;
|
|
23368
23368
|
var _c = _this.jsonScene.plugins, plugins = _c === void 0 ? [] : _c;
|
|
23369
23369
|
option.name = name_1;
|
|
23370
23370
|
option.delay = delay;
|
|
23371
|
-
option.id =
|
|
23371
|
+
option.id = id;
|
|
23372
23372
|
if (parentId) {
|
|
23373
23373
|
option.parentId = parentId;
|
|
23374
23374
|
}
|
|
@@ -23830,8 +23830,8 @@ var AssetManager = /** @class */ (function () {
|
|
|
23830
23830
|
return [2 /*return*/, resultImage];
|
|
23831
23831
|
case 3:
|
|
23832
23832
|
// 如果是加载图片且是数组,设置变量,视频情况下不需要
|
|
23833
|
-
if (background &&
|
|
23834
|
-
variables[background.name] =
|
|
23833
|
+
if (background && Array.isArray(url_1) && variables) {
|
|
23834
|
+
variables[background.name] = resultImage.src;
|
|
23835
23835
|
}
|
|
23836
23836
|
return [4 /*yield*/, combineImageTemplate(resultImage, template, variables, this.options, img.oriY === -1)];
|
|
23837
23837
|
case 4: return [2 /*return*/, _b.sent()];
|
|
@@ -23979,14 +23979,14 @@ var AssetManager = /** @class */ (function () {
|
|
|
23979
23979
|
}());
|
|
23980
23980
|
function fixOldImageUsage(usedImages, compositions, imgUsage, images, renderLevel) {
|
|
23981
23981
|
for (var i = 0; i < compositions.length; i++) {
|
|
23982
|
-
var
|
|
23983
|
-
var ids = imgUsage[
|
|
23982
|
+
var id = compositions[i].id;
|
|
23983
|
+
var ids = imgUsage[id];
|
|
23984
23984
|
if (ids) {
|
|
23985
23985
|
for (var j = 0; j < ids.length; j++) {
|
|
23986
|
-
var
|
|
23987
|
-
var tag = images[
|
|
23986
|
+
var id_1 = ids[j];
|
|
23987
|
+
var tag = images[id_1].renderLevel;
|
|
23988
23988
|
if (passRenderLevel(tag, renderLevel)) {
|
|
23989
|
-
usedImages[
|
|
23989
|
+
usedImages[id_1] = true;
|
|
23990
23990
|
}
|
|
23991
23991
|
}
|
|
23992
23992
|
}
|