@galacean/effects-threejs 2.1.2-alpha.0 → 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 +24 -31
- 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 +24 -31
- 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() {
|
|
@@ -16660,7 +16663,6 @@ exports.InteractComponent = /*#__PURE__*/ function(RendererComponent) {
|
|
|
16660
16663
|
};
|
|
16661
16664
|
_proto.render = function render(renderer) {
|
|
16662
16665
|
if (this.previewContent) {
|
|
16663
|
-
this.previewContent.mesh.worldMatrix = this.transform.getWorldMatrix();
|
|
16664
16666
|
this.previewContent.mesh.render(renderer);
|
|
16665
16667
|
}
|
|
16666
16668
|
};
|
|
@@ -18831,7 +18833,7 @@ exports.SpriteComponent = /*#__PURE__*/ function(BaseRenderComponent) {
|
|
|
18831
18833
|
this.interaction = interaction;
|
|
18832
18834
|
var _renderer_renderMode, _renderer_blending, _renderer_texture, _renderer_side, _renderer_mask, _renderer_maskMode;
|
|
18833
18835
|
this.renderer = {
|
|
18834
|
-
renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.
|
|
18836
|
+
renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.MESH,
|
|
18835
18837
|
blending: (_renderer_blending = renderer.blending) != null ? _renderer_blending : BlendingMode.ALPHA,
|
|
18836
18838
|
texture: (_renderer_texture = renderer.texture) != null ? _renderer_texture : this.engine.emptyTexture,
|
|
18837
18839
|
occlusion: !!renderer.occlusion,
|
|
@@ -23925,6 +23927,9 @@ var SerializationHelper = /*#__PURE__*/ function() {
|
|
|
23925
23927
|
_proto.onUpdate = function onUpdate(dt) {
|
|
23926
23928
|
var time = this.time;
|
|
23927
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();
|
|
23928
23933
|
this.graph.evaluate(dt);
|
|
23929
23934
|
};
|
|
23930
23935
|
_proto.createContent = function createContent() {
|
|
@@ -24566,8 +24571,6 @@ var TimelinePlayable = /*#__PURE__*/ function(Playable) {
|
|
|
24566
24571
|
};
|
|
24567
24572
|
_proto.evaluate = function evaluate() {
|
|
24568
24573
|
var time = this.getTime();
|
|
24569
|
-
// update all tracks binding
|
|
24570
|
-
this.updateTrackAnimatedObject(this.masterTrackInstances);
|
|
24571
24574
|
// TODO search active clips
|
|
24572
24575
|
for(var _iterator = _create_for_of_iterator_helper_loose(this.clips), _step; !(_step = _iterator()).done;){
|
|
24573
24576
|
var clip = _step.value;
|
|
@@ -24605,17 +24608,6 @@ var TimelinePlayable = /*#__PURE__*/ function(Playable) {
|
|
|
24605
24608
|
}
|
|
24606
24609
|
}
|
|
24607
24610
|
};
|
|
24608
|
-
_proto.updateTrackAnimatedObject = function updateTrackAnimatedObject(trackInstances) {
|
|
24609
|
-
for(var _iterator = _create_for_of_iterator_helper_loose(trackInstances), _step; !(_step = _iterator()).done;){
|
|
24610
|
-
var trackInstance = _step.value;
|
|
24611
|
-
var trackAsset = trackInstance.trackAsset;
|
|
24612
|
-
// update track binding use custom method
|
|
24613
|
-
trackAsset.updateAnimatedObject();
|
|
24614
|
-
trackInstance.output.setUserData(trackAsset.boundObject);
|
|
24615
|
-
// update children tracks
|
|
24616
|
-
this.updateTrackAnimatedObject(trackInstance.children);
|
|
24617
|
-
}
|
|
24618
|
-
};
|
|
24619
24611
|
return TimelinePlayable;
|
|
24620
24612
|
}(Playable);
|
|
24621
24613
|
var TrackSortWrapper = function TrackSortWrapper(track, originalIndex) {
|
|
@@ -24931,7 +24923,7 @@ exports.TextComponent = /*#__PURE__*/ function(BaseRenderComponent) {
|
|
|
24931
24923
|
this.interaction = interaction;
|
|
24932
24924
|
var _renderer_renderMode, _renderer_blending, _renderer_texture, _renderer_side, _renderer_mask, _renderer_maskMode;
|
|
24933
24925
|
this.renderer = {
|
|
24934
|
-
renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.
|
|
24926
|
+
renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.MESH,
|
|
24935
24927
|
blending: (_renderer_blending = renderer.blending) != null ? _renderer_blending : BlendingMode.ALPHA,
|
|
24936
24928
|
texture: (_renderer_texture = renderer.texture) != null ? _renderer_texture : this.engine.emptyTexture,
|
|
24937
24929
|
occlusion: !!renderer.occlusion,
|
|
@@ -27699,7 +27691,7 @@ var seed$1 = 1;
|
|
|
27699
27691
|
_this_options = _this.options, useCompressedTexture = _this_options.useCompressedTexture, variables = _this_options.variables;
|
|
27700
27692
|
baseUrl = _this.baseUrl;
|
|
27701
27693
|
jobs = images.map(/*#__PURE__*/ _async_to_generator(function(img, idx) {
|
|
27702
|
-
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;
|
|
27703
27695
|
return __generator(this, function(_state) {
|
|
27704
27696
|
switch(_state.label){
|
|
27705
27697
|
case 0:
|
|
@@ -27710,6 +27702,7 @@ var seed$1 = 1;
|
|
|
27710
27702
|
webpURL = webp && new URL(webp, baseUrl).href;
|
|
27711
27703
|
// eslint-disable-next-line compat/compat
|
|
27712
27704
|
avifURL = avif && new URL(avif, baseUrl).href;
|
|
27705
|
+
id = img.id;
|
|
27713
27706
|
if (!("template" in img)) return [
|
|
27714
27707
|
3,
|
|
27715
27708
|
8
|
|
@@ -27744,7 +27737,7 @@ var seed$1 = 1;
|
|
|
27744
27737
|
3,
|
|
27745
27738
|
3
|
|
27746
27739
|
];
|
|
27747
|
-
_this.sourceFrom[
|
|
27740
|
+
_this.sourceFrom[id] = {
|
|
27748
27741
|
url: resultImage.src,
|
|
27749
27742
|
type: exports.TextureSourceType.video
|
|
27750
27743
|
};
|
|
@@ -27757,7 +27750,7 @@ var seed$1 = 1;
|
|
|
27757
27750
|
if (background && Array.isArray(url) && variables) {
|
|
27758
27751
|
variables[background.name] = resultImage.src;
|
|
27759
27752
|
}
|
|
27760
|
-
_this.sourceFrom[
|
|
27753
|
+
_this.sourceFrom[id] = {
|
|
27761
27754
|
url: resultImage.src,
|
|
27762
27755
|
type: exports.TextureSourceType.image
|
|
27763
27756
|
};
|
|
@@ -27794,7 +27787,7 @@ var seed$1 = 1;
|
|
|
27794
27787
|
}
|
|
27795
27788
|
if (src) {
|
|
27796
27789
|
bufferURL = new URL(src, baseUrl).href;
|
|
27797
|
-
_this.sourceFrom[
|
|
27790
|
+
_this.sourceFrom[id] = {
|
|
27798
27791
|
url: bufferURL,
|
|
27799
27792
|
type: exports.TextureSourceType.compressed
|
|
27800
27793
|
};
|
|
@@ -27835,7 +27828,7 @@ var seed$1 = 1;
|
|
|
27835
27828
|
_state.label = 13;
|
|
27836
27829
|
case 13:
|
|
27837
27830
|
_ref = _tmp, url1 = _ref.url, image = _ref.image;
|
|
27838
|
-
_this.sourceFrom[
|
|
27831
|
+
_this.sourceFrom[id] = {
|
|
27839
27832
|
url: url1,
|
|
27840
27833
|
type: exports.TextureSourceType.image
|
|
27841
27834
|
};
|
|
@@ -27927,7 +27920,7 @@ var seed$1 = 1;
|
|
|
27927
27920
|
};
|
|
27928
27921
|
});
|
|
27929
27922
|
jobs = textures.map(/*#__PURE__*/ _async_to_generator(function(textureOptions, idx) {
|
|
27930
|
-
var e, source, id, image, texture;
|
|
27923
|
+
var e, source, id, image, imageId, texture;
|
|
27931
27924
|
return __generator(this, function(_state) {
|
|
27932
27925
|
switch(_state.label){
|
|
27933
27926
|
case 0:
|
|
@@ -27963,11 +27956,13 @@ var seed$1 = 1;
|
|
|
27963
27956
|
throw new Error("Load texture " + idx + " fails, error message: " + e + ".");
|
|
27964
27957
|
case 4:
|
|
27965
27958
|
source = textureOptions.source, id = textureOptions.id;
|
|
27959
|
+
imageId = "";
|
|
27966
27960
|
if (!isObject(source)) return [
|
|
27967
27961
|
3,
|
|
27968
27962
|
5
|
|
27969
27963
|
];
|
|
27970
27964
|
image = _this.assets[source.id];
|
|
27965
|
+
imageId = source.id;
|
|
27971
27966
|
return [
|
|
27972
27967
|
3,
|
|
27973
27968
|
7
|
|
@@ -27986,7 +27981,7 @@ var seed$1 = 1;
|
|
|
27986
27981
|
_state.label = 7;
|
|
27987
27982
|
case 7:
|
|
27988
27983
|
if (image) {
|
|
27989
|
-
texture = createTextureOptionsBySource(image, _this.sourceFrom[
|
|
27984
|
+
texture = createTextureOptionsBySource(image, _this.sourceFrom[imageId], id);
|
|
27990
27985
|
return [
|
|
27991
27986
|
2,
|
|
27992
27987
|
texture.sourceType === exports.TextureSourceType.compressed ? texture : _extends({}, texture, textureOptions)
|
|
@@ -28800,9 +28795,7 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
28800
28795
|
* @since 2.0.0
|
|
28801
28796
|
* @param visible - 是否可见
|
|
28802
28797
|
*/ _proto.setVisible = function setVisible(visible) {
|
|
28803
|
-
this.
|
|
28804
|
-
item.setActive(visible);
|
|
28805
|
-
});
|
|
28798
|
+
this.rootItem.setVisible(visible);
|
|
28806
28799
|
};
|
|
28807
28800
|
/**
|
|
28808
28801
|
* 获取合成的动画速度
|
|
@@ -31403,7 +31396,7 @@ registerPlugin("sprite", SpriteLoader, exports.VFXItem, true);
|
|
|
31403
31396
|
registerPlugin("particle", ParticleLoader, exports.VFXItem, true);
|
|
31404
31397
|
registerPlugin("cal", CalculateLoader, exports.VFXItem, true);
|
|
31405
31398
|
registerPlugin("interact", InteractLoader, exports.VFXItem, true);
|
|
31406
|
-
var version$1 = "2.1.
|
|
31399
|
+
var version$1 = "2.1.3-alpha.0";
|
|
31407
31400
|
logger.info("Core version: " + version$1 + ".");
|
|
31408
31401
|
|
|
31409
31402
|
var _obj;
|
|
@@ -33030,7 +33023,7 @@ setMaxSpriteMeshItemCount(8);
|
|
|
33030
33023
|
*/ Mesh.create = function(engine, props) {
|
|
33031
33024
|
return new ThreeMesh(engine, props);
|
|
33032
33025
|
};
|
|
33033
|
-
var version = "2.1.
|
|
33026
|
+
var version = "2.1.3-alpha.0";
|
|
33034
33027
|
logger.info("THREEJS plugin version: " + version + ".");
|
|
33035
33028
|
|
|
33036
33029
|
exports.AbstractPlugin = AbstractPlugin;
|