@galacean/effects-threejs 2.1.2 → 2.1.3-alpha.0
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 +23 -27
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +2 -2
- package/dist/index.min.js.map +1 -1
- package/dist/index.mjs +23 -27
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Description: Galacean Effects runtime threejs plugin for the web
|
|
4
4
|
* Author: Ant Group CO., Ltd.
|
|
5
5
|
* Contributors: 燃然,飂兮,十弦,云垣,茂安,意绮
|
|
6
|
-
* Version: v2.1.
|
|
6
|
+
* Version: v2.1.3-alpha.0
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
'use strict';
|
|
@@ -10165,7 +10165,7 @@ var itemFrameFrag = "#version 100\nprecision highp float;vec4 blendColor(vec4 co
|
|
|
10165
10165
|
|
|
10166
10166
|
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.;}";
|
|
10167
10167
|
|
|
10168
|
-
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
|
|
10168
|
+
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}";
|
|
10169
10169
|
|
|
10170
10170
|
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;}";
|
|
10171
10171
|
|
|
@@ -13240,7 +13240,7 @@ var ColorCurve = /*#__PURE__*/ function(ValueGetter) {
|
|
|
13240
13240
|
}
|
|
13241
13241
|
};
|
|
13242
13242
|
_this.renderer = {
|
|
13243
|
-
renderMode: RenderMode.
|
|
13243
|
+
renderMode: RenderMode.MESH,
|
|
13244
13244
|
blending: BlendingMode.ALPHA,
|
|
13245
13245
|
texture: _this.engine.emptyTexture,
|
|
13246
13246
|
occlusion: false,
|
|
@@ -13314,6 +13314,9 @@ var ColorCurve = /*#__PURE__*/ function(ValueGetter) {
|
|
|
13314
13314
|
renderer.setGlobalMatrix("effects_ObjectToWorld", this.transform.getWorldMatrix());
|
|
13315
13315
|
}
|
|
13316
13316
|
this.material.setVector2("_Size", this.transform.size);
|
|
13317
|
+
if (this.renderer.renderMode === RenderMode.BILLBOARD || this.renderer.renderMode === RenderMode.VERTICAL_BILLBOARD || this.renderer.renderMode === RenderMode.HORIZONTAL_BILLBOARD) {
|
|
13318
|
+
this.material.setVector3("_Scale", this.transform.scale);
|
|
13319
|
+
}
|
|
13317
13320
|
renderer.drawGeometry(geo, material);
|
|
13318
13321
|
};
|
|
13319
13322
|
_proto.onStart = function onStart() {
|
|
@@ -18830,7 +18833,7 @@ exports.SpriteComponent = /*#__PURE__*/ function(BaseRenderComponent) {
|
|
|
18830
18833
|
this.interaction = interaction;
|
|
18831
18834
|
var _renderer_renderMode, _renderer_blending, _renderer_texture, _renderer_side, _renderer_mask, _renderer_maskMode;
|
|
18832
18835
|
this.renderer = {
|
|
18833
|
-
renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.
|
|
18836
|
+
renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.MESH,
|
|
18834
18837
|
blending: (_renderer_blending = renderer.blending) != null ? _renderer_blending : BlendingMode.ALPHA,
|
|
18835
18838
|
texture: (_renderer_texture = renderer.texture) != null ? _renderer_texture : this.engine.emptyTexture,
|
|
18836
18839
|
occlusion: !!renderer.occlusion,
|
|
@@ -23924,6 +23927,9 @@ var SerializationHelper = /*#__PURE__*/ function() {
|
|
|
23924
23927
|
_proto.onUpdate = function onUpdate(dt) {
|
|
23925
23928
|
var time = this.time;
|
|
23926
23929
|
this.timelinePlayable.setTime(time);
|
|
23930
|
+
// The properties of the object may change dynamically,
|
|
23931
|
+
// so reset the track binding to avoid invalidation of the previously obtained binding object.
|
|
23932
|
+
this.resolveBindings();
|
|
23927
23933
|
this.graph.evaluate(dt);
|
|
23928
23934
|
};
|
|
23929
23935
|
_proto.createContent = function createContent() {
|
|
@@ -24565,8 +24571,6 @@ var TimelinePlayable = /*#__PURE__*/ function(Playable) {
|
|
|
24565
24571
|
};
|
|
24566
24572
|
_proto.evaluate = function evaluate() {
|
|
24567
24573
|
var time = this.getTime();
|
|
24568
|
-
// update all tracks binding
|
|
24569
|
-
this.updateTrackAnimatedObject(this.masterTrackInstances);
|
|
24570
24574
|
// TODO search active clips
|
|
24571
24575
|
for(var _iterator = _create_for_of_iterator_helper_loose(this.clips), _step; !(_step = _iterator()).done;){
|
|
24572
24576
|
var clip = _step.value;
|
|
@@ -24604,17 +24608,6 @@ var TimelinePlayable = /*#__PURE__*/ function(Playable) {
|
|
|
24604
24608
|
}
|
|
24605
24609
|
}
|
|
24606
24610
|
};
|
|
24607
|
-
_proto.updateTrackAnimatedObject = function updateTrackAnimatedObject(trackInstances) {
|
|
24608
|
-
for(var _iterator = _create_for_of_iterator_helper_loose(trackInstances), _step; !(_step = _iterator()).done;){
|
|
24609
|
-
var trackInstance = _step.value;
|
|
24610
|
-
var trackAsset = trackInstance.trackAsset;
|
|
24611
|
-
// update track binding use custom method
|
|
24612
|
-
trackAsset.updateAnimatedObject();
|
|
24613
|
-
trackInstance.output.setUserData(trackAsset.boundObject);
|
|
24614
|
-
// update children tracks
|
|
24615
|
-
this.updateTrackAnimatedObject(trackInstance.children);
|
|
24616
|
-
}
|
|
24617
|
-
};
|
|
24618
24611
|
return TimelinePlayable;
|
|
24619
24612
|
}(Playable);
|
|
24620
24613
|
var TrackSortWrapper = function TrackSortWrapper(track, originalIndex) {
|
|
@@ -24930,7 +24923,7 @@ exports.TextComponent = /*#__PURE__*/ function(BaseRenderComponent) {
|
|
|
24930
24923
|
this.interaction = interaction;
|
|
24931
24924
|
var _renderer_renderMode, _renderer_blending, _renderer_texture, _renderer_side, _renderer_mask, _renderer_maskMode;
|
|
24932
24925
|
this.renderer = {
|
|
24933
|
-
renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.
|
|
24926
|
+
renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.MESH,
|
|
24934
24927
|
blending: (_renderer_blending = renderer.blending) != null ? _renderer_blending : BlendingMode.ALPHA,
|
|
24935
24928
|
texture: (_renderer_texture = renderer.texture) != null ? _renderer_texture : this.engine.emptyTexture,
|
|
24936
24929
|
occlusion: !!renderer.occlusion,
|
|
@@ -27698,7 +27691,7 @@ var seed$1 = 1;
|
|
|
27698
27691
|
_this_options = _this.options, useCompressedTexture = _this_options.useCompressedTexture, variables = _this_options.variables;
|
|
27699
27692
|
baseUrl = _this.baseUrl;
|
|
27700
27693
|
jobs = images.map(/*#__PURE__*/ _async_to_generator(function(img, idx) {
|
|
27701
|
-
var png, webp, avif, imageURL, webpURL, avifURL, template, background, url, isVideo, loadFn, resultImage, e, compressed, src, bufferURL, _ref, url1, image, _tmp;
|
|
27694
|
+
var png, webp, avif, imageURL, webpURL, avifURL, id, template, background, url, isVideo, loadFn, resultImage, e, compressed, src, bufferURL, _ref, url1, image, _tmp;
|
|
27702
27695
|
return __generator(this, function(_state) {
|
|
27703
27696
|
switch(_state.label){
|
|
27704
27697
|
case 0:
|
|
@@ -27709,6 +27702,7 @@ var seed$1 = 1;
|
|
|
27709
27702
|
webpURL = webp && new URL(webp, baseUrl).href;
|
|
27710
27703
|
// eslint-disable-next-line compat/compat
|
|
27711
27704
|
avifURL = avif && new URL(avif, baseUrl).href;
|
|
27705
|
+
id = img.id;
|
|
27712
27706
|
if (!("template" in img)) return [
|
|
27713
27707
|
3,
|
|
27714
27708
|
8
|
|
@@ -27743,7 +27737,7 @@ var seed$1 = 1;
|
|
|
27743
27737
|
3,
|
|
27744
27738
|
3
|
|
27745
27739
|
];
|
|
27746
|
-
_this.sourceFrom[
|
|
27740
|
+
_this.sourceFrom[id] = {
|
|
27747
27741
|
url: resultImage.src,
|
|
27748
27742
|
type: exports.TextureSourceType.video
|
|
27749
27743
|
};
|
|
@@ -27756,7 +27750,7 @@ var seed$1 = 1;
|
|
|
27756
27750
|
if (background && Array.isArray(url) && variables) {
|
|
27757
27751
|
variables[background.name] = resultImage.src;
|
|
27758
27752
|
}
|
|
27759
|
-
_this.sourceFrom[
|
|
27753
|
+
_this.sourceFrom[id] = {
|
|
27760
27754
|
url: resultImage.src,
|
|
27761
27755
|
type: exports.TextureSourceType.image
|
|
27762
27756
|
};
|
|
@@ -27793,7 +27787,7 @@ var seed$1 = 1;
|
|
|
27793
27787
|
}
|
|
27794
27788
|
if (src) {
|
|
27795
27789
|
bufferURL = new URL(src, baseUrl).href;
|
|
27796
|
-
_this.sourceFrom[
|
|
27790
|
+
_this.sourceFrom[id] = {
|
|
27797
27791
|
url: bufferURL,
|
|
27798
27792
|
type: exports.TextureSourceType.compressed
|
|
27799
27793
|
};
|
|
@@ -27834,7 +27828,7 @@ var seed$1 = 1;
|
|
|
27834
27828
|
_state.label = 13;
|
|
27835
27829
|
case 13:
|
|
27836
27830
|
_ref = _tmp, url1 = _ref.url, image = _ref.image;
|
|
27837
|
-
_this.sourceFrom[
|
|
27831
|
+
_this.sourceFrom[id] = {
|
|
27838
27832
|
url: url1,
|
|
27839
27833
|
type: exports.TextureSourceType.image
|
|
27840
27834
|
};
|
|
@@ -27926,7 +27920,7 @@ var seed$1 = 1;
|
|
|
27926
27920
|
};
|
|
27927
27921
|
});
|
|
27928
27922
|
jobs = textures.map(/*#__PURE__*/ _async_to_generator(function(textureOptions, idx) {
|
|
27929
|
-
var e, source, id, image, texture;
|
|
27923
|
+
var e, source, id, image, imageId, texture;
|
|
27930
27924
|
return __generator(this, function(_state) {
|
|
27931
27925
|
switch(_state.label){
|
|
27932
27926
|
case 0:
|
|
@@ -27962,11 +27956,13 @@ var seed$1 = 1;
|
|
|
27962
27956
|
throw new Error("Load texture " + idx + " fails, error message: " + e + ".");
|
|
27963
27957
|
case 4:
|
|
27964
27958
|
source = textureOptions.source, id = textureOptions.id;
|
|
27959
|
+
imageId = "";
|
|
27965
27960
|
if (!isObject(source)) return [
|
|
27966
27961
|
3,
|
|
27967
27962
|
5
|
|
27968
27963
|
];
|
|
27969
27964
|
image = _this.assets[source.id];
|
|
27965
|
+
imageId = source.id;
|
|
27970
27966
|
return [
|
|
27971
27967
|
3,
|
|
27972
27968
|
7
|
|
@@ -27985,7 +27981,7 @@ var seed$1 = 1;
|
|
|
27985
27981
|
_state.label = 7;
|
|
27986
27982
|
case 7:
|
|
27987
27983
|
if (image) {
|
|
27988
|
-
texture = createTextureOptionsBySource(image, _this.sourceFrom[
|
|
27984
|
+
texture = createTextureOptionsBySource(image, _this.sourceFrom[imageId], id);
|
|
27989
27985
|
return [
|
|
27990
27986
|
2,
|
|
27991
27987
|
texture.sourceType === exports.TextureSourceType.compressed ? texture : _extends({}, texture, textureOptions)
|
|
@@ -31400,7 +31396,7 @@ registerPlugin("sprite", SpriteLoader, exports.VFXItem, true);
|
|
|
31400
31396
|
registerPlugin("particle", ParticleLoader, exports.VFXItem, true);
|
|
31401
31397
|
registerPlugin("cal", CalculateLoader, exports.VFXItem, true);
|
|
31402
31398
|
registerPlugin("interact", InteractLoader, exports.VFXItem, true);
|
|
31403
|
-
var version$1 = "2.1.
|
|
31399
|
+
var version$1 = "2.1.3-alpha.0";
|
|
31404
31400
|
logger.info("Core version: " + version$1 + ".");
|
|
31405
31401
|
|
|
31406
31402
|
var _obj;
|
|
@@ -33027,7 +33023,7 @@ setMaxSpriteMeshItemCount(8);
|
|
|
33027
33023
|
*/ Mesh.create = function(engine, props) {
|
|
33028
33024
|
return new ThreeMesh(engine, props);
|
|
33029
33025
|
};
|
|
33030
|
-
var version = "2.1.
|
|
33026
|
+
var version = "2.1.3-alpha.0";
|
|
33031
33027
|
logger.info("THREEJS plugin version: " + version + ".");
|
|
33032
33028
|
|
|
33033
33029
|
exports.AbstractPlugin = AbstractPlugin;
|