@galacean/effects-threejs 2.1.0-alpha.3 → 2.1.0-alpha.4

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 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.1.0-alpha.3
6
+ * Version: v2.1.0-alpha.4
7
7
  */
8
8
 
9
9
  'use strict';
@@ -4277,6 +4277,9 @@ var MaterialBlending;
4277
4277
  /**
4278
4278
  * 自发光
4279
4279
  */ RenderMode3D["emissive"] = "emissive";
4280
+ /**
4281
+ * 漫反射
4282
+ */ RenderMode3D["diffuse"] = "diffuse";
4280
4283
  })(RenderMode3D || (RenderMode3D = {}));
4281
4284
 
4282
4285
  var TextOverflow;
@@ -10329,10 +10332,11 @@ var BezierCurve = /*#__PURE__*/ function(ValueGetter) {
10329
10332
  timeEnd: Number(e.x)
10330
10333
  };
10331
10334
  }
10335
+ this.keyTimeData = Object.keys(this.curveMap);
10332
10336
  };
10333
10337
  _proto.getValue = function getValue(time) {
10334
10338
  var result = 0;
10335
- var keyTimeData = Object.keys(this.curveMap);
10339
+ var keyTimeData = this.keyTimeData;
10336
10340
  var keyTimeStart = this.curveMap[keyTimeData[0]].timeStart;
10337
10341
  var keyTimeEnd = this.curveMap[keyTimeData[keyTimeData.length - 1]].timeEnd;
10338
10342
  // const keyTimeStart = Number(keyTimeData[0].split('&')[0]);
@@ -18096,10 +18100,10 @@ var ParticleMesh = /*#__PURE__*/ function() {
18096
18100
  };
18097
18101
  _proto.onUpdate = function onUpdate(dt) {
18098
18102
  var aPosArray = this.geometry.getAttributeData("aPos"); // vector3
18099
- var particleCount = Math.ceil(aPosArray.length / 12);
18100
- this.applyTranslation(particleCount, dt);
18101
- this.applyRotation(particleCount, dt);
18102
- this.applyLinearMove(particleCount, dt);
18103
+ var vertexCount = Math.ceil(aPosArray.length / 12);
18104
+ this.applyTranslation(vertexCount, dt);
18105
+ this.applyRotation(vertexCount, dt);
18106
+ this.applyLinearMove(vertexCount, dt);
18103
18107
  };
18104
18108
  _proto.minusTime = function minusTime(time) {
18105
18109
  var aOffset = this.geometry.getAttributeData("aOffset");
@@ -18242,13 +18246,13 @@ var ParticleMesh = /*#__PURE__*/ function() {
18242
18246
  geometry.setDrawCount(this.particleCount * 6);
18243
18247
  }
18244
18248
  };
18245
- _proto.applyTranslation = function applyTranslation(particleCount, deltaTime) {
18249
+ _proto.applyTranslation = function applyTranslation(vertexCount, deltaTime) {
18246
18250
  var localTime = this.time;
18247
18251
  var aTranslationArray = this.geometry.getAttributeData("aTranslation");
18248
18252
  var aVelArray = this.geometry.getAttributeData("aVel"); // vector3
18249
18253
  var aOffsetArray = this.geometry.getAttributeData("aOffset");
18250
- if (aTranslationArray.length < particleCount * 3) {
18251
- aTranslationArray = this.expandArray(aTranslationArray, particleCount * 3);
18254
+ if (aTranslationArray.length < vertexCount * 3) {
18255
+ aTranslationArray = this.expandArray(aTranslationArray, vertexCount * 3);
18252
18256
  }
18253
18257
  // const velocity = this.cachedVelocity;
18254
18258
  var velocityX = 0;
@@ -18256,7 +18260,7 @@ var ParticleMesh = /*#__PURE__*/ function() {
18256
18260
  var velocityZ = 0;
18257
18261
  var uAcceleration = this.mesh.material.getVector4("uAcceleration");
18258
18262
  var uGravityModifierValue = this.mesh.material.getVector4("uGravityModifierValue");
18259
- for(var i = 0; i < particleCount; i++){
18263
+ for(var i = 0; i < vertexCount; i += 4){
18260
18264
  var velOffset = i * 12 + 3;
18261
18265
  velocityX = aVelArray[velOffset];
18262
18266
  velocityY = aVelArray[velOffset + 1];
@@ -18288,24 +18292,36 @@ var ParticleMesh = /*#__PURE__*/ function() {
18288
18292
  var aTranslationOffset = i * 3;
18289
18293
  if (aOffsetArray[i * 4 + 2] < localTime) {
18290
18294
  // const translation = velocity.multiply(deltaTime / 1000);
18291
- aTranslationArray[aTranslationOffset] += velocityX * (deltaTime / 1000);
18292
- aTranslationArray[aTranslationOffset + 1] += velocityY * (deltaTime / 1000);
18293
- aTranslationArray[aTranslationOffset + 2] += velocityZ * (deltaTime / 1000);
18295
+ var aTranslationX = velocityX * (deltaTime / 1000);
18296
+ var aTranslationY = velocityY * (deltaTime / 1000);
18297
+ var aTranslationZ = velocityZ * (deltaTime / 1000);
18298
+ aTranslationArray[aTranslationOffset] += aTranslationX;
18299
+ aTranslationArray[aTranslationOffset + 1] += aTranslationY;
18300
+ aTranslationArray[aTranslationOffset + 2] += aTranslationZ;
18301
+ aTranslationArray[aTranslationOffset + 3] += aTranslationX;
18302
+ aTranslationArray[aTranslationOffset + 4] += aTranslationY;
18303
+ aTranslationArray[aTranslationOffset + 5] += aTranslationZ;
18304
+ aTranslationArray[aTranslationOffset + 6] += aTranslationX;
18305
+ aTranslationArray[aTranslationOffset + 7] += aTranslationY;
18306
+ aTranslationArray[aTranslationOffset + 8] += aTranslationZ;
18307
+ aTranslationArray[aTranslationOffset + 9] += aTranslationX;
18308
+ aTranslationArray[aTranslationOffset + 10] += aTranslationY;
18309
+ aTranslationArray[aTranslationOffset + 11] += aTranslationZ;
18294
18310
  }
18295
18311
  }
18296
18312
  this.geometry.setAttributeData("aTranslation", aTranslationArray);
18297
18313
  };
18298
- _proto.applyRotation = function applyRotation(particleCount, deltaTime) {
18314
+ _proto.applyRotation = function applyRotation(vertexCount, deltaTime) {
18299
18315
  var aRotationArray = this.geometry.getAttributeData("aRotation0");
18300
18316
  var aOffsetArray = this.geometry.getAttributeData("aOffset");
18301
18317
  var aRotArray = this.geometry.getAttributeData("aRot"); // vector3
18302
18318
  var aSeedArray = this.geometry.getAttributeData("aSeed"); // float
18303
18319
  var localTime = this.time;
18304
18320
  var aRotationMatrix = this.cachedRotationMatrix;
18305
- if (aRotationArray.length < particleCount * 9) {
18306
- aRotationArray = this.expandArray(aRotationArray, particleCount * 9);
18321
+ if (aRotationArray.length < vertexCount * 9) {
18322
+ aRotationArray = this.expandArray(aRotationArray, vertexCount * 9);
18307
18323
  }
18308
- for(var i = 0; i < particleCount; i++){
18324
+ for(var i = 0; i < vertexCount; i += 4){
18309
18325
  var time = localTime - aOffsetArray[i * 4 + 2];
18310
18326
  var duration = aOffsetArray[i * 4 + 3];
18311
18327
  var life = clamp$1(time / duration, 0.0, 1.0);
@@ -18383,20 +18399,25 @@ var ParticleMesh = /*#__PURE__*/ function() {
18383
18399
  var aRotationOffset = i * 9;
18384
18400
  var matrixArray = aRotationMatrix.elements;
18385
18401
  aRotationArray.set(matrixArray, aRotationOffset);
18402
+ if (i + 4 <= vertexCount) {
18403
+ aRotationArray.set(matrixArray, aRotationOffset + 9);
18404
+ aRotationArray.set(matrixArray, aRotationOffset + 18);
18405
+ aRotationArray.set(matrixArray, aRotationOffset + 27);
18406
+ }
18386
18407
  }
18387
18408
  this.geometry.setAttributeData("aRotation0", aRotationArray);
18388
18409
  };
18389
- _proto.applyLinearMove = function applyLinearMove(particleCount, deltaTime) {
18410
+ _proto.applyLinearMove = function applyLinearMove(vertexCount, deltaTime) {
18390
18411
  var aLinearMoveArray = this.geometry.getAttributeData("aLinearMove");
18391
18412
  var aOffsetArray = this.geometry.getAttributeData("aOffset");
18392
18413
  var aSeedArray = this.geometry.getAttributeData("aSeed"); // float
18393
18414
  var localTime = this.time;
18394
- if (aLinearMoveArray.length < particleCount * 3) {
18395
- aLinearMoveArray = this.expandArray(aLinearMoveArray, particleCount * 3);
18415
+ if (aLinearMoveArray.length < vertexCount * 3) {
18416
+ aLinearMoveArray = this.expandArray(aLinearMoveArray, vertexCount * 3);
18396
18417
  }
18397
18418
  var linearMove = this.cachedLinearMove;
18398
18419
  if (this.linearVelOverLifetime && this.linearVelOverLifetime.enabled) {
18399
- for(var i = 0; i < particleCount; i++){
18420
+ for(var i = 0; i < vertexCount; i += 4){
18400
18421
  var time = localTime - aOffsetArray[i * 4 + 2];
18401
18422
  var duration = aOffsetArray[i * 4 + 3];
18402
18423
  // const life = math.clamp(time / duration, 0.0, 1.0);
@@ -18453,6 +18474,15 @@ var ParticleMesh = /*#__PURE__*/ function() {
18453
18474
  aLinearMoveArray[aLinearMoveOffset] = linearMove.x;
18454
18475
  aLinearMoveArray[aLinearMoveOffset + 1] = linearMove.y;
18455
18476
  aLinearMoveArray[aLinearMoveOffset + 2] = linearMove.z;
18477
+ aLinearMoveArray[aLinearMoveOffset + 3] = linearMove.x;
18478
+ aLinearMoveArray[aLinearMoveOffset + 4] = linearMove.y;
18479
+ aLinearMoveArray[aLinearMoveOffset + 5] = linearMove.z;
18480
+ aLinearMoveArray[aLinearMoveOffset + 6] = linearMove.x;
18481
+ aLinearMoveArray[aLinearMoveOffset + 7] = linearMove.y;
18482
+ aLinearMoveArray[aLinearMoveOffset + 8] = linearMove.z;
18483
+ aLinearMoveArray[aLinearMoveOffset + 9] = linearMove.x;
18484
+ aLinearMoveArray[aLinearMoveOffset + 10] = linearMove.y;
18485
+ aLinearMoveArray[aLinearMoveOffset + 11] = linearMove.z;
18456
18486
  }
18457
18487
  }
18458
18488
  this.geometry.setAttributeData("aLinearMove", aLinearMoveArray);
@@ -21205,6 +21235,7 @@ exports.VFXItem = /*#__PURE__*/ function(EffectsObject) {
21205
21235
  var component = _step.value;
21206
21236
  if (component.enabled && !component.isStartCalled) {
21207
21237
  component.onStart();
21238
+ component.isStartCalled = true;
21208
21239
  }
21209
21240
  }
21210
21241
  for(var _iterator1 = _create_for_of_iterator_helper_loose(this.components), _step1; !(_step1 = _iterator1()).done;){
@@ -28127,7 +28158,7 @@ registerPlugin("sprite", SpriteLoader, exports.VFXItem, true);
28127
28158
  registerPlugin("particle", ParticleLoader, exports.VFXItem, true);
28128
28159
  registerPlugin("cal", CalculateLoader, exports.VFXItem, true);
28129
28160
  registerPlugin("interact", InteractLoader, exports.VFXItem, true);
28130
- var version$1 = "2.1.0-alpha.3";
28161
+ var version$1 = "2.1.0-alpha.4";
28131
28162
  logger.info("Core version: " + version$1 + ".");
28132
28163
 
28133
28164
  var _obj;
@@ -29808,7 +29839,7 @@ setMaxSpriteMeshItemCount(8);
29808
29839
  */ Mesh.create = function(engine, props) {
29809
29840
  return new ThreeMesh(engine, props);
29810
29841
  };
29811
- var version = "2.1.0-alpha.3";
29842
+ var version = "2.1.0-alpha.4";
29812
29843
  logger.info("THREEJS plugin version: " + version + ".");
29813
29844
 
29814
29845
  exports.AbstractPlugin = AbstractPlugin;