@galacean/effects-core 2.1.2 → 2.1.3-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/index.js +22 -26
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +22 -26
- package/dist/index.mjs.map +1 -1
- package/dist/plugins/timeline/playable-assets/timeline-asset.d.ts +0 -1
- 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: v2.1.
|
|
6
|
+
* Version: v2.1.3-alpha.1
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
'use strict';
|
|
@@ -10143,7 +10143,7 @@ var itemFrameFrag = "#version 100\nprecision highp float;vec4 blendColor(vec4 co
|
|
|
10143
10143
|
|
|
10144
10144
|
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.;}";
|
|
10145
10145
|
|
|
10146
|
-
var itemVert = "precision highp float;attribute vec2 atlasOffset;attribute vec3 aPos;varying vec2 vTexCoord;varying vec3 vParams;varying vec4 vColor;uniform vec2 _Size;uniform vec4 _Color;uniform vec4 _TexParams;uniform vec4 _TexOffset;uniform mat4 effects_MatrixVP;uniform mat4
|
|
10146
|
+
var itemVert = "precision highp float;attribute vec2 atlasOffset;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(atlasOffset.xy*_TexOffset.zw+_TexOffset.xy);vColor=_Color;vParams=vec3(0.0,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}";
|
|
10147
10147
|
|
|
10148
10148
|
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.);vec4 texColor=texture2D(_MainTex,vTexCoord.xy);color=blendColor(texColor,vColor,floor(0.5+vParams.y));if(vParams.z==0.&&color.a<0.04){discard;}color.a=clamp(color.a,0.0,1.0);gl_FragColor=color;}";
|
|
10149
10149
|
|
|
@@ -13218,7 +13218,7 @@ var ColorCurve = /*#__PURE__*/ function(ValueGetter) {
|
|
|
13218
13218
|
}
|
|
13219
13219
|
};
|
|
13220
13220
|
_this.renderer = {
|
|
13221
|
-
renderMode: RenderMode.
|
|
13221
|
+
renderMode: RenderMode.MESH,
|
|
13222
13222
|
blending: BlendingMode.ALPHA,
|
|
13223
13223
|
texture: _this.engine.emptyTexture,
|
|
13224
13224
|
occlusion: false,
|
|
@@ -13292,6 +13292,9 @@ var ColorCurve = /*#__PURE__*/ function(ValueGetter) {
|
|
|
13292
13292
|
renderer.setGlobalMatrix("effects_ObjectToWorld", this.transform.getWorldMatrix());
|
|
13293
13293
|
}
|
|
13294
13294
|
this.material.setVector2("_Size", this.transform.size);
|
|
13295
|
+
if (this.renderer.renderMode === RenderMode.BILLBOARD || this.renderer.renderMode === RenderMode.VERTICAL_BILLBOARD || this.renderer.renderMode === RenderMode.HORIZONTAL_BILLBOARD) {
|
|
13296
|
+
this.material.setVector3("_Scale", this.transform.scale);
|
|
13297
|
+
}
|
|
13295
13298
|
renderer.drawGeometry(geo, material);
|
|
13296
13299
|
};
|
|
13297
13300
|
_proto.onStart = function onStart() {
|
|
@@ -18808,7 +18811,7 @@ exports.SpriteComponent = /*#__PURE__*/ function(BaseRenderComponent) {
|
|
|
18808
18811
|
this.interaction = interaction;
|
|
18809
18812
|
var _renderer_renderMode, _renderer_blending, _renderer_texture, _renderer_side, _renderer_mask, _renderer_maskMode;
|
|
18810
18813
|
this.renderer = {
|
|
18811
|
-
renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.
|
|
18814
|
+
renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.MESH,
|
|
18812
18815
|
blending: (_renderer_blending = renderer.blending) != null ? _renderer_blending : BlendingMode.ALPHA,
|
|
18813
18816
|
texture: (_renderer_texture = renderer.texture) != null ? _renderer_texture : this.engine.emptyTexture,
|
|
18814
18817
|
occlusion: !!renderer.occlusion,
|
|
@@ -23902,6 +23905,9 @@ var SerializationHelper = /*#__PURE__*/ function() {
|
|
|
23902
23905
|
_proto.onUpdate = function onUpdate(dt) {
|
|
23903
23906
|
var time = this.time;
|
|
23904
23907
|
this.timelinePlayable.setTime(time);
|
|
23908
|
+
// The properties of the object may change dynamically,
|
|
23909
|
+
// so reset the track binding to avoid invalidation of the previously obtained binding object.
|
|
23910
|
+
this.resolveBindings();
|
|
23905
23911
|
this.graph.evaluate(dt);
|
|
23906
23912
|
};
|
|
23907
23913
|
_proto.createContent = function createContent() {
|
|
@@ -24543,8 +24549,6 @@ var TimelinePlayable = /*#__PURE__*/ function(Playable) {
|
|
|
24543
24549
|
};
|
|
24544
24550
|
_proto.evaluate = function evaluate() {
|
|
24545
24551
|
var time = this.getTime();
|
|
24546
|
-
// update all tracks binding
|
|
24547
|
-
this.updateTrackAnimatedObject(this.masterTrackInstances);
|
|
24548
24552
|
// TODO search active clips
|
|
24549
24553
|
for(var _iterator = _create_for_of_iterator_helper_loose(this.clips), _step; !(_step = _iterator()).done;){
|
|
24550
24554
|
var clip = _step.value;
|
|
@@ -24582,17 +24586,6 @@ var TimelinePlayable = /*#__PURE__*/ function(Playable) {
|
|
|
24582
24586
|
}
|
|
24583
24587
|
}
|
|
24584
24588
|
};
|
|
24585
|
-
_proto.updateTrackAnimatedObject = function updateTrackAnimatedObject(trackInstances) {
|
|
24586
|
-
for(var _iterator = _create_for_of_iterator_helper_loose(trackInstances), _step; !(_step = _iterator()).done;){
|
|
24587
|
-
var trackInstance = _step.value;
|
|
24588
|
-
var trackAsset = trackInstance.trackAsset;
|
|
24589
|
-
// update track binding use custom method
|
|
24590
|
-
trackAsset.updateAnimatedObject();
|
|
24591
|
-
trackInstance.output.setUserData(trackAsset.boundObject);
|
|
24592
|
-
// update children tracks
|
|
24593
|
-
this.updateTrackAnimatedObject(trackInstance.children);
|
|
24594
|
-
}
|
|
24595
|
-
};
|
|
24596
24589
|
return TimelinePlayable;
|
|
24597
24590
|
}(Playable);
|
|
24598
24591
|
var TrackSortWrapper = function TrackSortWrapper(track, originalIndex) {
|
|
@@ -24908,7 +24901,7 @@ exports.TextComponent = /*#__PURE__*/ function(BaseRenderComponent) {
|
|
|
24908
24901
|
this.interaction = interaction;
|
|
24909
24902
|
var _renderer_renderMode, _renderer_blending, _renderer_texture, _renderer_side, _renderer_mask, _renderer_maskMode;
|
|
24910
24903
|
this.renderer = {
|
|
24911
|
-
renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.
|
|
24904
|
+
renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.MESH,
|
|
24912
24905
|
blending: (_renderer_blending = renderer.blending) != null ? _renderer_blending : BlendingMode.ALPHA,
|
|
24913
24906
|
texture: (_renderer_texture = renderer.texture) != null ? _renderer_texture : this.engine.emptyTexture,
|
|
24914
24907
|
occlusion: !!renderer.occlusion,
|
|
@@ -27676,7 +27669,7 @@ var seed = 1;
|
|
|
27676
27669
|
_this_options = _this.options, useCompressedTexture = _this_options.useCompressedTexture, variables = _this_options.variables;
|
|
27677
27670
|
baseUrl = _this.baseUrl;
|
|
27678
27671
|
jobs = images.map(/*#__PURE__*/ _async_to_generator(function(img, idx) {
|
|
27679
|
-
var png, webp, avif, imageURL, webpURL, avifURL, template, background, url, isVideo, loadFn, resultImage, e, compressed, src, bufferURL, _ref, url1, image, _tmp;
|
|
27672
|
+
var png, webp, avif, imageURL, webpURL, avifURL, id, template, background, url, isVideo, loadFn, resultImage, e, compressed, src, bufferURL, _ref, url1, image, _tmp;
|
|
27680
27673
|
return __generator(this, function(_state) {
|
|
27681
27674
|
switch(_state.label){
|
|
27682
27675
|
case 0:
|
|
@@ -27687,6 +27680,7 @@ var seed = 1;
|
|
|
27687
27680
|
webpURL = webp && new URL(webp, baseUrl).href;
|
|
27688
27681
|
// eslint-disable-next-line compat/compat
|
|
27689
27682
|
avifURL = avif && new URL(avif, baseUrl).href;
|
|
27683
|
+
id = img.id;
|
|
27690
27684
|
if (!("template" in img)) return [
|
|
27691
27685
|
3,
|
|
27692
27686
|
8
|
|
@@ -27721,7 +27715,7 @@ var seed = 1;
|
|
|
27721
27715
|
3,
|
|
27722
27716
|
3
|
|
27723
27717
|
];
|
|
27724
|
-
_this.sourceFrom[
|
|
27718
|
+
_this.sourceFrom[id] = {
|
|
27725
27719
|
url: resultImage.src,
|
|
27726
27720
|
type: exports.TextureSourceType.video
|
|
27727
27721
|
};
|
|
@@ -27734,7 +27728,7 @@ var seed = 1;
|
|
|
27734
27728
|
if (background && Array.isArray(url) && variables) {
|
|
27735
27729
|
variables[background.name] = resultImage.src;
|
|
27736
27730
|
}
|
|
27737
|
-
_this.sourceFrom[
|
|
27731
|
+
_this.sourceFrom[id] = {
|
|
27738
27732
|
url: resultImage.src,
|
|
27739
27733
|
type: exports.TextureSourceType.image
|
|
27740
27734
|
};
|
|
@@ -27771,7 +27765,7 @@ var seed = 1;
|
|
|
27771
27765
|
}
|
|
27772
27766
|
if (src) {
|
|
27773
27767
|
bufferURL = new URL(src, baseUrl).href;
|
|
27774
|
-
_this.sourceFrom[
|
|
27768
|
+
_this.sourceFrom[id] = {
|
|
27775
27769
|
url: bufferURL,
|
|
27776
27770
|
type: exports.TextureSourceType.compressed
|
|
27777
27771
|
};
|
|
@@ -27812,7 +27806,7 @@ var seed = 1;
|
|
|
27812
27806
|
_state.label = 13;
|
|
27813
27807
|
case 13:
|
|
27814
27808
|
_ref = _tmp, url1 = _ref.url, image = _ref.image;
|
|
27815
|
-
_this.sourceFrom[
|
|
27809
|
+
_this.sourceFrom[id] = {
|
|
27816
27810
|
url: url1,
|
|
27817
27811
|
type: exports.TextureSourceType.image
|
|
27818
27812
|
};
|
|
@@ -27904,7 +27898,7 @@ var seed = 1;
|
|
|
27904
27898
|
};
|
|
27905
27899
|
});
|
|
27906
27900
|
jobs = textures.map(/*#__PURE__*/ _async_to_generator(function(textureOptions, idx) {
|
|
27907
|
-
var e, source, id, image, texture;
|
|
27901
|
+
var e, source, id, image, imageId, texture;
|
|
27908
27902
|
return __generator(this, function(_state) {
|
|
27909
27903
|
switch(_state.label){
|
|
27910
27904
|
case 0:
|
|
@@ -27940,11 +27934,13 @@ var seed = 1;
|
|
|
27940
27934
|
throw new Error("Load texture " + idx + " fails, error message: " + e + ".");
|
|
27941
27935
|
case 4:
|
|
27942
27936
|
source = textureOptions.source, id = textureOptions.id;
|
|
27937
|
+
imageId = "";
|
|
27943
27938
|
if (!isObject(source)) return [
|
|
27944
27939
|
3,
|
|
27945
27940
|
5
|
|
27946
27941
|
];
|
|
27947
27942
|
image = _this.assets[source.id];
|
|
27943
|
+
imageId = source.id;
|
|
27948
27944
|
return [
|
|
27949
27945
|
3,
|
|
27950
27946
|
7
|
|
@@ -27963,7 +27959,7 @@ var seed = 1;
|
|
|
27963
27959
|
_state.label = 7;
|
|
27964
27960
|
case 7:
|
|
27965
27961
|
if (image) {
|
|
27966
|
-
texture = createTextureOptionsBySource(image, _this.sourceFrom[
|
|
27962
|
+
texture = createTextureOptionsBySource(image, _this.sourceFrom[imageId], id);
|
|
27967
27963
|
return [
|
|
27968
27964
|
2,
|
|
27969
27965
|
texture.sourceType === exports.TextureSourceType.compressed ? texture : _extends({}, texture, textureOptions)
|
|
@@ -31378,7 +31374,7 @@ registerPlugin("sprite", SpriteLoader, exports.VFXItem, true);
|
|
|
31378
31374
|
registerPlugin("particle", ParticleLoader, exports.VFXItem, true);
|
|
31379
31375
|
registerPlugin("cal", CalculateLoader, exports.VFXItem, true);
|
|
31380
31376
|
registerPlugin("interact", InteractLoader, exports.VFXItem, true);
|
|
31381
|
-
var version = "2.1.
|
|
31377
|
+
var version = "2.1.3-alpha.1";
|
|
31382
31378
|
logger.info("Core version: " + version + ".");
|
|
31383
31379
|
|
|
31384
31380
|
exports.AbstractPlugin = AbstractPlugin;
|