如何在Godot 4中创建固定大小的Label3D?

问题描述 投票:0回答:1

我的场景中有一个固定大小的 3D 表面,我想使用

Label3D
在其上显示动态文本。

我的问题是我不知道前面的文字。目前,如果文本变得太大,它只会剪切到边界之外。有多种方法可以阻止这种情况:

  • 动态缩小字体以使其适合
  • 显示尽可能多的文本,然后在溢出时将其剪掉

如何在 Godot 4 中实现上述任一目标?请记住,我正在专门处理

Label3D
Label3D
中有一个“固定大小”标志,但这只是使文本保持恒定大小,而不管相机距离如何,这完全是另一个功能,与我想要实现的目标无关。

text 3d label godot godot4
1个回答
0
投票

好吧,我还没有用

Label3D
尝试过这个,但是...

您应该能够使用

get_aabb
获取其当前尺寸,然后使用它来计算出转换以使其符合您想要的尺寸。

例如:

# whatever size you want to have
var desired_size:Vector3 = get_desired_size()

# ...

# The current dimensions
var found_aabb := label_3d.global_transform * label_3d.get_aabb() 

# Compute the scale to get the desired size
var desired_scale := desired_size / found_aabb.size

# Apply the scale
label_3d.scale(desired_scale)

注意:上面的代码不处理大小或比例的零或无限值。

© www.soinside.com 2019 - 2024. All rights reserved.