如何在Unity中实现文本在所有屏幕尺寸下的自适应缩放?

4

我正在使用Unity创建一个场景,其中包含文本。我已经创建了画布和文本框等内容...但是当我更改游戏预览窗口的大小时,文本的大小也会随之改变。这使得在小屏幕上无法阅读文本,因为它太小了!我该如何让文本在所有屏幕大小下保持相同的大小?

另外,当我在Unity中更改游戏预览窗口的大小时,是否与更改屏幕大小相同?还是仅仅缩放了所有内容?


可能是Scaling GUI.TextArea with Screen Size的重复问题。 - Fattie
选择“随屏幕缩放”非常重要。在Unity5中,Unity意外地将该菜单上的默认选项设置为错误。在他们修复问题之前,必须记住选择“随屏幕缩放”。这是你唯一遇到的问题。 - Fattie
1个回答

5
改变Unity中的游戏视图只有在检查UI在不同宽高比下的外观时才有用,而不是不同分辨率。
您可以使用Canvas Scaler组件来控制UI的缩放(您会在Canvas GameObject上找到它):http://docs.unity3d.com/Manual/script-CanvasScaler.html 您可能希望使用“根据屏幕大小缩放”模式。

谢谢!这似乎解决了我的问题。实际上,有一种方法可以更改游戏窗口的屏幕分辨率。点击显示您的纵横比的位置,然后按+号。此外,如果我以16:9的纵横比查看应用程序,则为横向模式。因此,如果我以9:16的纵横比查看它,则为纵向模式。我的想法正确吗? - Anton nelson
是的,您可以输入特定的屏幕分辨率来设置游戏视图,但我认为这只会真正影响长宽比。您确实正确指出了16:9是横向的,而9:16则是纵向的。任何宽度大于高度的分辨率都是横向分辨率,当然,高度大于宽度的分辨率就是纵向分辨率。 - Jan Ivar Z. Carlsen
对于2018年,完整的解释在这里:https://stackoverflow.com/a/36268018/294884 - Fattie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接