unity設(shè)備dpi的作用(手指滑動物理距離計算)
2020-08-20 11:48 作者:unity_某某師_高錦錦 | 我要投稿
當需要在移動設(shè)備中檢測手指移動距離,并根據(jù)手指移動的物理距離來控制物體的旋轉(zhuǎn)或縮放時,需要獲取設(shè)備的dpi(每英寸點的個數(shù)),通常就是ppi(每英寸像素的個數(shù))。
原因:
因為相同物理尺寸的設(shè)備可能顯示的像素分辨率并不同,而unity中Touch.position獲取的是像素坐標,不同dpi的設(shè)備,dpi低的設(shè)備手指可能移動10厘米時像素變化100,但是高dpi的設(shè)備可能只需要移動1mm像素就變化了100,如果直接用像素的變化值作為參數(shù)控制物體的旋轉(zhuǎn)量或者縮放量的化,就會造成不同dpi設(shè)備上的靈敏度不同。
解決方案:
1.獲取設(shè)備靈敏度Screen.dpi
2.用像素變化量除以Sreen.dpi的值作為控制物體旋轉(zhuǎn)或縮放的變化量,可以乘以一個系數(shù)用來控制靈敏度
標簽: