QUMARIONのUnity用ライブラリでQUMARIONのボタン状態を参照する方法

Pocket

小ネタというか、前回の記事に載せ忘れた補足です。

 

UnityでQUMARIONを導入する方法については「QUMARIONをUnityで使うライブラリを公開しました」をご覧ください。本記事はその記事の補足です。

 

上記の記事ではQUMARION SDKとかラッパーのDLLを持ってきてUnityのAssetsに配置する手順と、QUMARIONとヒューマノイドの姿勢を同期する方法を紹介しました。もちろんヒューマノイドとQUMARIONの同期はライブラリとしての最重要な部分なのですが、サンプルとしてうっかり紹介を忘れてたのがQUMARIONの背面についているボタンの扱いです。

qumarion_button

実機を持っている人なら分かると思いますが、QUMARIONを集中してグリグリ動かす場合はどうしても両手でつかむ必要があるため、QUMARIONとマウス/キーボードを同時に使うようなUXは明らかにアウトです。

そうすると多くのゲームで必要なメニューやポーズの機能をどう提供するかが問題になるのですが、QUMARIONの場合はこの背中のボタンでどうにかしてもらうのが有効な解決策となります。そもそもQUMARION用のゲーム作りたい人が世間に何人いるか分かりませんが。

 

で、もちろんQUMARIONのボタン状態チェック機能はラッパーの一環として実装してあります。スクリプトはこんな感じ。

これをカメラでも何でもいいのでオブジェクトにアタッチして実行すると、ログにボタンが押されてるかどうかに応じた出力がバーッと表示されます。

 

残念ながらラップ元のAPIは「ボタンの状態が変化した場合のコールバックを登録」的な処理に対応していない為、ラッパーの方でも上のように「現在のボタンの状態を取得」という機能だけを提供しています。ボタンの状態変化をイベントとして検出したい場合は「ボタン監視するシングルトンオブジェクトが状態変化を検出したらeventを発火」みたいなパターンでうまく対応してください。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です