c# - Unity 2D 画布缩放器
问题描述
我在 Unity 中工作,但有些事情一直萦绕在我的脑海中。画布缩放器组件部分中的 UI Scale Mode 选项有什么区别,谁能解释一下?
有 3 个 UI 缩放模式选项。我应该使用这 3 个选项中的哪一个以及它们的作用?
提前致谢
解决方案
您可以在此处查看每个字段的更详细说明:https ://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/script-CanvasScaler.html
但基本上:
恒定像素大小:意味着 UI 元素将始终具有相同的像素大小,无论您拥有多大的屏幕。因此,如果您的屏幕上有一个 1920x1080 的 100px X 100px 按钮,它只会填充屏幕的一小部分,但如果您的屏幕分辨率更改为 200x200,例如,按钮将变得巨大并填充更大的部分现在屏幕。
Scale With Screen Size:正如它所说的那样,UI 将根据屏幕尺寸进行缩放,因此如果您在 960x540 屏幕上工作并创建 UI,然后更改为 1920x1080,例如,您的 UI 将缩放,在这种情况下使 UI 大 2 倍,因为屏幕现在大了 2 倍,所以按钮的外观在所有分辨率下都将相同。
恒定物理尺寸:使用 DPI 而不是像素。DPI 的意思是“每英寸的点数(像素)”,这意味着无论您的屏幕尺寸是多少,您定义的 UI 将覆盖的像素数量都将保持不变,例如,如果您有一个 1920x1080 的屏幕, 和一个 200x100 的按钮,按钮在屏幕上会很小,但是如果您在分辨率较低的手机上玩游戏,例如 1280x720,按钮将保持相同的像素密度,即 200x100,但由于屏幕较少像素现在按钮会显得更大,但实际上两种情况下按钮的分辨率保持不变。
但它们都改变了锚点在你的 UI 上的工作方式。了解你应该使用什么以及每个人做什么的最好方法是通过测试自己。
您也可以在此处阅读更多信息以获取更多信息:https ://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/HOWTO-UIMultiResolution.html
推荐阅读
- hikaricp - 快速数据的 spring.datasource.driver-class-name
- python - RDD map+sortByKey - 错误理解列表python
- string - 在带有 VBA 的文本中查找单词(但不在另一个单词中)
- assembly - x86 程序集中的冲突符号:movsx 然后是无符号比较/分支?
- nuget - 上游包未显示在 VSTS 包管理中
- ruby - Ruby Selenium Capybara 不会超时
- reactjs - Enzyme 期望配置一个适配器
- python - Pandas groupby 聚合传递组名来聚合
- javascript - 如果另一个值被清除,如何删除某个值?| AngularJs
- java - 在 Swing 中设置标签文本会撤消所有按钮位置移动