Language: HTML | XAML

選擇使用正確的感應器 (HTML)

Applies to Windows and Windows Phone

感應器可讓應用程式得知裝置與周遭實際環境之間的關係。感應器會將裝置的方向、指向及動作告知您的應用程式。這些感應器提供獨特的輸入形式 (例如透過裝置的動作來排列螢幕上的字元,或模擬在駕駛艙中以及將裝置當成方向盤操縱),有助您提高遊戲、擴增實境應用程式或公用應用程式的實用性與互動性。

您應該從最開始就決定應用程式是否只仰賴感應器,或是只讓感應器提供額外的控制機制,這是一個普遍規則。 例如,將裝置當成虛擬方向盤的駕駛遊戲可以選擇透過螢幕上的 GUI 來控制。這樣一來,無論系統是否有感應器,應用程式都能夠運作。 另一方面,您撰寫彈珠傾斜迷宮的程式碼時,可讓它只能在具備適當感應器的系統上運作。 您必須進行策略抉擇,決定是否要完全倚賴感應器。 請注意,雖然滑鼠/觸控的操作方式比較不容易覺得身歷其境,但控制性較佳。

加速計

Accelerometer 感應器可測量裝置沿著 X 軸、Y 軸及 Z 軸的重力值,很適合簡單動作應用程式。 請注意,所謂的重力值包括因重力而產生的加速度。如果裝置在桌面上的 FaceUpSimpleOrientation,加速計的 Z 軸讀數就是 -1 G。 因此,加速計不見得只會測量座標加速度 (速度的變動率)。 當使用加速計時,請務必區別重力向量與重力的區隔,以及線性加速向量與動作的區隔。 請注意,靜止裝置的重力向量應該正規化為 1。

下圖說明:

  • V1 = 向量 1 = 因重力而產生的力
  • V2 = 向量 2 = 裝置底座的 -Z 軸 (自螢幕背面向外指)
  • Θi = 斜度 (傾斜角度) = 裝置底座 –Z 軸與重力向量之間的角度

加速計加速計測量

可使用加速計感應器的應用程式,包括以您傾斜裝置的方向 (重力向量) 讓彈珠在螢幕上滾動的遊戲。 這類功能會密切對應到 Inclinometer 的功能,且也可利用該感應器或結合使用俯仰與翻滾動作來完成。 使用加速計的重力向量,為裝置傾斜提供輕鬆以數學方式操控的向量,可稍微簡化此動作。 另一個範例是使用者在空中揮動裝置 (線性加速向量) 時,讓鞭子發出霹啪聲的應用程式。

陀螺儀

Gyrometer 感應器可測量沿著 X 軸、Y 軸及 Z 軸的角速度。 這在簡單動作應用程式中非常有用,因為這些應用程式不受裝置指向影響,但會受到裝置以不同速度旋轉所影響。 陀螺儀會因為資料中的雜訊或沿著一或多軸的常數偏差而受到影響。 您應該查詢加速計以確認裝置是否正在移動,以判斷陀螺儀是否受到偏差所影響,然後據此在應用程式中加以補償。

陀螺儀:俯仰、翻滾及偏擺

使用陀螺儀感應器的應用程式範例,就是將裝置猛然快速旋轉來旋轉輪盤的遊戲。

指南針

Compass 感應器可根據地球水平面傳回磁北的 2D 指向。 指南針感應器不應該用來判斷特定裝置指向,或用來代表 3D 空間中的任何事物。 地理功能會導致指向形成自然偏角,因此有些系統同時支援 HeadingMagneticNorthHeadingTrueNorth。 請想想您的應用程式偏好哪一種;但請記住,並非所有系統都會回報真北值。 結合陀螺儀與磁力儀 (測量磁力強度的裝置) 感應器兩者的資料以產生指南針朝向,而其淨影響就是可穩定資料 (磁場強度會因電力系統設備而極不穩定)。

關於磁北極的指南針讀數

想要顯示羅盤或巡覽地圖的應用程式,通常都會使用指南針感應器。

傾角計

Inclinometer 感應器可指定裝置的偏擺、俯仰及翻滾的值,最適合以裝置在空間之定位方式為基準的應用程式。 俯仰與翻滾是採用加速計的重力向量以及整合陀螺儀提供的資料所衍生。 偏擺則是以磁力儀與陀螺儀 (類似指南針朝向) 的資料建立。傾角計以易於解讀和理解的方式提供高階指向資料。 當您需要裝置指向但不需要操控感應器資料時,可以使用傾角計。

傾角計:俯仰、翻滾以及偏擺資料

本身會變更檢視方式以符合裝置指向的應用程式,都可以使用傾角計感應器。再者,本身會根據裝置偏擺、俯仰及翻滾而顯示飛機動作的應用程式,也可以使用傾角計讀數。

方向感應器

裝置指向可透過四元數與旋轉矩陣來表達。 OrientationSensor 提供的高精確度可用來判斷裝置在空間中相對於絕對指向的定位方式。OrientationSensor 資料衍生自加速計、陀螺儀及磁力儀。 因此,傾角計感應器與指南針感應器都可以從四元數的值衍生。 四元數與旋轉矩陣對於高階數學操作很有助益,通常用於圖形程式設計。 因為許多轉換方式都是以四元數與旋轉矩陣為基礎,所以使用複雜操作的應用程式應該會偏好使用方向感應器。

方向感應器資料

方向感應器通常用於高階擴增實境應用程式,這種應用程式會根據裝置背面所指的方向,對您的周遭環境繪製覆疊。

簡單方向

SimpleOrientationSensor 可偵測特定裝置目前的象限指向,以及它面朝上或朝下。這有六種可能的 SimpleOrientation 狀態 (NotRotatedRotated90Rotated180Rotated270FaceUpFaceDown)。

根據裝置是平行於地面或與地面成直角而變更其顯示方式的閱讀程式,都可以使用 SimpleOrientationSensor 的值來判斷裝置的手持姿勢。

相關主題

感應器資料和顯示方向

 

 

顯示:
© 2014 Microsoft