@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.mjs 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
  import * as THREE from 'three';
@@ -4253,6 +4253,9 @@ var MaterialBlending;
4253
4253
  /**
4254
4254
  * 自发光
4255
4255
  */ RenderMode3D["emissive"] = "emissive";
4256
+ /**
4257
+ * 漫反射
4258
+ */ RenderMode3D["diffuse"] = "diffuse";
4256
4259
  })(RenderMode3D || (RenderMode3D = {}));
4257
4260
 
4258
4261
  var TextOverflow;
@@ -10305,10 +10308,11 @@ var BezierCurve = /*#__PURE__*/ function(ValueGetter) {
10305
10308
  timeEnd: Number(e.x)
10306
10309
  };
10307
10310
  }
10311
+ this.keyTimeData = Object.keys(this.curveMap);
10308
10312
  };
10309
10313
  _proto.getValue = function getValue(time) {
10310
10314
  var result = 0;
10311
- var keyTimeData = Object.keys(this.curveMap);
10315
+ var keyTimeData = this.keyTimeData;
10312
10316
  var keyTimeStart = this.curveMap[keyTimeData[0]].timeStart;
10313
10317
  var keyTimeEnd = this.curveMap[keyTimeData[keyTimeData.length - 1]].timeEnd;
10314
10318
  // const keyTimeStart = Number(keyTimeData[0].split('&')[0]);
@@ -18072,10 +18076,10 @@ var ParticleMesh = /*#__PURE__*/ function() {
18072
18076
  };
18073
18077
  _proto.onUpdate = function onUpdate(dt) {
18074
18078
  var aPosArray = this.geometry.getAttributeData("aPos"); // vector3
18075
- var particleCount = Math.ceil(aPosArray.length / 12);
18076
- this.applyTranslation(particleCount, dt);
18077
- this.applyRotation(particleCount, dt);
18078
- this.applyLinearMove(particleCount, dt);
18079
+ var vertexCount = Math.ceil(aPosArray.length / 12);
18080
+ this.applyTranslation(vertexCount, dt);
18081
+ this.applyRotation(vertexCount, dt);
18082
+ this.applyLinearMove(vertexCount, dt);
18079
18083
  };
18080
18084
  _proto.minusTime = function minusTime(time) {
18081
18085
  var aOffset = this.geometry.getAttributeData("aOffset");
@@ -18218,13 +18222,13 @@ var ParticleMesh = /*#__PURE__*/ function() {
18218
18222
  geometry.setDrawCount(this.particleCount * 6);
18219
18223
  }
18220
18224
  };
18221
- _proto.applyTranslation = function applyTranslation(particleCount, deltaTime) {
18225
+ _proto.applyTranslation = function applyTranslation(vertexCount, deltaTime) {
18222
18226
  var localTime = this.time;
18223
18227
  var aTranslationArray = this.geometry.getAttributeData("aTranslation");
18224
18228
  var aVelArray = this.geometry.getAttributeData("aVel"); // vector3
18225
18229
  var aOffsetArray = this.geometry.getAttributeData("aOffset");
18226
- if (aTranslationArray.length < particleCount * 3) {
18227
- aTranslationArray = this.expandArray(aTranslationArray, particleCount * 3);
18230
+ if (aTranslationArray.length < vertexCount * 3) {
18231
+ aTranslationArray = this.expandArray(aTranslationArray, vertexCount * 3);
18228
18232
  }
18229
18233
  // const velocity = this.cachedVelocity;
18230
18234
  var velocityX = 0;
@@ -18232,7 +18236,7 @@ var ParticleMesh = /*#__PURE__*/ function() {
18232
18236
  var velocityZ = 0;
18233
18237
  var uAcceleration = this.mesh.material.getVector4("uAcceleration");
18234
18238
  var uGravityModifierValue = this.mesh.material.getVector4("uGravityModifierValue");
18235
- for(var i = 0; i < particleCount; i++){
18239
+ for(var i = 0; i < vertexCount; i += 4){
18236
18240
  var velOffset = i * 12 + 3;
18237
18241
  velocityX = aVelArray[velOffset];
18238
18242
  velocityY = aVelArray[velOffset + 1];
@@ -18264,24 +18268,36 @@ var ParticleMesh = /*#__PURE__*/ function() {
18264
18268
  var aTranslationOffset = i * 3;
18265
18269
  if (aOffsetArray[i * 4 + 2] < localTime) {
18266
18270
  // const translation = velocity.multiply(deltaTime / 1000);
18267
- aTranslationArray[aTranslationOffset] += velocityX * (deltaTime / 1000);
18268
- aTranslationArray[aTranslationOffset + 1] += velocityY * (deltaTime / 1000);
18269
- aTranslationArray[aTranslationOffset + 2] += velocityZ * (deltaTime / 1000);
18271
+ var aTranslationX = velocityX * (deltaTime / 1000);
18272
+ var aTranslationY = velocityY * (deltaTime / 1000);
18273
+ var aTranslationZ = velocityZ * (deltaTime / 1000);
18274
+ aTranslationArray[aTranslationOffset] += aTranslationX;
18275
+ aTranslationArray[aTranslationOffset + 1] += aTranslationY;
18276
+ aTranslationArray[aTranslationOffset + 2] += aTranslationZ;
18277
+ aTranslationArray[aTranslationOffset + 3] += aTranslationX;
18278
+ aTranslationArray[aTranslationOffset + 4] += aTranslationY;
18279
+ aTranslationArray[aTranslationOffset + 5] += aTranslationZ;
18280
+ aTranslationArray[aTranslationOffset + 6] += aTranslationX;
18281
+ aTranslationArray[aTranslationOffset + 7] += aTranslationY;
18282
+ aTranslationArray[aTranslationOffset + 8] += aTranslationZ;
18283
+ aTranslationArray[aTranslationOffset + 9] += aTranslationX;
18284
+ aTranslationArray[aTranslationOffset + 10] += aTranslationY;
18285
+ aTranslationArray[aTranslationOffset + 11] += aTranslationZ;
18270
18286
  }
18271
18287
  }
18272
18288
  this.geometry.setAttributeData("aTranslation", aTranslationArray);
18273
18289
  };
18274
- _proto.applyRotation = function applyRotation(particleCount, deltaTime) {
18290
+ _proto.applyRotation = function applyRotation(vertexCount, deltaTime) {
18275
18291
  var aRotationArray = this.geometry.getAttributeData("aRotation0");
18276
18292
  var aOffsetArray = this.geometry.getAttributeData("aOffset");
18277
18293
  var aRotArray = this.geometry.getAttributeData("aRot"); // vector3
18278
18294
  var aSeedArray = this.geometry.getAttributeData("aSeed"); // float
18279
18295
  var localTime = this.time;
18280
18296
  var aRotationMatrix = this.cachedRotationMatrix;
18281
- if (aRotationArray.length < particleCount * 9) {
18282
- aRotationArray = this.expandArray(aRotationArray, particleCount * 9);
18297
+ if (aRotationArray.length < vertexCount * 9) {
18298
+ aRotationArray = this.expandArray(aRotationArray, vertexCount * 9);
18283
18299
  }
18284
- for(var i = 0; i < particleCount; i++){
18300
+ for(var i = 0; i < vertexCount; i += 4){
18285
18301
  var time = localTime - aOffsetArray[i * 4 + 2];
18286
18302
  var duration = aOffsetArray[i * 4 + 3];
18287
18303
  var life = clamp$1(time / duration, 0.0, 1.0);
@@ -18359,20 +18375,25 @@ var ParticleMesh = /*#__PURE__*/ function() {
18359
18375
  var aRotationOffset = i * 9;
18360
18376
  var matrixArray = aRotationMatrix.elements;
18361
18377
  aRotationArray.set(matrixArray, aRotationOffset);
18378
+ if (i + 4 <= vertexCount) {
18379
+ aRotationArray.set(matrixArray, aRotationOffset + 9);
18380
+ aRotationArray.set(matrixArray, aRotationOffset + 18);
18381
+ aRotationArray.set(matrixArray, aRotationOffset + 27);
18382
+ }
18362
18383
  }
18363
18384
  this.geometry.setAttributeData("aRotation0", aRotationArray);
18364
18385
  };
18365
- _proto.applyLinearMove = function applyLinearMove(particleCount, deltaTime) {
18386
+ _proto.applyLinearMove = function applyLinearMove(vertexCount, deltaTime) {
18366
18387
  var aLinearMoveArray = this.geometry.getAttributeData("aLinearMove");
18367
18388
  var aOffsetArray = this.geometry.getAttributeData("aOffset");
18368
18389
  var aSeedArray = this.geometry.getAttributeData("aSeed"); // float
18369
18390
  var localTime = this.time;
18370
- if (aLinearMoveArray.length < particleCount * 3) {
18371
- aLinearMoveArray = this.expandArray(aLinearMoveArray, particleCount * 3);
18391
+ if (aLinearMoveArray.length < vertexCount * 3) {
18392
+ aLinearMoveArray = this.expandArray(aLinearMoveArray, vertexCount * 3);
18372
18393
  }
18373
18394
  var linearMove = this.cachedLinearMove;
18374
18395
  if (this.linearVelOverLifetime && this.linearVelOverLifetime.enabled) {
18375
- for(var i = 0; i < particleCount; i++){
18396
+ for(var i = 0; i < vertexCount; i += 4){
18376
18397
  var time = localTime - aOffsetArray[i * 4 + 2];
18377
18398
  var duration = aOffsetArray[i * 4 + 3];
18378
18399
  // const life = math.clamp(time / duration, 0.0, 1.0);
@@ -18429,6 +18450,15 @@ var ParticleMesh = /*#__PURE__*/ function() {
18429
18450
  aLinearMoveArray[aLinearMoveOffset] = linearMove.x;
18430
18451
  aLinearMoveArray[aLinearMoveOffset + 1] = linearMove.y;
18431
18452
  aLinearMoveArray[aLinearMoveOffset + 2] = linearMove.z;
18453
+ aLinearMoveArray[aLinearMoveOffset + 3] = linearMove.x;
18454
+ aLinearMoveArray[aLinearMoveOffset + 4] = linearMove.y;
18455
+ aLinearMoveArray[aLinearMoveOffset + 5] = linearMove.z;
18456
+ aLinearMoveArray[aLinearMoveOffset + 6] = linearMove.x;
18457
+ aLinearMoveArray[aLinearMoveOffset + 7] = linearMove.y;
18458
+ aLinearMoveArray[aLinearMoveOffset + 8] = linearMove.z;
18459
+ aLinearMoveArray[aLinearMoveOffset + 9] = linearMove.x;
18460
+ aLinearMoveArray[aLinearMoveOffset + 10] = linearMove.y;
18461
+ aLinearMoveArray[aLinearMoveOffset + 11] = linearMove.z;
18432
18462
  }
18433
18463
  }
18434
18464
  this.geometry.setAttributeData("aLinearMove", aLinearMoveArray);
@@ -21181,6 +21211,7 @@ var VFXItem = /*#__PURE__*/ function(EffectsObject) {
21181
21211
  var component = _step.value;
21182
21212
  if (component.enabled && !component.isStartCalled) {
21183
21213
  component.onStart();
21214
+ component.isStartCalled = true;
21184
21215
  }
21185
21216
  }
21186
21217
  for(var _iterator1 = _create_for_of_iterator_helper_loose(this.components), _step1; !(_step1 = _iterator1()).done;){
@@ -28103,7 +28134,7 @@ registerPlugin("sprite", SpriteLoader, VFXItem, true);
28103
28134
  registerPlugin("particle", ParticleLoader, VFXItem, true);
28104
28135
  registerPlugin("cal", CalculateLoader, VFXItem, true);
28105
28136
  registerPlugin("interact", InteractLoader, VFXItem, true);
28106
- var version$1 = "2.1.0-alpha.3";
28137
+ var version$1 = "2.1.0-alpha.4";
28107
28138
  logger.info("Core version: " + version$1 + ".");
28108
28139
 
28109
28140
  var _obj;
@@ -29784,7 +29815,7 @@ setMaxSpriteMeshItemCount(8);
29784
29815
  */ Mesh.create = function(engine, props) {
29785
29816
  return new ThreeMesh(engine, props);
29786
29817
  };
29787
- var version = "2.1.0-alpha.3";
29818
+ var version = "2.1.0-alpha.4";
29788
29819
  logger.info("THREEJS plugin version: " + version + ".");
29789
29820
 
29790
29821
  export { AbstractPlugin, ActivationPlayable, ActivationPlayableAsset, ActivationTrack, AnimationClip, AnimationClipPlayable, AssetLoader, AssetManager, BYTES_TYPE_MAP, Behaviour, BezierCurve, BezierCurvePath, BezierCurveQuat, BinaryAsset, COMPRESSED_TEXTURE, CONSTANT_MAP_BLEND, CONSTANT_MAP_DEPTH, CONSTANT_MAP_STENCIL_FUNC, CONSTANT_MAP_STENCIL_OP, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, CalculateLoader, Camera, CameraController, CameraVFXItemLoader, Component, Composition, CompositionComponent, CompositionSourceManager, DEFAULT_FONTS, DEFAULT_FPS, Database, DestroyOptions, Downloader, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, EffectComponent, EffectsObject, EffectsPackage, Engine, EventEmitter, EventSystem, FilterMode, Float16ArrayWrapper, Framebuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, HELP_LINK, HitTestType, InteractComponent, InteractLoader, InteractMesh, Item, KTXTexture, LineSegments, LinearValue, Material, MaterialDataBlock, MaterialRenderType, Mesh, ObjectBindingTrack, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleBehaviourPlayable, ParticleBehaviourPlayableAsset, ParticleLoader, ParticleMesh, ParticleSystem, ParticleSystemRenderer, PassTextureCache, PathSegments, PluginSystem, PostProcessVolume, RENDER_PASS_NAME_PREFIX, RENDER_PREFER_LOOKUP_TEXTURE, RUNTIME_ENV, RandomSetValue, RandomValue, RandomVectorValue, RenderFrame, RenderPass, RenderPassAttachmentStorageType, RenderPassDestroyAttachmentType, RenderPassPriorityNormal, RenderPassPriorityPostprocess, RenderPassPriorityPrepare, RenderTargetHandle, RenderTextureFormat, Renderbuffer, Renderer, RendererComponent, RuntimeClip, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_0, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_SIZE_0, SEMANTIC_PRE_COLOR_ATTACHMENT_0, SEMANTIC_PRE_COLOR_ATTACHMENT_SIZE_0, SPRITE_VERTEX_STRIDE, SemanticMap, SerializationHelper, Shader, ShaderCompileResultStatus, ShaderFactory, ShaderType, ShaderVariant, SpriteColorPlayable, SpriteColorPlayableAsset, SpriteColorTrack, SpriteComponent, SpriteLoader, StaticValue, SubCompositionPlayableAsset, SubCompositionTrack, TEMPLATE_USE_OFFSCREEN_CANVAS, TEXTURE_UNIFORM_MAP, TextComponent, TextComponentBase, TextLayout, TextLoader, TextStyle, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, ThreeComposition, ThreeDisplayObject, ThreeEngine, ThreeMaterial, ThreeSpriteComponent, ThreeTextComponent, ThreeTexture, Ticker, TimelineAsset, TimelineClip, TimelinePlayable, TrackAsset, TrackSortWrapper, TrackType, Transform, TransformAnimationPlayable, TransformPlayableAsset, TransformTrack, VFXItem, ValueGetter, addByOrder, addItem, addItemWithOrder, applyMixins, assertExist, asserts, base64ToFile, blend, calculateTranslation, canvasPool, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, createCopyShader, createGLContext, createKeyFrameMeta, createShape, createValueGetter, decimalEqual, defaultGlobalVolume, defaultPlugins, deserializeMipmapTexture, earcut, effectsClass, effectsClassStore, enlargeBuffer, ensureFixedNumber, ensureVec3, findPreviousRenderPass, gaussianDown_frag as gaussianDownFrag, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateGUID, generateHalfFloatTexture, generateTransparentTexture, generateWhiteTexture, getBackgroundImage, getColorFromGradientStops, getConfig, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getImageItemRenderInfo, getKTXTextureOptions, getKeyFrameMetaByRawValue, getMergedStore, getParticleMeshShader, getPixelRatio, getPreMultiAlpha, getStandardComposition, getStandardImage, getStandardItem, getStandardJSON, getTextureSize, glContext, glType2VertexFormatType, gpuTimer, imageDataFromColor, imageDataFromGradient, initErrors, initGLContext, integrate, interpolateColor, isAlipayMiniApp, isAndroid, isArray, isCanvas, isFunction, isIOS, isIOSByUA, isMiniProgram, isObject, isSceneJSON, isSceneURL, isSceneWithOptions, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isValidFontFamily, isWebGL2, isWechatMiniApp, itemFrag, itemFrameFrag, itemVert, loadAVIFOptional, loadBinary, loadBlob, loadImage, loadMedia, loadVideo, loadWebPOptional, logger, index as math, maxSpriteMeshItemCount, modifyMaxKeyframeShader, nearestPowerOfTwo, noop, normalizeColor, numberToFix, parsePercent$1 as parsePercent, particleFrag, particleOriginTranslateMap$1 as particleOriginTranslateMap, particleUniformTypeMap, particleVert, pluginLoaderMap, randomInRange, registerPlugin, removeItem, rotateVec2, screenMeshVert, serialize, setBlendMode, setConfig, setDefaultTextureFactory, setMaskMode, setMaxSpriteMeshItemCount, setRayFromCamera, setSideMode, setSpriteMeshMaxItemCountByGPU, setUniformValue, sortByOrder, index$1 as spec, spriteMeshShaderFromFilter, spriteMeshShaderFromRenderInfo, spriteMeshShaderIdFromRenderInfo, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecFill, vecMulCombine, version, vertexFormatType2GLType };