日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Canvas Scaler 的3种模式

發布時間:2023/12/20 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Canvas Scaler 的3种模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Canvas Scaler 的3種模式

(金慶的專欄 2021.3)

參考:
https://wenku.baidu.com/view/83991090336c1eb91b375db8.html

Unity Canvas 有個 Canvas Scaler 組件,用來決定 Canvas 的 Scale(縮放)值。
Scale 有 X,Y,Z 3個分量,都是同一值,即在各個方向上都是同倍率縮放的。
它有3種Scale Mode。

因為設計時的寬高比與目標機型寬高比不同,Canvas 需要先增減為目標高寬比,然后再縮放。
Canvas 縮放并不影響UI元素的相互位置,只是同比縮放。
但是高寬比調整時會造成UI元素的相對位置變化,如寬度增大后,UI元素會在寬度方向上相互散開。

可以在 Unity Editor Game 頁左上角分辨率下拉菜單中創建幾個低分辨率屏,用來測試屏幕大小切換。
測試界面可放置2個按鈕,一個錨定到左上,位于左上,一個錨定到右下,位于右下,不要strech。

3種模式如下。

Constance Pixel Size

Constance Pixel Size 模式下,Scale 總是為1。
目標機上的 Canvas 就是其分辨率大小。
因為設計時分辨率與實際分辨率不同,顯示會不同。
但是圖片和按鈕的大小保持固定像素大小。
如果屏幕變大,UI元素就會相互散開,變小則聚攏。
如果需要縮放,只能通過程序調節。

Scale With Screen Size

隨屏幕大小縮放。
該模式下有個 Reference Resolution (參考分辨率),應該設為主流機型的分辨率。
在主流機型下,Scale 為1,與設計顯示相同。

https://blog.csdn.net/u011948420/article/details/112641308
2020中國移動游戲質量白皮書-WeTest 報告 Android 手機 TOP300 分辨率為 2340*1080 占 31%。

如果目標機型為 46802160,則 Scale 正好為2;如果目標機型為 1179540,則Scale為0.5.

一般情況下寬高比不同,此時Scale算法有3種,即3種Sceen Match Mode:

Match Width Or Height

匹配寬度或高度。

此時有個 Match 劃動條,可以在 Width(0)…Height(1)之間。
如果為0,匹配寬度,則 Scale 為目標屏寬與參考屏寬之比;
如果為1,匹配高度,則 Scale 為目標屏高與參考屏高之比;
如果為0.5, 加權匹配,則是這2個比值的平均值。

匹配寬度時,高度方向上會有UI擴散或聚攏。
匹配高度時,寬度方向上會有UI擴散或聚攏。
加權匹配時,UI在高上擴散寬上聚攏,或者在高上聚攏寬上擴散。

Expand

增加。先增加寬或高到目標寬高比。該增加方向UI元素會散開。

Shrink

減少。先減少寬或高到目標寬高比。該減少方向UI元素會聚攏。

Constant Physical Size

固定物理大小。
隨著4k屏的出現,屏幕DPI會很大,許多設備的像素點非常小。
同樣的按鈕,在高DPI下,如果固定像素大小,則會非常小,這時適合用該模式。

總結

以上是生活随笔為你收集整理的Canvas Scaler 的3种模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。