mieki256's diary



2014/02/18(火) [n年前の日記]

#2 [unity] タッチパネルと十字キーとABボタンについてもやもやと考え中

昨日アップロードした、Unityで作ったソレを、Android機に持っていって動かしてみたいなと。

しかし、十字キー+ABボタンで操作することが前提のアプリを、タッチパネルしか持ってないAndroid機で動かしても、何も操作できないなと気がついて。どうしたもんか。

Unityとタッチパネルについてメモ。 :

一応 Unity には、仮想ジョイスティックだか、バーチャルパッドだかを実装できる Asset が入ってるそうで。

_Unity でスマフォ向けに仮想ジョイスティックをつける。 | Lonely Mobiler
_テラシュールウェア [Unity3D]スマートフォンに仮想パットを付ける

しかし、見るからに、アナログスティック。

アナログスティックでは、デジタルな十字キーの代替にならない。これは既に、自分が中高生の頃に、MZ-700上で体験した。ゲームをもっと快適に遊びたいなーと思って、MZ-700に接続できる、独自規格のSHARP純正ジョイスティックを買ったのだけど。X軸とY軸が0〜255の値を返すアナログスティックだったので、快適になるどころか拷問レベルのプレイ感覚を味わって。…「知らないまま買っちゃったのかよ?」と笑われそうだけど、アナログなジョイスティックがこの世に存在するなんて、当時の自分は知らなかったのです。

てなわけで、「ジョイスティック」を使えば遊びやすくなるとは一概に言えない。ジョイスティックの種類によりますよ、と。

ということで、Unityが標準で用意してるバーチャルパッドは使えない。自分で、デジタルな十字キー相当を実装する必要がある。そのためには、タッチパネル上のどのへんを押されたか、情報を取得できないと話にならない。

タッチ情報を取得するなら、Unity の場合、 _Input.GetTouch てのが使える模様。
  1. Input.touchCount に、押された点の数が入ってくるから、それが0より大きければ、タッチされてることが分かる。
  2. タッチされてるなら、Input.GetTouch(n).phase を見て、指が触れた瞬間か、指を動かしてるのか、指が離されたのかを調べる。
_Touch.phase のサンプルが参考になりそう。

であれば、PC + Unity Editor でアプリを動かした際、このタッチ情報を、マウス情報で代替・エミュレートしてくれるのだろうな。

と思いきや、さにあらず。Unity上では、マウス情報は、あくまでマウス情報。タッチ情報は、あくまでタッチ情報。別々になったまま。つまり、PC + Unity Editor しか持ってない状況では、タッチパネル操作を取得・エミュレートする手段が無い。要するに、このままではAndroidアプリが作れない。

そこで、 _Unity Remote というAndroidアプリが関係してくる。らしい。
  1. このアプリを、PCとUSB接続したAndroid機にインストールして実行する。
  2. Android機のタッチパネル情報や傾きセンサ情報を、Unity Remote が、USB経由で、PC側に送ってくれる。
  3. PC上の Unity Editor が、それら情報を使って画面をレンダリング。
  4. PC上でレンダリングされた画像が、USB経由で、Android機(の Unity Remote)に送られて、Android機で表示される。
てな仕組みらしい。まだ試用してないので、本当にそうなるのか分からんけど。

と、ここまでは調べたのだけど。

タッチパネルで十字キー+ABボタンは無理じゃないかな。 :

実際に、どんなボタン配置にしようかなと考え始めたところで、詰まってしまった。どう考えても、イライラムカムカしてくる、クソなバーチャルパッドしかイメージできない…。
  • ←、→、ジャンプ、ショットの、4つのボタンが必要。たったの4つ。しかし、どんな配置にするか。
  • 左右に移動するだけなら、画面の左端と右端のどちらかがタップされたかで判別できそう。しかし、そこにジャンプとショットが追加されると…。
  • ショットとジャンプはトリガーだから、タッチした瞬間だけ取得できれば、処理はできる。でも、2種類のボタンを、手触りで確認できないタッチパネル操作で用意するのは、アウトな仕様だよなと。
  • 横移動には傾きセンサを使うとか? しかし、傾きセンサはアバウトな入力になるので、イライラするはず。アレはアナログスティックと同類。しかも、傾きセンサや加速度センサを使うと、画面の見え方が変わってしまう。プレイに必要な視覚情報が正確に伝達できなくなるので、当然、シビアな操作も無理になる。
色々考えたけど、「斜めジャンプしながらショットを撃つ」という、ファミコンゲームでも当たり前にできたことすら、満足にできない予感。

てなわけで、諦めました。画面をタップするだけで遊べるゲームじゃないとあかんよなと。あるいは、リアルタイムゲームは綺麗さっぱり諦めるとか。タッチパネルでそういうのは無理。

この記事へのツッコミ

Re: タッチパネルと十字キーとABボタンについてもやもやと考え中 by Jacob    2014/07/19 05:24
今まさに記事で書かれている状況(つまり、諦めた)です。
あまりに身につまされて思わずコメントしてしまいました。

自分もいくつかアセットストアから入手したもの、あるいは自作のもの、
色々試してみましたがストレスなく操作・・・とはいきませんでした。


以上です。

過去ログ表示

Prev - 2014/02 - Next
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

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project