@galacean/effects-threejs 1.6.0-beta.1 → 1.6.0-beta.2

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: v1.6.0-beta.1
6
+ * Version: v1.6.0-beta.2
7
7
  */
8
8
 
9
9
  import * as THREE from 'three';
@@ -20282,32 +20282,37 @@ var TextLayout = /** @class */ (function () {
20282
20282
  this.textAlign = textAlign;
20283
20283
  this.lineHeight = lineHeight;
20284
20284
  }
20285
- TextLayout.prototype.getOffsetY = function (style) {
20286
- var offsetY = 0;
20287
- var offset = (style.fontSize + style.outlineWidth) * style.fontScale;
20285
+ TextLayout.prototype.getOffsetY = function (style, lineCount, lineHeight) {
20286
+ var offsetResult = 0;
20287
+ var fontSize = style.fontSize, outlineWidth = style.outlineWidth, fontScale = style.fontScale;
20288
+ // 计算基础偏移量
20289
+ var baseOffset = (fontSize + outlineWidth) * fontScale;
20290
+ // /3 计算Y轴偏移量,以匹配编辑器行为
20291
+ var offsetY = (lineHeight - fontSize) / 3;
20292
+ var commonCalculation = lineHeight * (lineCount - 1);
20288
20293
  switch (this.textBaseline) {
20289
- case 0:
20290
- offsetY = offset;
20294
+ case TextBaseline$1.top:
20295
+ offsetResult = baseOffset + offsetY;
20291
20296
  break;
20292
- case 1:
20293
- offsetY = (this.height + offset) / 2; // fonSize;
20297
+ case TextBaseline$1.middle:
20298
+ offsetResult = (this.height * fontScale - commonCalculation + baseOffset) / 2;
20294
20299
  break;
20295
- case 2:
20296
- offsetY = this.height - offset / 2;
20300
+ case TextBaseline$1.bottom:
20301
+ offsetResult = (this.height * fontScale - commonCalculation) - offsetY;
20297
20302
  break;
20298
20303
  }
20299
- return offsetY;
20304
+ return offsetResult;
20300
20305
  };
20301
20306
  TextLayout.prototype.getOffsetX = function (style, maxWidth) {
20302
20307
  var offsetX = 0;
20303
20308
  switch (this.textAlign) {
20304
- case 0:
20309
+ case TextAlignment$1.left:
20305
20310
  offsetX = style.outlineWidth * style.fontScale;
20306
20311
  break;
20307
- case 1:
20312
+ case TextAlignment$1.middle:
20308
20313
  offsetX = (this.width * style.fontScale - maxWidth) / 2;
20309
20314
  break;
20310
- case 2:
20315
+ case TextAlignment$1.right:
20311
20316
  offsetX = (this.width * style.fontScale - maxWidth);
20312
20317
  break;
20313
20318
  }
@@ -20541,7 +20546,7 @@ var TextItem = /** @class */ (function (_super) {
20541
20546
  var fontScale = style.fontScale;
20542
20547
  var width = (layout.width + style.fontOffset) * fontScale;
20543
20548
  var height = layout.height * fontScale;
20544
- var fontSize = style.fontSize * fontScale;
20549
+ style.fontSize * fontScale;
20545
20550
  var lineHeight = layout.lineHeight * fontScale;
20546
20551
  this.char = (this.text || '').split('');
20547
20552
  this.canvas.width = width;
@@ -20561,10 +20566,9 @@ var TextItem = /** @class */ (function (_super) {
20561
20566
  // 文本颜色
20562
20567
  context.fillStyle = "rgba(".concat(style.textColor[0], ", ").concat(style.textColor[1], ", ").concat(style.textColor[2], ", ").concat(style.textColor[3], ")");
20563
20568
  var charsInfo = [];
20564
- // /3 为了和编辑器行为保持一致
20565
- var offsetY = (lineHeight - fontSize) / 3;
20566
20569
  var x = 0;
20567
- var y = layout.getOffsetY(style) + offsetY;
20570
+ var lineCount = this.text.split('\n').length;
20571
+ var y = layout.getOffsetY(style, lineCount, lineHeight);
20568
20572
  var charsArray = [];
20569
20573
  var charOffsetX = [];
20570
20574
  for (var i = 0; i < this.char.length; i++) {
@@ -27454,7 +27458,7 @@ Geometry.create = function (engine, options) {
27454
27458
  Mesh.create = function (engine, props) {
27455
27459
  return new ThreeMesh(engine, props);
27456
27460
  };
27457
- var version = "1.6.0-beta.1";
27461
+ var version = "1.6.0-beta.2";
27458
27462
  logger.info('THREEJS plugin version: ' + version);
27459
27463
 
27460
27464
  export { AbstractPlugin, AssetManager, BYTES_TYPE_MAP, BezierCurve, BezierCurvePath, 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, CalculateItem, CalculateLoader, CalculateVFXItem, Camera, CameraController, CameraVFXItem, CameraVFXItemLoader, Composition, CompositionSourceManager, DEFAULT_FONTS, DestroyOptions, Downloader, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, Engine, EventSystem, FILTER_NAME_NONE, FilterMode, FilterSpriteVFXItem, Float16ArrayWrapper, FrameBuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, HELP_LINK, HitTestType, InteractBehavior$1 as InteractBehavior, InteractItem, InteractLoader, InteractMesh, InteractVFXItem, Item, KTXTexture, LineSegments, LinearValue, Material, MaterialDataBlock, MaterialRenderType, Mesh, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleLoader, ParticleMesh, ParticleSystem, ParticleVFXItem, PassTextureCache, PluginSystem, QCanvasViewer, QText, QTextWrapMode, RENDER_PASS_NAME_PREFIX, RENDER_PREFER_LOOKUP_TEXTURE, RUNTIME_ENV, RandomSetValue, RandomValue, RandomVectorValue, RenderBuffer, RenderFrame, RenderPass, RenderPassAttachmentStorageType, RenderPassDestroyAttachmentType, RenderPassPriorityNormal, RenderPassPriorityPostprocess, RenderPassPriorityPrepare, RenderTargetHandle, RenderTextureFormat, Renderer, 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, Shader, ShaderCompileResultStatus, ShaderType, SpriteItem, SpriteLoader, SpriteMesh, SpriteVFXItem, StaticValue, TEMPLATE_USE_OFFSCREEN_CANVAS, TEXTURE_UNIFORM_MAP, TextItem, TextLoader, TextMesh, TextVFXItem, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, ThreeComposition, ThreeDisplayObject, ThreeMaterial, ThreeTexture, Ticker, TimelineComponent, Transform, VFXItem, ValueGetter, addByOrder, addItem, addItemWithOrder, alphaFrameFrag, alphaMaskFrag, assertExist, asserts, blend, bloomMixVert, bloomThresholdVert, calculateTranslation, cameraMove_frag as cameraMoveFrag, cameraMoveVert, canvasPool, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, combineImageTemplate1, combineImageTemplate1Async, combineImageTemplate2, combineImageTemplate2Async, combineImageTemplateAsync, compatible_frag as compatibleFrag, compatible_vert as compatibleVert, convertAnchor, copyFrag, createCopyShader, createFilter, createFilterShaders, createGLContext, createKeyFrameMeta, createShaderWithMarcos, createShape, createVFXItem, createValueGetter, decimalEqual, deepClone, defaultGlobalVolume, defaultPlugins, delayFrag, deserializeMipmapTexture, distortionFrag, distortionVert, earcut, enlargeBuffer, ensureVec3, filters, findPreviousRenderPass, gaussianDown_frag as gaussianDownFrag, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateHalfFloatTexture, getBackgroundImage, getColorFromGradientStops, getConfig, getDefaultTemplateCanvasPool, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getImageItemRenderInfo, getKTXTextureOptions, getKeyFrameMetaByRawValue, getParticleMeshShader, getPixelRatio, getPreMultiAlpha, getStandardComposition, getStandardImage, getStandardItem, getStandardJSON, getTextureSize, glContext, gpuTimer, imageDataFromColor, imageDataFromGradient, initErrors, initGLContext, integrate, interpolateColor, isAlipayMiniApp, isAndroid, isArray, isFunction, isIOS, isObject, isScene, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isValidFontFamily, isWebGL2, itemFrag, itemFrameFrag, itemVert, loadBinary, loadBlob, loadImage, loadMedia, loadVideo, loadWebPOptional, logger, index as math, maxSpriteMeshItemCount, maxSpriteTextureCount, modifyMaxKeyframeShader, nearestPowerOfTwo, noop, numberToFix, parsePercent$1 as parsePercent, particleFrag, particleOriginTranslateMap, particleUniformTypeMap, particleVert, pluginLoaderMap, pointOnLine, random, registerFilter, registerFilters, registerPlugin, removeItem, requestAsync, rotateVec2, screenMeshVert, setBlendMode, setConfig, setDefaultTextureFactory, setMaskMode, setMaxSpriteMeshItemCount, setRayFromCamera, setSideMode, setSpriteMeshMaxFragmentTextures, setSpriteMeshMaxItemCountByGPU, setUniformValue, sortByOrder, index$1 as spec, spriteMeshShaderFromFilter, spriteMeshShaderFromRenderInfo, spriteMeshShaderIdFromRenderInfo, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecAssign, vecFill, vecMulCombine, vecNormalize, version };