【ハルシオンブログ】以前使ってた仮想ジョイスティックのアセットがなくなった!!今度はこのアセットで簡単にジョイスティックをつくったよ!
こんにちは。坂内っす。
さて花粉もいい感じに盛り上がってきました。
みなさん花粉に負けないで生きてください。
Unityのお話。
以前仮想コントローラとして、「CN Controls」というアセットを使用していましたが、なんと今使えなくなっています!
というか、AssetStoreからなくなっていました!

ということで、違うコントローラの紹介。
Touch Controls Kit - Lite
ということで、無料版の方ですね。
こちらの簡単な使い方を紹介します。
【仮想ジョイスティック】
①ジョイスティックを用意する。
GameObject>UI>Touch Controls Kit>Joystick

②ジョイスティックの範囲を設定

Joystick0(ベースの名前)の範囲を変えるとジョイスティックの範囲が変わります。
画面全部にすると、どこをタップしてもジョイスティックが出る感じです。
③ジョイスティックを動かしたことを検知
とりあえずこんなC#のスクリプトを作成し、Canvasにでもつけてやりましょう。
[ControlKitManager.cs]
これだけ!
GetAxisの中の"Joystick0"は①で用意したJoystickの名前です。
①のJoystick0を名前変えた場合は、GetAxisの中の名前も同じにしてください。

【ボタン】
①ボタンを用意する。
GameObject>UI>Touch Controls Kit>Button
②ボタンが押されたことを検知
[ControlKitManager.cs]
TCKInput.GetActionでボタンが押されたことを検知します。
こちらのコードの例だとEActionEventがDownになっていますが、Click、Down、Press、Upが選択できます。

ということで、ジョイスティックとボタンを簡単に配置する方法でした。
それでは、Joystickについてもう少し詳しく紹介していきましょう。

●UpdateMode
どのUpdateで検知するか。
Update、LateUpdate、FixedUpdateのどこで検知するかを選択できるようです。
(どのUpdateにおいても普通に検出するので、いまいち選択する意味が分からないっす)
●Enable
Activeのチェックを外すとジョイスティックに触れなくなります。
Visibleのチェックを外すと消えます。
●Identifer
Joystickのオブジェクトの名前が入ります。
●Mode
Dynamicを選択すると、ジョイスティックの範囲内ではじめにタップした場所をベースに動きます。
俗にいうプニコンみたいな動きになります。
Staticを選択すると、ジョイスティックのベースは変わらずに動かすことができます。
●Sensitivity(1~10)
感度?のようだけど…変えてもいまいち違いが分からない。
●Borde Size(1~9)
ジョイスティックの動く範囲。
●Smooth Return(1~20)
動かしたジョイスティックを離した際に、元の場所に戻る速度。
1だとゆ~~っくり戻る。
20だと即座に戻る。
●Touch Zone
ジョイスティックの触れる範囲の枠の色
等
ジョイスティックだけでも色々さわれますね!
こちらのアセットですが、Proという有料版もあります。
有料版では、ジョイスティック、ボタン、タッチパッドの他にもハンドル、DPad(?)等が使えるようです。
簡単にジョイスティックが導入できるので、是非お試しあれ。
では、あでゅ~ノシ
さて花粉もいい感じに盛り上がってきました。
みなさん花粉に負けないで生きてください。
Unityのお話。
以前仮想コントローラとして、「CN Controls」というアセットを使用していましたが、なんと今使えなくなっています!
というか、AssetStoreからなくなっていました!

ということで、違うコントローラの紹介。
Touch Controls Kit - Lite
ということで、無料版の方ですね。
こちらの簡単な使い方を紹介します。
【仮想ジョイスティック】
①ジョイスティックを用意する。
GameObject>UI>Touch Controls Kit>Joystick

②ジョイスティックの範囲を設定

Joystick0(ベースの名前)の範囲を変えるとジョイスティックの範囲が変わります。
画面全部にすると、どこをタップしてもジョイスティックが出る感じです。
③ジョイスティックを動かしたことを検知
とりあえずこんなC#のスクリプトを作成し、Canvasにでもつけてやりましょう。
[ControlKitManager.cs]
using UnityEngine;
using TouchControlsKit;
public class ControlKitManager : MonoBehaviour {
void Update () {
Vector2 move = TCKInput.GetAxis("Joystick0");
Debug.Log(move);
}
}
これだけ!
GetAxisの中の"Joystick0"は①で用意したJoystickの名前です。
①のJoystick0を名前変えた場合は、GetAxisの中の名前も同じにしてください。

【ボタン】
①ボタンを用意する。
GameObject>UI>Touch Controls Kit>Button
②ボタンが押されたことを検知
[ControlKitManager.cs]
using UnityEngine;
using TouchControlsKit;
public class ControlKitManager : MonoBehaviour {
void Update () {
Vector2 move = TCKInput.GetAxis("Joystick0");
if(TCKInput.GetAction("Button0", EActionEvent.Down)) {
Debug.Log("おされたよ");
}
}
}
TCKInput.GetActionでボタンが押されたことを検知します。
こちらのコードの例だとEActionEventがDownになっていますが、Click、Down、Press、Upが選択できます。

ということで、ジョイスティックとボタンを簡単に配置する方法でした。
それでは、Joystickについてもう少し詳しく紹介していきましょう。

●UpdateMode
どのUpdateで検知するか。
Update、LateUpdate、FixedUpdateのどこで検知するかを選択できるようです。
(どのUpdateにおいても普通に検出するので、いまいち選択する意味が分からないっす)
●Enable
Activeのチェックを外すとジョイスティックに触れなくなります。
Visibleのチェックを外すと消えます。
●Identifer
Joystickのオブジェクトの名前が入ります。
●Mode
Dynamicを選択すると、ジョイスティックの範囲内ではじめにタップした場所をベースに動きます。
俗にいうプニコンみたいな動きになります。
Staticを選択すると、ジョイスティックのベースは変わらずに動かすことができます。
●Sensitivity(1~10)
感度?のようだけど…変えてもいまいち違いが分からない。
●Borde Size(1~9)
ジョイスティックの動く範囲。
●Smooth Return(1~20)
動かしたジョイスティックを離した際に、元の場所に戻る速度。
1だとゆ~~っくり戻る。
20だと即座に戻る。
●Touch Zone
ジョイスティックの触れる範囲の枠の色
等
ジョイスティックだけでも色々さわれますね!
こちらのアセットですが、Proという有料版もあります。
有料版では、ジョイスティック、ボタン、タッチパッドの他にもハンドル、DPad(?)等が使えるようです。
簡単にジョイスティックが導入できるので、是非お試しあれ。
では、あでゅ~ノシ
Category: 開発日記(Unity)
« 【ハルシオンブログ】iOSのビルドで久々にかなり嵌りました…orz | 【ハルシオンブログ】プロジェクトのUnityのバージョンを知りたかった時の話。 »
コメント
| h o m e |