@galacean/effects-core 2.4.8 → 2.5.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/base-render-component.d.ts +18 -11
- package/dist/composition.d.ts +2 -1
- package/dist/fallback/utils.d.ts +1 -1
- package/dist/index.js +302 -301
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +302 -302
- package/dist/index.mjs.map +1 -1
- package/dist/material/mask-ref-manager.d.ts +5 -2
- package/dist/material/types.d.ts +0 -7
- package/dist/plugins/particle/particle-system.d.ts +2 -8
- package/dist/plugins/sprite/sprite-item.d.ts +2 -22
- package/dist/plugins/text/text-item.d.ts +5 -4
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/promise-util.d.ts +9 -0
- package/package.json +2 -2
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: v2.
|
|
6
|
+
* Version: v2.5.0-alpha.1
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
'use strict';
|
|
@@ -345,11 +345,6 @@ function colorToArr$1(hex, normalized) {
|
|
|
345
345
|
parseInt(m[2], 16),
|
|
346
346
|
parseInt(m[3], 16),
|
|
347
347
|
255
|
|
348
|
-
] || [
|
|
349
|
-
0,
|
|
350
|
-
0,
|
|
351
|
-
0,
|
|
352
|
-
255
|
|
353
348
|
];
|
|
354
349
|
}
|
|
355
350
|
} else if (_instanceof1(hex, Array)) {
|
|
@@ -685,6 +680,17 @@ function asserts(condition, msg) {
|
|
|
685
680
|
return /^[^\d.][\w-]*$/.test(fontFamily);
|
|
686
681
|
}
|
|
687
682
|
|
|
683
|
+
/**
|
|
684
|
+
* Simple implementation of the deferred pattern.
|
|
685
|
+
* An object that exposes a promise and functions to resolve and reject it.
|
|
686
|
+
*/ var Deferred = function Deferred() {
|
|
687
|
+
var _this = this;
|
|
688
|
+
this.promise = new Promise(function(resolve, reject) {
|
|
689
|
+
_this.resolve = resolve;
|
|
690
|
+
_this.reject = reject;
|
|
691
|
+
});
|
|
692
|
+
};
|
|
693
|
+
|
|
688
694
|
var prefix = "[Galacean Effects]";
|
|
689
695
|
var localLogger;
|
|
690
696
|
function format(message) {
|
|
@@ -7630,6 +7636,8 @@ exports.MaterialRenderType = void 0;
|
|
|
7630
7636
|
var MaskProcessor = /*#__PURE__*/ function() {
|
|
7631
7637
|
function MaskProcessor(engine) {
|
|
7632
7638
|
this.engine = engine;
|
|
7639
|
+
this.alphaMaskEnabled = false;
|
|
7640
|
+
this.maskMode = exports.MaskMode.NONE;
|
|
7633
7641
|
this.maskable = null;
|
|
7634
7642
|
this.stencilClearAction = {
|
|
7635
7643
|
stencilAction: exports.TextureLoadAction.clear
|
|
@@ -7640,19 +7648,17 @@ var MaskProcessor = /*#__PURE__*/ function() {
|
|
|
7640
7648
|
return 1;
|
|
7641
7649
|
};
|
|
7642
7650
|
_proto.getMaskMode = function getMaskMode(data) {
|
|
7643
|
-
var
|
|
7644
|
-
|
|
7645
|
-
|
|
7646
|
-
|
|
7647
|
-
|
|
7648
|
-
|
|
7649
|
-
|
|
7650
|
-
|
|
7651
|
-
this.maskable = ref;
|
|
7652
|
-
}
|
|
7651
|
+
var _data_isMask = data.isMask, isMask = _data_isMask === void 0 ? false : _data_isMask, _data_inverted = data.inverted, inverted = _data_inverted === void 0 ? false : _data_inverted, reference = data.reference, _data_alphaMaskEnabled = data.alphaMaskEnabled, alphaMaskEnabled = _data_alphaMaskEnabled === void 0 ? false : _data_alphaMaskEnabled;
|
|
7652
|
+
this.alphaMaskEnabled = alphaMaskEnabled;
|
|
7653
|
+
if (isMask) {
|
|
7654
|
+
this.maskMode = exports.MaskMode.MASK;
|
|
7655
|
+
} else {
|
|
7656
|
+
this.maskMode = inverted ? exports.MaskMode.REVERSE_OBSCURED : exports.MaskMode.OBSCURED;
|
|
7657
|
+
if (reference) {
|
|
7658
|
+
this.maskable = this.engine.findObject(reference);
|
|
7653
7659
|
}
|
|
7654
7660
|
}
|
|
7655
|
-
return maskMode;
|
|
7661
|
+
return this.maskMode;
|
|
7656
7662
|
};
|
|
7657
7663
|
_proto.drawStencilMask = function drawStencilMask(renderer) {
|
|
7658
7664
|
if (this.maskable) {
|
|
@@ -10212,7 +10218,7 @@ var itemFrame_frag = "#version 100\nprecision highp float;vec4 blendColor(vec4 c
|
|
|
10212
10218
|
|
|
10213
10219
|
var integrate = "float calculateMovement(float t,vec2 p1,vec2 p2,vec2 p3,vec2 p4){float movement=0.0;float h=(t-p1.x)*0.05;for(int i=0;i<=20;i++){float t=float(i)*h;float nt=binarySearchT(t,p1.x,p2.x,p3.x,p4.x);float y=cubicBezier(nt,p1.y,p2.y,p3.y,p4.y);float weight=(i==0||i==20)? 1.0 :(mod(float(i),2.)!=0.)? 4.0 : 2.0;movement+=weight*y;}movement*=h/3.;return movement;}float integrateFromBezierCurveFrames(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i+=2){vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);if(i==0&&time<k0.x){return ret;}vec2 p1=vec2(k0.x,k0.y);vec2 p2=vec2(k0.z,k0.w);vec2 p3=vec2(k1.z,k1.w);vec2 p4=vec2(k1.x,k1.y);if(time>=k1.x){ret+=calculateMovement(k1.x,p1,p2,p3,p4);}if(time>=k0.x&&time<k1.x){return ret+calculateMovement(time,p1,p2,p3,p4);}}return ret;}float integrateByTimeLineSeg(float t,vec2 p0,vec2 p1){float t0=p0.x;float t1=p1.x;float y0=p0.y;float y1=p1.y;vec4 tSqr=vec4(t,t,t0,t0);tSqr=tSqr*tSqr;vec4 a=vec4(2.*t,3.,-t0,3.)*tSqr;float t1y0=t1*y0;vec4 b=vec4(y0-y1,t0*y1-t1y0,2.*y0+y1,t1y0);float r=dot(a,b);return r/(t0-t1)*0.16666667;}float integrateLineSeg(float time,vec2 p0,vec2 p1){float h=time-p0.x;float y0=p0.y;return(y0+y0+(p1.y-y0)*h/(p1.x-p0.x))*h/2.;}float integrateFromLineSeg(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i>count){return ret;}vec4 ks=lookup_curve(i+start);vec2 k0=ks.xy;vec2 k1=ks.zw;if(time>k0.x&&time<=k1.x){return ret+integrateLineSeg(time,k0,k1);}ret+=integrateLineSeg(k1.x,k0,k1);vec2 k2=lookup_curve(i+start+1).xy;if(time>k1.x&&time<=k2.x){return ret+integrateLineSeg(time,k1,k2);}ret+=integrateLineSeg(k2.x,k1,k2);}return ret;}float integrateByTimeFromLineSeg(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i>count){return ret;}vec4 ks=lookup_curve(i+start);vec2 k0=ks.xy;vec2 k1=ks.zw;if(time>k0.x&&time<=k1.x){return ret+integrateByTimeLineSeg(time,k0,k1);}ret+=integrateByTimeLineSeg(k1.x,k0,k1);vec2 k2=lookup_curve(i+start+1).xy;if(time>k1.x&&time<=k2.x){return ret+integrateByTimeLineSeg(time,k1,k2);}ret+=integrateByTimeLineSeg(k2.x,k1,k2);}return ret;}float getIntegrateFromTime0(float t1,vec4 value){float type=value.x;if(type==0.){return value.y*t1;}if(type==1.){vec2 p0=vec2(0.,value.y);vec2 p1=vec2(value.w,value.z);return integrateLineSeg(t1,p0,p1);}if(type==3.){return integrateFromLineSeg(t1,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed)*t1;}if(type==5.){return integrateFromBezierCurveFrames(t1,value.z,value.w);}return 0.;}float getIntegrateByTimeFromTime(float t0,float t1,vec4 value){float type=value.x;if(type==0.){return value.y*(t1*t1-t0*t0)/2.;}else if(type==1.){vec2 p0=vec2(0.,value.y);vec2 p1=vec2(value.w,value.z);return integrateByTimeLineSeg(t1,p0,p1)-integrateByTimeLineSeg(t0,p0,p1);}if(type==3.){return integrateByTimeFromLineSeg(t1,value.y,value.z)-integrateByTimeFromLineSeg(t0,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed)*(t1*t1-t0*t0)/2.;}if(type==5.){return integrateFromBezierCurveFrames(t1,value.z,value.w)-integrateFromBezierCurveFrames(t0,value.z,value.w);}return 0.;}";
|
|
10214
10220
|
|
|
10215
|
-
var itemVert = "precision highp float;attribute vec2
|
|
10221
|
+
var itemVert = "precision highp float;attribute vec2 aUV;attribute vec3 aPos;varying vec2 vTexCoord;varying vec3 vParams;varying vec4 vColor;uniform vec2 _Size;uniform vec3 _Scale;uniform vec4 _Color;uniform vec4 _TexParams;uniform vec4 _TexOffset;uniform mat4 effects_MatrixVP;uniform mat4 effects_ObjectToWorld;uniform mat4 effects_MatrixV;\n#ifdef ENV_EDITOR\nuniform vec4 uEditorTransform;\n#endif\nvoid main(){vec4 texParams=_TexParams;vTexCoord=vec2(aUV.xy*_TexOffset.zw+_TexOffset.xy);vColor=_Color;vParams=vec3(texParams.w,texParams.y,texParams.x);if(texParams.z==1.0){vec4 pos=vec4(aPos.xy*_Size,aPos.z,1.0);gl_Position=effects_MatrixVP*effects_ObjectToWorld*pos;}else{mat4 view=effects_MatrixV;vec3 camRight=vec3(view[0][0],view[1][0],view[2][0]);vec3 camUp=vec3(view[0][1],view[1][1],view[2][1]);vec3 worldPosition=vec3(effects_ObjectToWorld*vec4(0.0,0.0,0.0,1.0));vec3 vertexPosition=worldPosition+camRight*aPos.x*_Size.x*_Scale.x+camUp*aPos.y*_Size.y*_Scale.y;gl_Position=effects_MatrixVP*vec4(vertexPosition,1.0);}\n#ifdef ENV_EDITOR\ngl_Position=vec4(gl_Position.xy*uEditorTransform.xy+uEditorTransform.zw*gl_Position.w,gl_Position.zw);\n#endif\n}";
|
|
10216
10222
|
|
|
10217
10223
|
var itemFrag = "precision highp float;varying vec4 vColor;varying vec2 vTexCoord;varying vec3 vParams;uniform sampler2D _MainTex;vec4 blendColor(vec4 color,vec4 vc,float mode){vec4 ret=color*vc;float alpha=ret.a;if(mode==1.){ret.rgb*=alpha;}else if(mode==2.){ret.rgb*=alpha;ret.a=dot(ret.rgb,vec3(0.33333333));}else if(mode==3.){alpha=color.r*alpha;ret=vec4(vc.rgb*alpha,alpha);}return ret;}void main(){vec4 color=vec4(0.);\n#ifdef TRANSPARENT_VIDEO\nfloat halfX=vTexCoord.x*0.5;vec2 uv_rgb=vec2(halfX,vTexCoord.y);vec2 uv_alpha=vec2(halfX+0.5,vTexCoord.y);vec3 rgb=texture2D(_MainTex,uv_rgb).rgb;float alpha=max(texture2D(_MainTex,uv_alpha).r,1e-5);vec4 texColor=vec4(rgb/alpha,alpha);\n#else\nvec4 texColor=texture2D(_MainTex,vTexCoord.xy);\n#endif\ncolor=blendColor(texColor,vColor,floor(0.5+vParams.y));\n#ifdef ALPHA_CLIP\nif(color.a<0.04){discard;}\n#endif\ncolor.a=clamp(color.a,0.0,1.0);gl_FragColor=color;}";
|
|
10218
10224
|
|
|
@@ -12448,6 +12454,15 @@ function getBezier2DValue(out, t, p0, p1, cpx0, cpy0, cpx1, cpy1) {
|
|
|
12448
12454
|
return out;
|
|
12449
12455
|
}
|
|
12450
12456
|
|
|
12457
|
+
var singleSplits = [
|
|
12458
|
+
[
|
|
12459
|
+
0,
|
|
12460
|
+
0,
|
|
12461
|
+
1,
|
|
12462
|
+
1,
|
|
12463
|
+
undefined
|
|
12464
|
+
]
|
|
12465
|
+
];
|
|
12451
12466
|
/**
|
|
12452
12467
|
* @since 2.1.0
|
|
12453
12468
|
*/ var BaseRenderComponent = /*#__PURE__*/ function(RendererComponent) {
|
|
@@ -12455,11 +12470,12 @@ function getBezier2DValue(out, t, p0, p1, cpx0, cpy0, cpx1, cpy1) {
|
|
|
12455
12470
|
function BaseRenderComponent(engine) {
|
|
12456
12471
|
var _this;
|
|
12457
12472
|
_this = RendererComponent.call(this, engine) || this;
|
|
12458
|
-
_this.color = new Color(1, 1, 1, 1);
|
|
12459
12473
|
_this.visible = true;
|
|
12474
|
+
_this.splits = singleSplits;
|
|
12460
12475
|
/**
|
|
12461
12476
|
* 用于点击测试的碰撞器
|
|
12462
12477
|
*/ _this.meshCollider = new MeshCollider();
|
|
12478
|
+
_this._color = new Color(1, 1, 1, 1);
|
|
12463
12479
|
// TODO 点击测试后续抽象一个 Collider 组件
|
|
12464
12480
|
_this.getHitTestParams = function(force) {
|
|
12465
12481
|
var sizeMatrix = Matrix4.fromScale(_this.transform.size.x, _this.transform.size.y, 1);
|
|
@@ -12486,10 +12502,60 @@ function getBezier2DValue(out, t, p0, p1, cpx0, cpy0, cpx1, cpy1) {
|
|
|
12486
12502
|
occlusion: false,
|
|
12487
12503
|
transparentOcclusion: false,
|
|
12488
12504
|
side: SideMode.DOUBLE,
|
|
12489
|
-
|
|
12490
|
-
mask: 0,
|
|
12491
|
-
alphaMask: false
|
|
12505
|
+
mask: 0
|
|
12492
12506
|
};
|
|
12507
|
+
_this.defaultGeometry = Geometry.create(_this.engine, {
|
|
12508
|
+
attributes: {
|
|
12509
|
+
aPos: {
|
|
12510
|
+
type: glContext.FLOAT,
|
|
12511
|
+
size: 3,
|
|
12512
|
+
data: new Float32Array([
|
|
12513
|
+
-0.5,
|
|
12514
|
+
0.5,
|
|
12515
|
+
0,
|
|
12516
|
+
-0.5,
|
|
12517
|
+
-0.5,
|
|
12518
|
+
0,
|
|
12519
|
+
0.5,
|
|
12520
|
+
0.5,
|
|
12521
|
+
0,
|
|
12522
|
+
0.5,
|
|
12523
|
+
-0.5,
|
|
12524
|
+
0
|
|
12525
|
+
])
|
|
12526
|
+
},
|
|
12527
|
+
aUV: {
|
|
12528
|
+
size: 2,
|
|
12529
|
+
offset: 0,
|
|
12530
|
+
releasable: true,
|
|
12531
|
+
type: glContext.FLOAT,
|
|
12532
|
+
data: new Float32Array([
|
|
12533
|
+
0,
|
|
12534
|
+
1,
|
|
12535
|
+
0,
|
|
12536
|
+
0,
|
|
12537
|
+
1,
|
|
12538
|
+
1,
|
|
12539
|
+
1,
|
|
12540
|
+
0
|
|
12541
|
+
])
|
|
12542
|
+
}
|
|
12543
|
+
},
|
|
12544
|
+
indices: {
|
|
12545
|
+
data: new Uint16Array([
|
|
12546
|
+
0,
|
|
12547
|
+
1,
|
|
12548
|
+
2,
|
|
12549
|
+
2,
|
|
12550
|
+
1,
|
|
12551
|
+
3
|
|
12552
|
+
]),
|
|
12553
|
+
releasable: true
|
|
12554
|
+
},
|
|
12555
|
+
mode: glContext.TRIANGLES,
|
|
12556
|
+
drawCount: 6
|
|
12557
|
+
});
|
|
12558
|
+
_this.geometry = _this.defaultGeometry;
|
|
12493
12559
|
var material = Material.create(_this.engine, {
|
|
12494
12560
|
shader: {
|
|
12495
12561
|
fragment: itemFrag,
|
|
@@ -12498,12 +12564,7 @@ function getBezier2DValue(out, t, p0, p1, cpx0, cpy0, cpx1, cpy1) {
|
|
|
12498
12564
|
}
|
|
12499
12565
|
});
|
|
12500
12566
|
_this.material = material;
|
|
12501
|
-
_this.material.setColor("_Color", new Color()
|
|
12502
|
-
1,
|
|
12503
|
-
1,
|
|
12504
|
-
1,
|
|
12505
|
-
1
|
|
12506
|
-
]));
|
|
12567
|
+
_this.material.setColor("_Color", new Color(1, 1, 1, 1));
|
|
12507
12568
|
_this.maskManager = new MaskProcessor(engine);
|
|
12508
12569
|
return _this;
|
|
12509
12570
|
}
|
|
@@ -12523,11 +12584,11 @@ function getBezier2DValue(out, t, p0, p1, cpx0, cpy0, cpx1, cpy1) {
|
|
|
12523
12584
|
};
|
|
12524
12585
|
_proto.setColor = function setColor(color) {
|
|
12525
12586
|
if (_instanceof1(color, Color)) {
|
|
12526
|
-
this.
|
|
12587
|
+
this._color.copyFrom(color);
|
|
12527
12588
|
} else {
|
|
12528
|
-
this.
|
|
12589
|
+
this._color.setFromArray(color);
|
|
12529
12590
|
}
|
|
12530
|
-
this.material.setColor("_Color", this.
|
|
12591
|
+
this.material.setColor("_Color", this._color);
|
|
12531
12592
|
};
|
|
12532
12593
|
_proto.setTexture = function setTexture(input) {
|
|
12533
12594
|
var _this = this;
|
|
@@ -12590,103 +12651,149 @@ function getBezier2DValue(out, t, p0, p1, cpx0, cpy0, cpx1, cpy1) {
|
|
|
12590
12651
|
var boundingBox = this.meshCollider.getBoundingBox();
|
|
12591
12652
|
return boundingBox;
|
|
12592
12653
|
};
|
|
12593
|
-
_proto.getItemGeometryData = function getItemGeometryData(
|
|
12594
|
-
var
|
|
12654
|
+
_proto.getItemGeometryData = function getItemGeometryData(renderer) {
|
|
12655
|
+
var _this = this, splits = _this.splits, textureSheetAnimation = _this.textureSheetAnimation;
|
|
12656
|
+
var sx = 1, sy = 1;
|
|
12657
|
+
var geometry = this.defaultGeometry;
|
|
12595
12658
|
if (renderer.shape) {
|
|
12596
12659
|
var _renderer_shape = renderer.shape, _renderer_shape_index = _renderer_shape.index, index = _renderer_shape_index === void 0 ? [] : _renderer_shape_index, _renderer_shape_aPoint = _renderer_shape.aPoint, aPoint = _renderer_shape_aPoint === void 0 ? [] : _renderer_shape_aPoint;
|
|
12597
12660
|
var point = new Float32Array(aPoint);
|
|
12598
12661
|
var position = [];
|
|
12599
|
-
var
|
|
12662
|
+
var aUV = [];
|
|
12600
12663
|
for(var i = 0; i < point.length; i += 6){
|
|
12601
|
-
|
|
12664
|
+
point[i] *= sx;
|
|
12665
|
+
point[i + 1] *= sy;
|
|
12666
|
+
aUV.push(aPoint[i + 2], aPoint[i + 3]);
|
|
12602
12667
|
position.push(point[i], point[i + 1], 0.0);
|
|
12603
12668
|
}
|
|
12604
12669
|
geometry.setAttributeData("aPos", new Float32Array(position));
|
|
12605
12670
|
return {
|
|
12606
12671
|
index: index,
|
|
12607
|
-
|
|
12672
|
+
aUV: aUV
|
|
12608
12673
|
};
|
|
12609
|
-
}
|
|
12610
|
-
|
|
12611
|
-
|
|
12612
|
-
|
|
12674
|
+
}
|
|
12675
|
+
var originData = [
|
|
12676
|
+
-.5,
|
|
12677
|
+
.5,
|
|
12678
|
+
-.5,
|
|
12679
|
+
-.5,
|
|
12680
|
+
.5,
|
|
12681
|
+
.5,
|
|
12682
|
+
.5,
|
|
12683
|
+
-.5
|
|
12684
|
+
];
|
|
12685
|
+
var aUV1 = [];
|
|
12686
|
+
var index1 = [];
|
|
12687
|
+
var position1 = [];
|
|
12688
|
+
if (splits.length === 1) {
|
|
12689
|
+
var split = textureSheetAnimation ? [
|
|
12613
12690
|
0,
|
|
12614
|
-
-0.5,
|
|
12615
|
-
-0.5,
|
|
12616
12691
|
0,
|
|
12617
|
-
|
|
12618
|
-
|
|
12692
|
+
1,
|
|
12693
|
+
1,
|
|
12694
|
+
splits[0][4]
|
|
12695
|
+
] : splits[0];
|
|
12696
|
+
var texOffset = split[4] ? [
|
|
12619
12697
|
0,
|
|
12620
|
-
0
|
|
12621
|
-
|
|
12698
|
+
0,
|
|
12699
|
+
1,
|
|
12700
|
+
0,
|
|
12701
|
+
0,
|
|
12702
|
+
1,
|
|
12703
|
+
1,
|
|
12704
|
+
1
|
|
12705
|
+
] : [
|
|
12706
|
+
0,
|
|
12707
|
+
1,
|
|
12708
|
+
0,
|
|
12709
|
+
0,
|
|
12710
|
+
1,
|
|
12711
|
+
1,
|
|
12712
|
+
1,
|
|
12622
12713
|
0
|
|
12623
|
-
]
|
|
12624
|
-
|
|
12625
|
-
|
|
12626
|
-
|
|
12627
|
-
|
|
12628
|
-
|
|
12629
|
-
|
|
12630
|
-
|
|
12631
|
-
|
|
12632
|
-
|
|
12633
|
-
|
|
12634
|
-
|
|
12635
|
-
|
|
12636
|
-
|
|
12637
|
-
|
|
12638
|
-
|
|
12639
|
-
|
|
12640
|
-
|
|
12641
|
-
0
|
|
12642
|
-
]
|
|
12643
|
-
};
|
|
12644
|
-
}
|
|
12645
|
-
};
|
|
12646
|
-
_proto.createGeometry = function createGeometry() {
|
|
12647
|
-
var geometry = Geometry.create(this.engine, {
|
|
12648
|
-
attributes: {
|
|
12649
|
-
aPos: {
|
|
12650
|
-
type: glContext.FLOAT,
|
|
12651
|
-
size: 3,
|
|
12652
|
-
data: new Float32Array([
|
|
12653
|
-
-0.5,
|
|
12654
|
-
0.5,
|
|
12714
|
+
];
|
|
12715
|
+
var tox = split[0];
|
|
12716
|
+
var toy = split[1];
|
|
12717
|
+
var tsx = split[4] ? split[3] : split[2];
|
|
12718
|
+
var tsy = split[4] ? split[2] : split[3];
|
|
12719
|
+
aUV1.push(texOffset[0] * tsx + tox, texOffset[1] * tsy + toy, texOffset[2] * tsx + tox, texOffset[3] * tsy + toy, texOffset[4] * tsx + tox, texOffset[5] * tsy + toy, texOffset[6] * tsx + tox, texOffset[7] * tsy + toy);
|
|
12720
|
+
position1.push(originData[0], originData[1], 0.0, originData[2], originData[3], 0.0, originData[4], originData[5], 0.0, originData[6], originData[7], 0.0);
|
|
12721
|
+
index1.push(0, 1, 2, 2, 1, 3);
|
|
12722
|
+
} else {
|
|
12723
|
+
// TODO: 原有打包纹理拆分逻辑,待移除
|
|
12724
|
+
//-------------------------------------------------------------------------
|
|
12725
|
+
var col = 2;
|
|
12726
|
+
var row = 2;
|
|
12727
|
+
for(var x = 0; x < col; x++){
|
|
12728
|
+
for(var y = 0; y < row; y++){
|
|
12729
|
+
var base = (y * 2 + x) * 4;
|
|
12730
|
+
// @ts-expect-error
|
|
12731
|
+
var split1 = textureSheetAnimation ? [
|
|
12655
12732
|
0,
|
|
12656
|
-
-0.5,
|
|
12657
|
-
-0.5,
|
|
12658
12733
|
0,
|
|
12659
|
-
|
|
12660
|
-
|
|
12734
|
+
1,
|
|
12735
|
+
1,
|
|
12736
|
+
splits[0][4]
|
|
12737
|
+
] : splits[y * 2 + x];
|
|
12738
|
+
var texOffset1 = split1[4] ? [
|
|
12661
12739
|
0,
|
|
12662
|
-
0
|
|
12663
|
-
|
|
12740
|
+
0,
|
|
12741
|
+
1,
|
|
12742
|
+
0,
|
|
12743
|
+
0,
|
|
12744
|
+
1,
|
|
12745
|
+
1,
|
|
12746
|
+
1
|
|
12747
|
+
] : [
|
|
12748
|
+
0,
|
|
12749
|
+
1,
|
|
12750
|
+
0,
|
|
12751
|
+
0,
|
|
12752
|
+
1,
|
|
12753
|
+
1,
|
|
12754
|
+
1,
|
|
12664
12755
|
0
|
|
12665
|
-
]
|
|
12666
|
-
|
|
12667
|
-
|
|
12668
|
-
|
|
12669
|
-
|
|
12670
|
-
|
|
12671
|
-
|
|
12672
|
-
|
|
12756
|
+
];
|
|
12757
|
+
var dw = ((x + x + 1) / col - 1) / 2;
|
|
12758
|
+
var dh = ((y + y + 1) / row - 1) / 2;
|
|
12759
|
+
var tox1 = split1[0];
|
|
12760
|
+
var toy1 = split1[1];
|
|
12761
|
+
var tsx1 = split1[4] ? split1[3] : split1[2];
|
|
12762
|
+
var tsy1 = split1[4] ? split1[2] : split1[3];
|
|
12763
|
+
var origin = [
|
|
12764
|
+
originData[0] / col + dw,
|
|
12765
|
+
originData[1] / row + dh,
|
|
12766
|
+
originData[2] / col + dw,
|
|
12767
|
+
originData[3] / row + dh,
|
|
12768
|
+
originData[4] / col + dw,
|
|
12769
|
+
originData[5] / row + dh,
|
|
12770
|
+
originData[6] / col + dw,
|
|
12771
|
+
originData[7] / row + dh
|
|
12772
|
+
];
|
|
12773
|
+
aUV1.push(texOffset1[0] * tsx1 + tox1, texOffset1[1] * tsy1 + toy1, texOffset1[2] * tsx1 + tox1, texOffset1[3] * tsy1 + toy1, texOffset1[4] * tsx1 + tox1, texOffset1[5] * tsy1 + toy1, texOffset1[6] * tsx1 + tox1, texOffset1[7] * tsy1 + toy1);
|
|
12774
|
+
position1.push(origin[0] * sx, origin[1] * sy, 0.0, origin[2] * sx, origin[3] * sy, 0.0, origin[4] * sx, origin[5] * sy, 0.0, origin[6] * sx, origin[7] * sy, 0.0);
|
|
12775
|
+
index1.push(base, 1 + base, 2 + base, 2 + base, 1 + base, 3 + base);
|
|
12673
12776
|
}
|
|
12674
|
-
}
|
|
12675
|
-
|
|
12676
|
-
|
|
12677
|
-
|
|
12678
|
-
|
|
12679
|
-
|
|
12680
|
-
}
|
|
12681
|
-
|
|
12682
|
-
|
|
12777
|
+
}
|
|
12778
|
+
}
|
|
12779
|
+
geometry.setAttributeData("aPos", new Float32Array(position1));
|
|
12780
|
+
return {
|
|
12781
|
+
index: index1,
|
|
12782
|
+
aUV: aUV1
|
|
12783
|
+
};
|
|
12784
|
+
};
|
|
12785
|
+
_proto.configureDefaultGeometry = function configureDefaultGeometry(renderer) {
|
|
12786
|
+
var geoData = this.getItemGeometryData(renderer);
|
|
12787
|
+
var index = geoData.index, aUV = geoData.aUV;
|
|
12788
|
+
var geometry = this.defaultGeometry;
|
|
12683
12789
|
geometry.setIndexData(new Uint16Array(index));
|
|
12684
|
-
geometry.setAttributeData("
|
|
12790
|
+
geometry.setAttributeData("aUV", new Float32Array(aUV));
|
|
12685
12791
|
geometry.setDrawCount(index.length);
|
|
12686
12792
|
return geometry;
|
|
12687
12793
|
};
|
|
12688
12794
|
_proto.configureMaterial = function configureMaterial(renderer) {
|
|
12689
|
-
var side = renderer.side, occlusion = renderer.occlusion, blendMode = renderer.blending,
|
|
12795
|
+
var side = renderer.side, occlusion = renderer.occlusion, blendMode = renderer.blending, mask = renderer.mask, texture = renderer.texture;
|
|
12796
|
+
var maskMode = this.maskManager.maskMode;
|
|
12690
12797
|
var material = this.material;
|
|
12691
12798
|
material.blending = true;
|
|
12692
12799
|
material.depthTest = true;
|
|
@@ -12700,17 +12807,16 @@ function getBezier2DValue(out, t, p0, p1, cpx0, cpy0, cpx1, cpy1) {
|
|
|
12700
12807
|
setMaskMode(material, maskMode);
|
|
12701
12808
|
setSideMode(material, side);
|
|
12702
12809
|
material.shader.shaderData.properties = '_MainTex("_MainTex",2D) = "white" {}';
|
|
12703
|
-
material.setColor("_Color", new Color(0, 0, 0, 1));
|
|
12704
12810
|
material.setVector4("_TexOffset", new Vector4(0, 0, 1, 1));
|
|
12705
12811
|
material.setTexture("_MainTex", texture);
|
|
12706
|
-
|
|
12812
|
+
var preMultiAlpha = getPreMultiAlpha(blendMode);
|
|
12707
12813
|
var texParams = new Vector4();
|
|
12708
12814
|
texParams.x = renderer.occlusion ? +renderer.transparentOcclusion : 1;
|
|
12709
|
-
texParams.y =
|
|
12815
|
+
texParams.y = preMultiAlpha;
|
|
12710
12816
|
texParams.z = renderer.renderMode;
|
|
12711
|
-
texParams.w =
|
|
12817
|
+
texParams.w = maskMode;
|
|
12712
12818
|
material.setVector4("_TexParams", texParams);
|
|
12713
|
-
if (texParams.x === 0 ||
|
|
12819
|
+
if (texParams.x === 0 || this.maskManager.alphaMaskEnabled) {
|
|
12714
12820
|
material.enableMacro("ALPHA_CLIP");
|
|
12715
12821
|
} else {
|
|
12716
12822
|
material.disableMacro("ALPHA_CLIP");
|
|
@@ -12732,39 +12838,63 @@ function getBezier2DValue(out, t, p0, p1, cpx0, cpy0, cpx1, cpy1) {
|
|
|
12732
12838
|
};
|
|
12733
12839
|
_proto.fromData = function fromData(data) {
|
|
12734
12840
|
RendererComponent.prototype.fromData.call(this, data);
|
|
12735
|
-
var
|
|
12736
|
-
var
|
|
12737
|
-
var
|
|
12738
|
-
|
|
12739
|
-
|
|
12841
|
+
var baseRenderComponentData = data;
|
|
12842
|
+
var _baseRenderComponentData_renderer;
|
|
12843
|
+
var renderer = (_baseRenderComponentData_renderer = baseRenderComponentData.renderer) != null ? _baseRenderComponentData_renderer : {};
|
|
12844
|
+
var splits = baseRenderComponentData.splits;
|
|
12845
|
+
var textureSheetAnimation = baseRenderComponentData.textureSheetAnimation;
|
|
12846
|
+
var maskOptions = baseRenderComponentData.mask;
|
|
12847
|
+
if (maskOptions) {
|
|
12848
|
+
this.maskManager.getMaskMode(maskOptions);
|
|
12740
12849
|
}
|
|
12741
|
-
var maskMode = this.maskManager.getMaskMode(data);
|
|
12742
12850
|
// TODO 新蒙板上线后移除
|
|
12743
12851
|
//-------------------------------------------------------------------------
|
|
12744
12852
|
var shapeData = renderer.shape;
|
|
12745
|
-
|
|
12746
|
-
var split = data.splits && !data.textureSheetAnimation ? data.splits[0] : undefined;
|
|
12853
|
+
var split = splits && !textureSheetAnimation ? splits[0] : undefined;
|
|
12747
12854
|
var shapeGeometry = undefined;
|
|
12748
12855
|
if (shapeData !== undefined && shapeData !== null && !("aPoint" in shapeData && "index" in shapeData)) {
|
|
12749
12856
|
shapeGeometry = getGeometryByShape(shapeData, split);
|
|
12750
12857
|
}
|
|
12751
|
-
var _renderer_renderMode, _renderer_blending, _renderer_side, _renderer_alphaMask;
|
|
12752
12858
|
//-------------------------------------------------------------------------
|
|
12859
|
+
this.splits = splits || singleSplits;
|
|
12860
|
+
this.textureSheetAnimation = textureSheetAnimation;
|
|
12861
|
+
var _renderer_renderMode, _renderer_blending, _renderer_side;
|
|
12753
12862
|
this.renderer = {
|
|
12754
12863
|
renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.MESH,
|
|
12755
12864
|
blending: (_renderer_blending = renderer.blending) != null ? _renderer_blending : BlendingMode.ALPHA,
|
|
12756
12865
|
texture: renderer.texture ? this.engine.findObject(renderer.texture) : this.engine.emptyTexture,
|
|
12757
12866
|
occlusion: !!renderer.occlusion,
|
|
12758
|
-
transparentOcclusion: !!renderer.transparentOcclusion || maskMode === exports.MaskMode.MASK,
|
|
12867
|
+
transparentOcclusion: !!renderer.transparentOcclusion || this.maskManager.maskMode === exports.MaskMode.MASK,
|
|
12759
12868
|
side: (_renderer_side = renderer.side) != null ? _renderer_side : SideMode.DOUBLE,
|
|
12760
12869
|
mask: this.maskManager.getRefValue(),
|
|
12761
|
-
shape: shapeGeometry
|
|
12762
|
-
maskMode: maskMode,
|
|
12763
|
-
//@ts-expect-error TODO 新蒙版兼容老数据需要增加纹理透明度蒙版是否开启参数
|
|
12764
|
-
alphaMask: (_renderer_alphaMask = renderer.alphaMask) != null ? _renderer_alphaMask : false
|
|
12870
|
+
shape: shapeGeometry
|
|
12765
12871
|
};
|
|
12766
12872
|
this.configureMaterial(this.renderer);
|
|
12873
|
+
if (baseRenderComponentData.geometry) {
|
|
12874
|
+
this.geometry = this.engine.findObject(baseRenderComponentData.geometry);
|
|
12875
|
+
} else {
|
|
12876
|
+
this.geometry = this.defaultGeometry;
|
|
12877
|
+
this.configureDefaultGeometry(this.renderer);
|
|
12878
|
+
}
|
|
12767
12879
|
};
|
|
12880
|
+
_create_class(BaseRenderComponent, [
|
|
12881
|
+
{
|
|
12882
|
+
key: "color",
|
|
12883
|
+
get: /**
|
|
12884
|
+
* 获取当前图层的颜色
|
|
12885
|
+
* @since 2.5.0
|
|
12886
|
+
*/ function get() {
|
|
12887
|
+
return this._color;
|
|
12888
|
+
},
|
|
12889
|
+
set: /**
|
|
12890
|
+
* 设置当前图层的颜色
|
|
12891
|
+
* @since 2.5.0
|
|
12892
|
+
*/ function set(value) {
|
|
12893
|
+
this._color = value;
|
|
12894
|
+
this.material.setColor("_Color", this._color);
|
|
12895
|
+
}
|
|
12896
|
+
}
|
|
12897
|
+
]);
|
|
12768
12898
|
return BaseRenderComponent;
|
|
12769
12899
|
}(RendererComponent);
|
|
12770
12900
|
|
|
@@ -12779,37 +12909,8 @@ exports.ShapeComponent = /*#__PURE__*/ function(BaseRenderComponent) {
|
|
|
12779
12909
|
_this.graphicsPath = new GraphicsPath();
|
|
12780
12910
|
_this.vert = "\nprecision highp float;\n\nattribute vec3 aPos;//x y\n\nuniform mat4 effects_MatrixVP;\nuniform mat4 effects_MatrixInvV;\nuniform mat4 effects_ObjectToWorld;\n\nvoid main() {\n vec4 pos = vec4(aPos.xyz, 1.0);\n gl_Position = effects_MatrixVP * effects_ObjectToWorld * pos;\n}\n";
|
|
12781
12911
|
_this.frag = "\nprecision highp float;\n\nuniform vec4 _Color;\n\nvoid main() {\n vec4 color = _Color;\n color.rgb *= color.a;\n gl_FragColor = color;\n}\n";
|
|
12782
|
-
//
|
|
12912
|
+
// Add Geometry SubMesh
|
|
12783
12913
|
//-------------------------------------------------------------------------
|
|
12784
|
-
_this.geometry = Geometry.create(engine, {
|
|
12785
|
-
attributes: {
|
|
12786
|
-
aPos: {
|
|
12787
|
-
type: glContext.FLOAT,
|
|
12788
|
-
size: 3,
|
|
12789
|
-
data: new Float32Array([
|
|
12790
|
-
-0.5,
|
|
12791
|
-
0.5,
|
|
12792
|
-
0,
|
|
12793
|
-
-0.5,
|
|
12794
|
-
-0.5,
|
|
12795
|
-
0,
|
|
12796
|
-
0.5,
|
|
12797
|
-
0.5,
|
|
12798
|
-
0,
|
|
12799
|
-
0.5,
|
|
12800
|
-
-0.5,
|
|
12801
|
-
0
|
|
12802
|
-
])
|
|
12803
|
-
},
|
|
12804
|
-
aUV: {
|
|
12805
|
-
type: glContext.FLOAT,
|
|
12806
|
-
size: 2,
|
|
12807
|
-
data: new Float32Array()
|
|
12808
|
-
}
|
|
12809
|
-
},
|
|
12810
|
-
mode: glContext.TRIANGLES,
|
|
12811
|
-
drawCount: 4
|
|
12812
|
-
});
|
|
12813
12914
|
_this.geometry.subMeshes.push({
|
|
12814
12915
|
offset: 0,
|
|
12815
12916
|
indexCount: 0,
|
|
@@ -13109,17 +13210,15 @@ exports.ShapeComponent = /*#__PURE__*/ function(BaseRenderComponent) {
|
|
|
13109
13210
|
break;
|
|
13110
13211
|
}
|
|
13111
13212
|
}
|
|
13112
|
-
|
|
13113
|
-
|
|
13114
|
-
maskProps.ref = this.engine.findObject(maskProps.ref);
|
|
13213
|
+
if (data.mask) {
|
|
13214
|
+
this.maskManager.getMaskMode(data.mask);
|
|
13115
13215
|
}
|
|
13116
|
-
var maskMode = this.maskManager.getMaskMode(data);
|
|
13117
13216
|
var maskRef = this.maskManager.getRefValue();
|
|
13118
13217
|
this.material.stencilRef = maskRef !== undefined ? [
|
|
13119
13218
|
maskRef,
|
|
13120
13219
|
maskRef
|
|
13121
13220
|
] : undefined;
|
|
13122
|
-
setMaskMode(this.material, maskMode);
|
|
13221
|
+
setMaskMode(this.material, this.maskManager.maskMode);
|
|
13123
13222
|
};
|
|
13124
13223
|
_create_class(ShapeComponent, [
|
|
13125
13224
|
{
|
|
@@ -19594,11 +19693,7 @@ exports.ParticleSystem = /*#__PURE__*/ function(Component) {
|
|
|
19594
19693
|
var maskMode = exports.MaskMode.NONE;
|
|
19595
19694
|
var maskRef = 0;
|
|
19596
19695
|
if (data.mask) {
|
|
19597
|
-
|
|
19598
|
-
if (maskProps && maskProps.ref) {
|
|
19599
|
-
maskProps.ref = this.engine.findObject(maskProps.ref);
|
|
19600
|
-
}
|
|
19601
|
-
maskMode = this.maskManager.getMaskMode(data);
|
|
19696
|
+
maskMode = this.maskManager.getMaskMode(data.mask);
|
|
19602
19697
|
maskRef = this.maskManager.getRefValue();
|
|
19603
19698
|
}
|
|
19604
19699
|
return {
|
|
@@ -20139,7 +20234,7 @@ var RuntimeClip = /*#__PURE__*/ function() {
|
|
|
20139
20234
|
this.playable.play();
|
|
20140
20235
|
}
|
|
20141
20236
|
this.parentMixer.setClipWeight(this.playable, weight);
|
|
20142
|
-
var clipTime = clip.toLocalTime(localTime);
|
|
20237
|
+
var clipTime = parseFloat(clip.toLocalTime(localTime).toFixed(3));
|
|
20143
20238
|
this.playable.setTime(clipTime);
|
|
20144
20239
|
// 判断动画是否结束
|
|
20145
20240
|
if (ended) {
|
|
@@ -21328,12 +21423,11 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
21328
21423
|
* 前进合成到指定时间
|
|
21329
21424
|
* @param time - 相对0时刻的时间
|
|
21330
21425
|
*/ _proto.forwardTime = function forwardTime(time) {
|
|
21331
|
-
var deltaTime = time * 1000 - this.time * 1000;
|
|
21426
|
+
var deltaTime = time * 1000 - this.rootComposition.time * 1000;
|
|
21332
21427
|
var reverse = deltaTime < 0;
|
|
21333
21428
|
var step = 15;
|
|
21334
21429
|
var t = Math.abs(deltaTime);
|
|
21335
21430
|
var ss = reverse ? -step : step;
|
|
21336
|
-
// FIXME Update 中可能会修改合成时间,这边需要优化更新逻辑
|
|
21337
21431
|
for(t; t > step; t -= step){
|
|
21338
21432
|
this.update(ss);
|
|
21339
21433
|
}
|
|
@@ -21373,14 +21467,13 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
21373
21467
|
this.callAwake(this.rootItem);
|
|
21374
21468
|
this.rootItem.beginPlay();
|
|
21375
21469
|
}
|
|
21376
|
-
var
|
|
21377
|
-
this.
|
|
21378
|
-
var deltaTimeInMs = (this.time - previousCompositionTime) * 1000;
|
|
21470
|
+
var dt = parseFloat(this.getUpdateTime(deltaTime * this.speed).toFixed(0));
|
|
21471
|
+
this.updateRootComposition(dt / 1000);
|
|
21379
21472
|
this.updateVideo();
|
|
21380
21473
|
// 更新 model-tree-plugin
|
|
21381
|
-
this.updatePluginLoaders(
|
|
21382
|
-
this.sceneTicking.update.tick(
|
|
21383
|
-
this.sceneTicking.lateUpdate.tick(
|
|
21474
|
+
this.updatePluginLoaders(deltaTime);
|
|
21475
|
+
this.sceneTicking.update.tick(dt);
|
|
21476
|
+
this.sceneTicking.lateUpdate.tick(dt);
|
|
21384
21477
|
this.updateCamera();
|
|
21385
21478
|
this.prepareRender();
|
|
21386
21479
|
if (this.isEnded && !this.isEndCalled) {
|
|
@@ -21396,6 +21489,14 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
21396
21489
|
_proto.shouldDispose = function shouldDispose() {
|
|
21397
21490
|
return this.isEnded && this.rootItem.endBehavior === EndBehavior.destroy && !this.reusable;
|
|
21398
21491
|
};
|
|
21492
|
+
_proto.getUpdateTime = function getUpdateTime(t) {
|
|
21493
|
+
var startTimeInMs = this.startTime * 1000;
|
|
21494
|
+
var now = this.rootComposition.time * 1000;
|
|
21495
|
+
if (t < 0 && now + t < startTimeInMs) {
|
|
21496
|
+
return startTimeInMs - now;
|
|
21497
|
+
}
|
|
21498
|
+
return t;
|
|
21499
|
+
};
|
|
21399
21500
|
_proto.callAwake = function callAwake(item) {
|
|
21400
21501
|
for(var _iterator = _create_for_of_iterator_helper_loose(item.components), _step; !(_step = _iterator()).done;){
|
|
21401
21502
|
var component = _step.value;
|
|
@@ -21440,18 +21541,14 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
21440
21541
|
};
|
|
21441
21542
|
/**
|
|
21442
21543
|
* 更新主合成组件
|
|
21443
|
-
*/ _proto.
|
|
21544
|
+
*/ _proto.updateRootComposition = function updateRootComposition(deltaTime) {
|
|
21444
21545
|
if (this.rootComposition.state === PlayState.Paused || !this.rootComposition.isActiveAndEnabled) {
|
|
21445
21546
|
return;
|
|
21446
21547
|
}
|
|
21447
|
-
|
|
21448
|
-
var
|
|
21449
|
-
if (deltaTime < 0 && localTime < 0) {
|
|
21450
|
-
localTime = 0;
|
|
21451
|
-
}
|
|
21548
|
+
var localTime = parseFloat((this.time + deltaTime - this.rootItem.start).toFixed(3));
|
|
21549
|
+
var isEnded = false;
|
|
21452
21550
|
var duration = this.rootItem.duration;
|
|
21453
21551
|
var endBehavior = this.rootItem.endBehavior;
|
|
21454
|
-
var isEnded = false;
|
|
21455
21552
|
if (localTime - duration > 0.001) {
|
|
21456
21553
|
isEnded = true;
|
|
21457
21554
|
switch(endBehavior){
|
|
@@ -21476,7 +21573,7 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
21476
21573
|
}
|
|
21477
21574
|
}
|
|
21478
21575
|
}
|
|
21479
|
-
this.rootComposition.time = localTime
|
|
21576
|
+
this.rootComposition.time = localTime;
|
|
21480
21577
|
// end state changed, handle onEnd flags
|
|
21481
21578
|
if (this.isEnded !== isEnded) {
|
|
21482
21579
|
if (isEnded) {
|
|
@@ -22632,15 +22729,6 @@ var ColorPlayable = /*#__PURE__*/ function(Playable) {
|
|
|
22632
22729
|
return ColorPlayable;
|
|
22633
22730
|
}(Playable);
|
|
22634
22731
|
|
|
22635
|
-
var singleSplits = [
|
|
22636
|
-
[
|
|
22637
|
-
0,
|
|
22638
|
-
0,
|
|
22639
|
-
1,
|
|
22640
|
-
1,
|
|
22641
|
-
undefined
|
|
22642
|
-
]
|
|
22643
|
-
];
|
|
22644
22732
|
var seed$2 = 0;
|
|
22645
22733
|
exports.SpriteColorPlayableAsset = /*#__PURE__*/ function(PlayableAsset) {
|
|
22646
22734
|
_inherits(SpriteColorPlayableAsset, PlayableAsset);
|
|
@@ -22666,10 +22754,8 @@ exports.SpriteComponent = /*#__PURE__*/ function(BaseRenderComponent) {
|
|
|
22666
22754
|
function SpriteComponent(engine, props) {
|
|
22667
22755
|
var _this;
|
|
22668
22756
|
_this = BaseRenderComponent.call(this, engine) || this;
|
|
22669
|
-
_this.splits = singleSplits;
|
|
22670
22757
|
_this.frameAnimationLoop = false;
|
|
22671
22758
|
_this.name = "MSprite" + seed$2++;
|
|
22672
|
-
_this.geometry = _this.createGeometry();
|
|
22673
22759
|
if (props) {
|
|
22674
22760
|
_this.fromData(props);
|
|
22675
22761
|
}
|
|
@@ -22759,111 +22845,10 @@ exports.SpriteComponent = /*#__PURE__*/ function(BaseRenderComponent) {
|
|
|
22759
22845
|
source.video.load();
|
|
22760
22846
|
}
|
|
22761
22847
|
};
|
|
22762
|
-
_proto.getItemGeometryData = function getItemGeometryData(geometry) {
|
|
22763
|
-
var _this = this, splits = _this.splits, textureSheetAnimation = _this.textureSheetAnimation;
|
|
22764
|
-
var sx = 1, sy = 1;
|
|
22765
|
-
var renderer = this.renderer;
|
|
22766
|
-
if (renderer.shape) {
|
|
22767
|
-
var _renderer_shape = renderer.shape, _renderer_shape_index = _renderer_shape.index, index = _renderer_shape_index === void 0 ? [] : _renderer_shape_index, _renderer_shape_aPoint = _renderer_shape.aPoint, aPoint = _renderer_shape_aPoint === void 0 ? [] : _renderer_shape_aPoint;
|
|
22768
|
-
var point = new Float32Array(aPoint);
|
|
22769
|
-
var position = [];
|
|
22770
|
-
var atlasOffset = [];
|
|
22771
|
-
for(var i = 0; i < point.length; i += 6){
|
|
22772
|
-
point[i] *= sx;
|
|
22773
|
-
point[i + 1] *= sy;
|
|
22774
|
-
atlasOffset.push(aPoint[i + 2], aPoint[i + 3]);
|
|
22775
|
-
position.push(point[i], point[i + 1], 0.0);
|
|
22776
|
-
}
|
|
22777
|
-
geometry.setAttributeData("aPos", new Float32Array(position));
|
|
22778
|
-
return {
|
|
22779
|
-
index: index,
|
|
22780
|
-
atlasOffset: atlasOffset
|
|
22781
|
-
};
|
|
22782
|
-
}
|
|
22783
|
-
var originData = [
|
|
22784
|
-
-.5,
|
|
22785
|
-
.5,
|
|
22786
|
-
-.5,
|
|
22787
|
-
-.5,
|
|
22788
|
-
.5,
|
|
22789
|
-
.5,
|
|
22790
|
-
.5,
|
|
22791
|
-
-.5
|
|
22792
|
-
];
|
|
22793
|
-
var atlasOffset1 = [];
|
|
22794
|
-
var index1 = [];
|
|
22795
|
-
var col = 2;
|
|
22796
|
-
var row = 2;
|
|
22797
|
-
if (splits.length === 1) {
|
|
22798
|
-
col = 1;
|
|
22799
|
-
row = 1;
|
|
22800
|
-
}
|
|
22801
|
-
var position1 = [];
|
|
22802
|
-
for(var x = 0; x < col; x++){
|
|
22803
|
-
for(var y = 0; y < row; y++){
|
|
22804
|
-
var base = (y * 2 + x) * 4;
|
|
22805
|
-
// @ts-expect-error
|
|
22806
|
-
var split = textureSheetAnimation ? [
|
|
22807
|
-
0,
|
|
22808
|
-
0,
|
|
22809
|
-
1,
|
|
22810
|
-
1,
|
|
22811
|
-
splits[0][4]
|
|
22812
|
-
] : splits[y * 2 + x];
|
|
22813
|
-
var texOffset = split[4] ? [
|
|
22814
|
-
0,
|
|
22815
|
-
0,
|
|
22816
|
-
1,
|
|
22817
|
-
0,
|
|
22818
|
-
0,
|
|
22819
|
-
1,
|
|
22820
|
-
1,
|
|
22821
|
-
1
|
|
22822
|
-
] : [
|
|
22823
|
-
0,
|
|
22824
|
-
1,
|
|
22825
|
-
0,
|
|
22826
|
-
0,
|
|
22827
|
-
1,
|
|
22828
|
-
1,
|
|
22829
|
-
1,
|
|
22830
|
-
0
|
|
22831
|
-
];
|
|
22832
|
-
var dw = ((x + x + 1) / col - 1) / 2;
|
|
22833
|
-
var dh = ((y + y + 1) / row - 1) / 2;
|
|
22834
|
-
var tox = split[0];
|
|
22835
|
-
var toy = split[1];
|
|
22836
|
-
var tsx = split[4] ? split[3] : split[2];
|
|
22837
|
-
var tsy = split[4] ? split[2] : split[3];
|
|
22838
|
-
var origin = [
|
|
22839
|
-
originData[0] / col + dw,
|
|
22840
|
-
originData[1] / row + dh,
|
|
22841
|
-
originData[2] / col + dw,
|
|
22842
|
-
originData[3] / row + dh,
|
|
22843
|
-
originData[4] / col + dw,
|
|
22844
|
-
originData[5] / row + dh,
|
|
22845
|
-
originData[6] / col + dw,
|
|
22846
|
-
originData[7] / row + dh
|
|
22847
|
-
];
|
|
22848
|
-
atlasOffset1.push(texOffset[0] * tsx + tox, texOffset[1] * tsy + toy, texOffset[2] * tsx + tox, texOffset[3] * tsy + toy, texOffset[4] * tsx + tox, texOffset[5] * tsy + toy, texOffset[6] * tsx + tox, texOffset[7] * tsy + toy);
|
|
22849
|
-
position1.push(origin[0] * sx, origin[1] * sy, 0.0, origin[2] * sx, origin[3] * sy, 0.0, origin[4] * sx, origin[5] * sy, 0.0, origin[6] * sx, origin[7] * sy, 0.0);
|
|
22850
|
-
index1.push(base, 1 + base, 2 + base, 2 + base, 1 + base, 3 + base);
|
|
22851
|
-
}
|
|
22852
|
-
}
|
|
22853
|
-
geometry.setAttributeData("aPos", new Float32Array(position1));
|
|
22854
|
-
return {
|
|
22855
|
-
index: index1,
|
|
22856
|
-
atlasOffset: atlasOffset1
|
|
22857
|
-
};
|
|
22858
|
-
};
|
|
22859
22848
|
_proto.fromData = function fromData(data) {
|
|
22860
22849
|
BaseRenderComponent.prototype.fromData.call(this, data);
|
|
22861
22850
|
var interaction = data.interaction, options = data.options;
|
|
22862
22851
|
this.interaction = interaction;
|
|
22863
|
-
this.splits = data.splits || singleSplits;
|
|
22864
|
-
this.textureSheetAnimation = data.textureSheetAnimation;
|
|
22865
|
-
var geometry = this.createGeometry();
|
|
22866
|
-
this.geometry = geometry;
|
|
22867
22852
|
var startColor = options.startColor || [
|
|
22868
22853
|
1,
|
|
22869
22854
|
1,
|
|
@@ -26142,7 +26127,6 @@ exports.TextComponent = /*#__PURE__*/ function(BaseRenderComponent) {
|
|
|
26142
26127
|
_this.SCALE_FACTOR = 0.1;
|
|
26143
26128
|
_this.ALPHA_FIX_VALUE = 1 / 255;
|
|
26144
26129
|
_this.name = "MText" + seed$1++;
|
|
26145
|
-
_this.geometry = _this.createGeometry();
|
|
26146
26130
|
if (props) {
|
|
26147
26131
|
_this.fromData(props);
|
|
26148
26132
|
}
|
|
@@ -27023,11 +27007,6 @@ function colorToArr(hex, normalized) {
|
|
|
27023
27007
|
parseInt(m[2], 16),
|
|
27024
27008
|
parseInt(m[3], 16),
|
|
27025
27009
|
255
|
|
27026
|
-
] || [
|
|
27027
|
-
0,
|
|
27028
|
-
0,
|
|
27029
|
-
0,
|
|
27030
|
-
255
|
|
27031
27010
|
];
|
|
27032
27011
|
}
|
|
27033
27012
|
} else if (_instanceof1(hex, Array)) {
|
|
@@ -27567,13 +27546,13 @@ function processMask(renderContent) {
|
|
|
27567
27546
|
}
|
|
27568
27547
|
if (maskMode === exports.MaskMode.MASK) {
|
|
27569
27548
|
renderContent.mask = {
|
|
27570
|
-
|
|
27549
|
+
isMask: true
|
|
27571
27550
|
};
|
|
27572
27551
|
currentMaskComponent = renderContent.id;
|
|
27573
27552
|
} else if (maskMode === ObscuredMode.OBSCURED || maskMode === ObscuredMode.REVERSE_OBSCURED) {
|
|
27574
27553
|
renderContent.mask = {
|
|
27575
|
-
|
|
27576
|
-
|
|
27554
|
+
inverted: maskMode === ObscuredMode.REVERSE_OBSCURED ? true : false,
|
|
27555
|
+
reference: {
|
|
27577
27556
|
"id": currentMaskComponent
|
|
27578
27557
|
}
|
|
27579
27558
|
};
|
|
@@ -28397,6 +28376,7 @@ function getStandardSpriteContent(sprite, transform) {
|
|
|
28397
28376
|
return ret;
|
|
28398
28377
|
}
|
|
28399
28378
|
|
|
28379
|
+
var version$1 = "2.5.0-alpha.1";
|
|
28400
28380
|
var v0 = /^(\d+)\.(\d+)\.(\d+)(-(\w+)\.\d+)?$/;
|
|
28401
28381
|
var standardVersion = /^(\d+)\.(\d+)$/;
|
|
28402
28382
|
var reverseParticle = false;
|
|
@@ -28404,6 +28384,11 @@ function getStandardJSON(json) {
|
|
|
28404
28384
|
if (!json || typeof json !== "object") {
|
|
28405
28385
|
throw new Error("Invalid input: Expected a JSON object.");
|
|
28406
28386
|
}
|
|
28387
|
+
// 如果 JSON 中的 runtime 版本高于当前运行时版本,则发出警告
|
|
28388
|
+
if (checkRuntimeVersion(json)) {
|
|
28389
|
+
var _json_playerVersion;
|
|
28390
|
+
console.warn("The JSON need higher than " + ((_json_playerVersion = json.playerVersion) == null ? void 0 : _json_playerVersion.web) + " runtime version(current: " + version$1 + "). Some features may not work as expected.");
|
|
28391
|
+
}
|
|
28407
28392
|
// 修正老版本数据中,meshItem 以及 lightItem 结束行为错误问题
|
|
28408
28393
|
version22Migration(json);
|
|
28409
28394
|
if (v0.test(json.version)) {
|
|
@@ -28719,6 +28704,21 @@ function getStandardItem(item, opt) {
|
|
|
28719
28704
|
return {};
|
|
28720
28705
|
}
|
|
28721
28706
|
}
|
|
28707
|
+
/**
|
|
28708
|
+
* 检查 json.playerVersion.web 的版本号是否低于当前 runtime 的版本
|
|
28709
|
+
*/ function checkRuntimeVersion(json) {
|
|
28710
|
+
var _ref = json.playerVersion || {}, _ref_web = _ref.web, web = _ref_web === void 0 ? "" : _ref_web;
|
|
28711
|
+
if (web) {
|
|
28712
|
+
var _v0_exec;
|
|
28713
|
+
var jsonVersionMatch = (_v0_exec = v0.exec(web)) != null ? _v0_exec : [];
|
|
28714
|
+
var _v0_exec1;
|
|
28715
|
+
var runtimeVersionMatch = (_v0_exec1 = v0.exec(version$1)) != null ? _v0_exec1 : [];
|
|
28716
|
+
var major = jsonVersionMatch[1], minor = jsonVersionMatch[2];
|
|
28717
|
+
var currentMajor = runtimeVersionMatch[1], currentMinor = runtimeVersionMatch[2];
|
|
28718
|
+
return Number(currentMajor) < Number(major) || Number(currentMajor) === Number(major) && Number(currentMinor) < Number(minor);
|
|
28719
|
+
}
|
|
28720
|
+
return false;
|
|
28721
|
+
}
|
|
28722
28722
|
|
|
28723
28723
|
var _obj;
|
|
28724
28724
|
/**
|
|
@@ -31626,7 +31626,7 @@ registerPlugin("sprite", SpriteLoader, exports.VFXItem);
|
|
|
31626
31626
|
registerPlugin("particle", ParticleLoader, exports.VFXItem);
|
|
31627
31627
|
registerPlugin("cal", CalculateLoader, exports.VFXItem);
|
|
31628
31628
|
registerPlugin("interact", InteractLoader, exports.VFXItem);
|
|
31629
|
-
var version = "2.
|
|
31629
|
+
var version = "2.5.0-alpha.1";
|
|
31630
31630
|
logger.info("Core version: " + version + ".");
|
|
31631
31631
|
|
|
31632
31632
|
exports.AbstractPlugin = AbstractPlugin;
|
|
@@ -31654,6 +31654,7 @@ exports.Composition = Composition;
|
|
|
31654
31654
|
exports.DEFAULT_FONTS = DEFAULT_FONTS;
|
|
31655
31655
|
exports.DEFAULT_FPS = DEFAULT_FPS;
|
|
31656
31656
|
exports.Database = Database;
|
|
31657
|
+
exports.Deferred = Deferred;
|
|
31657
31658
|
exports.Downloader = Downloader;
|
|
31658
31659
|
exports.EFFECTS_COPY_MESH_NAME = EFFECTS_COPY_MESH_NAME;
|
|
31659
31660
|
exports.EVENT_TYPE_CLICK = EVENT_TYPE_CLICK;
|