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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Canvas Scaler

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

作用:分辨率自適應,計算ui控件的縮放系數
不同分辨率下Ui控件大小自適應,不負責位置

Game窗口的Stats(統計數據 )查看屏幕分辨率
Canvas的Rect Transform組件 寬高(Width,Height)乘以縮放(X,Y)=屏幕分辨率
Reference Resolution 參與分辨率自適應的計算

適配方式UI Scale Mode :

Constant Pixel Size

不論屏幕大小 UI始終保持相同像素大小
沒有自適應效果 始終保持UI的大小
可以通過代碼 調整Scale Factor 實現縮放
Scale Factor 縮放系數 影響UI元素的縮放
Reference Pixels Per Unit: 一個單位多少像素
圖片設置中的Pixels Per Unit 和 該 參數一起計算 得到UI的大小
Set Native Size的大小 =圖片大小(像素)/ (Pixels Per Unit /Reference Pixels Per Unit)

Scale With Screen Size

根據屏幕尺寸進行縮放UI
Reference Resolution 參考分辨率
Screen Match Mode 屏幕匹配模式 屏幕寬高比例 不適用 參考分辨率比例時 使用匹配模式

1.Expand

水平或者垂直 擴展 畫布區域 根據寬高的變化縮放畫布 可能存在黑邊
對Canvas Size寬或者高進行拉伸 大于參考分辨率
縮放系數:Mathf.Min(屏幕寬/參考分辨率,屏幕高/參考分辨率高)
畫布尺寸=屏幕尺寸/縮放系數
最大程度縮小Ui 保留所有Ui細節 會有黑邊

2.Shrink

水平或者垂直 裁剪 畫布區域 根據寬高的變化縮放畫布 可能會裁剪
對Canvas Size寬或高進行收縮 小于參考分辨率
縮放系數:Mathf.Max(屏幕寬/參考分辨率,屏幕高/參考分辨率高)
最大程度放大Ui 讓UI元素能夠填滿畫面 ui可能被裁剪

3.Match Width Or Height

Match:確定用于計算的寬高屏幕匹配值
以寬高或者兩者的平均值為參考 縮放畫布
float logWidth=Mathf.Log(屏幕寬/參考分辨率寬,2);//取對數
float logHeight=Mathf.Log(屏幕高/參考分辨率高,2);//取對數
float logWeightedAverage=Mathf.Lerp(logWidth, logHeight,m_MathWidthOrHeight);
scaleFactor=Mathf.Pow(2,logWeightedAverage);
豎屏:match=0 高度增大 ui不縮放 可能有黑邊 寬度改變 ui縮放
橫屏:match=1 寬度增大 ui不縮放 可能有黑邊 高度變化 ui縮放

Constant Physical Size

無論屏幕大小和分辨率如何 Ui 元素始終保持相同物理大小
DPI:每英寸長度內的像素數目
Physical Unit 物理單位
1英寸=2.54Centimeters 厘米
=72Point 點
=6Picas 皮卡
新的單位參考像素=參考單位像素*Physical Unit / Default Sprite DPI
原始尺寸=圖片大小/(Pixels Per Unit/新單位參考像素)
Fallback Screen DPI 找不到DPI時的 備用DPI
Default Sprite DPI 默認圖片DPI

恒定像素 與 恒定物理區別

同:UI不縮放 不自適應
不同:相同尺寸 不同DPI設備下
同樣的長度下 DPI大的像素多 每個像素的長度就小
DPI小的像素少 每個像素的長度就大
恒定像素 切換到不同DPI環境下 圖片的像素不變化 但顯示的尺寸變化
恒定物理 切換到不同DPI環境下 圖片的像素和尺寸不變化

3D模式

Canvas Mode 切換到World Space
Canvas Scaler 出現3D模式
Dynamic Pixels Per Unit UI中動態創建的位圖中 單位像素數 數值增大 ui更清晰 例如圖片 文本等

總結

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

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