首先得認識下像素等相關單位,根據知乎網友的解釋:
像素(Piexl):
指的是圖像的最小單位,是獨立的一個色塊(像素點),一張圖片就是有這些像素點構成的,單位面積內像素點越多,越密集,那么圖像就會越清晰.
如圖,這是一張68X80像素的圖片,他有橫向68,縱向80個像素點,
我們放大看,就能看到明顯的方塊,這就是單個像素點,由於放大,圖像放大就變得模糊,也就是圖像分辨率過小.
圖像分辨率:
圖像分辨率是指每英寸圖像內的像素點數。圖像分辨率是有單位的,叫 像素每英寸。分辨率越高,像素的點密度越高,圖像越逼真.
屏幕分辨率:
屏幕分辨率是屏幕每行的像素點數*每列的像素點數,每個屏幕有自己的分辨率。屏幕分辨率越高,所呈現的色彩越多,清晰度越高;
如1920X1080的21寸顯示器,其屏幕橫向就有1920個像素點,屏幕越小,像素點就越小,圖像也會看起來越清晰(因為肉眼察覺不到單個像素點色塊),這跟圖片放大縮小是一個道理.
回到正題
現在回到我們的Unity,我們游戲窗口的渲染顯示范圍依賴於相機的大小,在Camera的Orthographic模式下,通過調節size調整相機大小;
當我們將上面那張68X80的圖片拖入場景中時,將經過像素到單位比(Pixels To Units)換算的,在unity中默認是100,我們可以在圖片信息中看見這個值:
即100像素轉換為unity中一個單位,這張高度80像素的圖片在不放大的原始大小情況下,即使0.8個單位高;
前面說到的相機的size,調整的就是相機的渲染高度,其值表示的是屏幕高度0.5;
現在我們賦值size值=3,那么相機的渲染高度將會是6個單位高,通過下圖驗證
如圖:將前面導入的圖片復制疊加,這里有8個,每個80像素高 ( 即0.8單位高 ),而最后一個剛好超出相機渲染線框 半個圖片高,所以相機范圍內圖片高為7.50.8=6個單位高,正好驗證了與size設置的關系.
而相機渲染寬度,則是通過屏幕寬高比換算得出;
無論我們怎么調整分辨率,都不再會改變,這個相機顯示單位高度只會根據size決定,最終改變的是因分辨率不同,導致寬高比不同所換算出來的相機渲染寬度;
了解到這點,就可以容易地對不同分辨率手機的適配
————————————————
原文鏈接:https://blog.csdn.net/qq_32830923/article/details/53409802