コガネブログ

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

【Unity】スマホゲームでタッチジェスチャを識別できる「Easy Touch 5 : Touchscreen & Virtual Controls」を使用してカメラを操作するスクリプトを紹介

概要

2012/5/7 に、タッチジェスチャ識別用のアセット
「Easy Touch 5 : Touchscreen & Virtual Controls」がリリースされました

「Easy Touch 5 : Touchscreen & Virtual Controls」を使用すると、
スマホゲームでタッチジェスチャを識別できるようになるので
↓のような 3D ゲームのカメラ操作を実装できるようになります

今回はこの Easy Touch を使用してカメラを操作するスクリプトを紹介します

検証環境

  • Unity 5.6.2f1
  • Easy Touch 5 : Touchscreen & Virtual Controls 5.0.17

使い方

TouchManager.cs · GitHub

まず、こちらの GitHub に公開されている TouchManager.cs を Unity プロジェクトに追加します

f:id:baba_s:20170828122742p:plain

そして、シーンの階層を下記のようにします

f:id:baba_s:20170828125636p:plain

オブジェクト 内容
CameraAxis カメラの軸となるオブジェクト
カメラの Y 座標を設定します
Main Camera カメラ本体
カメラの Z 座標を設定します
TouchManager TouchManager.cs をアタッチしたオブジェクト
カメラの操作に関するパラメータを設定します

CameraAxis はカメラの Y 座標を下記のように設定します

f:id:baba_s:20170828125245p:plain

Main Camera はカメラの Z 座標を次のように設定します
必要であれば Y 軸方向の回転角も 180° 回転させておきます

f:id:baba_s:20170828125406p:plain

TouchManager には TouchManager.cs と EasyTouch.cs をアタッチします

f:id:baba_s:20170828125757p:plain

あとは、TouchManager.cs の各種パラメータを変更してカメラの操作性を設定します

項目 内容
Camera Axis CameraAxis オブジェクトを設定
Camera Main Camera オブジェクトを設定
Move Speed カメラの移動速度
Rotate Speed カメラの回転速度
Zoom Speed カメラのズーム速度
Min Pos X カメラを移動できる X 座標の最小値
Max Pos X カメラを移動できる X 座標の最大値
Min Pos Y カメラを移動できる Y 座標の最小値
Max Pos Y カメラを移動できる Y 座標の最大値
Min Field Of View カメラをズームできる視野角の最小値
Max Field Of View カメラをズームできる視野角の最大値
Min Rotate X カメラを回転できる上方向の限界値
Max Rotate X カメラを回転できる下方向の限界値
Mouse Speed マウスでカメラを回転する時の速度
Wheel Speed マウスでカメラを拡大する時の速度

Unity エディタ上で動作確認する時は下記のように操作します

項目 操作方法
回転 ドラッグ
移動 Ctrl キーを押しながらドラッグ
ズーム Alt キーを押しながらドラッグ

以上で Easy Touch 5 を用いたカメラ操作を Unity に組み込み完了です

まとめ

Easy Touch 5 を使用すると 1 つのスクリプトで簡単にカメラ操作が実装できます
今回はジェスチャー機能を使用したカメラ操作を紹介させていただきましたが
Easy Touch 5 は他にもジョイスティックの機能などが入っています
興味がある方は購入してみて頂ければと思います