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