@galacean/effects-threejs 2.4.0-beta.1 → 2.4.0-beta.3
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 +61 -35
- 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 +61 -35
- package/dist/index.mjs.map +1 -1
- package/dist/material/three-material.d.ts +5 -0
- 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.4.0-beta.
|
|
6
|
+
* Version: v2.4.0-beta.3
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
'use strict';
|
|
@@ -6130,8 +6130,7 @@ function setSideMode(material, side) {
|
|
|
6130
6130
|
material.cullFace = side === SideMode.BACK ? glContext.BACK : glContext.FRONT;
|
|
6131
6131
|
}
|
|
6132
6132
|
}
|
|
6133
|
-
function setMaskMode(material, maskMode
|
|
6134
|
-
if (colorMask === void 0) colorMask = false;
|
|
6133
|
+
function setMaskMode(material, maskMode) {
|
|
6135
6134
|
switch(maskMode){
|
|
6136
6135
|
case undefined:
|
|
6137
6136
|
material.stencilTest = false;
|
|
@@ -6146,13 +6145,6 @@ function setMaskMode(material, maskMode, colorMask) {
|
|
|
6146
6145
|
glContext.REPLACE,
|
|
6147
6146
|
glContext.REPLACE
|
|
6148
6147
|
];
|
|
6149
|
-
// 关闭/开启蒙版元素的颜色写入
|
|
6150
|
-
material.colorMask = [
|
|
6151
|
-
colorMask,
|
|
6152
|
-
colorMask,
|
|
6153
|
-
colorMask,
|
|
6154
|
-
colorMask
|
|
6155
|
-
];
|
|
6156
6148
|
break;
|
|
6157
6149
|
case exports.MaskMode.OBSCURED:
|
|
6158
6150
|
material.stencilTest = true;
|
|
@@ -7624,13 +7616,6 @@ exports.MaterialRenderType = void 0;
|
|
|
7624
7616
|
set: /**
|
|
7625
7617
|
* 设置 Material 的通过 alpha 值决定临时覆盖值计算的开关
|
|
7626
7618
|
* @param value - 是否开启 alpha 抖动
|
|
7627
|
-
*/ function set(value) {}
|
|
7628
|
-
},
|
|
7629
|
-
{
|
|
7630
|
-
key: "colorMask",
|
|
7631
|
-
set: /**
|
|
7632
|
-
* 设置 Material 颜色缓冲区的写入开关
|
|
7633
|
-
* @param value
|
|
7634
7619
|
*/ function set(value) {}
|
|
7635
7620
|
},
|
|
7636
7621
|
{
|
|
@@ -7689,10 +7674,15 @@ var MaskProcessor = /*#__PURE__*/ function() {
|
|
|
7689
7674
|
} else if (mode === ObscuredMode.OBSCURED || mode === ObscuredMode.REVERSE_OBSCURED) {
|
|
7690
7675
|
maskMode = mode === ObscuredMode.OBSCURED ? exports.MaskMode.OBSCURED : exports.MaskMode.REVERSE_OBSCURED;
|
|
7691
7676
|
this.maskRef = ref.maskManager.getRefValue();
|
|
7677
|
+
this.maskable = ref;
|
|
7692
7678
|
}
|
|
7693
7679
|
}
|
|
7694
7680
|
return maskMode;
|
|
7695
7681
|
};
|
|
7682
|
+
_proto.drawStencilMask = function drawStencilMask(renderer) {
|
|
7683
|
+
var _this_maskable;
|
|
7684
|
+
(_this_maskable = this.maskable) == null ? void 0 : _this_maskable.drawStencilMask(renderer);
|
|
7685
|
+
};
|
|
7696
7686
|
return MaskProcessor;
|
|
7697
7687
|
}();
|
|
7698
7688
|
|
|
@@ -12599,17 +12589,16 @@ function getBezier2DValue(out, t, p0, p1, cpx0, cpy0, cpx1, cpy1) {
|
|
|
12599
12589
|
if (!this.getVisible()) {
|
|
12600
12590
|
return;
|
|
12601
12591
|
}
|
|
12602
|
-
|
|
12603
|
-
|
|
12604
|
-
|
|
12605
|
-
|
|
12606
|
-
|
|
12607
|
-
|
|
12608
|
-
|
|
12609
|
-
|
|
12610
|
-
|
|
12611
|
-
|
|
12612
|
-
}
|
|
12592
|
+
this.maskManager.drawStencilMask(renderer);
|
|
12593
|
+
this.draw(renderer);
|
|
12594
|
+
};
|
|
12595
|
+
/**
|
|
12596
|
+
* @internal
|
|
12597
|
+
*/ _proto.drawStencilMask = function drawStencilMask(renderer) {
|
|
12598
|
+
var previousColorMask = this.material.colorMask;
|
|
12599
|
+
this.material.colorMask = false;
|
|
12600
|
+
this.draw(renderer);
|
|
12601
|
+
this.material.colorMask = previousColorMask;
|
|
12613
12602
|
};
|
|
12614
12603
|
_proto.onStart = function onStart() {
|
|
12615
12604
|
this.item.getHitTestParams = this.getHitTestParams;
|
|
@@ -12727,7 +12716,7 @@ function getBezier2DValue(out, t, p0, p1, cpx0, cpy0, cpx1, cpy1) {
|
|
|
12727
12716
|
] : undefined;
|
|
12728
12717
|
setBlendMode(material, blendMode);
|
|
12729
12718
|
// 兼容旧数据中模板需要渲染的情况
|
|
12730
|
-
setMaskMode(material, maskMode
|
|
12719
|
+
setMaskMode(material, maskMode);
|
|
12731
12720
|
setSideMode(material, side);
|
|
12732
12721
|
material.shader.shaderData.properties = '_MainTex("_MainTex",2D) = "white" {}';
|
|
12733
12722
|
material.setColor("_Color", new Color(0, 0, 0, 1));
|
|
@@ -12747,6 +12736,19 @@ function getBezier2DValue(out, t, p0, p1, cpx0, cpy0, cpx1, cpy1) {
|
|
|
12747
12736
|
}
|
|
12748
12737
|
return material;
|
|
12749
12738
|
};
|
|
12739
|
+
_proto.draw = function draw(renderer) {
|
|
12740
|
+
if (renderer.renderingData.currentFrame.globalUniforms) {
|
|
12741
|
+
renderer.setGlobalMatrix("effects_ObjectToWorld", this.transform.getWorldMatrix());
|
|
12742
|
+
}
|
|
12743
|
+
for(var i = 0; i < this.materials.length; i++){
|
|
12744
|
+
var material = this.materials[i];
|
|
12745
|
+
material.setVector2("_Size", this.transform.size);
|
|
12746
|
+
if (this.renderer.renderMode === RenderMode.BILLBOARD || this.renderer.renderMode === RenderMode.VERTICAL_BILLBOARD || this.renderer.renderMode === RenderMode.HORIZONTAL_BILLBOARD) {
|
|
12747
|
+
material.setVector3("_Scale", this.transform.scale);
|
|
12748
|
+
}
|
|
12749
|
+
renderer.drawGeometry(this.geometry, material, i);
|
|
12750
|
+
}
|
|
12751
|
+
};
|
|
12750
12752
|
_proto.fromData = function fromData(data) {
|
|
12751
12753
|
RendererComponent.prototype.fromData.call(this, data);
|
|
12752
12754
|
var _data_renderer;
|
|
@@ -15387,6 +15389,7 @@ exports.InteractComponent = /*#__PURE__*/ function(RendererComponent) {
|
|
|
15387
15389
|
};
|
|
15388
15390
|
_this.duringPlay = false;
|
|
15389
15391
|
/** 是否响应点击和拖拽交互事件 */ _this._interactive = true;
|
|
15392
|
+
_this.lastTime = -1;
|
|
15390
15393
|
_this.getHitTestParams = function(force) {
|
|
15391
15394
|
if (!_this.clickable) {
|
|
15392
15395
|
return;
|
|
@@ -15477,11 +15480,21 @@ exports.InteractComponent = /*#__PURE__*/ function(RendererComponent) {
|
|
|
15477
15480
|
var _this_previewContent;
|
|
15478
15481
|
this.duringPlay = true;
|
|
15479
15482
|
// trigger messageBegin when item enter
|
|
15480
|
-
if (this.
|
|
15481
|
-
|
|
15482
|
-
|
|
15483
|
-
|
|
15483
|
+
if (this.lastTime <= this.item.time) {
|
|
15484
|
+
if (this.item.time >= 0 && this.lastTime < 0) {
|
|
15485
|
+
var _this_item_composition;
|
|
15486
|
+
var options = this.item.props.content.options;
|
|
15487
|
+
(_this_item_composition = this.item.composition) == null ? void 0 : _this_item_composition.addInteractiveItem(this.item, options.type);
|
|
15488
|
+
}
|
|
15489
|
+
} else {
|
|
15490
|
+
// loop trigger
|
|
15491
|
+
if (this.item.time >= 0) {
|
|
15492
|
+
var _this_item_composition1;
|
|
15493
|
+
var options1 = this.item.props.content.options;
|
|
15494
|
+
(_this_item_composition1 = this.item.composition) == null ? void 0 : _this_item_composition1.addInteractiveItem(this.item, options1.type);
|
|
15495
|
+
}
|
|
15484
15496
|
}
|
|
15497
|
+
this.lastTime = this.item.time;
|
|
15485
15498
|
(_this_previewContent = this.previewContent) == null ? void 0 : _this_previewContent.updateMesh();
|
|
15486
15499
|
if (!this.dragEvent || !this.bouncingArg) {
|
|
15487
15500
|
return;
|
|
@@ -18613,6 +18626,7 @@ function modifyMaxKeyframeShader(shader, maxVertex, maxFrag) {
|
|
|
18613
18626
|
this.particleMesh.mesh.material.setVector4("uParams", uParams.set(time, this.item.duration, 0, 0));
|
|
18614
18627
|
};
|
|
18615
18628
|
_proto.render = function render(renderer) {
|
|
18629
|
+
this.maskManager.drawStencilMask(renderer);
|
|
18616
18630
|
for(var _iterator = _create_for_of_iterator_helper_loose(this.meshes), _step; !(_step = _iterator()).done;){
|
|
18617
18631
|
var mesh = _step.value;
|
|
18618
18632
|
mesh.render(renderer);
|
|
@@ -19562,6 +19576,7 @@ exports.ParticleSystem = /*#__PURE__*/ function(Component) {
|
|
|
19562
19576
|
}
|
|
19563
19577
|
this.renderer = new ParticleSystemRenderer(this.engine, particleMeshProps, trailMeshProps);
|
|
19564
19578
|
this.renderer.item = this.item;
|
|
19579
|
+
this.renderer.maskManager = this.maskManager;
|
|
19565
19580
|
this.meshes = this.renderer.meshes;
|
|
19566
19581
|
var interaction = props.interaction;
|
|
19567
19582
|
if (interaction) {
|
|
@@ -31645,7 +31660,7 @@ registerPlugin("sprite", SpriteLoader, exports.VFXItem);
|
|
|
31645
31660
|
registerPlugin("particle", ParticleLoader, exports.VFXItem);
|
|
31646
31661
|
registerPlugin("cal", CalculateLoader, exports.VFXItem);
|
|
31647
31662
|
registerPlugin("interact", InteractLoader, exports.VFXItem);
|
|
31648
|
-
var version$1 = "2.4.0-beta.
|
|
31663
|
+
var version$1 = "2.4.0-beta.3";
|
|
31649
31664
|
logger.info("Core version: " + version$1 + ".");
|
|
31650
31665
|
|
|
31651
31666
|
var _obj;
|
|
@@ -32238,6 +32253,17 @@ var _obj3;
|
|
|
32238
32253
|
this.material.side = THREE__namespace.BackSide;
|
|
32239
32254
|
}
|
|
32240
32255
|
}
|
|
32256
|
+
},
|
|
32257
|
+
{
|
|
32258
|
+
key: "colorMask",
|
|
32259
|
+
get: function get() {
|
|
32260
|
+
return this.material.colorWrite;
|
|
32261
|
+
},
|
|
32262
|
+
set: /**
|
|
32263
|
+
* 获取颜色写入开关
|
|
32264
|
+
*/ function set(value) {
|
|
32265
|
+
this.material.colorWrite = value;
|
|
32266
|
+
}
|
|
32241
32267
|
}
|
|
32242
32268
|
]);
|
|
32243
32269
|
return ThreeMaterial;
|
|
@@ -33236,7 +33262,7 @@ setMaxSpriteMeshItemCount(8);
|
|
|
33236
33262
|
*/ Mesh.create = function(engine, props) {
|
|
33237
33263
|
return new ThreeMesh(engine, props);
|
|
33238
33264
|
};
|
|
33239
|
-
var version = "2.4.0-beta.
|
|
33265
|
+
var version = "2.4.0-beta.3";
|
|
33240
33266
|
logger.info("THREEJS plugin version: " + version + ".");
|
|
33241
33267
|
|
|
33242
33268
|
exports.AbstractPlugin = AbstractPlugin;
|