@galacean/effects-threejs 2.8.10 → 2.8.11
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 +52 -47
- 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 +52 -47
- 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.8.
|
|
6
|
+
* Version: v2.8.11
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
'use strict';
|
|
@@ -2376,8 +2376,21 @@ function colorToArr$1(hex, normalized) {
|
|
|
2376
2376
|
return ret;
|
|
2377
2377
|
}
|
|
2378
2378
|
function getColorFromGradientStops(stops, key, normalize) {
|
|
2379
|
-
if (stops.length) {
|
|
2380
|
-
|
|
2379
|
+
if (stops.length === 0) {
|
|
2380
|
+
return [
|
|
2381
|
+
0,
|
|
2382
|
+
0,
|
|
2383
|
+
0,
|
|
2384
|
+
0
|
|
2385
|
+
];
|
|
2386
|
+
}
|
|
2387
|
+
var color;
|
|
2388
|
+
if (key <= stops[0].time) {
|
|
2389
|
+
color = stops[0].color.toArray();
|
|
2390
|
+
} else if (key >= stops[stops.length - 1].time) {
|
|
2391
|
+
color = stops[stops.length - 1].color.toArray();
|
|
2392
|
+
} else {
|
|
2393
|
+
color = stops[stops.length - 1].color.toArray();
|
|
2381
2394
|
for(var j = 1; j <= stops.length - 1; j++){
|
|
2382
2395
|
var s0 = stops[j - 1];
|
|
2383
2396
|
var s1 = stops[j];
|
|
@@ -2386,19 +2399,10 @@ function getColorFromGradientStops(stops, key, normalize) {
|
|
|
2386
2399
|
break;
|
|
2387
2400
|
}
|
|
2388
2401
|
}
|
|
2389
|
-
if (!color) {
|
|
2390
|
-
color = stops[stops.length - 1].color.toArray();
|
|
2391
|
-
}
|
|
2392
|
-
return normalize ? color.map(function(n) {
|
|
2393
|
-
return n / 255;
|
|
2394
|
-
}) : color;
|
|
2395
2402
|
}
|
|
2396
|
-
return
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
0,
|
|
2400
|
-
0
|
|
2401
|
-
];
|
|
2403
|
+
return normalize ? color.map(function(n) {
|
|
2404
|
+
return n / 255;
|
|
2405
|
+
}) : color;
|
|
2402
2406
|
}
|
|
2403
2407
|
function colorStopsFromGradient(gradient) {
|
|
2404
2408
|
var stops = [];
|
|
@@ -2425,21 +2429,6 @@ function colorStopsFromGradient(gradient) {
|
|
|
2425
2429
|
stops = stops.sort(function(a, b) {
|
|
2426
2430
|
return a.time - b.time;
|
|
2427
2431
|
});
|
|
2428
|
-
if (stops.length) {
|
|
2429
|
-
if (stops[0].time !== 0) {
|
|
2430
|
-
stops.unshift({
|
|
2431
|
-
time: 0,
|
|
2432
|
-
color: stops[0].color.clone()
|
|
2433
|
-
});
|
|
2434
|
-
}
|
|
2435
|
-
var lastStop = stops[stops.length - 1];
|
|
2436
|
-
if (lastStop.time !== 1) {
|
|
2437
|
-
stops.push({
|
|
2438
|
-
time: 1,
|
|
2439
|
-
color: lastStop.color.clone()
|
|
2440
|
-
});
|
|
2441
|
-
}
|
|
2442
|
-
}
|
|
2443
2432
|
return stops;
|
|
2444
2433
|
}
|
|
2445
2434
|
function interpolateColor(a, b, s, origin) {
|
|
@@ -2528,22 +2517,24 @@ function imageDataFromGradient(gradient) {
|
|
|
2528
2517
|
var data = image.data;
|
|
2529
2518
|
var stops = colorStopsFromGradient(gradient);
|
|
2530
2519
|
if (stops.length) {
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
|
|
2520
|
+
for(var i = 0; i < width; i++){
|
|
2521
|
+
var index = i / (width - 1);
|
|
2522
|
+
if (index <= stops[0].time) {
|
|
2523
|
+
data.set(stops[0].color.toArray(), i * 4);
|
|
2524
|
+
} else if (index >= stops[stops.length - 1].time) {
|
|
2525
|
+
data.set(stops[stops.length - 1].color.toArray(), i * 4);
|
|
2526
|
+
} else {
|
|
2527
|
+
for(var j = 0; j < stops.length - 1; j++){
|
|
2528
|
+
var s0 = stops[j];
|
|
2529
|
+
var s1 = stops[j + 1];
|
|
2530
|
+
if (s0.time <= index && s1.time > index) {
|
|
2531
|
+
var color = interpolateColor(s0.color.toArray(), s1.color.toArray(), (index - s0.time) / (s1.time - s0.time));
|
|
2532
|
+
data.set(color, i * 4);
|
|
2533
|
+
break;
|
|
2534
|
+
}
|
|
2541
2535
|
}
|
|
2542
2536
|
}
|
|
2543
|
-
var color = interpolateColor(s0.color.toArray(), s1.color.toArray(), (index - s0.time) / (s1.time - s0.time));
|
|
2544
|
-
data.set(color, i * 4);
|
|
2545
2537
|
}
|
|
2546
|
-
data.set(stops[stops.length - 1].color.toArray(), (width - 1) * 4);
|
|
2547
2538
|
}
|
|
2548
2539
|
return image;
|
|
2549
2540
|
}
|
|
@@ -11867,7 +11858,21 @@ var GradientValue = /*#__PURE__*/ function(ValueGetter) {
|
|
|
11867
11858
|
};
|
|
11868
11859
|
_proto.getValue = function getValue(time) {
|
|
11869
11860
|
var stops = this.stops;
|
|
11861
|
+
if (stops.length === 0) {
|
|
11862
|
+
return [
|
|
11863
|
+
0,
|
|
11864
|
+
0,
|
|
11865
|
+
0,
|
|
11866
|
+
0
|
|
11867
|
+
];
|
|
11868
|
+
}
|
|
11869
|
+
if (time <= stops[0].time) {
|
|
11870
|
+
return stops[0].color.toArray();
|
|
11871
|
+
}
|
|
11870
11872
|
var last = stops.length - 1;
|
|
11873
|
+
if (time >= stops[last].time) {
|
|
11874
|
+
return stops[last].color.toArray();
|
|
11875
|
+
}
|
|
11871
11876
|
for(var i = 0; i < last; i++){
|
|
11872
11877
|
var a = stops[i];
|
|
11873
11878
|
var b = stops[i + 1];
|
|
@@ -18509,7 +18514,7 @@ exports.PostProcessVolume = __decorate([
|
|
|
18509
18514
|
|
|
18510
18515
|
var vert = "precision highp float;attribute vec3 aPos;attribute vec2 aUV;varying vec2 uv0;uniform mat4 effects_MatrixVP;uniform mat4 effects_MatrixInvV;uniform mat4 effects_ObjectToWorld;void main(){vec4 pos=vec4(aPos.xyz,1.0);uv0=aUV;gl_Position=effects_MatrixVP*effects_ObjectToWorld*pos;}";
|
|
18511
18516
|
|
|
18512
|
-
var frag = "precision highp float;\n#define _MAX_STOPS 8\n#define PI 3.14159265359\nuniform vec4 _Color;uniform vec4 _Colors[_MAX_STOPS];uniform float _Stops[_MAX_STOPS];uniform int _StopsCount;uniform float _FillType;uniform vec2 _StartPoint;uniform vec2 _EndPoint;uniform sampler2D _ImageTex;uniform vec2 _ImageSize;uniform vec2 _DestSize;uniform int _ImageScaleMode;uniform mat3 _TextureTransform;uniform float _ImageScalingFactor;uniform float _ImageOpacity;varying vec2 uv0;vec4 smoothMix(vec4 a,vec4 b,float t){return mix(a,b,smoothstep(0.0,1.0,t));}float calculateAngleRatio(vec2 v1,vec2 v2){float angle=atan(v2.y,v2.x)-atan(v1.y,v1.x);if(angle<0.0)angle+=2.0*PI;return angle/(2.0*PI);}vec2 applyTransform(mat3 m,vec2 uv){uv=uv-vec2(0.5,0.5);vec3 p=m*vec3(uv,1.0);p.xy=p.xy+vec2(0.5,0.5);return p.xy;}void main(){vec4 finalColor=vec4(1.0);if(_FillType==0.0){finalColor=_Color;}else if(_FillType==1.0||_FillType==2.0||_FillType==3.0){float t=0.0;if(_FillType==1.0){vec2 gradientVector=_EndPoint-_StartPoint;vec2 pixelVector=uv0-_StartPoint;float denom=max(dot(gradientVector,gradientVector),1e-6);t=clamp(dot(pixelVector,gradientVector)/denom,0.0,1.0);}else if(_FillType==2.0){float maxRadius=max(distance(_EndPoint,_StartPoint),0.001);t=clamp(distance(uv0,_StartPoint)/maxRadius,0.0,1.0);}else{vec2 center=_StartPoint;vec2 referenceVector=_EndPoint-center;vec2 targetVector=uv0-center;if(length(targetVector)>0.001){t=calculateAngleRatio(referenceVector,targetVector);}}finalColor=_Colors[0];for(int i=1;i<_MAX_STOPS;i++){if(i>=_StopsCount)break;float prevStop=_Stops[i-1];float currStop=_Stops[i];if(t>=prevStop&&t<=currStop){float localT=(t-prevStop)/max(currStop-prevStop,1e-6);finalColor=smoothMix(_Colors[i-1],_Colors[i],localT);break;}}}else if(_FillType==4.0){vec2 uv=uv0;float rSrc=_ImageSize.x/max(_ImageSize.y,1.0);float rDst=_DestSize.x/max(_DestSize.y,1.0);bool maskOutside=false;if(_ImageScaleMode==0){vec2 scale=vec2(1.0);if(rDst>rSrc){scale=vec2(1.0,rSrc/rDst);}else{scale=vec2(rDst/rSrc,1.0);}uv=(uv-0.5)*scale+0.5;uv=clamp(uv,0.0,1.0);}else if(_ImageScaleMode==1){vec2 scale=vec2(1.0);if(rDst>rSrc){scale=vec2(rSrc/rDst,1.0);}else{scale=vec2(1.0,rSrc/rDst);}uv=(uv-0.5)*scale+0.5;maskOutside=true;}else if(_ImageScaleMode==2){uv=applyTransform(_TextureTransform,uv0);maskOutside=true;}else if(_ImageScaleMode==3){float aspectFix=rDst/max(rSrc,1e-6);vec2 uvTile=(uv0-0.5)*vec2(aspectFix,1.0)+0.5;float s=max(abs(_ImageScalingFactor),1e-6);uv=fract(uvTile*s);}vec4 img=texture2D(_ImageTex,uv);if(maskOutside){if(uv.x<0.0||uv.x>1.0||uv.y<0.0||uv.y>1.0){img.a=0.0;}}img.a*=_ImageOpacity;finalColor=img;}finalColor.rgb*=finalColor.a;gl_FragColor=finalColor;}";
|
|
18517
|
+
var frag = "precision highp float;\n#define _MAX_STOPS 8\n#define PI 3.14159265359\nuniform vec4 _Color;uniform vec4 _Colors[_MAX_STOPS];uniform float _Stops[_MAX_STOPS];uniform int _StopsCount;uniform float _FillType;uniform vec2 _StartPoint;uniform vec2 _EndPoint;uniform sampler2D _ImageTex;uniform vec2 _ImageSize;uniform vec2 _DestSize;uniform int _ImageScaleMode;uniform mat3 _TextureTransform;uniform float _ImageScalingFactor;uniform float _ImageOpacity;varying vec2 uv0;vec4 smoothMix(vec4 a,vec4 b,float t){return mix(a,b,smoothstep(0.0,1.0,t));}float calculateAngleRatio(vec2 v1,vec2 v2){float angle=atan(v2.y,v2.x)-atan(v1.y,v1.x);if(angle<0.0)angle+=2.0*PI;return angle/(2.0*PI);}vec2 applyTransform(mat3 m,vec2 uv){uv=uv-vec2(0.5,0.5);vec3 p=m*vec3(uv,1.0);p.xy=p.xy+vec2(0.5,0.5);return p.xy;}void main(){vec4 finalColor=vec4(1.0);if(_FillType==0.0){finalColor=_Color;}else if(_FillType==1.0||_FillType==2.0||_FillType==3.0){float t=0.0;if(_FillType==1.0){vec2 gradientVector=_EndPoint-_StartPoint;vec2 pixelVector=uv0-_StartPoint;float denom=max(dot(gradientVector,gradientVector),1e-6);t=clamp(dot(pixelVector,gradientVector)/denom,0.0,1.0);}else if(_FillType==2.0){float maxRadius=max(distance(_EndPoint,_StartPoint),0.001);t=clamp(distance(uv0,_StartPoint)/maxRadius,0.0,1.0);}else{vec2 center=_StartPoint;vec2 referenceVector=_EndPoint-center;vec2 targetVector=uv0-center;if(length(targetVector)>0.001){t=calculateAngleRatio(referenceVector,targetVector);}}if(_StopsCount>0){if(t<=_Stops[0]){finalColor=_Colors[0];}else if(t>=_Stops[_StopsCount-1]){finalColor=_Colors[_StopsCount-1];}else{finalColor=_Colors[0];for(int i=1;i<_MAX_STOPS;i++){if(i>=_StopsCount)break;float prevStop=_Stops[i-1];float currStop=_Stops[i];if(t>=prevStop&&t<=currStop){float localT=(t-prevStop)/max(currStop-prevStop,1e-6);finalColor=smoothMix(_Colors[i-1],_Colors[i],localT);break;}}}}}else if(_FillType==4.0){vec2 uv=uv0;float rSrc=_ImageSize.x/max(_ImageSize.y,1.0);float rDst=_DestSize.x/max(_DestSize.y,1.0);bool maskOutside=false;if(_ImageScaleMode==0){vec2 scale=vec2(1.0);if(rDst>rSrc){scale=vec2(1.0,rSrc/rDst);}else{scale=vec2(rDst/rSrc,1.0);}uv=(uv-0.5)*scale+0.5;uv=clamp(uv,0.0,1.0);}else if(_ImageScaleMode==1){vec2 scale=vec2(1.0);if(rDst>rSrc){scale=vec2(rSrc/rDst,1.0);}else{scale=vec2(1.0,rSrc/rDst);}uv=(uv-0.5)*scale+0.5;maskOutside=true;}else if(_ImageScaleMode==2){uv=applyTransform(_TextureTransform,uv0);maskOutside=true;}else if(_ImageScaleMode==3){float aspectFix=rDst/max(rSrc,1e-6);vec2 uvTile=(uv0-0.5)*vec2(aspectFix,1.0)+0.5;float s=max(abs(_ImageScalingFactor),1e-6);uv=fract(uvTile*s);}vec4 img=texture2D(_ImageTex,uv);if(maskOutside){if(uv.x<0.0||uv.x>1.0||uv.y<0.0||uv.y>1.0){img.a=0.0;}}img.a*=_ImageOpacity;finalColor=img;}finalColor.rgb*=finalColor.a;gl_FragColor=finalColor;}";
|
|
18513
18518
|
|
|
18514
18519
|
exports.TexturePaintScaleMode = void 0;
|
|
18515
18520
|
(function(TexturePaintScaleMode) {
|
|
@@ -31659,7 +31664,7 @@ function getStandardSpriteContent(sprite, transform) {
|
|
|
31659
31664
|
return ret;
|
|
31660
31665
|
}
|
|
31661
31666
|
|
|
31662
|
-
var version$2 = "2.8.
|
|
31667
|
+
var version$2 = "2.8.11";
|
|
31663
31668
|
var v0 = /^(\d+)\.(\d+)\.(\d+)(-(\w+)\.\d+)?$/;
|
|
31664
31669
|
var standardVersion = /^(\d+)\.(\d+)$/;
|
|
31665
31670
|
var reverseParticle = false;
|
|
@@ -35359,7 +35364,7 @@ registerPlugin("text", TextLoader);
|
|
|
35359
35364
|
registerPlugin("sprite", SpriteLoader);
|
|
35360
35365
|
registerPlugin("particle", ParticleLoader);
|
|
35361
35366
|
registerPlugin("interact", InteractLoader);
|
|
35362
|
-
var version$1 = "2.8.
|
|
35367
|
+
var version$1 = "2.8.11";
|
|
35363
35368
|
logger.info("Core version: " + version$1 + ".");
|
|
35364
35369
|
|
|
35365
35370
|
var _obj;
|
|
@@ -36936,7 +36941,7 @@ applyMixins(exports.ThreeTextComponent, [
|
|
|
36936
36941
|
*/ Mesh.create = function(engine, props) {
|
|
36937
36942
|
return new ThreeMesh(engine, props);
|
|
36938
36943
|
};
|
|
36939
|
-
var version = "2.8.
|
|
36944
|
+
var version = "2.8.11";
|
|
36940
36945
|
logger.info("THREEJS plugin version: " + version + ".");
|
|
36941
36946
|
|
|
36942
36947
|
exports.ActivationMixerPlayable = ActivationMixerPlayable;
|