マウスの状態を説明します。
構文
struct GameInputSensorsState
{
// GameInputSensorsAccelerometer
float accelerationInGX;
float accelerationInGY;
float accelerationInGZ;
// GameInputSensorsGyrometer
float angularVelocityInRadPerSecX;
float angularVelocityInRadPerSecY;
float angularVelocityInRadPerSecZ;
// GameInputSensorsCompass
float headingInDegreesFromMagneticNorth;
GameInputSensorAccuracy headingAccuracy;
// GameInputSensorsOrientation
float orientationW;
float orientationX;
float orientationY;
float orientationZ;
};
メンバー
accelerationInGX
型: float
x 軸に対する線形加速度 (重力単位)。
GameInputSensorsInfo が GameInputSensorsKindAccelerometer にレポートする場合有効です。
accelerationInGY
型: float
y 軸に対する重力の線形加速度。
GameInputSensorsInfo が GameInputSensorsKindAccelerometer にレポートする場合有効です。
accelerationInGZ
型: float
z 軸に対する重力による線形加速度。
GameInputSensorsInfo が GameInputSensorsKindAccelerometer にレポートする場合有効です。
angularVelocityInRadPerSecX
型: float
x 軸に対する角速度 (1 秒あたりのラジアン単位)。
GameInputSensorsInfo が GameInputSensorsKindGyrometer にレポートする場合有効です。
angularVelocityInRadPerSecY
型: float
y 軸に対する角速度 (1 秒あたりのラジアン単位)。
GameInputSensorsInfo が GameInputSensorsKindGyrometer にレポートする場合有効です。
angularVelocityInRadPerSecZ
型: float
z 軸に対する角速度 (1 秒あたりのラジアン単位)。
GameInputSensorsInfo が GameInputSensorsKindGyrometer にレポートする場合有効です。
headingInDegreesFromMagneticNorth
型: float
磁北から度単位で測った方位。 範囲: [0, 360)。
GameInputSensorsInfo が GameInputSensorsKindCompass にレポートする場合有効です。
headingAccuracy
型: GameInputSensorAccuracy
方位の精度。
GameInputSensorsInfo が GameInputSensorsKindCompass にレポートする場合有効です。
orientationW
型: float
デバイスの向きを表す四元数の w 要素。
GameInputSensorsInfo が GameInputSensorsKindOrientation にレポートする場合有効です。
orientationX
型: float
デバイスの向きを表す四元数の x 要素。
GameInputSensorsInfo が GameInputSensorsKindOrientation にレポートする場合有効です。
orientationY
型: float
デバイスの向きを表す四元数の y 要素。
GameInputSensorsInfo が GameInputSensorsKindOrientation にレポートする場合有効です。
orientationZ
型: float
デバイスの向きを表す四元数の z 要素。
GameInputSensorsInfo が GameInputSensorsKindOrientation にレポートする場合有効です。
解説
この構造は、IGameInputReading::GetSensorsState メソッドによって使用されます。
詳細については、「GameInput の読み取り値」を参照してください。
有効なデータの存在は、GameInputDeviceInfo の GameInputKindSensors によって示されます。 存在していると報告されないデータには、既定の保存時の値が入力されます。
座標系
デバイスでは、デバイスアクセラレータを Y アップ右利きシステムとして報告することが期待されます。 角速度は、これらの軸に関する右手のルールに従います。
| ゲームパッドの座標系 | ハンドヘルド座標系 |
|---|---|
|
|
X 軸は、デバイスの中央から右に向かって移動します。 Y 軸は、デバイスの中央からユーザーの顔に向かって移動します。 Z 軸は、デバイスの中央から下方向に移動します。
サンプルの加速度出力 (g):
- テーブル上にフラットに配置するデバイス: {0, 1, 0}
- 保存時の角速度 (ラジアン/秒) は {0, 0, 0} です
- そこから、デバイスを上に持ち上げる: {0, 2, 0} に増加
- そこから、デバイスを落とす: {0, 0, 0} に減少
- デバイスを回転させて、上端が空中にあり、下端が表面にあるようにします: {0, 0, -1}
- 動いている間、角速度 X は正になります: {2, 0, 0}
- フラットに戻ります。
- デバイスを回転させて、左端が空中にあり、右端が表面にあるようにします: {-1, 0, 0}
- 動いている間、角速度 Z は負になります: {0, 0, -2}
- フラットに戻ります。
- デバイスを時計回りに回転させる (右側のルールとは反対)
- 動いている間、角速度 Y は負になります: {0, -2, 0}
要件
ヘッダー: GameInput.h
サポートされているプラットフォーム: Windows、Xbox One ファミリー本体、Xbox Series 本体