ストレスフリーなソロ充ライフ

ストレスフリーを掲げるアラサー会社員のブログです。キーワードはソロ充、ライフハック、効率化、多趣味。

DANCERUSH STARDOM(ダンスラ) のセンサーはこんな仕組みになっている

ダンスラは誤反応との戦いでもありますが、拭くだけで直ることもあれば、拭いたりゴミを取り除いたりしても直らないこともあり、「どうなってんのこれ」と疑問に思ったことは一度や二度ではありません。

そこで、誤反応の原因となっている「センサー」について、どんな仕組みになっているのか調べてみました。

センサーは二つある

まず結論から言うと、センサーは二つあります。

フットパネルのふちに設置された ふちセンサー と、フットパネルの底に設置された 底センサー の二つです。

f:id:stakiran:20181103093341j:plain

画像の赤線がふちセンサーで、黄色の面(画像は斜線ですがフットパネル全面)が底センサーです。

ふちセンサー

ふちセンサーは フットパネル上のどこ(XY位置)が踏まれたのか を検出するためのセンサーです。

仕組みとしてはタッチパネルと同じです。簡単に書くと、まず登場人物が二人います。

  • フットパネルの角に「赤外線発射装置」がある
  • フットパネルのふちに「反射枠」が敷いてある

この二つは、以下のような使い方をします。

  • 「発射装置」から角度をつけて赤外線を常に発射し続ける
    • 例: 0度で発射、1度で発射、2度で発射……
  • 「反射枠」は ぶつかってきた赤外線をその入射角と同じ角度で跳ね返す 性質がある

したがって、パネル上に何か物体があると赤外線が遮られます ので、「何か物体があるな」と検出できます。

「発射装置」からは多数の角度で発射しているので、結果的に「この角度で発射した赤外線は遮られている」「この角度は遮られていない」といったように 角度ごとに遮られているかどうかがわかります

ここで登場するのが三角測量です。角度情報が二つ(つまり発射装置が二つ)あれば、数学的に X位置とY位置がわかります

三角測量例

出典: 光学式タッチパネル 動作原理 | ぺんてる株式会社

このようにして、フットパネル上のどこが遮られているか、を座標で取得することができています。

参考:

ふちセンサーがあるなら底センサーは要らなくない?

ここで一つ疑問が浮かびます。

「ふちセンサーで位置がわかるなら、センサーはこれだけでよくない?(底センサー要らなくない?)」

ということです。僕も思いました。

しかし、調べていると、どうも底にもセンサーはあるっぽい。どういうことなのか……とあれこれ考えて、ようやく納得できました。

ふちセンサーだけでは不十分です。なぜならタップの判定を検出できないから。

タップというのは、ノーツとも呼ばれている、これのことです(ダンスラ公式では「タップ」と呼んでいるので、本記事でもタップと呼びます)。

タップノーツ

出典: DANCERUSH STARDOM

なぜふちセンサーだけではダメなのか。底センサーが必要なのか――詳しく見ていきましょうか。

底センサー

底センサーは フットパネル上のどの部分が塞がされているか(つまり踏まれているか)を検出する ためのセンサーです。

仕組みとしては、こちらは赤外線センサーあるいは光学センサーだと思われます。僕が素人なので断定はできませんでした。が、いずれにせよ、 何か物体で塞がれた部分を検出する という肝に変わりはありません。

この底センサーですが、LEDと同じ密度で配置されています。実際、フットパネルを真上から見てみると、自分が踏んでいる部分はLEDが光っていますよね。LEDが何百と敷き詰められているように、底センサーも敷き詰められています。なので、フットパネル上の「どの位置(XY位置)が踏まれているか」もわかります。

(参考) 底センサーの仕組み

ありそうな仕組みを二点ほど挙げています。本筋とは逸れるので、読み飛ばしても構いません。

可能性1: 赤外線センサー

フットパネルの底から常に赤外線を発射し、何かに遮られたら「踏まれた」と解釈する――という仕組みです。

もっというとアクティブセンサーと呼ばれる方式です。対する言葉としてパッシブセンサーがあり、これは生物の表面から放出する赤外線を捉えるという方式で、害獣(イノシシやシカなど)が接近した時に音を鳴らして追い払う装置などはこれが使われています。ダンスラでは、パッシブセンサーは使われていないはずです。なぜなら、

  • パッシブセンサーは検出精度が低いから
  • ダンスラでは(赤外線を発する生物ではない)物体で遮っても反応するから

だからです。

可能性2: 光学センサー

可能性1の赤外線アクティブセンサーですが、これは「発射部」と「受光部」から成り立つのが一般的です。しかし、ダンスラのフットパネル底が発射部だとすると、受光部がありません。なので、赤外線アクティブセンサーの線は薄いのではないか、と僕個人は考えています。

そうなると、残る可能性が光学センサーです。つまりは 光が遮られたかどうか を検出する、というシンプルなセンサーです。シンプルとはいえ、仕組みは多数存在するため、どの仕組みなのかまではわかりません。

ただ、この仕組みだとすると、一つの仮説を立てることができます。

「真っ暗闇な部屋でダンスラしたら、(元から光が無いから)検出できないのでは?」

ということです。いや、もしかしたらダンスラの筐体自体が発する光で案外動作するのかもしれませんが。

参考リンク

調べたサイトのうち、いくつかを載せておきます。

底センサーの存在意義は?

ここまで二つのセンサーについて取り上げました。

  • 踏んだXY位置を検出する ふちセンサー
  • 踏んだXY位置が「塞がれている(踏まれている)」かどうかを検出する 底センサー

そして、疑問として、以下がありました。

  • Q:ふちセンサーで位置がわかるのだから、底センサーは要らなくない?

しかし、底センサーは必要です。

こう考えてみましょう。

「もし底センサーがなかった場合に、タップの判定を検出するとしたら、どうなるか」と。

おそらく、上手く検出できないはずです。たとえば、もし「"タップのX位置" に対応する "フットパネル上のX位置" が、ふちセンサーで検出されていれば良い」としたら、 フットパネルをずっと踏んでいるだけですべてのタップが取れてしまいます。これではゲームになりませんよね。

タップの判定は、言葉で書けば以下のようになっています(なっていると思います)。

  • (1) タップが判定ラインにまで降ってきた時に、まず "タップのX位置" に対応する "フットパネル上のX位置" が踏まれていないことを検出する
  • (2) (1) の状態を検出した後、タップが判定ラインを出るまでに、"タップのX位置" に対応する "フットパネル上のX位置" が踏まれることを検出する
  • (3) (2)のタイミングによって、PERFECT(ジャストタイミング) から BAD(早すぎる or 遅すぎる)まで判定が分かれる

ポイントは 判定ゾーン開始位置に来た時に、まず「踏まれていない」という状態からスタートすること、そして 判定ゾーン終了位置を過ぎるまでに「踏まれた」という状態を検出すること、という 二段階 の方式が必要だということです。

ここまでしてはじめて、音ゲーとして通用するタップ判定を実現できます。

そして、これを実現するためには、ふちセンサーだけでは足りません。底センサーという 踏まれたかどうか を知る術が必要なのです。

誤反応に対処する

ここまでダンスラが持つセンサーの仕組みについて説明しました。

センサーの仕組みがわかれば、誤反応の原因や対処方法にもあたりをつけやすくなります。ここからは、よく言われる対処法について、センサーの仕組みから改めて考察してみます。

フットパネルふちのゴミを掃除機で吸い取る

フットパネルのふちに溜まったゴミを掃除機で吸い取れば誤反応が直る、という情報をちらほら見かけます。

これは ふちセンサーの誤反応を防ぐため ですね。

ふちにゴミが溜まっていると、赤外線が塞がれてしまいますので、言うなれば「常にフットパネル上に物体(もっというと足)が置かれている」という状態だとみなされてしまいます。

「早すぎるタイミング(FAST)で取れてしまう」という類の誤反応は、これが原因であることが多いと言えます。なぜかというと、タップを判定するためには「ふちセンサーでXY位置を調べる」ことと「底センサーでXY位置に対応するZ位置が上げ下げされているかを調べる」ことの二つが必要で、そのうち前者が常に検出され続けることになるからです。

スライド痕を拭き取る

ダンスラのスライドアクションを多用すると、靴底が削れ、削れたくずがフットパネルに付着する という現象が発生します。

これは 底センサーの誤反応 を誘発しますね。削れたくずが、常に底センサーを遮っていることになるからです。対処法としては、きれいに取り除くしかありません。取り除くのは骨が折れるようです。

かばんのひも、靴ひもなど

ダンスラのセンサーはデリケートで、ちょこっとかばんのひもが入っていたり、あるいは靴ひもが解けていたりすると、もう誤反応が発生してしまいます。

が、これも 底センサーの誤反応 ですね。底センサーは、上述のとおり「塞がれたかどうか」を検出しているので、物体の重さやサイズは関係がありません。塞がれれば足だろうとひもだろうと、なんだろうと検出します。

誤反応をなくす基本は、 ささいな物であってもフットパネルを塞がない ことです。

革靴やヒールだと三本足、四本足になる

よく革靴やヒールだと足が三本、あるいは四本あるかのように検出されることがあります。いわゆる三本足、四本足と呼ぶやつですね。

これも 底センサーの誤反応、というか仕様です。

底センサーは、軽く足をあげるだけでも反応できるよう、「塞がれた(=踏まれた)」を検出する高度がかなり低く抑えられています。なので、革靴やヒールのように 土踏まず部分が高い 履き物だと、土踏まず部分が検出高度を超えてしまい、検出されません。

結果として、つま先部分とかかと部分が別々に検出されるような挙動となってしまいます。

対処法としては そういう靴では遊ばない 他はありません。

拭いてもゴミを取り除いても誤反応が直らない

たまに、どうやって誤反応が直らない筐体と遭遇します。

これは色々な原因が考えられるのですが、最も多いのは 底センサーに何かが接触している ケースでしょうか。

たとえば シリコン (フットパネルのアクリル板とセンサー部分の間にある、白いやつ)がズレて、底センサー側に寄ってしまっているとか。

つまりはシリコンが底センサーを塞いでしまい、その部分が「常に塞がれている」ように検出されてしまう、ということですね。これはシリコンを直さない限り、直りません。

他にも フットパネルのゆがみ も考えられます。フットパネルは「アクリル板の層」と「LED&センサーの層」に分かれていますが、このアクリル部分が強い力などによってへこまされていると、へこんだ部分とセンサーとの距離が近くなってしまいます。

アクリル板は、ただでさえ荷重によって押し下がりますから、へこんだ部分は、なおのことセンサーと物理的に近づいてしまいます。つまりアクリル板(のへこんだ部分)がセンサーを塞ぐ、という挙動になってしまいます。

これはアクリル板を交換しない限り、直りません。交換はおそらく高価でしょうから、まあ店側としても放置するしかないですよね。こうして常時誤反応台が誕生します。

おわりに

以上、ダンスラのセンサーの仕組みについて詳しく見ていきました。センサーの仕組みがわかれば、誤反応にも対処しやすくなると思いますので、参考にしていただければ。

なお、これはあくまで素人の見解でしかないことはご了承ください。補足や異論などありましたら、ぜひドシドシとお寄せください!