この記事でのバージョン
Unity 5.4.0f3
iOS 9.3.2
Unity Remote 5 2.0
はじめに
今回はタイトルの通り、UnityでiOSの3D Touchを使うための記事です。
なおUnityエディター上でも、Unity Remote 5を使い、
3D Touch対応端末から操作すればテストすることができます。
Input.touchPressureSupported
入力しているデバイスが3D Touchに対応しているかどうかを知りたいときは
Input.touchPressureSupportedが使えます。
以下のような感じで、入力しているデバイスが3D Touchに対応しているかどうかを返します。
if(Input.touchPressureSupported){ Debug.Log ("3Dタッチ使えるよ!"); }
Touch.pressure
どれだけの強さで押しているのかを取得したい時はTouch.pressureが使えます。
なお、3D Touchに対応していない端末の場合、常に1.0fを返します。
実際に使う時は以下のような感じになります。
void Update () { //タッチされているかどうか if(Input.touches.Length > 0){ //強さをログで表示 Debug.Log (Input.touches [0].pressure); } }
Touch.maximumPossiblePressure
現在のプラットフォームで認識できる
圧力の最大値はTouch.maximumPossiblePressureで確認できます。
なお、3D Touchに対応していない端末の場合、常に1.0fを返します。
void Update () { //タッチされているかどうか if(Input.touches.Length > 0){ //圧力最大値をログで表示 Debug.Log (Input.touches [0].maximumPossiblePressure ); } }
おわりに
現状では対応端末が少ないため、3D Touchを活用したゲームは作りにくいですが、
もっと一般的になればいつかは役に立つ日が来るかもしれません(:3っ)∋〜