@galacean/effects-threejs 2.8.4 → 2.8.6

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.8.4
6
+ * Version: v2.8.6
7
7
  */
8
8
 
9
9
  import * as THREE from 'three';
@@ -23508,8 +23508,20 @@ var ParticleSystem = /*#__PURE__*/ function(Component) {
23508
23508
  this.destroyed = false;
23509
23509
  };
23510
23510
  _proto.onStart = function onStart() {
23511
+ var _this = this;
23511
23512
  this.startEmit();
23512
23513
  this.initEmitterTransform();
23514
+ this.item.on("click", function() {
23515
+ var _this_interaction;
23516
+ if (((_this_interaction = _this.interaction) == null ? void 0 : _this_interaction.behavior) === ParticleInteractionBehavior.removeParticle) {
23517
+ var pointIndex = _this.clickedPoint.content[1];
23518
+ _this.renderer.removeParticlePoint(pointIndex);
23519
+ _this.clearPointTrail(pointIndex);
23520
+ _this.clickedPoint.content = [
23521
+ 0
23522
+ ];
23523
+ }
23524
+ });
23513
23525
  };
23514
23526
  _proto.onUpdate = function onUpdate(dt) {
23515
23527
  this.update(dt);
@@ -23612,7 +23624,10 @@ var ParticleSystem = /*#__PURE__*/ function(Component) {
23612
23624
  this.particleLink.forEach(function(content) {
23613
23625
  content[0] -= duration;
23614
23626
  content[2] -= duration;
23615
- content[3].delay -= duration;
23627
+ // TODO 优化粒子销毁逻辑
23628
+ if (content[3]) {
23629
+ content[3].delay -= duration;
23630
+ }
23616
23631
  });
23617
23632
  this.renderer.minusTimeForLoop(duration);
23618
23633
  } else {
@@ -23704,7 +23719,7 @@ var ParticleSystem = /*#__PURE__*/ function(Component) {
23704
23719
  var finish = false;
23705
23720
  if (node && node.content) {
23706
23721
  do {
23707
- var _node_content = node.content, currentTime = _node_content[0], pointIndex = _node_content[1]; _node_content[2]; var point = _node_content[3];
23722
+ var _node_content = node.content, currentTime = _node_content[0]; _node_content[2]; var point = _node_content[3];
23708
23723
  if (currentTime > this.timePassed) {
23709
23724
  var pos = this.getPointPosition(point);
23710
23725
  var ray = options.ray;
@@ -23716,13 +23731,7 @@ var ParticleSystem = /*#__PURE__*/ function(Component) {
23716
23731
  }, temp);
23717
23732
  }
23718
23733
  if (pass) {
23719
- if (options.removeParticle) {
23720
- renderer.removeParticlePoint(pointIndex);
23721
- this.clearPointTrail(pointIndex);
23722
- node.content = [
23723
- 0
23724
- ];
23725
- }
23734
+ this.clickedPoint = node;
23726
23735
  hitPositions.push(pos);
23727
23736
  if (!options.multiple) {
23728
23737
  finish = true;
@@ -29341,7 +29350,8 @@ var TextComponent = /*#__PURE__*/ function(MaskableGraphic) {
29341
29350
  var fontSize = style.fontSize * fontScale;
29342
29351
  var lineHeight = layout.lineHeight * fontScale;
29343
29352
  style.fontDesc = this.getFontDesc(fontSize);
29344
- var char = (this.text || "").split("");
29353
+ // 使用 Array.from 正确分割 Unicode 字符(包括 emoji)
29354
+ var char = Array.from(this.text || "");
29345
29355
  var baseHeight = 0;
29346
29356
  if (layout.autoWidth) {
29347
29357
  baseHeight = finalHeight * fontScale;
@@ -31613,7 +31623,7 @@ function getStandardSpriteContent(sprite, transform) {
31613
31623
  return ret;
31614
31624
  }
31615
31625
 
31616
- var version$2 = "2.8.4";
31626
+ var version$2 = "2.8.6";
31617
31627
  var v0 = /^(\d+)\.(\d+)\.(\d+)(-(\w+)\.\d+)?$/;
31618
31628
  var standardVersion = /^(\d+)\.(\d+)$/;
31619
31629
  var reverseParticle = false;
@@ -34673,8 +34683,8 @@ var DEFAULT_FPS = 60;
34673
34683
  });
34674
34684
  this.resetTickers = false;
34675
34685
  }
34676
- for(var i = 0, len = this.tickers.length; i < len; i++){
34677
- var tick = this.tickers[i];
34686
+ for(var _iterator = _create_for_of_iterator_helper_loose(this.tickers), _step; !(_step = _iterator()).done;){
34687
+ var tick = _step.value;
34678
34688
  tick(this.dt);
34679
34689
  }
34680
34690
  }
@@ -35313,7 +35323,7 @@ registerPlugin("text", TextLoader);
35313
35323
  registerPlugin("sprite", SpriteLoader);
35314
35324
  registerPlugin("particle", ParticleLoader);
35315
35325
  registerPlugin("interact", InteractLoader);
35316
- var version$1 = "2.8.4";
35326
+ var version$1 = "2.8.6";
35317
35327
  logger.info("Core version: " + version$1 + ".");
35318
35328
 
35319
35329
  var _obj;
@@ -36890,7 +36900,7 @@ applyMixins(ThreeTextComponent, [
36890
36900
  */ Mesh.create = function(engine, props) {
36891
36901
  return new ThreeMesh(engine, props);
36892
36902
  };
36893
- var version = "2.8.4";
36903
+ var version = "2.8.6";
36894
36904
  logger.info("THREEJS plugin version: " + version + ".");
36895
36905
 
36896
36906
  export { ActivationMixerPlayable, ActivationPlayable, ActivationPlayableAsset, ActivationTrack, AndNode, AndNodeData, Animatable, AnimationClip, AnimationClipNode, AnimationClipNodeData, AnimationGraphAsset, Animator, ApplyAdditiveNode, ApplyAdditiveNodeData, Asset, AssetLoader, AssetManager, AssetService, BYTES_TYPE_MAP, Behaviour, BezierCurve, BezierCurvePath, BezierCurveQuat, BinaryAsset, BlendNode, BlendNodeData, BoolValueNode, CONSTANT_MAP_BLEND, CONSTANT_MAP_DEPTH, CONSTANT_MAP_STENCIL_FUNC, CONSTANT_MAP_STENCIL_OP, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, Camera, CameraController, CameraVFXItemLoader, ColorCurve, ColorPlayable, ColorPropertyMixerPlayable, ColorPropertyPlayableAsset, ColorPropertyTrack, Component, ComponentTimePlayable, ComponentTimePlayableAsset, ComponentTimeTrack, Composition, CompositionComponent, CompressTextureCapabilityType, ConstBoolNode, ConstBoolNodeData, ConstFloatNode, ConstFloatNodeData, ConstraintTarget, ControlParameterBoolNode, ControlParameterBoolNodeData, ControlParameterFloatNode, ControlParameterFloatNodeData, ControlParameterTriggerNode, ControlParameterTriggerNodeData, DEFAULT_FONTS, DEFAULT_FPS, Database, Deferred, DestroyOptions, Downloader, DrawObjectPass, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, EffectComponent, EffectComponentTimeTrack, EffectsObject, EffectsPackage, Ellipse, Engine, EqualNodeData, EventEmitter, EventSystem, Fake3DAnimationMode, Fake3DComponent, FilterMode, Float16ArrayWrapper, FloatComparisonNode, FloatComparisonNodeData, FloatPropertyMixerPlayable, FloatPropertyPlayableAsset, FloatPropertyTrack, FloatValueNode, Framebuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, GraphInstance, GraphNode, GraphNodeData, GraphicsPath, GreaterNodeData, HELP_LINK, HitTestType, InteractComponent, InteractLoader, InteractMesh, InvalidIndex, Item, LayerBlendNode, LayerBlendNodeData, LessNodeData, LineSegments, LinearValue, MaskMode, MaskProcessor, MaskableGraphic, Material, MaterialDataBlock, MaterialRenderType, MaterialTrack, Mesh, MeshCollider, NodeTransform, NotNode, NotNodeData, ObjectBindingTrack, OrNode, OrNodeData, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleBehaviourPlayable, ParticleBehaviourPlayableAsset, ParticleLoader, ParticleMesh, ParticleMixerPlayable, ParticleSystem, ParticleSystemRenderer, ParticleTrack, PassTextureCache, PathSegments, PlayState, Playable, PlayableAsset, PlayableOutput, Plugin, PluginSystem, PointerEventData, PointerEventType, PolyStar, Polygon, Pose, PoseNode, PositionConstraint, PostProcessVolume, PropertyClipPlayable, PropertyTrack, RENDER_PREFER_LOOKUP_TEXTURE, RUNTIME_ENV, RandomSetValue, RandomValue, RandomVectorValue, RaycastResult, RenderFrame, RenderPass, RenderPassAttachmentStorageType, RenderPassDestroyAttachmentType, RenderPassPriorityNormal, RenderPassPriorityPostprocess, RenderPassPriorityPrepare, RenderTargetHandle, RenderTargetPool, 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, Scene, SceneLoader, SerializationHelper, Shader, ShaderCompileResultStatus, ShaderFactory, ShaderType, ShaderVariant, ShapeComponent, ShapePath, SourceType, SpriteColorMixerPlayable, SpriteColorPlayableAsset, SpriteColorTrack, SpriteComponent, SpriteComponentTimeTrack, SpriteLoader, StarType, StateMachineNode, StateMachineNodeData, StateNode, StateNodeData, StaticValue, SubCompositionClipPlayable, SubCompositionMixerPlayable, SubCompositionPlayableAsset, SubCompositionTrack, TEMPLATE_USE_OFFSCREEN_CANVAS, TEXTURE_UNIFORM_MAP, TangentMode, TextComponent, TextComponentBase, TextLayout, TextLoader, TextStyle, Texture, TextureFactory, TextureLoadAction, TexturePaintScaleMode, TextureSourceType, TextureStoreAction, ThreeComposition, ThreeDisplayObject, ThreeEngine, ThreeMaterial, ThreeSpriteComponent, ThreeTextComponent, ThreeTexture, Ticker, TimelineAsset, TimelineClip, TimelineInstance, TrackAsset, TrackMixerPlayable, TrackType, Transform, TransformMixerPlayable, TransformPlayable, TransformPlayableAsset, TransformTrack, TransitionNode, TransitionNodeData, TransitionState, VFXItem, ValueGetter, ValueNode, Vector2Curve, Vector2PropertyMixerPlayable, Vector2PropertyPlayableAsset, Vector2PropertyTrack, Vector3Curve, Vector3PropertyMixerPlayable, Vector3PropertyTrack, Vector3ropertyPlayableAsset, Vector4Curve, Vector4PropertyMixerPlayable, Vector4PropertyPlayableAsset, Vector4PropertyTrack, WeightedMode, addByOrder, addItem, addItemWithOrder, applyMixins, assertExist, asserts, base64ToFile, buildLine, calculateTranslation, canUseBOM, canvasPool, closePointEps, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, createGLContext, createKeyFrameMeta, createShape, createValueGetter, curveEps, decimalEqual, deserializeMipmapTexture, earcut, effectsClass, effectsClassStore, enlargeBuffer, ensureFixedNumber, ensureVec3, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateGUID, generateHalfFloatTexture, generateTransparentTexture, generateWhiteTexture, getBackgroundImage, getClass, getColorFromGradientStops, getConfig, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getKeyFrameMetaByRawValue, getMergedStore, getNodeDataClass, getParticleMeshShader, getPixelRatio, getPluginUsageInfo, getPreMultiAlpha, getStandardComposition, getStandardImage, getStandardItem, getStandardJSON, getTextureSize, glContext, glType2VertexFormatType, gpuTimer, imageDataFromColor, imageDataFromGradient, initErrors, initGLContext, integrate, interpolateColor, isAlipayMiniApp, isAndroid, isArray, isCanvas, isFunction, isIOS, isIOSByUA, isMiniProgram, isObject, isOpenHarmony, isPlainObject, isPowerOfTwo, isSafeFontFamily, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isValidFontFamily, isWebGL2, isWechatMiniApp, itemFrag, itemVert, loadAVIFOptional, loadBinary, loadBlob, loadImage, loadMedia, loadVideo, loadWebPOptional, logger, index as math, modifyMaxKeyframeShader, nearestPowerOfTwo, nodeDataClass, noop, normalizeColor, numberToFix, oldBezierKeyFramesToNew, parsePercent$1 as parsePercent, particleFrag, particleOriginTranslateMap$1 as particleOriginTranslateMap, particleUniformTypeMap, particleVert, passRenderLevel, pluginLoaderMap, randomInRange, registerPlugin, removeItem, rotateVec2, screenMeshVert, serialize, setBlendMode, setConfig, setDefaultTextureFactory, setMaskMode, setRayFromCamera, setSideMode, setUniformValue, sortByOrder, index$1 as spec, textureLoaderRegistry, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecFill, vecMulCombine, version, vertexFormatType2GLType };