@galacean/engine-core 1.1.0-beta.5 → 1.1.0-beta.7
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/main.js +230 -219
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +230 -219
- package/dist/module.js +219 -220
- package/dist/module.js.map +1 -1
- package/package.json +3 -3
- package/types/Background.d.ts +6 -0
- package/types/particle/ParticleGenerator.d.ts +0 -2
- package/types/particle/index.d.ts +10 -0
- package/types/particle/modules/ParticleGeneratorModule.d.ts +0 -1
package/dist/miniprogram.js
CHANGED
|
@@ -15747,8 +15747,8 @@ exports.Joint = __decorate([
|
|
|
15747
15747
|
continue;
|
|
15748
15748
|
}
|
|
15749
15749
|
var cameras = scene._activeCameras;
|
|
15750
|
-
for(var j =
|
|
15751
|
-
var camera = cameras[
|
|
15750
|
+
for(var j = cameras.length - 1; j >= 0; j--){
|
|
15751
|
+
var camera = cameras[j];
|
|
15752
15752
|
if (!camera.enabled || camera.renderTarget) {
|
|
15753
15753
|
continue;
|
|
15754
15754
|
}
|
|
@@ -17063,24 +17063,23 @@ ShaderPool.init();
|
|
|
17063
17063
|
/**
|
|
17064
17064
|
* @internal
|
|
17065
17065
|
*/ _proto.destroy = function destroy() {
|
|
17066
|
+
this.texture = null;
|
|
17066
17067
|
this._mesh._addReferCount(-1);
|
|
17067
17068
|
this._mesh = null;
|
|
17068
17069
|
this._material._addReferCount(-1);
|
|
17069
17070
|
this._material = null;
|
|
17070
|
-
this.texture = null;
|
|
17071
17071
|
this.solidColor = null;
|
|
17072
17072
|
this.sky.destroy();
|
|
17073
17073
|
};
|
|
17074
17074
|
/**
|
|
17075
17075
|
* @internal
|
|
17076
17076
|
*/ _proto._resizeBackgroundTexture = function _resizeBackgroundTexture() {
|
|
17077
|
+
var _this = this, texture = _this._texture, mesh = _this._mesh;
|
|
17077
17078
|
if (!this._texture) {
|
|
17078
17079
|
return;
|
|
17079
17080
|
}
|
|
17080
|
-
var
|
|
17081
|
-
var
|
|
17082
|
-
var _this = this, _backgroundTextureMesh = _this._mesh;
|
|
17083
|
-
var positions = _backgroundTextureMesh.getPositions();
|
|
17081
|
+
var _this__engine_canvas = this._engine.canvas, width = _this__engine_canvas.width, height = _this__engine_canvas.height;
|
|
17082
|
+
var positions = mesh.getPositions();
|
|
17084
17083
|
switch(this._textureFillMode){
|
|
17085
17084
|
case exports.BackgroundTextureFillMode.Fill:
|
|
17086
17085
|
positions[0].set(-1, -1, 1);
|
|
@@ -17089,22 +17088,22 @@ ShaderPool.init();
|
|
|
17089
17088
|
positions[3].set(1, 1, 1);
|
|
17090
17089
|
break;
|
|
17091
17090
|
case exports.BackgroundTextureFillMode.AspectFitWidth:
|
|
17092
|
-
var fitWidthScale =
|
|
17091
|
+
var fitWidthScale = texture.height * width / texture.width / height;
|
|
17093
17092
|
positions[0].set(-1, -fitWidthScale, 1);
|
|
17094
17093
|
positions[1].set(1, -fitWidthScale, 1);
|
|
17095
17094
|
positions[2].set(-1, fitWidthScale, 1);
|
|
17096
17095
|
positions[3].set(1, fitWidthScale, 1);
|
|
17097
17096
|
break;
|
|
17098
17097
|
case exports.BackgroundTextureFillMode.AspectFitHeight:
|
|
17099
|
-
var fitHeightScale =
|
|
17098
|
+
var fitHeightScale = texture.width * height / texture.height / width;
|
|
17100
17099
|
positions[0].set(-fitHeightScale, -1, 1);
|
|
17101
17100
|
positions[1].set(fitHeightScale, -1, 1);
|
|
17102
17101
|
positions[2].set(-fitHeightScale, 1, 1);
|
|
17103
17102
|
positions[3].set(fitHeightScale, 1, 1);
|
|
17104
17103
|
break;
|
|
17105
17104
|
}
|
|
17106
|
-
|
|
17107
|
-
|
|
17105
|
+
mesh.setPositions(positions);
|
|
17106
|
+
mesh.uploadData(false);
|
|
17108
17107
|
};
|
|
17109
17108
|
_proto._initMesh = function _initMesh(engine) {
|
|
17110
17109
|
this._mesh = this._createPlane(engine);
|
|
@@ -17155,13 +17154,13 @@ ShaderPool.init();
|
|
|
17155
17154
|
(_this__texture = this._texture) == null ? void 0 : _this__texture._addReferCount(-1);
|
|
17156
17155
|
this._texture = value;
|
|
17157
17156
|
this._material.shaderData.setTexture("material_BaseTexture", value);
|
|
17157
|
+
this._resizeBackgroundTexture();
|
|
17158
17158
|
}
|
|
17159
17159
|
}
|
|
17160
17160
|
},
|
|
17161
17161
|
{
|
|
17162
17162
|
key: "textureFillMode",
|
|
17163
17163
|
get: /**
|
|
17164
|
-
* @internal
|
|
17165
17164
|
* Background texture fill mode.
|
|
17166
17165
|
* @remarks When `mode` is `BackgroundMode.Texture`, the property will take effects.
|
|
17167
17166
|
* @defaultValue `BackgroundTextureFillMode.FitHeight`
|
|
@@ -17312,7 +17311,7 @@ ShaderPool.init();
|
|
|
17312
17311
|
var _this = this, pendingDestroyScripts = _this._disposeDestroyScripts, disposeDestroyScripts = _this._pendingDestroyScripts;
|
|
17313
17312
|
this._disposeDestroyScripts = disposeDestroyScripts;
|
|
17314
17313
|
this._pendingDestroyScripts = pendingDestroyScripts;
|
|
17315
|
-
length = disposeDestroyScripts.length;
|
|
17314
|
+
var length = disposeDestroyScripts.length;
|
|
17316
17315
|
if (length > 0) {
|
|
17317
17316
|
for(var i = length - 1; i >= 0; i--){
|
|
17318
17317
|
disposeDestroyScripts[i].onDestroy();
|
|
@@ -27032,64 +27031,203 @@ exports.SunMode = void 0;
|
|
|
27032
27031
|
SkyProceduralMaterial._sunSimpleMacro = ShaderMacro.getByName("MATERIAL_SUN_SIMPLE");
|
|
27033
27032
|
})();
|
|
27034
27033
|
|
|
27034
|
+
var SubPrimitive = function SubPrimitive() {
|
|
27035
|
+
};
|
|
27036
|
+
|
|
27035
27037
|
/**
|
|
27036
|
-
*
|
|
27037
|
-
*/
|
|
27038
|
-
|
|
27039
|
-
|
|
27038
|
+
* The rendering mode for particle renderer.
|
|
27039
|
+
*/ exports.ParticleRenderMode = void 0;
|
|
27040
|
+
(function(ParticleRenderMode) {
|
|
27041
|
+
ParticleRenderMode[ParticleRenderMode[/** Render particles as billboards facing the active camera. */ "Billboard"] = 0] = "Billboard";
|
|
27042
|
+
ParticleRenderMode[ParticleRenderMode[/** Stretch particles in the direction of motion. */ "StretchBillboard"] = 1] = "StretchBillboard";
|
|
27043
|
+
ParticleRenderMode[ParticleRenderMode[/** Render particles as billboards always facing up along the y-Axis. */ "HorizontalBillboard"] = 2] = "HorizontalBillboard";
|
|
27044
|
+
ParticleRenderMode[ParticleRenderMode[/** Render particles as billboards always facing the player, but not pitching along the x-Axis. */ "VerticalBillboard"] = 3] = "VerticalBillboard";
|
|
27045
|
+
ParticleRenderMode[ParticleRenderMode[/** Render particles as meshes. */ "Mesh"] = 4] = "Mesh";
|
|
27046
|
+
ParticleRenderMode[ParticleRenderMode[/** Do not render particles. */ "None"] = 5] = "None";
|
|
27047
|
+
})(exports.ParticleRenderMode || (exports.ParticleRenderMode = {}));
|
|
27048
|
+
|
|
27049
|
+
exports.ParticleStopMode = void 0;
|
|
27050
|
+
(function(ParticleStopMode) {
|
|
27051
|
+
ParticleStopMode[ParticleStopMode[/** Stop emitting new particles and clear existing particles immediately. */ "StopEmittingAndClear"] = 0] = "StopEmittingAndClear";
|
|
27052
|
+
ParticleStopMode[ParticleStopMode[/** Stop emitting new particles, but keep existing particles until they expire. */ "StopEmitting"] = 1] = "StopEmitting";
|
|
27053
|
+
})(exports.ParticleStopMode || (exports.ParticleStopMode = {}));
|
|
27054
|
+
|
|
27055
|
+
/**
|
|
27056
|
+
* Particle Renderer Component.
|
|
27057
|
+
*/ var ParticleRenderer = /*#__PURE__*/ function(Renderer1) {
|
|
27058
|
+
_inherits(ParticleRenderer, Renderer1);
|
|
27059
|
+
function ParticleRenderer(entity) {
|
|
27040
27060
|
var _this;
|
|
27041
|
-
_this =
|
|
27042
|
-
|
|
27043
|
-
|
|
27044
|
-
|
|
27045
|
-
_this.
|
|
27061
|
+
_this = Renderer1.call(this, entity) || this;
|
|
27062
|
+
/** Particle generator. */ _this.generator = new ParticleGenerator(_assert_this_initialized(_this));
|
|
27063
|
+
/** Specifies how much particles stretch depending on their velocity. */ _this.velocityScale = 0;
|
|
27064
|
+
/** How much are the particles stretched in their direction of motion, defined as the length of the particle compared to its width. */ _this.lengthScale = 2;
|
|
27065
|
+
/** The pivot of particle. */ _this.pivot = new miniprogram.Vector3();
|
|
27066
|
+
_this._currentRenderModeMacro = ParticleRenderer._billboardModeMacro;
|
|
27067
|
+
_this.shaderData.enableMacro(ParticleRenderer._billboardModeMacro);
|
|
27068
|
+
_this._supportInstancedArrays = _this.engine._hardwareRenderer.canIUse(exports.GLCapabilityType.instancedArrays);
|
|
27046
27069
|
return _this;
|
|
27047
27070
|
}
|
|
27048
|
-
var _proto =
|
|
27071
|
+
var _proto = ParticleRenderer.prototype;
|
|
27049
27072
|
/**
|
|
27050
|
-
* @
|
|
27051
|
-
*/ _proto.
|
|
27052
|
-
|
|
27053
|
-
|
|
27054
|
-
|
|
27073
|
+
* @internal
|
|
27074
|
+
*/ _proto._onEnable = function _onEnable() {
|
|
27075
|
+
if (this.generator.main.playOnEnabled) {
|
|
27076
|
+
this.generator.play(false);
|
|
27077
|
+
}
|
|
27055
27078
|
};
|
|
27056
|
-
|
|
27079
|
+
/**
|
|
27080
|
+
* @internal
|
|
27081
|
+
*/ _proto._onDisable = function _onDisable() {
|
|
27082
|
+
this.generator.stop(false, exports.ParticleStopMode.StopEmittingAndClear);
|
|
27083
|
+
};
|
|
27084
|
+
/**
|
|
27085
|
+
* @internal
|
|
27086
|
+
*/ _proto._prepareRender = function _prepareRender(context) {
|
|
27087
|
+
if (!this._supportInstancedArrays) {
|
|
27088
|
+
return;
|
|
27089
|
+
}
|
|
27090
|
+
var generator = this.generator;
|
|
27091
|
+
generator._update(this.engine.time.deltaTime);
|
|
27092
|
+
// No particles to render
|
|
27093
|
+
if (generator._firstActiveElement === generator._firstFreeElement) {
|
|
27094
|
+
return;
|
|
27095
|
+
}
|
|
27096
|
+
Renderer1.prototype._prepareRender.call(this, context);
|
|
27097
|
+
};
|
|
27098
|
+
/**
|
|
27099
|
+
* @internal
|
|
27100
|
+
*/ _proto._updateBounds = function _updateBounds(worldBounds) {
|
|
27101
|
+
worldBounds.min.set(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE);
|
|
27102
|
+
worldBounds.max.set(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);
|
|
27103
|
+
};
|
|
27104
|
+
/**
|
|
27105
|
+
* @internal
|
|
27106
|
+
*/ _proto._updateShaderData = function _updateShaderData(context) {
|
|
27107
|
+
var shaderData = this.shaderData;
|
|
27108
|
+
shaderData.setFloat(ParticleRenderer._lengthScale, this.lengthScale);
|
|
27109
|
+
shaderData.setFloat(ParticleRenderer._speedScale, this.velocityScale);
|
|
27110
|
+
shaderData.setFloat(ParticleRenderer._currentTime, this.generator._playTime);
|
|
27111
|
+
shaderData.setVector3(ParticleRenderer._pivotOffsetProperty, this.pivot);
|
|
27112
|
+
this.generator._updateShaderData(shaderData);
|
|
27113
|
+
};
|
|
27114
|
+
_proto._render = function _render(context) {
|
|
27115
|
+
var generator = this.generator;
|
|
27116
|
+
var primitive = generator._primitive;
|
|
27117
|
+
if (generator._firstActiveElement < generator._firstFreeElement) {
|
|
27118
|
+
primitive.instanceCount = generator._firstFreeElement - generator._firstActiveElement;
|
|
27119
|
+
} else {
|
|
27120
|
+
var instanceCount = generator._currentParticleCount - generator._firstActiveElement;
|
|
27121
|
+
if (generator._firstFreeElement > 0) {
|
|
27122
|
+
instanceCount += generator._firstFreeElement;
|
|
27123
|
+
}
|
|
27124
|
+
primitive.instanceCount = instanceCount;
|
|
27125
|
+
}
|
|
27126
|
+
var material = this.getMaterial();
|
|
27127
|
+
var renderData = this._engine._renderDataPool.getFromPool();
|
|
27128
|
+
renderData.setX(this, material, generator._primitive, generator._subPrimitive);
|
|
27129
|
+
context.camera._renderPipeline.pushRenderData(context, renderData);
|
|
27130
|
+
};
|
|
27131
|
+
_proto._onDestroy = function _onDestroy() {
|
|
27132
|
+
this.generator._destroy();
|
|
27133
|
+
};
|
|
27134
|
+
_create_class(ParticleRenderer, [
|
|
27057
27135
|
{
|
|
27058
|
-
key: "
|
|
27136
|
+
key: "renderMode",
|
|
27059
27137
|
get: /**
|
|
27060
|
-
*
|
|
27138
|
+
* Specifies how particles are rendered.
|
|
27061
27139
|
*/ function get() {
|
|
27062
|
-
return this.
|
|
27140
|
+
return this._renderMode;
|
|
27063
27141
|
},
|
|
27064
27142
|
set: function set(value) {
|
|
27065
|
-
|
|
27066
|
-
|
|
27067
|
-
|
|
27143
|
+
if (this._renderMode !== value) {
|
|
27144
|
+
var lastRenderMode = this._renderMode;
|
|
27145
|
+
this._renderMode = value;
|
|
27146
|
+
var renderModeMacro = null;
|
|
27147
|
+
var shaderData = this.shaderData;
|
|
27148
|
+
switch(value){
|
|
27149
|
+
case exports.ParticleRenderMode.Billboard:
|
|
27150
|
+
renderModeMacro = ParticleRenderer._billboardModeMacro;
|
|
27151
|
+
break;
|
|
27152
|
+
case exports.ParticleRenderMode.StretchBillboard:
|
|
27153
|
+
renderModeMacro = ParticleRenderer._stretchedBillboardModeMacro;
|
|
27154
|
+
break;
|
|
27155
|
+
case exports.ParticleRenderMode.HorizontalBillboard:
|
|
27156
|
+
throw "Not implemented";
|
|
27157
|
+
case exports.ParticleRenderMode.VerticalBillboard:
|
|
27158
|
+
throw "Not implemented";
|
|
27159
|
+
case exports.ParticleRenderMode.Mesh:
|
|
27160
|
+
throw "Not implemented";
|
|
27161
|
+
}
|
|
27162
|
+
if (this._currentRenderModeMacro !== renderModeMacro) {
|
|
27163
|
+
this._currentRenderModeMacro && shaderData.disableMacro(this._currentRenderModeMacro);
|
|
27164
|
+
renderModeMacro && shaderData.enableMacro(renderModeMacro);
|
|
27165
|
+
this._currentRenderModeMacro = renderModeMacro;
|
|
27166
|
+
}
|
|
27167
|
+
// @ts-ignore
|
|
27168
|
+
if (lastRenderMode !== exports.ParticleRenderMode.Mesh !== (value === exports.ParticleRenderMode.Mesh)) {
|
|
27169
|
+
this.generator._reorganizeGeometryBuffers();
|
|
27170
|
+
}
|
|
27068
27171
|
}
|
|
27069
27172
|
}
|
|
27070
27173
|
},
|
|
27071
27174
|
{
|
|
27072
|
-
key: "
|
|
27175
|
+
key: "mesh",
|
|
27073
27176
|
get: /**
|
|
27074
|
-
*
|
|
27177
|
+
* The mesh of particle.
|
|
27178
|
+
* @remarks Valid when `renderMode` is `Mesh`.
|
|
27075
27179
|
*/ function get() {
|
|
27076
|
-
return this.
|
|
27180
|
+
return this._mesh;
|
|
27077
27181
|
},
|
|
27078
27182
|
set: function set(value) {
|
|
27079
|
-
this.
|
|
27080
|
-
if (value) {
|
|
27081
|
-
|
|
27082
|
-
|
|
27083
|
-
|
|
27183
|
+
var lastMesh = this._mesh;
|
|
27184
|
+
if (lastMesh !== value) {
|
|
27185
|
+
var _lastMesh, _value;
|
|
27186
|
+
this._mesh = value;
|
|
27187
|
+
(_lastMesh = lastMesh) == null ? void 0 : _lastMesh._addReferCount(-1);
|
|
27188
|
+
(_value = value) == null ? void 0 : _value._addReferCount(1);
|
|
27189
|
+
if (this.renderMode === exports.ParticleRenderMode.Mesh) {
|
|
27190
|
+
this.generator._reorganizeGeometryBuffers();
|
|
27191
|
+
}
|
|
27084
27192
|
}
|
|
27085
27193
|
}
|
|
27086
27194
|
}
|
|
27087
27195
|
]);
|
|
27088
|
-
return
|
|
27089
|
-
}(
|
|
27090
|
-
|
|
27091
|
-
|
|
27092
|
-
};
|
|
27196
|
+
return ParticleRenderer;
|
|
27197
|
+
}(exports.Renderer);
|
|
27198
|
+
(function() {
|
|
27199
|
+
ParticleRenderer._billboardModeMacro = ShaderMacro.getByName("RENDERER_MODE_SPHERE_BILLBOARD");
|
|
27200
|
+
})();
|
|
27201
|
+
(function() {
|
|
27202
|
+
ParticleRenderer._stretchedBillboardModeMacro = ShaderMacro.getByName("RENDERER_MODE_STRETCHED_BILLBOARD");
|
|
27203
|
+
})();
|
|
27204
|
+
(function() {
|
|
27205
|
+
ParticleRenderer._horizontalBillboardModeMacro = ShaderMacro.getByName("RENDERER_MODE_HORIZONTAL_BILLBOARD");
|
|
27206
|
+
})();
|
|
27207
|
+
(function() {
|
|
27208
|
+
ParticleRenderer._verticalBillboardModeMacro = ShaderMacro.getByName("RENDERER_MODE_VERTICAL_BILLBOARD");
|
|
27209
|
+
})();
|
|
27210
|
+
(function() {
|
|
27211
|
+
ParticleRenderer._renderModeMeshMacro = ShaderMacro.getByName("RENDERER_MODE_MESH");
|
|
27212
|
+
})();
|
|
27213
|
+
(function() {
|
|
27214
|
+
ParticleRenderer._pivotOffsetProperty = ShaderProperty.getByName("renderer_PivotOffset");
|
|
27215
|
+
})();
|
|
27216
|
+
(function() {
|
|
27217
|
+
ParticleRenderer._lengthScale = ShaderProperty.getByName("renderer_StretchedBillboardLengthScale");
|
|
27218
|
+
})();
|
|
27219
|
+
(function() {
|
|
27220
|
+
ParticleRenderer._speedScale = ShaderProperty.getByName("renderer_StretchedBillboardSpeedScale");
|
|
27221
|
+
})();
|
|
27222
|
+
(function() {
|
|
27223
|
+
ParticleRenderer._currentTime = ShaderProperty.getByName("renderer_CurrentTime");
|
|
27224
|
+
})();
|
|
27225
|
+
__decorate([
|
|
27226
|
+
deepClone
|
|
27227
|
+
], ParticleRenderer.prototype, "generator", void 0);
|
|
27228
|
+
__decorate([
|
|
27229
|
+
shallowClone
|
|
27230
|
+
], ParticleRenderer.prototype, "pivot", void 0);
|
|
27093
27231
|
|
|
27094
27232
|
/**
|
|
27095
27233
|
* Particle curve mode.
|
|
@@ -27111,18 +27249,6 @@ var SubPrimitive = function SubPrimitive() {
|
|
|
27111
27249
|
ParticleGradientMode[ParticleGradientMode[/* Random value between two color gradients. */ "TwoGradients"] = 3] = "TwoGradients";
|
|
27112
27250
|
})(exports.ParticleGradientMode || (exports.ParticleGradientMode = {}));
|
|
27113
27251
|
|
|
27114
|
-
/**
|
|
27115
|
-
* The rendering mode for particle renderer.
|
|
27116
|
-
*/ exports.ParticleRenderMode = void 0;
|
|
27117
|
-
(function(ParticleRenderMode) {
|
|
27118
|
-
ParticleRenderMode[ParticleRenderMode[/** Render particles as billboards facing the active camera. */ "Billboard"] = 0] = "Billboard";
|
|
27119
|
-
ParticleRenderMode[ParticleRenderMode[/** Stretch particles in the direction of motion. */ "StretchBillboard"] = 1] = "StretchBillboard";
|
|
27120
|
-
ParticleRenderMode[ParticleRenderMode[/** Render particles as billboards always facing up along the y-Axis. */ "HorizontalBillboard"] = 2] = "HorizontalBillboard";
|
|
27121
|
-
ParticleRenderMode[ParticleRenderMode[/** Render particles as billboards always facing the player, but not pitching along the x-Axis. */ "VerticalBillboard"] = 3] = "VerticalBillboard";
|
|
27122
|
-
ParticleRenderMode[ParticleRenderMode[/** Render particles as meshes. */ "Mesh"] = 4] = "Mesh";
|
|
27123
|
-
ParticleRenderMode[ParticleRenderMode[/** Do not render particles. */ "None"] = 5] = "None";
|
|
27124
|
-
})(exports.ParticleRenderMode || (exports.ParticleRenderMode = {}));
|
|
27125
|
-
|
|
27126
27252
|
/**
|
|
27127
27253
|
* The space to simulate particles in.
|
|
27128
27254
|
*/ exports.ParticleSimulationSpace = void 0;
|
|
@@ -27131,12 +27257,6 @@ var SubPrimitive = function SubPrimitive() {
|
|
|
27131
27257
|
ParticleSimulationSpace[ParticleSimulationSpace[/** Simulate particles in world space. */ "World"] = 1] = "World";
|
|
27132
27258
|
})(exports.ParticleSimulationSpace || (exports.ParticleSimulationSpace = {}));
|
|
27133
27259
|
|
|
27134
|
-
exports.ParticleStopMode = void 0;
|
|
27135
|
-
(function(ParticleStopMode) {
|
|
27136
|
-
ParticleStopMode[ParticleStopMode[/** Stop emitting new particles and clear existing particles immediately. */ "StopEmittingAndClear"] = 0] = "StopEmittingAndClear";
|
|
27137
|
-
ParticleStopMode[ParticleStopMode[/** Stop emitting new particles, but keep existing particles until they expire. */ "StopEmitting"] = 1] = "StopEmitting";
|
|
27138
|
-
})(exports.ParticleStopMode || (exports.ParticleStopMode = {}));
|
|
27139
|
-
|
|
27140
27260
|
/**
|
|
27141
27261
|
* @internal
|
|
27142
27262
|
*/ var ParticleRandomSubSeeds;
|
|
@@ -29087,181 +29207,60 @@ __decorate([
|
|
|
29087
29207
|
], ParticleGenerator.prototype, "_instanceVertices", void 0);
|
|
29088
29208
|
|
|
29089
29209
|
/**
|
|
29090
|
-
* Particle
|
|
29091
|
-
*/ var
|
|
29092
|
-
_inherits(
|
|
29093
|
-
function
|
|
29210
|
+
* Particle Material.
|
|
29211
|
+
*/ var ParticleMaterial = /*#__PURE__*/ function(BaseMaterial1) {
|
|
29212
|
+
_inherits(ParticleMaterial, BaseMaterial1);
|
|
29213
|
+
function ParticleMaterial(engine) {
|
|
29094
29214
|
var _this;
|
|
29095
|
-
_this =
|
|
29096
|
-
|
|
29097
|
-
|
|
29098
|
-
|
|
29099
|
-
|
|
29100
|
-
_this._currentRenderModeMacro = ParticleRenderer._billboardModeMacro;
|
|
29101
|
-
_this.shaderData.enableMacro(ParticleRenderer._billboardModeMacro);
|
|
29102
|
-
_this._supportInstancedArrays = _this.engine._hardwareRenderer.canIUse(exports.GLCapabilityType.instancedArrays);
|
|
29215
|
+
_this = BaseMaterial1.call(this, engine, Shader.find("particle-shader")) || this;
|
|
29216
|
+
var shaderData = _this.shaderData;
|
|
29217
|
+
shaderData.enableMacro("MATERIAL_OMIT_NORMAL");
|
|
29218
|
+
shaderData.setColor(BaseMaterial._baseColorProp, new miniprogram.Color(1, 1, 1, 1));
|
|
29219
|
+
_this.isTransparent = true;
|
|
29103
29220
|
return _this;
|
|
29104
29221
|
}
|
|
29105
|
-
var _proto =
|
|
29106
|
-
/**
|
|
29107
|
-
* @internal
|
|
29108
|
-
*/ _proto._onEnable = function _onEnable() {
|
|
29109
|
-
if (this.generator.main.playOnEnabled) {
|
|
29110
|
-
this.generator.play(false);
|
|
29111
|
-
}
|
|
29112
|
-
};
|
|
29113
|
-
/**
|
|
29114
|
-
* @internal
|
|
29115
|
-
*/ _proto._onDisable = function _onDisable() {
|
|
29116
|
-
this.generator.stop(false, exports.ParticleStopMode.StopEmittingAndClear);
|
|
29117
|
-
};
|
|
29118
|
-
/**
|
|
29119
|
-
* @internal
|
|
29120
|
-
*/ _proto._prepareRender = function _prepareRender(context) {
|
|
29121
|
-
if (!this._supportInstancedArrays) {
|
|
29122
|
-
return;
|
|
29123
|
-
}
|
|
29124
|
-
var generator = this.generator;
|
|
29125
|
-
generator._update(this.engine.time.deltaTime);
|
|
29126
|
-
// No particles to render
|
|
29127
|
-
if (generator._firstActiveElement === generator._firstFreeElement) {
|
|
29128
|
-
return;
|
|
29129
|
-
}
|
|
29130
|
-
Renderer1.prototype._prepareRender.call(this, context);
|
|
29131
|
-
};
|
|
29132
|
-
/**
|
|
29133
|
-
* @internal
|
|
29134
|
-
*/ _proto._updateBounds = function _updateBounds(worldBounds) {
|
|
29135
|
-
worldBounds.min.set(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE);
|
|
29136
|
-
worldBounds.max.set(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);
|
|
29137
|
-
};
|
|
29222
|
+
var _proto = ParticleMaterial.prototype;
|
|
29138
29223
|
/**
|
|
29139
|
-
* @
|
|
29140
|
-
*/ _proto.
|
|
29141
|
-
var
|
|
29142
|
-
|
|
29143
|
-
|
|
29144
|
-
shaderData.setFloat(ParticleRenderer._currentTime, this.generator._playTime);
|
|
29145
|
-
shaderData.setVector3(ParticleRenderer._pivotOffsetProperty, this.pivot);
|
|
29146
|
-
this.generator._updateShaderData(shaderData);
|
|
29147
|
-
};
|
|
29148
|
-
_proto._render = function _render(context) {
|
|
29149
|
-
var generator = this.generator;
|
|
29150
|
-
var primitive = generator._primitive;
|
|
29151
|
-
if (generator._firstActiveElement < generator._firstFreeElement) {
|
|
29152
|
-
primitive.instanceCount = generator._firstFreeElement - generator._firstActiveElement;
|
|
29153
|
-
} else {
|
|
29154
|
-
var instanceCount = generator._currentParticleCount - generator._firstActiveElement;
|
|
29155
|
-
if (generator._firstFreeElement > 0) {
|
|
29156
|
-
instanceCount += generator._firstFreeElement;
|
|
29157
|
-
}
|
|
29158
|
-
primitive.instanceCount = instanceCount;
|
|
29159
|
-
}
|
|
29160
|
-
var material = this.getMaterial();
|
|
29161
|
-
var renderData = this._engine._renderDataPool.getFromPool();
|
|
29162
|
-
renderData.setX(this, material, generator._primitive, generator._subPrimitive);
|
|
29163
|
-
context.camera._renderPipeline.pushRenderData(context, renderData);
|
|
29164
|
-
};
|
|
29165
|
-
_proto._onDestroy = function _onDestroy() {
|
|
29166
|
-
this.generator._destroy();
|
|
29224
|
+
* @inheritdoc
|
|
29225
|
+
*/ _proto.clone = function clone() {
|
|
29226
|
+
var dest = new ParticleMaterial(this._engine);
|
|
29227
|
+
this.cloneTo(dest);
|
|
29228
|
+
return dest;
|
|
29167
29229
|
};
|
|
29168
|
-
_create_class(
|
|
29230
|
+
_create_class(ParticleMaterial, [
|
|
29169
29231
|
{
|
|
29170
|
-
key: "
|
|
29232
|
+
key: "baseColor",
|
|
29171
29233
|
get: /**
|
|
29172
|
-
*
|
|
29234
|
+
* Base color.
|
|
29173
29235
|
*/ function get() {
|
|
29174
|
-
return this.
|
|
29236
|
+
return this.shaderData.getColor(BaseMaterial._baseColorProp);
|
|
29175
29237
|
},
|
|
29176
29238
|
set: function set(value) {
|
|
29177
|
-
|
|
29178
|
-
|
|
29179
|
-
|
|
29180
|
-
var renderModeMacro = null;
|
|
29181
|
-
var shaderData = this.shaderData;
|
|
29182
|
-
switch(value){
|
|
29183
|
-
case exports.ParticleRenderMode.Billboard:
|
|
29184
|
-
renderModeMacro = ParticleRenderer._billboardModeMacro;
|
|
29185
|
-
break;
|
|
29186
|
-
case exports.ParticleRenderMode.StretchBillboard:
|
|
29187
|
-
renderModeMacro = ParticleRenderer._stretchedBillboardModeMacro;
|
|
29188
|
-
break;
|
|
29189
|
-
case exports.ParticleRenderMode.HorizontalBillboard:
|
|
29190
|
-
throw "Not implemented";
|
|
29191
|
-
case exports.ParticleRenderMode.VerticalBillboard:
|
|
29192
|
-
throw "Not implemented";
|
|
29193
|
-
case exports.ParticleRenderMode.Mesh:
|
|
29194
|
-
throw "Not implemented";
|
|
29195
|
-
}
|
|
29196
|
-
if (this._currentRenderModeMacro !== renderModeMacro) {
|
|
29197
|
-
this._currentRenderModeMacro && shaderData.disableMacro(this._currentRenderModeMacro);
|
|
29198
|
-
renderModeMacro && shaderData.enableMacro(renderModeMacro);
|
|
29199
|
-
this._currentRenderModeMacro = renderModeMacro;
|
|
29200
|
-
}
|
|
29201
|
-
// @ts-ignore
|
|
29202
|
-
if (lastRenderMode !== exports.ParticleRenderMode.Mesh !== (value === exports.ParticleRenderMode.Mesh)) {
|
|
29203
|
-
this.generator._reorganizeGeometryBuffers();
|
|
29204
|
-
}
|
|
29239
|
+
var baseColor = this.shaderData.getColor(BaseMaterial._baseColorProp);
|
|
29240
|
+
if (value !== baseColor) {
|
|
29241
|
+
baseColor.copyFrom(value);
|
|
29205
29242
|
}
|
|
29206
29243
|
}
|
|
29207
29244
|
},
|
|
29208
29245
|
{
|
|
29209
|
-
key: "
|
|
29246
|
+
key: "baseTexture",
|
|
29210
29247
|
get: /**
|
|
29211
|
-
*
|
|
29212
|
-
* @remarks Valid when `renderMode` is `Mesh`.
|
|
29248
|
+
* Base texture.
|
|
29213
29249
|
*/ function get() {
|
|
29214
|
-
return this.
|
|
29250
|
+
return this.shaderData.getTexture(BaseMaterial._baseTextureProp);
|
|
29215
29251
|
},
|
|
29216
29252
|
set: function set(value) {
|
|
29217
|
-
|
|
29218
|
-
if (
|
|
29219
|
-
|
|
29220
|
-
|
|
29221
|
-
(
|
|
29222
|
-
(_value = value) == null ? void 0 : _value._addReferCount(1);
|
|
29223
|
-
if (this.renderMode === exports.ParticleRenderMode.Mesh) {
|
|
29224
|
-
this.generator._reorganizeGeometryBuffers();
|
|
29225
|
-
}
|
|
29253
|
+
this.shaderData.setTexture(BaseMaterial._baseTextureProp, value);
|
|
29254
|
+
if (value) {
|
|
29255
|
+
this.shaderData.enableMacro(BaseMaterial._baseTextureMacro);
|
|
29256
|
+
} else {
|
|
29257
|
+
this.shaderData.disableMacro(BaseMaterial._baseTextureMacro);
|
|
29226
29258
|
}
|
|
29227
29259
|
}
|
|
29228
29260
|
}
|
|
29229
29261
|
]);
|
|
29230
|
-
return
|
|
29231
|
-
}(
|
|
29232
|
-
(function() {
|
|
29233
|
-
ParticleRenderer._billboardModeMacro = ShaderMacro.getByName("RENDERER_MODE_SPHERE_BILLBOARD");
|
|
29234
|
-
})();
|
|
29235
|
-
(function() {
|
|
29236
|
-
ParticleRenderer._stretchedBillboardModeMacro = ShaderMacro.getByName("RENDERER_MODE_STRETCHED_BILLBOARD");
|
|
29237
|
-
})();
|
|
29238
|
-
(function() {
|
|
29239
|
-
ParticleRenderer._horizontalBillboardModeMacro = ShaderMacro.getByName("RENDERER_MODE_HORIZONTAL_BILLBOARD");
|
|
29240
|
-
})();
|
|
29241
|
-
(function() {
|
|
29242
|
-
ParticleRenderer._verticalBillboardModeMacro = ShaderMacro.getByName("RENDERER_MODE_VERTICAL_BILLBOARD");
|
|
29243
|
-
})();
|
|
29244
|
-
(function() {
|
|
29245
|
-
ParticleRenderer._renderModeMeshMacro = ShaderMacro.getByName("RENDERER_MODE_MESH");
|
|
29246
|
-
})();
|
|
29247
|
-
(function() {
|
|
29248
|
-
ParticleRenderer._pivotOffsetProperty = ShaderProperty.getByName("renderer_PivotOffset");
|
|
29249
|
-
})();
|
|
29250
|
-
(function() {
|
|
29251
|
-
ParticleRenderer._lengthScale = ShaderProperty.getByName("renderer_StretchedBillboardLengthScale");
|
|
29252
|
-
})();
|
|
29253
|
-
(function() {
|
|
29254
|
-
ParticleRenderer._speedScale = ShaderProperty.getByName("renderer_StretchedBillboardSpeedScale");
|
|
29255
|
-
})();
|
|
29256
|
-
(function() {
|
|
29257
|
-
ParticleRenderer._currentTime = ShaderProperty.getByName("renderer_CurrentTime");
|
|
29258
|
-
})();
|
|
29259
|
-
__decorate([
|
|
29260
|
-
deepClone
|
|
29261
|
-
], ParticleRenderer.prototype, "generator", void 0);
|
|
29262
|
-
__decorate([
|
|
29263
|
-
shallowClone
|
|
29264
|
-
], ParticleRenderer.prototype, "pivot", void 0);
|
|
29262
|
+
return ParticleMaterial;
|
|
29263
|
+
}(BaseMaterial);
|
|
29265
29264
|
|
|
29266
29265
|
/**
|
|
29267
29266
|
* A burst is a particle emission event, where a number of particles are all emitted at the same time
|
|
@@ -29933,6 +29932,7 @@ exports.CharacterController = CharacterController;
|
|
|
29933
29932
|
exports.CircleShape = CircleShape;
|
|
29934
29933
|
exports.CloneManager = CloneManager;
|
|
29935
29934
|
exports.ColliderShape = ColliderShape;
|
|
29935
|
+
exports.ColorOverLifetimeModule = ColorOverLifetimeModule;
|
|
29936
29936
|
exports.Component = Component;
|
|
29937
29937
|
exports.ConeShape = ConeShape;
|
|
29938
29938
|
exports.ContentRestorer = ContentRestorer;
|
|
@@ -29941,12 +29941,15 @@ exports.CurveKey = CurveKey;
|
|
|
29941
29941
|
exports.DepthState = DepthState;
|
|
29942
29942
|
exports.DirectLight = DirectLight;
|
|
29943
29943
|
exports.DynamicCollider = DynamicCollider;
|
|
29944
|
+
exports.EmissionModule = EmissionModule;
|
|
29944
29945
|
exports.Engine = Engine;
|
|
29945
29946
|
exports.EngineObject = EngineObject;
|
|
29946
29947
|
exports.Entity = Entity;
|
|
29947
29948
|
exports.EventDispatcher = EventDispatcher;
|
|
29948
29949
|
exports.FixedJoint = FixedJoint;
|
|
29949
29950
|
exports.Font = Font;
|
|
29951
|
+
exports.GradientAlphaKey = GradientAlphaKey;
|
|
29952
|
+
exports.GradientColorKey = GradientColorKey;
|
|
29950
29953
|
exports.HemisphereShape = HemisphereShape;
|
|
29951
29954
|
exports.HingeJoint = HingeJoint;
|
|
29952
29955
|
exports.HitResult = HitResult;
|
|
@@ -29958,6 +29961,7 @@ exports.Keyframe = Keyframe;
|
|
|
29958
29961
|
exports.Light = Light;
|
|
29959
29962
|
exports.Loader = Loader;
|
|
29960
29963
|
exports.Logger = Logger;
|
|
29964
|
+
exports.MainModule = MainModule;
|
|
29961
29965
|
exports.Material = Material;
|
|
29962
29966
|
exports.Mesh = Mesh;
|
|
29963
29967
|
exports.MeshRenderer = MeshRenderer;
|
|
@@ -29966,7 +29970,10 @@ exports.PBRBaseMaterial = PBRBaseMaterial;
|
|
|
29966
29970
|
exports.PBRMaterial = PBRMaterial;
|
|
29967
29971
|
exports.PBRSpecularMaterial = PBRSpecularMaterial;
|
|
29968
29972
|
exports.ParticleCompositeCurve = ParticleCompositeCurve;
|
|
29973
|
+
exports.ParticleCompositeGradient = ParticleCompositeGradient;
|
|
29969
29974
|
exports.ParticleCurve = ParticleCurve;
|
|
29975
|
+
exports.ParticleGenerator = ParticleGenerator;
|
|
29976
|
+
exports.ParticleGradient = ParticleGradient;
|
|
29970
29977
|
exports.ParticleMaterial = ParticleMaterial;
|
|
29971
29978
|
exports.ParticleRenderer = ParticleRenderer;
|
|
29972
29979
|
exports.PhysicsMaterial = PhysicsMaterial;
|
|
@@ -29985,6 +29992,7 @@ exports.RenderState = RenderState;
|
|
|
29985
29992
|
exports.RenderTarget = RenderTarget;
|
|
29986
29993
|
exports.RenderTargetBlendState = RenderTargetBlendState;
|
|
29987
29994
|
exports.ResourceManager = ResourceManager;
|
|
29995
|
+
exports.RotationOverLifetimeModule = RotationOverLifetimeModule;
|
|
29988
29996
|
exports.Scene = Scene;
|
|
29989
29997
|
exports.SceneManager = SceneManager;
|
|
29990
29998
|
exports.Script = Script;
|
|
@@ -29996,6 +30004,7 @@ exports.ShaderMacroCollection = ShaderMacroCollection;
|
|
|
29996
30004
|
exports.ShaderPass = ShaderPass;
|
|
29997
30005
|
exports.ShaderProperty = ShaderProperty;
|
|
29998
30006
|
exports.ShaderTagKey = ShaderTagKey;
|
|
30007
|
+
exports.SizeOverLifetimeModule = SizeOverLifetimeModule;
|
|
29999
30008
|
exports.Skin = Skin;
|
|
30000
30009
|
exports.SkinnedMeshRenderer = SkinnedMeshRenderer;
|
|
30001
30010
|
exports.Sky = Sky;
|
|
@@ -30021,12 +30030,14 @@ exports.Texture = Texture;
|
|
|
30021
30030
|
exports.Texture2D = Texture2D;
|
|
30022
30031
|
exports.Texture2DArray = Texture2DArray;
|
|
30023
30032
|
exports.TextureCube = TextureCube;
|
|
30033
|
+
exports.TextureSheetAnimationModule = TextureSheetAnimationModule;
|
|
30024
30034
|
exports.Time = Time;
|
|
30025
30035
|
exports.TrailMaterial = TrailMaterial;
|
|
30026
30036
|
exports.TrailRenderer = TrailRenderer;
|
|
30027
30037
|
exports.Transform = Transform;
|
|
30028
30038
|
exports.UnlitMaterial = UnlitMaterial;
|
|
30029
30039
|
exports.Utils = Utils;
|
|
30040
|
+
exports.VelocityOverLifetimeModule = VelocityOverLifetimeModule;
|
|
30030
30041
|
exports.VertexBufferBinding = VertexBufferBinding;
|
|
30031
30042
|
exports.VertexElement = VertexElement;
|
|
30032
30043
|
exports.assignmentClone = assignmentClone;
|