見出し画像

Apple Vision Pro向けハンドジェスチャー開発ツールをリリース。エンジニアが語る開発背景。【Graffity 開発者インタビュー】

GraffityはApple Vision Pro向けのハンドジェスチャー開発ツール「Hand Gesture Tool For Apple Vision Pro」をリリースしました。高性能なApple Vision Proのハンドトラッキング技術を活用するためには、開発力と時間を要します。その課題を解決するツールとして16種類のハンドジェスチャーを含むライブラリを開発しました。今回の開発について、Unityエンジニアの小林慶祐と、入社3カ月でプロジェクトに入ったUnityエンジニアの濱田脩人にインタビュー。開発に着手した背景から、工夫したポイント、発信したいメッセージについて聞きました。

小林 慶祐
大手のソーシャルゲーム開発・運営企業を経て、Graffityに入社。Unity開発リードエンジニア。


濱田 脩人
ゲーム会社のエンジニアからXR分野に興味を持ち、最先端技術に挑戦できることからGraffityに入社。入社後すぐ「Hand Gesture Tool For Apple Vision Pro」のプロジェクトに入る


「今後のために作ってしまおう」とプロジェクトスタート。拡張可能なハンドジェスチャーツール

——ハンドジェスチャー開発ツールの概要について教えてください
小林:「Hand Gesture Tool For Apple Vision Pro」はUnity Asset StoreでダウンロードできるApple Vision Pro向けのハンドジェスチャーツールで、16種類のハンドジェスチャーが含まれています。このツールを使うことにより、開発者は簡単にハンドジェスチャーを実装することができ、開発時間の短縮とゲームの魅力向上につながります。

——開発に至った経緯や背景を教えてください
小林:Apple Vision Proは高性能なハンドトラッキングが可能です。しかし、もともと認識できる動作はタップ操作や、親指と人差し指の先端を合わせてつまむピンチ操作などの限られた手のジェスチャーと、目線追跡しかありません。ハンドジェスチャーツールを開発している企業は少なく、Unityの公式が公開したものも制限があり開発者用のテスト版でした。
3月中旬に「Shuriken Survivor」の技術調査をおこなっていたときに、独自のジェスチャーを作るのは簡単ではないということがわかりました。開発者が手作りしないといけない状態だったんです。「それなら、今後の開発のためにいっそ作ってしまおう」と制作に着手しました。

——開発で工夫した点を教えてください
濱田:もともとのプロジェクトとしては、10種類くらいのジェスチャーを用意して、その入力がとれるツールパッケージを作るというものでした。そこから変更して、ジェスチャーの条件をアセット化して使用者が編集できる設計にしました。UI上で条件を入力するだけで新しいジェスチャーを独自で用意できるようにしたんです。
開発ツールによって、プログラムのコードを書かずに新しいジェスチャーのポーズ認識システムを作れるようにしたのが大きなポイントです。ほかのジェスチャーに応用できるように汎用性を高めたので、種類も増やせましたし、制作コストをぐっと下げることができたと思います。
また、動的なジェスチャーも設定できるようにしました。例えば、ジャンケンのグーの形は認識できても、グーからパーになったという「動き」の検出はできませんでした。それを検出できるようになったというのは大きな差別化ですね。

——Apple Vision Proならではのポイントはありますか?
小林:Apple Vision Proならではの高精度な検出を活用できるところです。
これまでのVRゴーグルだと、自分の目の前に手をかざして自分の視界に収めないと検出できませんでしたが、Apple Vision Proは自分の視野の外でも認識してくれます。
膝や腰のあたりに手があっても、ジェスチャーが認識されます。例えば、手裏剣を投げる動作も、自然な手の位置から認識させることが可能です。

Apple Vision Proの国内リリースに合わせたスケジュール、開発期間と体制について

——開発期間と開発体制について教えてください
小林:仕様策定に1カ月、残りの1カ月半を実装に向けての開発にあてました。
Apple Vision Proの国内発売よりも前にリリースしたいという希望があったので、そのスケジュールで動いていました。4月からプロジェクトが始まり、濱田さんには入社後すぐに入ってもらいました。まずはデバイスの技術仕様や、どのように作れば今後も使いやすいツールになるのかを調査。その後の開発期間で、実際のポーズやパターンを作り、サンプルを用意して進めていきました。

濱田:仕様策定は最初は私1人で、5月からはもう1人のエンジニアの方に入ってもらって1.5人くらいの開発体制で進めました。リリースまでの期間を優先して、Unityの機能を使った上でジェスチャーの検知ができるという落とし所を探しながら進めました。

——なぜUnityでの開発にしましたか?
小林:大きな理由はUnityでの開発経験が多いからです。また、ほかの開発環境では時間がかかってしまうので、リリースのスケジュールを優先してまずはUnityに特化したツールを目指しました。


ノウハウや前例のない開発、発生した問題の解決策と情報発信

——どのようにジェスチャーを選定しましたか?
小林:ジェスチャーのアイデアは、代表の森本を中心に社内で出してもらいました。出た案の中から、技術的に可能なものをピックアップして絞ったものが今回の16種類です。

濱田:基本的に障害物に隠れてしまうと、動作の認識がしづらくなってしまいます。例えば、右手と左手が重なっていて、右手の奥に左手があると左手の動きは検知できない。そうならない動きであることを第一に、汎用性が高いジェスチャーを準備しました。

——開発する上で大変だったことは何ですか?それらをどう解決しましたか?

濱田:設定自体は問題ありませんでしたが、強いて言うならジェスチャーを検出しやすい条件と検出しにくい条件があったところです。例えば、カメハメ波を打つようなポーズの場合……下の手はうつらないんです。でも、ここにあるだろうという予測をして、見えているときの座標を加味して計算することは可能です。そのようにして、隠れた状態でも計算して検知できるように工夫しました。

小林:やはりノウハウがないので、最初に実験をして検証するのに時間がかかりました。
社内で新しいポーズの案を出してもらっても、それが認識可能かは実機でしか確認できません。そこで、サポートでエンジニアさんを1人追加して、Unityのエディター上で手の3Dモデルを表示して確認できるようにしたんです。「この条件のポーズだと、こうやって検出してくれますよ」というのを視覚的にわかるようにしました。それによって、実機でしかチェックできないという問題を改善しました。

また、実際に検証するなかでわかったのですが、Apple Vision Proとして検出できない関節があって、それをどうカバーするのか考えました。あるはずの関節が検出されなかったり、ないはずの関節が検出されたり……。例えば、Apple Vision Proの検出には手のひらの関節
がなかったので、その代わりに他の指の関節情報から手のひらの関節情報を推定することで対応しました。
検証でわかった結果は資料にまとめて、開発者が見られるように社外にも公開しました。Apple Vision Pro向けのプロジェクトの開発環境がよくなればと、注意喚起や知見の共有のために発信しています。

開発者の間でどんどん拡張して、Apple Vision Proでの体験を広めてほしい

利用者へのメッセージ

濱田:拡張できるように作っているので、開発したいものに合わせて独自に条件を足すことができます。どんどん使いやすいようにしてもらって、それをリリースして開発者の間で使ってもらえたらと思います。

小林:まずは「Apple Vision Proってこんなことができるんだ」というのを体験してもらいたいです。このハンドジェスチャー開発ツールを活用して新しいものを作ってください。そしてそれを公表して、さまざまな体験を広めてほしいです。
また、今回のリリースで「ほかのデバイスでも使えるようにしてほしい」という声が多くありました。今後、Apple Vision Pro以外のデバイスでも使えるようにツールの拡張をする予定で、次のアップデートに向けて取り組んでいます。


Graffityでは、AR技術に特化した新規事業の企画・開発・運用改善まで支援するスタジオ「Graffity AR Studio」を運営しており、これまで累計25万ダウンロードを突破したARシューティングバトル「ペチャバト」や、グローバルに展開しているARシューティングバトル「Leap Trigger」など、ARエンタメを中心としたAR新規事業を推進しております。これらの知見を活かし、スピード感を持ってARを活用した新規事業をワンストップでサポートいたします。

Apple Vision Pro向けにアプリをリリースされたい場合は、ぜひお問合せください。


Graffity株式会社では一緒に働く仲間を募集しています!
まずは話だけ聞きたいなどでも大歓迎です!!

会社について詳細はこちら👇


この記事が気に入ったらサポートをしてみませんか?