gpt4 book ai didi

unity3d - Unity 如何在图像周围流动 TextMesh Pro 文本?

转载 作者:行者123 更新时间:2023-12-02 02:56:00 26 4
gpt4 key购买 nike

统一版本: 5.6.5f1 个人

TextMesh 专业版: 1.0.56.0b3

我有一个 TextMesh Pro UI Text 对象,其区域与 UI 图像的区域相交。文字是动态的,但图像永远不会改变。有没有办法让 TextMesh Pro UI 文本在图像周围流动,类似于文本在 HTML/CSS 中的换行方式?

下图显示了 Unity 中对象的两个副本。一个对象,用图像所在的红色空间表示,是我目前得到的。文本进入图像的空间。另一个对象,由图像所在的蓝色空间表示,显示文本正确环绕的所需结果。

当前与预期结果:
Current vs. Desired Outcome

研究至今:

How do I put an image inside text? - 我使用的图像是 UI 图像,而不是文本 Assets 。图像只会表现得好像它与文本内嵌一样。

How do you wrap text around a rectangle? , Fluid layout for Unity UI - 这些就是我要找的。但是,没有在其中发布任何建议。

我探索了使用多个 TextMesh Pro UI 文本对象的想法,每个对象都充当完整文本区域的一个片段。但是,这与在图像周围环绕文本不同。对于动态文本,如果我从一个文本区域拉取内容并将其插入下一个区域,这将与自动调整大小功能冲突并导致字体大小不等。

另一种可能性是我可以一次插入一个字符,检查添加另一个字符是否会导致与图像发生冲突,然后添加 System.Environment.Newline以防止这种情况。但是,我担心处理大量文本会带来潜在的性能问题。

TextMesh Pro Documentation - TextMesh Pro 文档有一些用于查找自动换行点的工具,但我还没有想出如何实现将其与另一个对象的 anchor 位置进行比较的方法。

最佳答案

enter image description here这可以通过 TextMeshPro 的“链接”溢出模式来完成。有关示例,请参见附图。本质上,您需要制作两个 TMP 对象并适当调整每个对象的布局。然后:

1)使用检查器中的下拉菜单将第一个的溢出模式更改为“链接”。

2) 在出现的字段中放置第二个 TMP 对象作为引用。

关于unity3d - Unity 如何在图像周围流动 TextMesh Pro 文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49445376/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com