@galacean/effects-threejs 2.5.0-alpha.0 → 2.5.0-alpha.1
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 +65 -43
- 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 +65 -44
- 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.5.0-alpha.
|
|
6
|
+
* Version: v2.5.0-alpha.1
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
'use strict';
|
|
@@ -702,6 +702,17 @@ function asserts(condition, msg) {
|
|
|
702
702
|
return /^[^\d.][\w-]*$/.test(fontFamily);
|
|
703
703
|
}
|
|
704
704
|
|
|
705
|
+
/**
|
|
706
|
+
* Simple implementation of the deferred pattern.
|
|
707
|
+
* An object that exposes a promise and functions to resolve and reject it.
|
|
708
|
+
*/ var Deferred = function Deferred() {
|
|
709
|
+
var _this = this;
|
|
710
|
+
this.promise = new Promise(function(resolve, reject) {
|
|
711
|
+
_this.resolve = resolve;
|
|
712
|
+
_this.reject = reject;
|
|
713
|
+
});
|
|
714
|
+
};
|
|
715
|
+
|
|
705
716
|
var prefix = "[Galacean Effects]";
|
|
706
717
|
var localLogger;
|
|
707
718
|
function format(message) {
|
|
@@ -7647,6 +7658,8 @@ exports.MaterialRenderType = void 0;
|
|
|
7647
7658
|
var MaskProcessor = /*#__PURE__*/ function() {
|
|
7648
7659
|
function MaskProcessor(engine) {
|
|
7649
7660
|
this.engine = engine;
|
|
7661
|
+
this.alphaMaskEnabled = false;
|
|
7662
|
+
this.maskMode = exports.MaskMode.NONE;
|
|
7650
7663
|
this.maskable = null;
|
|
7651
7664
|
this.stencilClearAction = {
|
|
7652
7665
|
stencilAction: exports.TextureLoadAction.clear
|
|
@@ -7657,19 +7670,17 @@ var MaskProcessor = /*#__PURE__*/ function() {
|
|
|
7657
7670
|
return 1;
|
|
7658
7671
|
};
|
|
7659
7672
|
_proto.getMaskMode = function getMaskMode(data) {
|
|
7660
|
-
var
|
|
7661
|
-
|
|
7662
|
-
|
|
7663
|
-
|
|
7664
|
-
|
|
7665
|
-
|
|
7666
|
-
|
|
7667
|
-
|
|
7668
|
-
this.maskable = ref;
|
|
7669
|
-
}
|
|
7673
|
+
var _data_isMask = data.isMask, isMask = _data_isMask === void 0 ? false : _data_isMask, _data_inverted = data.inverted, inverted = _data_inverted === void 0 ? false : _data_inverted, reference = data.reference, _data_alphaMaskEnabled = data.alphaMaskEnabled, alphaMaskEnabled = _data_alphaMaskEnabled === void 0 ? false : _data_alphaMaskEnabled;
|
|
7674
|
+
this.alphaMaskEnabled = alphaMaskEnabled;
|
|
7675
|
+
if (isMask) {
|
|
7676
|
+
this.maskMode = exports.MaskMode.MASK;
|
|
7677
|
+
} else {
|
|
7678
|
+
this.maskMode = inverted ? exports.MaskMode.REVERSE_OBSCURED : exports.MaskMode.OBSCURED;
|
|
7679
|
+
if (reference) {
|
|
7680
|
+
this.maskable = this.engine.findObject(reference);
|
|
7670
7681
|
}
|
|
7671
7682
|
}
|
|
7672
|
-
return maskMode;
|
|
7683
|
+
return this.maskMode;
|
|
7673
7684
|
};
|
|
7674
7685
|
_proto.drawStencilMask = function drawStencilMask(renderer) {
|
|
7675
7686
|
if (this.maskable) {
|
|
@@ -12513,9 +12524,7 @@ var singleSplits = [
|
|
|
12513
12524
|
occlusion: false,
|
|
12514
12525
|
transparentOcclusion: false,
|
|
12515
12526
|
side: SideMode.DOUBLE,
|
|
12516
|
-
|
|
12517
|
-
mask: 0,
|
|
12518
|
-
alphaMask: false
|
|
12527
|
+
mask: 0
|
|
12519
12528
|
};
|
|
12520
12529
|
_this.defaultGeometry = Geometry.create(_this.engine, {
|
|
12521
12530
|
attributes: {
|
|
@@ -12805,7 +12814,8 @@ var singleSplits = [
|
|
|
12805
12814
|
return geometry;
|
|
12806
12815
|
};
|
|
12807
12816
|
_proto.configureMaterial = function configureMaterial(renderer) {
|
|
12808
|
-
var side = renderer.side, occlusion = renderer.occlusion, blendMode = renderer.blending,
|
|
12817
|
+
var side = renderer.side, occlusion = renderer.occlusion, blendMode = renderer.blending, mask = renderer.mask, texture = renderer.texture;
|
|
12818
|
+
var maskMode = this.maskManager.maskMode;
|
|
12809
12819
|
var material = this.material;
|
|
12810
12820
|
material.blending = true;
|
|
12811
12821
|
material.depthTest = true;
|
|
@@ -12826,9 +12836,9 @@ var singleSplits = [
|
|
|
12826
12836
|
texParams.x = renderer.occlusion ? +renderer.transparentOcclusion : 1;
|
|
12827
12837
|
texParams.y = preMultiAlpha;
|
|
12828
12838
|
texParams.z = renderer.renderMode;
|
|
12829
|
-
texParams.w =
|
|
12839
|
+
texParams.w = maskMode;
|
|
12830
12840
|
material.setVector4("_TexParams", texParams);
|
|
12831
|
-
if (texParams.x === 0 ||
|
|
12841
|
+
if (texParams.x === 0 || this.maskManager.alphaMaskEnabled) {
|
|
12832
12842
|
material.enableMacro("ALPHA_CLIP");
|
|
12833
12843
|
} else {
|
|
12834
12844
|
material.disableMacro("ALPHA_CLIP");
|
|
@@ -12855,11 +12865,10 @@ var singleSplits = [
|
|
|
12855
12865
|
var renderer = (_baseRenderComponentData_renderer = baseRenderComponentData.renderer) != null ? _baseRenderComponentData_renderer : {};
|
|
12856
12866
|
var splits = baseRenderComponentData.splits;
|
|
12857
12867
|
var textureSheetAnimation = baseRenderComponentData.textureSheetAnimation;
|
|
12858
|
-
var
|
|
12859
|
-
if (
|
|
12860
|
-
|
|
12868
|
+
var maskOptions = baseRenderComponentData.mask;
|
|
12869
|
+
if (maskOptions) {
|
|
12870
|
+
this.maskManager.getMaskMode(maskOptions);
|
|
12861
12871
|
}
|
|
12862
|
-
var maskMode = this.maskManager.getMaskMode(data);
|
|
12863
12872
|
// TODO 新蒙板上线后移除
|
|
12864
12873
|
//-------------------------------------------------------------------------
|
|
12865
12874
|
var shapeData = renderer.shape;
|
|
@@ -12871,19 +12880,16 @@ var singleSplits = [
|
|
|
12871
12880
|
//-------------------------------------------------------------------------
|
|
12872
12881
|
this.splits = splits || singleSplits;
|
|
12873
12882
|
this.textureSheetAnimation = textureSheetAnimation;
|
|
12874
|
-
var _renderer_renderMode, _renderer_blending, _renderer_side
|
|
12883
|
+
var _renderer_renderMode, _renderer_blending, _renderer_side;
|
|
12875
12884
|
this.renderer = {
|
|
12876
12885
|
renderMode: (_renderer_renderMode = renderer.renderMode) != null ? _renderer_renderMode : RenderMode.MESH,
|
|
12877
12886
|
blending: (_renderer_blending = renderer.blending) != null ? _renderer_blending : BlendingMode.ALPHA,
|
|
12878
12887
|
texture: renderer.texture ? this.engine.findObject(renderer.texture) : this.engine.emptyTexture,
|
|
12879
12888
|
occlusion: !!renderer.occlusion,
|
|
12880
|
-
transparentOcclusion: !!renderer.transparentOcclusion || maskMode === exports.MaskMode.MASK,
|
|
12889
|
+
transparentOcclusion: !!renderer.transparentOcclusion || this.maskManager.maskMode === exports.MaskMode.MASK,
|
|
12881
12890
|
side: (_renderer_side = renderer.side) != null ? _renderer_side : SideMode.DOUBLE,
|
|
12882
12891
|
mask: this.maskManager.getRefValue(),
|
|
12883
|
-
shape: shapeGeometry
|
|
12884
|
-
maskMode: maskMode,
|
|
12885
|
-
//@ts-expect-error TODO 新蒙版兼容老数据需要增加纹理透明度蒙版是否开启参数
|
|
12886
|
-
alphaMask: (_renderer_alphaMask = renderer.alphaMask) != null ? _renderer_alphaMask : false
|
|
12892
|
+
shape: shapeGeometry
|
|
12887
12893
|
};
|
|
12888
12894
|
this.configureMaterial(this.renderer);
|
|
12889
12895
|
if (baseRenderComponentData.geometry) {
|
|
@@ -13226,17 +13232,15 @@ exports.ShapeComponent = /*#__PURE__*/ function(BaseRenderComponent) {
|
|
|
13226
13232
|
break;
|
|
13227
13233
|
}
|
|
13228
13234
|
}
|
|
13229
|
-
|
|
13230
|
-
|
|
13231
|
-
maskProps.ref = this.engine.findObject(maskProps.ref);
|
|
13235
|
+
if (data.mask) {
|
|
13236
|
+
this.maskManager.getMaskMode(data.mask);
|
|
13232
13237
|
}
|
|
13233
|
-
var maskMode = this.maskManager.getMaskMode(data);
|
|
13234
13238
|
var maskRef = this.maskManager.getRefValue();
|
|
13235
13239
|
this.material.stencilRef = maskRef !== undefined ? [
|
|
13236
13240
|
maskRef,
|
|
13237
13241
|
maskRef
|
|
13238
13242
|
] : undefined;
|
|
13239
|
-
setMaskMode(this.material, maskMode);
|
|
13243
|
+
setMaskMode(this.material, this.maskManager.maskMode);
|
|
13240
13244
|
};
|
|
13241
13245
|
_create_class(ShapeComponent, [
|
|
13242
13246
|
{
|
|
@@ -19711,11 +19715,7 @@ exports.ParticleSystem = /*#__PURE__*/ function(Component) {
|
|
|
19711
19715
|
var maskMode = exports.MaskMode.NONE;
|
|
19712
19716
|
var maskRef = 0;
|
|
19713
19717
|
if (data.mask) {
|
|
19714
|
-
|
|
19715
|
-
if (maskProps && maskProps.ref) {
|
|
19716
|
-
maskProps.ref = this.engine.findObject(maskProps.ref);
|
|
19717
|
-
}
|
|
19718
|
-
maskMode = this.maskManager.getMaskMode(data);
|
|
19718
|
+
maskMode = this.maskManager.getMaskMode(data.mask);
|
|
19719
19719
|
maskRef = this.maskManager.getRefValue();
|
|
19720
19720
|
}
|
|
19721
19721
|
return {
|
|
@@ -27568,13 +27568,13 @@ function processMask(renderContent) {
|
|
|
27568
27568
|
}
|
|
27569
27569
|
if (maskMode === exports.MaskMode.MASK) {
|
|
27570
27570
|
renderContent.mask = {
|
|
27571
|
-
|
|
27571
|
+
isMask: true
|
|
27572
27572
|
};
|
|
27573
27573
|
currentMaskComponent = renderContent.id;
|
|
27574
27574
|
} else if (maskMode === ObscuredMode.OBSCURED || maskMode === ObscuredMode.REVERSE_OBSCURED) {
|
|
27575
27575
|
renderContent.mask = {
|
|
27576
|
-
|
|
27577
|
-
|
|
27576
|
+
inverted: maskMode === ObscuredMode.REVERSE_OBSCURED ? true : false,
|
|
27577
|
+
reference: {
|
|
27578
27578
|
"id": currentMaskComponent
|
|
27579
27579
|
}
|
|
27580
27580
|
};
|
|
@@ -28398,6 +28398,7 @@ function getStandardSpriteContent(sprite, transform) {
|
|
|
28398
28398
|
return ret;
|
|
28399
28399
|
}
|
|
28400
28400
|
|
|
28401
|
+
var version$2 = "2.5.0-alpha.1";
|
|
28401
28402
|
var v0 = /^(\d+)\.(\d+)\.(\d+)(-(\w+)\.\d+)?$/;
|
|
28402
28403
|
var standardVersion = /^(\d+)\.(\d+)$/;
|
|
28403
28404
|
var reverseParticle = false;
|
|
@@ -28405,6 +28406,11 @@ function getStandardJSON(json) {
|
|
|
28405
28406
|
if (!json || typeof json !== "object") {
|
|
28406
28407
|
throw new Error("Invalid input: Expected a JSON object.");
|
|
28407
28408
|
}
|
|
28409
|
+
// 如果 JSON 中的 runtime 版本高于当前运行时版本,则发出警告
|
|
28410
|
+
if (checkRuntimeVersion(json)) {
|
|
28411
|
+
var _json_playerVersion;
|
|
28412
|
+
console.warn("The JSON need higher than " + ((_json_playerVersion = json.playerVersion) == null ? void 0 : _json_playerVersion.web) + " runtime version(current: " + version$2 + "). Some features may not work as expected.");
|
|
28413
|
+
}
|
|
28408
28414
|
// 修正老版本数据中,meshItem 以及 lightItem 结束行为错误问题
|
|
28409
28415
|
version22Migration(json);
|
|
28410
28416
|
if (v0.test(json.version)) {
|
|
@@ -28720,6 +28726,21 @@ function getStandardItem(item, opt) {
|
|
|
28720
28726
|
return {};
|
|
28721
28727
|
}
|
|
28722
28728
|
}
|
|
28729
|
+
/**
|
|
28730
|
+
* 检查 json.playerVersion.web 的版本号是否低于当前 runtime 的版本
|
|
28731
|
+
*/ function checkRuntimeVersion(json) {
|
|
28732
|
+
var _ref = json.playerVersion || {}, _ref_web = _ref.web, web = _ref_web === void 0 ? "" : _ref_web;
|
|
28733
|
+
if (web) {
|
|
28734
|
+
var _v0_exec;
|
|
28735
|
+
var jsonVersionMatch = (_v0_exec = v0.exec(web)) != null ? _v0_exec : [];
|
|
28736
|
+
var _v0_exec1;
|
|
28737
|
+
var runtimeVersionMatch = (_v0_exec1 = v0.exec(version$2)) != null ? _v0_exec1 : [];
|
|
28738
|
+
var major = jsonVersionMatch[1], minor = jsonVersionMatch[2];
|
|
28739
|
+
var currentMajor = runtimeVersionMatch[1], currentMinor = runtimeVersionMatch[2];
|
|
28740
|
+
return Number(currentMajor) < Number(major) || Number(currentMajor) === Number(major) && Number(currentMinor) < Number(minor);
|
|
28741
|
+
}
|
|
28742
|
+
return false;
|
|
28743
|
+
}
|
|
28723
28744
|
|
|
28724
28745
|
var _obj$1;
|
|
28725
28746
|
/**
|
|
@@ -31627,7 +31648,7 @@ registerPlugin("sprite", SpriteLoader, exports.VFXItem);
|
|
|
31627
31648
|
registerPlugin("particle", ParticleLoader, exports.VFXItem);
|
|
31628
31649
|
registerPlugin("cal", CalculateLoader, exports.VFXItem);
|
|
31629
31650
|
registerPlugin("interact", InteractLoader, exports.VFXItem);
|
|
31630
|
-
var version$1 = "2.5.0-alpha.
|
|
31651
|
+
var version$1 = "2.5.0-alpha.1";
|
|
31631
31652
|
logger.info("Core version: " + version$1 + ".");
|
|
31632
31653
|
|
|
31633
31654
|
var _obj;
|
|
@@ -33229,7 +33250,7 @@ setMaxSpriteMeshItemCount(8);
|
|
|
33229
33250
|
*/ Mesh.create = function(engine, props) {
|
|
33230
33251
|
return new ThreeMesh(engine, props);
|
|
33231
33252
|
};
|
|
33232
|
-
var version = "2.5.0-alpha.
|
|
33253
|
+
var version = "2.5.0-alpha.1";
|
|
33233
33254
|
logger.info("THREEJS plugin version: " + version + ".");
|
|
33234
33255
|
|
|
33235
33256
|
exports.AbstractPlugin = AbstractPlugin;
|
|
@@ -33261,6 +33282,7 @@ exports.Composition = Composition;
|
|
|
33261
33282
|
exports.DEFAULT_FONTS = DEFAULT_FONTS;
|
|
33262
33283
|
exports.DEFAULT_FPS = DEFAULT_FPS;
|
|
33263
33284
|
exports.Database = Database;
|
|
33285
|
+
exports.Deferred = Deferred;
|
|
33264
33286
|
exports.Downloader = Downloader;
|
|
33265
33287
|
exports.EFFECTS_COPY_MESH_NAME = EFFECTS_COPY_MESH_NAME;
|
|
33266
33288
|
exports.EVENT_TYPE_CLICK = EVENT_TYPE_CLICK;
|