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."); } });
表示内容: |
表示内容: |