@galacean/engine-core 1.1.0-beta.13 → 1.1.0-beta.15

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 CHANGED
@@ -565,6 +565,9 @@ function _instanceof(left, right) {
565
565
  if (sourceProperty._cloneTo) {
566
566
  sourceProperty._cloneTo(targetOProperty);
567
567
  }
568
+ if (sourceProperty.copyFrom) {
569
+ targetOProperty.copyFrom(sourceProperty);
570
+ }
568
571
  break;
569
572
  }
570
573
  } else {
@@ -4207,7 +4210,11 @@ var ComponentCloner = /*#__PURE__*/ function() {
4207
4210
  }
4208
4211
  cloneEntity.layer = srcEntity.layer;
4209
4212
  cloneEntity._isActive = srcEntity._isActive;
4210
- cloneEntity.transform.localMatrix = srcEntity.transform.localMatrix;
4213
+ var cloneTransform = cloneEntity.transform;
4214
+ var srcTransform = srcEntity.transform;
4215
+ cloneTransform.position = srcTransform.position;
4216
+ cloneTransform.rotation = srcTransform.rotation;
4217
+ cloneTransform.scale = srcTransform.scale;
4211
4218
  var children = srcEntity._children;
4212
4219
  for(var i = 0, n = srcEntity._children.length; i < n; i++){
4213
4220
  cloneEntity.addChild(this._createCloneEntity(children[i]));
@@ -7610,13 +7617,12 @@ var SimpleSpriteAssembler = (_SimpleSpriteAssembler = /*#__PURE__*/ function() {
7610
7617
  function SimpleSpriteAssembler1() {}
7611
7618
  SimpleSpriteAssembler1.resetData = function resetData(renderer) {
7612
7619
  var verticesData = renderer._verticesData;
7613
- var vertexCount = verticesData.vertexCount = 4;
7614
7620
  var positions = verticesData.positions, uvs = verticesData.uvs;
7615
- if (positions.length < vertexCount) {
7616
- for(var i = positions.length; i < vertexCount; i++){
7617
- positions.push(new engineMath.Vector3());
7618
- uvs.push(new engineMath.Vector2());
7619
- }
7621
+ verticesData.vertexCount = positions.length = uvs.length = 4;
7622
+ for(var i = 0; i < 4; i++){
7623
+ var _positions, _i, _uvs, _i1;
7624
+ (_positions = positions)[_i = i] || (_positions[_i] = new engineMath.Vector3());
7625
+ (_uvs = uvs)[_i1 = i] || (_uvs[_i1] = new engineMath.Vector2());
7620
7626
  }
7621
7627
  verticesData.triangles = SimpleSpriteAssembler._rectangleTriangles;
7622
7628
  };
@@ -11777,8 +11783,8 @@ var PrimitiveType;
11777
11783
  function SkinnedMeshRenderer(entity) {
11778
11784
  var _this;
11779
11785
  _this = MeshRenderer1.call(this, entity) || this;
11780
- _this._jointDataCreateCache = new engineMath.Vector2(-1, -1);
11781
11786
  _this._localBounds = new engineMath.BoundingBox();
11787
+ _this._jointDataCreateCache = new engineMath.Vector2(-1, -1);
11782
11788
  _this._skin = null;
11783
11789
  var rhi = _this.entity.engine._hardwareRenderer;
11784
11790
  var maxVertexUniformVectors = rhi.renderStates.getParameter(rhi.gl.MAX_VERTEX_UNIFORM_VECTORS);
@@ -12082,6 +12088,9 @@ var PrimitiveType;
12082
12088
  (function() {
12083
12089
  SkinnedMeshRenderer._jointMatrixProperty = ShaderProperty.getByName("renderer_JointMatrix");
12084
12090
  })();
12091
+ __decorate([
12092
+ deepClone
12093
+ ], SkinnedMeshRenderer.prototype, "_localBounds", void 0);
12085
12094
  __decorate([
12086
12095
  ignoreClone
12087
12096
  ], SkinnedMeshRenderer.prototype, "_jointDataCreateCache", void 0);
@@ -12094,9 +12103,6 @@ __decorate([
12094
12103
  __decorate([
12095
12104
  ignoreClone
12096
12105
  ], SkinnedMeshRenderer.prototype, "_rootBone", void 0);
12097
- __decorate([
12098
- ignoreClone
12099
- ], SkinnedMeshRenderer.prototype, "_localBounds", void 0);
12100
12106
  __decorate([
12101
12107
  ignoreClone
12102
12108
  ], SkinnedMeshRenderer.prototype, "_jointMatrices", void 0);
@@ -13134,7 +13140,7 @@ var /** @internal */ PromiseState;
13134
13140
  var objects = Utils.objectValues(this._referResourcePool);
13135
13141
  for(var i = 0, len = objects.length; i < len; i++){
13136
13142
  if (!objects[i].isGCIgnored || forceDestroy) {
13137
- objects[i].destroy();
13143
+ objects[i].destroy(forceDestroy);
13138
13144
  }
13139
13145
  }
13140
13146
  };
@@ -13224,12 +13230,12 @@ var /** @internal */ PromiseState;
13224
13230
  */ ResourceManager._addLoader = function _addLoader(type, loader, extNames) {
13225
13231
  this._loaders[type] = loader;
13226
13232
  for(var i = 0, len = extNames.length; i < len; i++){
13227
- this._extTypeMapping[extNames[i]] = type;
13233
+ this._extTypeMapping[extNames[i].toLowerCase()] = type;
13228
13234
  }
13229
13235
  };
13230
13236
  ResourceManager._getTypeByUrl = function _getTypeByUrl(url) {
13231
13237
  var path = url.split("?")[0];
13232
- return this._extTypeMapping[path.substring(path.lastIndexOf(".") + 1)];
13238
+ return this._extTypeMapping[path.substring(path.lastIndexOf(".") + 1).toLowerCase()];
13233
13239
  };
13234
13240
  return ResourceManager;
13235
13241
  }();
@@ -16821,9 +16827,6 @@ ShaderPool.init();
16821
16827
  _proto._destroy = function _destroy() {
16822
16828
  this._sceneManager._destroyAllScene();
16823
16829
  this._resourceManager._destroy();
16824
- this._whiteTexture2D.destroy(true);
16825
- this._magentaTexture2D.destroy(true);
16826
- this._magentaTextureCube.destroy(true);
16827
16830
  this._textDefaultFont = null;
16828
16831
  this._fontMap = null;
16829
16832
  this.inputManager._destroy();
@@ -22896,17 +22899,17 @@ var SlicedSpriteAssembler = (_SlicedSpriteAssembler = /*#__PURE__*/ function() {
22896
22899
  SlicedSpriteAssembler1.resetData = function resetData(renderer) {
22897
22900
  var verticesData = renderer._verticesData;
22898
22901
  var positions = verticesData.positions, uvs = verticesData.uvs;
22899
- if (positions.length < 16) {
22900
- for(var i = positions.length; i < 16; i++){
22901
- positions.push(new engineMath.Vector3());
22902
- uvs.push(new engineMath.Vector2());
22903
- }
22902
+ verticesData.vertexCount = positions.length = uvs.length = 16;
22903
+ for(var i = 0; i < 16; i++){
22904
+ var _positions, _i, _uvs, _i1;
22905
+ (_positions = positions)[_i = i] || (_positions[_i] = new engineMath.Vector3());
22906
+ (_uvs = uvs)[_i1 = i] || (_uvs[_i1] = new engineMath.Vector2());
22904
22907
  }
22905
- verticesData.triangles = [];
22908
+ verticesData.triangles = SlicedSpriteAssembler._rectangleTriangles;
22906
22909
  };
22907
22910
  SlicedSpriteAssembler1.updatePositions = function updatePositions(renderer) {
22908
22911
  var width = renderer.width, height = renderer.height, sprite = renderer.sprite;
22909
- var _renderer__verticesData = renderer._verticesData, positions = _renderer__verticesData.positions, uvs = _renderer__verticesData.uvs, triangles = _renderer__verticesData.triangles;
22912
+ var _renderer__verticesData = renderer._verticesData, positions = _renderer__verticesData.positions, uvs = _renderer__verticesData.uvs;
22910
22913
  var border = sprite.border;
22911
22914
  var spriteUVs = sprite._getUVs();
22912
22915
  // Update local positions.
@@ -22989,34 +22992,16 @@ var SlicedSpriteAssembler = (_SlicedSpriteAssembler = /*#__PURE__*/ function() {
22989
22992
  // 0 - 4 - 8 - 12
22990
22993
  // ------------------------
22991
22994
  // Assemble position and uv.
22992
- var vertexCount = 0;
22993
- var realICount = 0;
22994
22995
  for(var i = 0; i < 4; i++){
22995
22996
  var rowValue = row[i];
22996
22997
  var rowU = spriteUVs[i].x;
22997
22998
  for(var j = 0; j < 4; j++){
22998
22999
  var columnValue = column[j];
22999
- positions[vertexCount].set(wE[0] * rowValue + wE[4] * columnValue + wE[12], wE[1] * rowValue + wE[5] * columnValue + wE[13], wE[2] * rowValue + wE[6] * columnValue + wE[14]);
23000
- uvs[vertexCount].set(rowU, spriteUVs[j].y);
23001
- ++vertexCount;
23002
- }
23003
- ++realICount;
23004
- }
23005
- var realJCount = vertexCount / realICount;
23006
- var indexOffset = 0;
23007
- for(var i1 = 0; i1 < realICount - 1; ++i1){
23008
- for(var j1 = 0; j1 < realJCount - 1; ++j1){
23009
- var start = i1 * realJCount + j1;
23010
- triangles[indexOffset++] = start;
23011
- triangles[indexOffset++] = start + 1;
23012
- triangles[indexOffset++] = start + realJCount;
23013
- triangles[indexOffset++] = start + 1;
23014
- triangles[indexOffset++] = start + realJCount + 1;
23015
- triangles[indexOffset++] = start + realJCount;
23016
- }
23017
- }
23018
- renderer._verticesData.vertexCount = realICount * realJCount;
23019
- triangles.length = (realICount - 1) * (realJCount - 1) * 6;
23000
+ var idx = i * 4 + j;
23001
+ positions[idx].set(wE[0] * rowValue + wE[4] * columnValue + wE[12], wE[1] * rowValue + wE[5] * columnValue + wE[13], wE[2] * rowValue + wE[6] * columnValue + wE[14]);
23002
+ uvs[idx].set(rowU, spriteUVs[j].y);
23003
+ }
23004
+ }
23020
23005
  var _renderer__bounds = renderer._bounds, min = _renderer__bounds.min, max = _renderer__bounds.max;
23021
23006
  min.set(row[0], column[0], 0);
23022
23007
  max.set(row[3], column[3], 0);
@@ -23024,6 +23009,63 @@ var SlicedSpriteAssembler = (_SlicedSpriteAssembler = /*#__PURE__*/ function() {
23024
23009
  };
23025
23010
  SlicedSpriteAssembler1.updateUVs = function updateUVs(renderer) {};
23026
23011
  return SlicedSpriteAssembler1;
23012
+ }(), function() {
23013
+ _SlicedSpriteAssembler._rectangleTriangles = [
23014
+ 0,
23015
+ 1,
23016
+ 4,
23017
+ 1,
23018
+ 5,
23019
+ 4,
23020
+ 1,
23021
+ 2,
23022
+ 5,
23023
+ 2,
23024
+ 6,
23025
+ 5,
23026
+ 2,
23027
+ 3,
23028
+ 6,
23029
+ 3,
23030
+ 7,
23031
+ 6,
23032
+ 4,
23033
+ 5,
23034
+ 8,
23035
+ 5,
23036
+ 9,
23037
+ 8,
23038
+ 5,
23039
+ 6,
23040
+ 9,
23041
+ 6,
23042
+ 10,
23043
+ 9,
23044
+ 6,
23045
+ 7,
23046
+ 10,
23047
+ 7,
23048
+ 11,
23049
+ 10,
23050
+ 8,
23051
+ 9,
23052
+ 12,
23053
+ 9,
23054
+ 13,
23055
+ 12,
23056
+ 9,
23057
+ 10,
23058
+ 13,
23059
+ 10,
23060
+ 14,
23061
+ 13,
23062
+ 10,
23063
+ 11,
23064
+ 14,
23065
+ 11,
23066
+ 15,
23067
+ 14
23068
+ ];
23027
23069
  }(), function() {
23028
23070
  _SlicedSpriteAssembler._worldMatrix = new engineMath.Matrix();
23029
23071
  }(), _SlicedSpriteAssembler);
@@ -23035,8 +23077,7 @@ var _TiledSpriteAssembler;
23035
23077
  var TiledSpriteAssembler = (_TiledSpriteAssembler = /*#__PURE__*/ function() {
23036
23078
  function TiledSpriteAssembler1() {}
23037
23079
  TiledSpriteAssembler1.resetData = function resetData(renderer) {
23038
- var _renderer__verticesData;
23039
- (_renderer__verticesData = renderer._verticesData).triangles || (_renderer__verticesData.triangles = []);
23080
+ renderer._verticesData.triangles = [];
23040
23081
  };
23041
23082
  TiledSpriteAssembler1.updatePositions = function updatePositions(renderer) {
23042
23083
  var width = renderer.width, height = renderer.height, sprite = renderer.sprite, tileMode = renderer.tileMode, threshold = renderer.tiledAdaptiveThreshold;
@@ -24452,7 +24493,7 @@ var DirtyFlag;
24452
24493
  this.component = target.getComponent(type);
24453
24494
  this.cureType = cureType;
24454
24495
  var isBlendShape = _instanceof(this.component, SkinnedMeshRenderer);
24455
- // @todo: Temp solution with blendShape
24496
+ // @todo: Temp solution with blendShape bug when multi SkinnedMeshRenderer in a entity. we need to run setTargetValue to solve it.
24456
24497
  this._isCopyMode = cureType._isCopyMode && !isBlendShape;
24457
24498
  var assemblerType = AnimationCurveOwner.getAssemblerType(type, property);
24458
24499
  this._assembler = new assemblerType();
@@ -24530,7 +24571,8 @@ var DirtyFlag;
24530
24571
  cureType._lerpValue(targetValue, value, weight, targetValue);
24531
24572
  } else {
24532
24573
  var originValue1 = this._assembler.getTargetValue();
24533
- var lerpValue = cureType._lerpValue(originValue1, value, weight);
24574
+ // @todo: Temp solution in PR: https://github.com/galacean/engine/pull/1840
24575
+ var lerpValue = cureType._lerpValue(originValue1, value, weight, originValue1);
24534
24576
  this._assembler.setTargetValue(lerpValue);
24535
24577
  }
24536
24578
  }
@@ -24540,7 +24582,8 @@ var DirtyFlag;
24540
24582
  if (this._isCopyMode) {
24541
24583
  return this.cureType._lerpValue(srcValue, destValue, crossWeight, this.baseEvaluateData.value);
24542
24584
  } else {
24543
- this.baseEvaluateData.value = this.cureType._lerpValue(srcValue, destValue, crossWeight);
24585
+ // @todo: Temp solution in PR: https://github.com/galacean/engine/pull/1840
24586
+ this.baseEvaluateData.value = this.cureType._lerpValue(srcValue, destValue, crossWeight, this.baseEvaluateData.value);
24544
24587
  return this.baseEvaluateData.value;
24545
24588
  }
24546
24589
  };
@@ -27398,6 +27441,7 @@ exports.ParticleStopMode = void 0;
27398
27441
  context.camera._renderPipeline.pushRenderData(context, renderData);
27399
27442
  };
27400
27443
  _proto._onDestroy = function _onDestroy() {
27444
+ Renderer1.prototype._onDestroy.call(this);
27401
27445
  this.generator._destroy();
27402
27446
  };
27403
27447
  _create_class(ParticleRenderer, [
@@ -27997,8 +28041,8 @@ __decorate([
27997
28041
  /** The rate of particle emission. */ _this.rateOverTime = new ParticleCompositeCurve(10);
27998
28042
  /** The rate at which the emitter spawns new particles over distance. */ _this.rateOverDistance = new ParticleCompositeCurve(0);
27999
28043
  /** @internal */ _this._shapeRand = new engineMath.Rand(0, ParticleRandomSubSeeds.Shape);
28044
+ /** @internal */ _this._frameRateTime = 0;
28000
28045
  _this._bursts = [];
28001
- _this._frameRateTime = 0;
28002
28046
  _this._currentBurstIndex = 0;
28003
28047
  _this._burstRand = new engineMath.Rand(0, ParticleRandomSubSeeds.Burst);
28004
28048
  return _this;
@@ -28047,7 +28091,8 @@ __decorate([
28047
28091
  };
28048
28092
  /**
28049
28093
  * @internal
28050
- */ _proto._resetBurst = function _resetBurst() {
28094
+ */ _proto._reset = function _reset() {
28095
+ this._frameRateTime = 0;
28051
28096
  this._currentBurstIndex = 0;
28052
28097
  };
28053
28098
  _proto._emitByRateOverTime = function _emitByRateOverTime(playTime) {
@@ -29005,7 +29050,7 @@ __decorate([
29005
29050
  this._firstActiveElement = firstFreeElement;
29006
29051
  this._firstNewElement = firstFreeElement;
29007
29052
  this._playTime = 0;
29008
- this.emission._resetBurst();
29053
+ this.emission._reset();
29009
29054
  }
29010
29055
  }
29011
29056
  };
@@ -29040,19 +29085,23 @@ __decorate([
29040
29085
  /**
29041
29086
  * @internal
29042
29087
  */ _proto._update = function _update(elapsedTime) {
29088
+ var _this = this, main = _this.main, emission = _this.emission;
29089
+ var duration = main.duration;
29043
29090
  var lastPlayTime = this._playTime;
29044
29091
  this._playTime += elapsedTime;
29045
29092
  this._retireActiveParticles();
29046
29093
  this._freeRetiredParticles();
29047
- if (this.emission.enabled && this._isPlaying) {
29048
- this.emission._emit(lastPlayTime, this._playTime);
29049
- if (!this.main.isLoop && this._playTime > this.main.duration) {
29094
+ if (emission.enabled && this._isPlaying) {
29095
+ emission._emit(lastPlayTime, this._playTime);
29096
+ if (!main.isLoop && this._playTime > duration) {
29050
29097
  this._isPlaying = false;
29051
29098
  }
29052
29099
  }
29053
29100
  // Reset play time when is not playing and no active particles to avoid potential precision problems in GPU
29054
29101
  if (!this.isAlive) {
29055
- this._playTime = 0;
29102
+ var discardTime = Math.min(emission._frameRateTime, Math.floor(this._playTime / duration) * duration);
29103
+ this._playTime -= discardTime;
29104
+ emission._frameRateTime -= discardTime;
29056
29105
  }
29057
29106
  // Add new particles to vertex buffer when has wait process retired element or new particle
29058
29107
  //