第2回 自作ゲームの経過報告 ~Easy Touch Controls の Auto Stabilisation を手動にしてみた~

Easy Touch Controls の Auto Stabilisation を手動にしてみた!

f:id:monchi-bit:20160624215338j:plain

 

オートマティック・スタビリゼーション(Automatic Stabilisation)

とは、自動安定化のことです。

 

タッチパッドやジョイスティックで
視点を上下させた後、指を離すと視点が自動で中心に戻るシステムです。

 

おそらく飛行機やヘリコプター、ドローンのゲームで
機体を安定させるために用意されたシステムかと思いますが、
FPSでこの機能を使えば、タッチパッドの操作が楽になりそうだったので
ソースコードに少々手を加え、手動安定化(勝手に命名)してみました。


これがその動画です。

 

www.youtube.com

 

タッチパッドを一回タップすると視点が自動で中心に戻ります。

ジョイスティックで移動中も作動します。

 

プレイヤーがゲーム中に使って

便利になるかどうか分かりませんが

とりあえず実装してみました。

 

 

それでは作り方です。

※以下、Easy Touch が必要です。

 

まずは、スクリプトC#)を新規で作成します。

名前は ManualStabilisation にしましたが、何でもいいです。

このスクリプトに以下のコードを記述(コピペ)します。

 

セーブしたらこのスクリプト

前回の記事で作成した、Hierarchy の TouchPad に

ドラッグ&ドロップし、アタッチします。

f:id:monchi-bit:20160624234658j:plain

 

次に、この TouchPad をクリックし、

Inspector を表示させて、以下のように設定します。

f:id:monchi-bit:20160625000108j:plain

f:id:monchi-bit:20160625000122j:plain

f:id:monchi-bit:20160625000134j:plain

 

ついでに、Automatic Stabilization にチェックを入れ、

Vertical の Speed を 370 にしてからチェックを外しておきましょう。

これは視点が戻るときの速度です。

f:id:monchi-bit:20160625000206j:plain

 

手動安定化では、Easy Touch の タップ機能を使います。

 

Inspector の Add Component から

Easy Touch → Quick Tap をアタッチします。

f:id:monchi-bit:20160625012406j:plainf:id:monchi-bit:20160625012445j:plain

 

Quick Tap は以下のように設定します。

f:id:monchi-bit:20160625012527j:plain

 

"On Tap" の空欄にはオブジェクトが必要です。

Hierarchy の TouchPad(このオブジェクト) をドラッグし、

この空欄にドロップします。

 

メソッドの指定は、ManualStabilisation → playAutoStab を選びます。

f:id:monchi-bit:20160625013235j:plain

 

もう少しで終わりです!

 

Easy Touch の ETCAxis と ETCTouchPad スクリプトを開きます。

f:id:monchi-bit:20160625014215j:plain

 

ETCAxis では、

public void UpdateAxis メソッドの

// Auto stabilization の上の行に、以下のコードを記述(コピペ)します。

 

最後に、ETCTouchPad で、

private void UpdateTouchPad メソッドの

 

axisX.UpdateAxis( tmpAxis.x,isOnDrag,ETCBase.ControlType.DPad);

axisY.UpdateAxis( tmpAxis.y,isOnDrag,ETCBase.ControlType.DPad);

 

コメントアウトし、

 

// axisX.UpdateAxis( tmpAxis.x,isOnDrag,ETCBase.ControlType.DPad);

// axisY.UpdateAxis( tmpAxis.y,isOnDrag,ETCBase.ControlType.DPad);

 

にします。

後は、以下のコードを記述(コピペ)します。

 

以上で完了です。お疲れ様でした。

 

使用したアセット

Easy Touch 4 : Touchscreen & Virtual Controls