読者です 読者をやめる 読者になる 読者になる

(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

UnityでiOSの3D Touchを使う【Unity】【iOS】


このエントリーをはてなブックマークに追加

この記事でのバージョン
Unity 5.4.0f3
iOS 9.3.2
Unity Remote 5 2.0

はじめに

今回はタイトルの通り、UnityでiOSの3D Touchを使うための記事です。


なおUnityエディター上でも、Unity Remote 5を使い、

3D Touch対応端末から操作すればテストすることができます。


Unity Remote 5

Unity Remote 5

  • Unity Technologies ApS
  • ユーティリティ
  • 無料


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っ)∋〜