@galacean/effects-core 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/components/base-render-component.d.ts +1 -0
- package/dist/index.js +49 -34
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +49 -34
- package/dist/index.mjs.map +1 -1
- package/dist/material/mask-ref-manager.d.ts +4 -1
- package/dist/material/material.d.ts +6 -1
- package/dist/material/types.d.ts +2 -0
- package/dist/material/utils.d.ts +1 -1
- package/dist/plugins/interact/interact-item.d.ts +1 -0
- package/dist/plugins/particle/particle-system-renderer.d.ts +2 -0
- package/dist/plugins/particle/particle-system.d.ts +1 -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.4.0-beta.
|
|
6
|
+
* Version: v2.4.0-beta.3
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
'use strict';
|
|
@@ -6108,8 +6108,7 @@ function setSideMode(material, side) {
|
|
|
6108
6108
|
material.cullFace = side === SideMode.BACK ? glContext.BACK : glContext.FRONT;
|
|
6109
6109
|
}
|
|
6110
6110
|
}
|
|
6111
|
-
function setMaskMode(material, maskMode
|
|
6112
|
-
if (colorMask === void 0) colorMask = false;
|
|
6111
|
+
function setMaskMode(material, maskMode) {
|
|
6113
6112
|
switch(maskMode){
|
|
6114
6113
|
case undefined:
|
|
6115
6114
|
material.stencilTest = false;
|
|
@@ -6124,13 +6123,6 @@ function setMaskMode(material, maskMode, colorMask) {
|
|
|
6124
6123
|
glContext.REPLACE,
|
|
6125
6124
|
glContext.REPLACE
|
|
6126
6125
|
];
|
|
6127
|
-
// 关闭/开启蒙版元素的颜色写入
|
|
6128
|
-
material.colorMask = [
|
|
6129
|
-
colorMask,
|
|
6130
|
-
colorMask,
|
|
6131
|
-
colorMask,
|
|
6132
|
-
colorMask
|
|
6133
|
-
];
|
|
6134
6126
|
break;
|
|
6135
6127
|
case exports.MaskMode.OBSCURED:
|
|
6136
6128
|
material.stencilTest = true;
|
|
@@ -7602,13 +7594,6 @@ exports.MaterialRenderType = void 0;
|
|
|
7602
7594
|
set: /**
|
|
7603
7595
|
* 设置 Material 的通过 alpha 值决定临时覆盖值计算的开关
|
|
7604
7596
|
* @param value - 是否开启 alpha 抖动
|
|
7605
|
-
*/ function set(value) {}
|
|
7606
|
-
},
|
|
7607
|
-
{
|
|
7608
|
-
key: "colorMask",
|
|
7609
|
-
set: /**
|
|
7610
|
-
* 设置 Material 颜色缓冲区的写入开关
|
|
7611
|
-
* @param value
|
|
7612
7597
|
*/ function set(value) {}
|
|
7613
7598
|
},
|
|
7614
7599
|
{
|
|
@@ -7667,10 +7652,15 @@ var MaskProcessor = /*#__PURE__*/ function() {
|
|
|
7667
7652
|
} else if (mode === ObscuredMode.OBSCURED || mode === ObscuredMode.REVERSE_OBSCURED) {
|
|
7668
7653
|
maskMode = mode === ObscuredMode.OBSCURED ? exports.MaskMode.OBSCURED : exports.MaskMode.REVERSE_OBSCURED;
|
|
7669
7654
|
this.maskRef = ref.maskManager.getRefValue();
|
|
7655
|
+
this.maskable = ref;
|
|
7670
7656
|
}
|
|
7671
7657
|
}
|
|
7672
7658
|
return maskMode;
|
|
7673
7659
|
};
|
|
7660
|
+
_proto.drawStencilMask = function drawStencilMask(renderer) {
|
|
7661
|
+
var _this_maskable;
|
|
7662
|
+
(_this_maskable = this.maskable) == null ? void 0 : _this_maskable.drawStencilMask(renderer);
|
|
7663
|
+
};
|
|
7674
7664
|
return MaskProcessor;
|
|
7675
7665
|
}();
|
|
7676
7666
|
|
|
@@ -12577,17 +12567,16 @@ function getBezier2DValue(out, t, p0, p1, cpx0, cpy0, cpx1, cpy1) {
|
|
|
12577
12567
|
if (!this.getVisible()) {
|
|
12578
12568
|
return;
|
|
12579
12569
|
}
|
|
12580
|
-
|
|
12581
|
-
|
|
12582
|
-
|
|
12583
|
-
|
|
12584
|
-
|
|
12585
|
-
|
|
12586
|
-
|
|
12587
|
-
|
|
12588
|
-
|
|
12589
|
-
|
|
12590
|
-
}
|
|
12570
|
+
this.maskManager.drawStencilMask(renderer);
|
|
12571
|
+
this.draw(renderer);
|
|
12572
|
+
};
|
|
12573
|
+
/**
|
|
12574
|
+
* @internal
|
|
12575
|
+
*/ _proto.drawStencilMask = function drawStencilMask(renderer) {
|
|
12576
|
+
var previousColorMask = this.material.colorMask;
|
|
12577
|
+
this.material.colorMask = false;
|
|
12578
|
+
this.draw(renderer);
|
|
12579
|
+
this.material.colorMask = previousColorMask;
|
|
12591
12580
|
};
|
|
12592
12581
|
_proto.onStart = function onStart() {
|
|
12593
12582
|
this.item.getHitTestParams = this.getHitTestParams;
|
|
@@ -12705,7 +12694,7 @@ function getBezier2DValue(out, t, p0, p1, cpx0, cpy0, cpx1, cpy1) {
|
|
|
12705
12694
|
] : undefined;
|
|
12706
12695
|
setBlendMode(material, blendMode);
|
|
12707
12696
|
// 兼容旧数据中模板需要渲染的情况
|
|
12708
|
-
setMaskMode(material, maskMode
|
|
12697
|
+
setMaskMode(material, maskMode);
|
|
12709
12698
|
setSideMode(material, side);
|
|
12710
12699
|
material.shader.shaderData.properties = '_MainTex("_MainTex",2D) = "white" {}';
|
|
12711
12700
|
material.setColor("_Color", new Color(0, 0, 0, 1));
|
|
@@ -12725,6 +12714,19 @@ function getBezier2DValue(out, t, p0, p1, cpx0, cpy0, cpx1, cpy1) {
|
|
|
12725
12714
|
}
|
|
12726
12715
|
return material;
|
|
12727
12716
|
};
|
|
12717
|
+
_proto.draw = function draw(renderer) {
|
|
12718
|
+
if (renderer.renderingData.currentFrame.globalUniforms) {
|
|
12719
|
+
renderer.setGlobalMatrix("effects_ObjectToWorld", this.transform.getWorldMatrix());
|
|
12720
|
+
}
|
|
12721
|
+
for(var i = 0; i < this.materials.length; i++){
|
|
12722
|
+
var material = this.materials[i];
|
|
12723
|
+
material.setVector2("_Size", this.transform.size);
|
|
12724
|
+
if (this.renderer.renderMode === RenderMode.BILLBOARD || this.renderer.renderMode === RenderMode.VERTICAL_BILLBOARD || this.renderer.renderMode === RenderMode.HORIZONTAL_BILLBOARD) {
|
|
12725
|
+
material.setVector3("_Scale", this.transform.scale);
|
|
12726
|
+
}
|
|
12727
|
+
renderer.drawGeometry(this.geometry, material, i);
|
|
12728
|
+
}
|
|
12729
|
+
};
|
|
12728
12730
|
_proto.fromData = function fromData(data) {
|
|
12729
12731
|
RendererComponent.prototype.fromData.call(this, data);
|
|
12730
12732
|
var _data_renderer;
|
|
@@ -15365,6 +15367,7 @@ exports.InteractComponent = /*#__PURE__*/ function(RendererComponent) {
|
|
|
15365
15367
|
};
|
|
15366
15368
|
_this.duringPlay = false;
|
|
15367
15369
|
/** 是否响应点击和拖拽交互事件 */ _this._interactive = true;
|
|
15370
|
+
_this.lastTime = -1;
|
|
15368
15371
|
_this.getHitTestParams = function(force) {
|
|
15369
15372
|
if (!_this.clickable) {
|
|
15370
15373
|
return;
|
|
@@ -15455,11 +15458,21 @@ exports.InteractComponent = /*#__PURE__*/ function(RendererComponent) {
|
|
|
15455
15458
|
var _this_previewContent;
|
|
15456
15459
|
this.duringPlay = true;
|
|
15457
15460
|
// trigger messageBegin when item enter
|
|
15458
|
-
if (this.
|
|
15459
|
-
|
|
15460
|
-
|
|
15461
|
-
|
|
15461
|
+
if (this.lastTime <= this.item.time) {
|
|
15462
|
+
if (this.item.time >= 0 && this.lastTime < 0) {
|
|
15463
|
+
var _this_item_composition;
|
|
15464
|
+
var options = this.item.props.content.options;
|
|
15465
|
+
(_this_item_composition = this.item.composition) == null ? void 0 : _this_item_composition.addInteractiveItem(this.item, options.type);
|
|
15466
|
+
}
|
|
15467
|
+
} else {
|
|
15468
|
+
// loop trigger
|
|
15469
|
+
if (this.item.time >= 0) {
|
|
15470
|
+
var _this_item_composition1;
|
|
15471
|
+
var options1 = this.item.props.content.options;
|
|
15472
|
+
(_this_item_composition1 = this.item.composition) == null ? void 0 : _this_item_composition1.addInteractiveItem(this.item, options1.type);
|
|
15473
|
+
}
|
|
15462
15474
|
}
|
|
15475
|
+
this.lastTime = this.item.time;
|
|
15463
15476
|
(_this_previewContent = this.previewContent) == null ? void 0 : _this_previewContent.updateMesh();
|
|
15464
15477
|
if (!this.dragEvent || !this.bouncingArg) {
|
|
15465
15478
|
return;
|
|
@@ -18591,6 +18604,7 @@ function modifyMaxKeyframeShader(shader, maxVertex, maxFrag) {
|
|
|
18591
18604
|
this.particleMesh.mesh.material.setVector4("uParams", uParams.set(time, this.item.duration, 0, 0));
|
|
18592
18605
|
};
|
|
18593
18606
|
_proto.render = function render(renderer) {
|
|
18607
|
+
this.maskManager.drawStencilMask(renderer);
|
|
18594
18608
|
for(var _iterator = _create_for_of_iterator_helper_loose(this.meshes), _step; !(_step = _iterator()).done;){
|
|
18595
18609
|
var mesh = _step.value;
|
|
18596
18610
|
mesh.render(renderer);
|
|
@@ -19540,6 +19554,7 @@ exports.ParticleSystem = /*#__PURE__*/ function(Component) {
|
|
|
19540
19554
|
}
|
|
19541
19555
|
this.renderer = new ParticleSystemRenderer(this.engine, particleMeshProps, trailMeshProps);
|
|
19542
19556
|
this.renderer.item = this.item;
|
|
19557
|
+
this.renderer.maskManager = this.maskManager;
|
|
19543
19558
|
this.meshes = this.renderer.meshes;
|
|
19544
19559
|
var interaction = props.interaction;
|
|
19545
19560
|
if (interaction) {
|
|
@@ -31623,7 +31638,7 @@ registerPlugin("sprite", SpriteLoader, exports.VFXItem);
|
|
|
31623
31638
|
registerPlugin("particle", ParticleLoader, exports.VFXItem);
|
|
31624
31639
|
registerPlugin("cal", CalculateLoader, exports.VFXItem);
|
|
31625
31640
|
registerPlugin("interact", InteractLoader, exports.VFXItem);
|
|
31626
|
-
var version = "2.4.0-beta.
|
|
31641
|
+
var version = "2.4.0-beta.3";
|
|
31627
31642
|
logger.info("Core version: " + version + ".");
|
|
31628
31643
|
|
|
31629
31644
|
exports.AbstractPlugin = AbstractPlugin;
|