Unity關於像素,Camera大小,以及分辨率的研究

參考來源:http://www.cnblogs.com/flyFreeZn/p/4073655.html


首先得認識下像素等相關單位,根據知乎網友的解釋:
像素(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.5*0.8=6個單位高,正好驗證了與size設置的關係.

而相機渲染寬度,則是通過屏幕寬高比換算得出;
無論我們怎麼調整分辨率,都不再會改變,這個相機顯示單位高度只會根據size決定,最終改變的是因分辨率不同,導致寬高比不同所換算出來的相機渲染寬度;

瞭解到這點,就可以容易地對不同分辨率手機的適配

詳細可以參考頂部鏈接,在最後有詳細的解釋,這裏就不再累述了;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章