コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】Unity 2021.2 の Input System で iOS において WebGL で加速度を取得する方法

概要

f:id:baba_s:20220112092706p:plain

Unity プロジェクトに Input System パッケージをインストールして

f:id:baba_s:20220112092709p:plain

Project Settings の「Input System Package」のページで
「Supported Devices」に「Accelerometer」を追加して

using TMPro;
using UnityEngine;
using UnityEngine.InputSystem;

public class Example : MonoBehaviour
{
    public TMP_Text m_text;

    private void Update()
    {
        var accelerometer = Accelerometer.current;

        if ( accelerometer == null ) return;

        InputSystem.EnableDevice( accelerometer );

        var enabled      = accelerometer.enabled;
        var acceleration = accelerometer.acceleration.ReadValue();

        m_text.text = $@"enabled: {enabled}
acceleration: {acceleration}";
    }
}

上記のようなコードを書いて WebGL ビルドして、
ビルドした WebGL を https で iOS で開いて

f:id:baba_s:20220112093342p:plain

画面をタップすると確認ダイアログが表示されるので許可を押す

f:id:baba_s:20220112093347p:plain

これで iOS において WebGL で加速度を取得できるようになります

参考サイト様