FC2ブログ
    05 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.» 07

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【ハルシオンブログ】以前使ってた仮想ジョイスティックのアセットがなくなった!!今度はこのアセットで簡単にジョイスティックをつくったよ! 

    こんにちは。坂内っす。

    さて花粉もいい感じに盛り上がってきました。
    みなさん花粉に負けないで生きてください。

    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)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/484-a01832da
    この記事にトラックバックする(FC2ブログユーザー)