docs.unity3d.com
    目次を表示する/隠す

    センサーのサポート

    • Sampling Frequency (サンプリング頻度)
    • Accelerometer (加速度センサー)
    • Gyroscope (ジャイロスコープ)
    • GravitySensor (重力センサー)
    • AttitudeSensor (姿勢センサー)
    • LinearAccelerationSensor (線形加速度センサー)
    • MagneticFieldSensor (磁場センサー)
    • LightSensor (光センサー)
    • PressureSensor (圧力センサー)
    • ProximitySensor (近接センサー)
    • HumiditySensor (湿度センサー)
    • AmbientTemperatureSensor (周囲温度センサー)
    • StepCounter (歩数計)

    センサーとは、コンテンツが実行されているデバイスの環境特性を測定する InputDevice です。Unity では現在、iOS と Android でセンサーがサポートされています。Android では、iOS よりも広範囲にわたるセンサーがサポートされます。

    ノート: iOS または Android のアプリをエディターでテストするときに、モバイルデバイスからのセンサー入力を使用するには、こちら で説明されている Unity Remote を使用できます。現在、Accelerometer、Gyroscope、GravitySensor、AttitudeSensor、および LinearAccelerationSensor がサポートされています。

    特定のセンサーが存在するかどうかを判定するには、そのセンサーの .current ゲッターを使用できます。

    // ジャイロスコープセンサーデバイスが存在するかどうかを判定します。
    if (Gyroscope.current != null)
        Debug.Log("Gyroscope present");
    

    他のデバイスとは異なり、センサーはデフォルトで無効になっています。センサーを有効にするには、InputSystem.EnableDevice() を呼び出します。

    InputSystem.EnableDevice(Gyroscope.current);
    

    センサーを無効にするには、InputSystem.DisableDevice() を呼び出します。

    InputSystem.DisableDevice(Gyroscope.current);
    

    センサーが現在、有効かどうかを確認するには、InputDevice.enabled を使用します。

    if (Gyroscope.current.enabled)
        Debug.Log("Gyroscope is enabled");
    

    各センサー Device は、そのセンサーによって読み取られるデータを表す単一の Control を実装しています。以下のセンサーが用意されています。

    Device Android iOS WebGL Control 型
    Accelerometer ○ ○ ○ (1) acceleration Vector3Control
    Gyroscope ○ ○ ○ (1) angularVelocity Vector3Control
    GravitySensor ○ ○ ○ (1) gravity Vector3Control
    AttitudeSensor ○ ○ ○ (1) attitude QuaternionControl
    LinearAccelerationSensor ○ ○ ○ (1) acceleration Vector3Control
    MagneticFieldSensor ○ × × magneticField Vector3Control
    LightSensor ○ × × lightLevel AxisControl
    PressureSensor ○ × × atmosphericPressure AxisControl
    ProximitySensor ○ × × distance AxisControl
    HumiditySensor ○ × × relativeHumidity AxisControl
    AmbientTemperatureSensor ○ × × ambientTemperature AxisControl
    StepCounter ○ ○ × stepCounter IntegerControl

    ノート:

    1. Android および iOS デバイス上の WebGL でのセンサーのサポートは Unity 2021.2 で使用可能です。

    サンプリング頻度

    センサーは、設定された間隔で継続的にサンプリングを実行します。各センサーのサンプリング頻度の設定または照会を行うには、samplingFrequency プロパティを使用します。頻度はヘルツ (1 秒あたりのサンプリング数) で表されます。

    // ジャイロのサンプリング頻度を取得します。
    var frequency = Gyroscope.current.samplingFrequency;
    
    // ジャイロのサンプリング頻度を、1 秒あたり 16 回に設定します。
    Gyroscope.current.samplingFrequency = 16;
    

    Accelerometer (加速度センサー)

    加速度センサーは、デバイスの加速度を測定するために使用します。これは、デバイスの移動によってコンテンツを制御する場合に役立ちます。このセンサーは、デバイスで測定された加速度を報告します。加速度は、デバイスの動きと、デバイスに下向きにかかる重力の両方により生じます。これらの値を別々に取得するには、GravitySensor と LinearAccelerationSensor を使用できます。値は、Compensate Orientation 設定の影響を受けます。

    Gyroscope (ジャイロスコープ)

    ジャイロスコープは、デバイスの角速度を測定するために使用します。これは、デバイスの回転でコンテンツを制御する場合に役立ちます。値は、Compensate Orientation 設定の影響を受けます。

    GravitySensor (重力センサー)

    重力センサーは、デバイスにかかる重力ベクトルの方向を特定するために使用します。これは、デバイスの向きでコンテンツを制御する場合に役立ちます。これは通常、ハードウェアの Accelerometer から線形加速度 (LinearAccelerationSensor を参照) の影響を減算することで算出されます。値は、Compensate Orientation 設定の影響を受けます。

    AttitudeSensor (姿勢センサー)

    姿勢センサーは、デバイスの向きを特定するために使用します。これは、デバイスの回転でコンテンツを制御する場合に役立ちます。値は、Compensate Orientation 設定の影響を受けます。

    LinearAccelerationSensor (線形加速度センサー)

    加速度センサーは、デバイスの加速度を測定するために使用します。これは、デバイスの移動によってコンテンツを制御する場合に役立ちます。線形加速度は、重力の影響を除いたデバイスの加速度を表します。これは通常、ハードウェアの Accelerometer から重力 (GravitySensor を参照) の影響を減算することで算出されます。値は、Compensate Orientation 設定の影響を受けます。

    MagneticFieldSensor (磁場センサー)

    この Input Device は、コンテンツを実行しているデバイスに影響を与える磁場を表します。値は、マイクロテスラ (μT) で表される、X、Y、Z 軸の周囲磁場の測定値です。

    LightSensor (光センサー)

    この Input Device は、コンテンツを実行しているデバイスで測定された環境光を表します。値は、SI 単位系のルクスで表されます。

    PressureSensor (圧力センサー)

    この Input Device は、コンテンツを実行しているデバイスで測定された大気圧を表します。値は hPa (ミリバール) で表されます。

    ProximitySensor (近接センサー)

    この Input Device で、コンテンツを実行しているデバイスとユーザーの近さが測定されます。携帯電話では、通常、ユーザーが電話を耳元に保持しているかどうかを判別するために近接センサーが使用されます。値は、測定距離をセンチメートルで表します。

    HumiditySensor (湿度センサー)

    この Input Device は、コンテンツを実行しているデバイスで測定された空気湿度を表します。値は、相対的な周囲空気湿度をパーセントで表します。

    AmbientTemperatureSensor (周囲温度センサー)

    この Input Device は、コンテンツを実行しているデバイスで測定された気温を表します。値は摂氏温度で表されます。

    StepCounter (歩数計)

    この Input Device は、コンテンツを実行しているデバイスによって計測されたユーザーの歩数を表します。

    ノート: iOS/tvOS デバイスの歩数計にアクセスするには、入力設定 で Motion Usage 設定 を有効にする必要があります。

    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)