Sensor API の RelativeOrientationSensorインターフェイスは、地球の参照座標系に関係なく、デバイスの物理的な向きを記述します。
このセンサーを使用するには、ユーザーは「accelerometer(加速度計)」に権限を付与する必要があります。および「gyroscope(ジャイロスコープ)」デバイスセンサーは、Permissions API を介して提供されます。
機能ポリシーが機能の使用をブロックしている場合は、コードがサーバーに設定されているポリシーと矛盾していることが原因です。これは、ユーザーに表示されるものではありません。Feature-Policy HTTPヘッダーの記事には、実装手順が含まれています。
特定のプロパティはありません。祖先の OrientationSensor と Sensor からメソッドを継承します。
特定の方法はありません。祖先の OrientationSensor と Sensor からメソッドを継承します。
特定のイベントはありません。祖先である Sensor からイベントを継承します。
注: これに基づくIntelデモでは、AbsoluteOrientationSensor を使用します。読み取りのたびに、OrientationSensor.quaternion を使用して電話のビジュアルモデルを回転させます。
const options = { frequency: 60, referenceFrame: 'device' };
const sensor = new RelativeOrientationSensor(options);
sensor.addEventListener('reading', () => {
// model is a Three.js object instantiated elsewhere.
model.quaternion.fromArray(sensor.quaternion).inverse();
});
sensor.addEventListener('error', error => {
if (event.error.name == 'NotReadableError') {
console.log("Sensor is not available.");
}
});
sensor.start();
const sensor = new RelativeOrientationSensor();
Promise.all([navigator.permissions.query({ name: "accelerometer" }),
navigator.permissions.query({ name: "gyroscope" })])
.then(results => {
if (results.every(result => result.state === "granted")) {
sensor.start();
...
} else {
console.log("No permissions to use RelativeOrientationSensor.");
}
});
| 表示内容: |
| 表示内容: |