XR系のオンラインデモ用の道具とかいろいろの話

こんにちは、じゅんです。さっぽろです。
Scientist/Developer Relationsとして、自然科学者のXR方面の便利化をお手伝いしています。
昨今の情勢でオフラインでの体験会ができず、代わりにオンラインでのハンズオンなどをすることが増えてきており、やってみて有効だと最近思っている事を備忘録代わりにまとめてみたいと思います。

画像6

心構え・準備について

まずオンラインデモを行う際に私が前提としている事柄をいくつか並べます。

体験しないと分からないものなので、実際に被せる以上の効果はない。

 ウェアラブルデバイスの最大のポイントは、自分が動かしてみた時に本当の良さ・悪さに気づくという点です。このことから、オンラインでのデモの効果は非常に限定的です。そのマイナスの状態からどうやってオフライン水準の体験満足度に近づけていくかという事がデモ実施者のなやみです。私は主に、デモ相手のヒアリングから課題を聞き出してその場で解決することで満足度を少し上げる事で多少の補完をしています。

相手が説明を分かってない状態であることを、どうにかして読み取らなければ無駄時間になる。

 初見の単語などが出てきてしまった時にはハテナマークが浮かびますが、オンラインの会議だとそのサインに気づくことが今まで以上に難しいです。なので、どうにかしてデモの相手のリアクションを引き出して、不明点を残さないようにする(あるいは後で解決できるようなチャンネルを提供する)のが、確実な伝達のポイントと満足度につながると思っています。顔を出したままの状態で聞いてもらえる事もあります。その場合は比較的リアクションを見やすいので楽です。そうでない場合は音で判断することになります。

相手が100%理解するために録画している想定の下で組み立てる。

 お互い情報の伝わりにくいWebミーティングなので、相手も理解のための努力をしてくれている場合が多いです。例えば録画なんかもその例だと思います。XR関係のデモの場合は、部屋の中で空間コンピューティングをするので必ず歩き回るパートを入れています。映りたくないものがもしある場合は動ける範囲や方角が限定されてしまいます。でも録画されているがゆえに伝えるべきニュアンスが伝えられない状況は本末転倒に近いので防ぎたい。要するに、何が映り込んでも平気なように部屋を片付けようという事です。あと、後述ですが自分が映り込んでも大丈夫なように、ヒトの形を日々保っておくことも重要です。一番わたし的に難しい部分ではあるのですがここは努力です。

自分の操作の情報はなるべく多くのチャンネルで届ける

 多分一人称視点の使い方だけでは十分に操作の感じが伝わらないと思っています。なので、三人称視点でも状況が把握できるような工夫を入れ込むようにしています。なるべく操作とイベントの遅延が少なくなるようにして、直感で整理できる範囲に収めるように模索中です。

機材の不備が起きる前提でリカバリ体制を敷く

 同じようにデモを構成しているのに、毎回なにかしら想定外の挙動に遭遇して慌てがちです。複数のOSやプラットフォームを同時に動かすので、それぞれのアプデの影響を受けやすいと思って割り切る必要があると思います。原因の切り分けができるようにして復旧法を抑えておくのと、別の機材でカバーできる体制があれば教訓が残るので次に活かせます。

グッズと使い方

そんなわけで小道具の説明です。

・Miracast adaptorを使って、HoloLens着用者の視界のミラーリング映像を受け取る。

画像1

 HoloLensには、自分が見ている視界+3D CGの様子を映像データにしてそっくりそのまま無線で飛ばす機能があります。この写真に映っているのはその映像を受信するための機材の一例です。Microsoft純正のMiracastアダプタ(UTH-00036)でデータを受けて、出力のHDMI端子を中華っぽいキャプチャーボードに繋いでUSB端子からPCに送っています(miracastへの給電もPCから取ってるのでややこしいですが)。
 この運用だと、PCからはwebカメラとして視えているので、zoomとかやる時にカメラの設定で自分の顔面の代わりに映すことができます。中継機材が少ないので、遅延も少なくなり、顔面枠にわりと優先されがちな高解像度で送ることができます。画面共有の機能を使わずに状況を伝えられるので、私の画面でも参加者の顔を見ることができます。

 旧型のMiracastアダプタP3Q-00009も持っていて、熱で落ちてどうしようもなくなった時用に備えていますが、4K版をFull HD解像度程度で使っているうちは滅多に接続が切れる事がないので、UTH-00036一本あれば十分です。

 (追記)

 Googleが出している、chromecast用の映像アダプタも利用することができます。こちらはオフラインデモ用に買ったもので、客先の大画面モニタにアダプタをさしておいてOculus Quest2からの主観視点映像を無線でミラーリングするのに使っていましたが、同様の方法でWeb会議相手にも送れることが分かっています。ちょっと接続の安定性が悪いので、よくする方法を探しています。

画像5



(更に追記)

iPadのARアプリもケーブルフリーでデモ説明出来たらいいなと思って、AirPlayのレシーバーも探しています。AppleTVを買うのが確実なのかな?とも思いましたが、試してみてこちらのAirPlayレシーバもまあまあいいという事が確認できました。j5 create JVAW56 ScreenCast ワイヤレスHDMI ドングルレシーバー。前段のMiracastと同じ使い方です。USBは給電のみ。一応chromecastも受けられるみたいで、Androidスマホはミラーリングできました。Quest 2も行けそうですが、エラーが起きてるので改善法を調査中。AirPlay専用機(兼miracast用途でのサブ機)としておくのが良さそう。ホカホカになると接続が切れます。

画像7


・マイクは無指向性マイクで動き回る前提にしておく。

画像2

 Web会議をする上ではハウリングを防ぐためにヘッドセットを使うのが定石だと思うのですが、xRのデモをする上では結構付け外しで邪魔だったりすることもあり、無指向性の有線マイクを使用しています(bluetooth無線接続をあんまり信用してない)。これはjabra SPEAK 510です。HoloLensをつけて部屋の中を動き回り、説明などのしゃべりをこのマイクから相手に伝えます。もともとオフィスの多人数用なので、部屋の中程度の広さであれば全部拾ってくれているようです。

 空調などのノイズの多い部屋に住んでいるので、NVIDIA Broadcastをソフトウェア的なノイズキャンセラとして使います。jabra SPEAK→NVIDIA Broadcast→zoomのように通しています。もちろん部屋の中にスピーカで音を鳴らしているのでハウリングの危険がありますので、だいたい会議の始めに私の音声チェックをしてもらってマイク・スピーカの音量バランスを調整します。web会議のプラットフォームごとにもクセがいろいろ違うので、初めての会議ソフトの時は結構ドキドキします。

・サブPCはあらゆる用途に使える。三人称視点の提供・デスクトップ操作画面の高fps化、別会議ソフトの準備など

画像3

 メインのデスクトップPCでweb会議を繋いでいる裏で、もう一台のPCを立ち上げている事があります。主な用途は二窓運用です。Web会議に二台のPC、二つのアカウントで参加して、メインPCではHoloLens着用者視点の映像を自分の顔カメラの代わりに映して、サブのPCのインカメで自分の姿をストリーミングします。一人称と三人称両方の視覚情報が会議相手に伝わることによって、HoloLensの視界外での動作(立ったり座ったり)がダイレクトに伝わることになります。会議ツール上でもっとも入力遅延が少ない様にしているので、結構分かりやすいと思います。

 各種Web会議ツールの「画面共有」の仕様があんまり好きではありません。画面の送信解像度がでかいと帯域の都合でfpsが落ちたりすることが避けられず、マウスカーソル飛び飛びとかになってしまって非常に分かりにくくなります。それを防ぐためにwebカメラの信号を相手に見せる方針で組み立てています。

 PCのデスクトップ上でなにかファイルを操作したりといった状況を見せなければいけない時もあると思います(HoloLens内部のファイルを何かと置き換えるとか)。そういう時に文字がガビガビだったりすると、なんもわからなくなってしまうので、ノートPCで作業をしている様をHDMI出力端子でミラーリングし、それを先述のHDMI-USBキャプチャで受けると高解像度のままヌルヌルになります。

 あとはデモ実施中に接続機器が不慮のトラブルで動かなくなってももう一台がカバーすることができるのであまりドキドキしなくて済むという利点があります。また、会議アプリを使って別の会議アプリを紹介したい時なんかに、カメラデバイスとかを根こそぎ一つの会議アプリに持ってかれてもう一つのアプリからアクセスできないなんて事もあるので、その時はサブを本会議から落として、アプリ接続用に振り替えます。ちなみにPCが載っている台はアルミ天板のオーケストラ譜面台です。こないだ買ってみました。

・もっと遅延の少ない仕組みは姿見

画像4

 サブPCを使わず操作の全貌を伝える方法もあります。目の前にデカい鏡を置いて自分が映るようにしながら操作をすれば、1窓でも操作とイベントの対応関係を伝えることができます。光は最速です。メインPCとサブPCの信号のラグも無くなるのが利点ですが、姿見+動き回るデモスタイルのせいで部屋のあらゆる箇所が映り込みます。部屋は掃除しましょう。つらい。または逆に、小ネタガジェットをところどころ配置しておいて、接続相手と仲良くなるためのフックにするのも賢いと思います。
 おっさんの部屋が映っても誰も得しないですが、若い女性とかは防犯上あんまりやらない方がよさそうな気がします。もちろん自分自身も存分に映るわけですから、なるべくヒトの形を保っておく必要がありそうです。なんで外に一切出ない生活なのに外行きの身だしなみをキープしなければいけないのか…!ちょっとめんどくさいです。

運用編その2 口頭での伝え方 

 ノンバーバルコミュニケーションをうまく説明に活かすための上記機器の他にもデモ中に気を付けていることがあります。初見さんへの分かりやすさのためにオフライン以上に気を付けている事が以下です。

①動作予告を口で言う

 「○○をするために△△します」というセリフをハッキリ伝えてから自分が操作すると、どうやったらそうなるのかまでが伝わると思っています。HoloLensの場合、直感操作でなにかしらが動くようになっていて、それはつまり入力操作にバリエーションが多すぎる(エアタップ・ヘッドゲイズ・ドゥエル・ボタンプッシュ・ドラッグ・両手ピンチ・視線ゲイズなどなど)という事です。△△の部分を省くと、長い操作の時は絶対憶えられないです。なので、△△が明示されているのが絶対親切です。

②操作の様子が分かりやすい表現をわざと入れる

 ①を補強するために、自分が操作する時に△△を修飾する言葉を付けます。たとえば、HoloLens2の仮想ボタンを押す操作をするとき、「ポチっとな(←古い)」って言いながらやるという事です。UIにレイを当ててエアタップする時は「ピチョッと押します」みたいな接触時間短そうな表現にしたり、ウィンドウ拡大の時などは「キュッとつまんで引っ張ります」みたいに擬音が付きます。実際にキュッて鳴るわけじゃないので何とも微妙なんですが、操作の雰囲気が伝わる言葉を考えるのが重要だと思っています。

③操作に対する結果もちゃんと口で言う

 こうしてわざとらしく行った操作に対して、視界の中で変化が起きた時には、「△△したら□□が出ました・壊れました」などのように、起きた事を正確に実況します。私が操作をミスった時は、「△△したら□□が出るはずだったんですが出なかったのでもう1回やります」みたいなことを言ってもいいです。操作が難しかったんだなと思ってもらえる可能性が上がりますので、無言でやり直すより全然よいです。こうやって操作に関する因果関係を相手の脳に刻み込んでもらう努力をします。

④機材がある時は向こうでもやってもらう

 体験しないと分からないのがXRなので、説明だけしてサクサク次へというのは個人的にはまずやらないです。やって見せたら、相手にも実際にやってもらい、うまく出来たら盛り上がる、というところまではやります。
 もしうまくできてなければ、その後の操作全部トレースできなくて何のためのハンズオンか分からないので、序盤のお試しタイムを観察して大体の操作の熟練具合を把握するようにしています。説明の表現も、このフィードバック情報を反映してより易しくなったり専門っぽくなったりします。この辺のすり合わせが上手く行った時は、デモ相手からの個人的な信用度が上がります。オフラインの時と同じですね。話が通じている感が重要です。

まとめ

 XRは身体操作を伴うコンピューティングを含むという事を踏まえて、普通のデスクトップツールのハンズオンとは異なるケアをすると結構いいですよという話を書いてみました。本当は場面ごとにもっと細かくあったりするんですが、今回は省きます。
 身体操作自体を伝えるために三人称視点の様子・ゴーグル内イベントを伝えるために一人称視点の様子を、それぞれ遅延なく同時に伝えるのが操作伝授法のキモです。
 アプリ起動中、機能の因果関係を把握してもらうためには口頭での表現が必要不可欠で、その表現を適切に選ぶためには、デモ相手に実際に操作してもらっている時の情報をちゃんと観察して判断するのがよさそうです。
 情報を頂くためにも、ファシリテーションにも実は気を使っていたりします。こんな感じで進行していくので、一般的なハンズオンよりははるかに時間がかかりますが、いきなり挫折してウェアラブル系全般を嫌いになられると損なので丁寧にやってみています。
 お気づきでしょうか。運用その2の③でちょっと触れたのですが、「上手くできなかった時」を正確に伝えられるというのは、ハンズオン以外にも別の意味を持ちます。たとえば先生ではなく生徒の側がこの環境を持っている場合、不具合とか試行錯誤を先生に共有するためのシステムになります。うまくできる状態を確実に相手に伝える方法というのは、上手くできてない状態を確実に相手に伝える方法と表裏一体の関係なんですね('ω')
 気が向いたらもうちょっと書き足します。デモをされる方の参考に少しでもなれば幸いです。

おわり

やってないけどやれたらいいかなと思っている参考事例

・ARコンテンツ作成勉強会 (#AR_Fukuoka) オンラインハンズオン

 zoomでの少人数ケアが基本な吉永さんのハンズオンです。web上にサンプルコードをまとめたフォルダを設置し、参加者がそれをダウンロードすることで、コースのステップごとに小分けされたコードを手元環境に組み込んで実機確認できるようになっています。フォルダ公開の仕組みも良いですが、並走しているYoutubeストリーミング(限定公開)もとても便利で、zoomで聴き逃したパートをyoutubeで戻って確認して倍速で追いつくという事ができます。ワンオペでも脱落者が発生しにくい素晴らしい運営方式だと思っています。

・ワンフットシーバス田中さんの配信構成(オンラインLTハックより)

 私と同じくオンラインデモをしなければいけない時の伝達改善のまとめです。1on1みたいな少人数ではなくウェビナーみたいな規模でやらなきゃいけない時の印象があります。画作りにもっとこだわるためにカメラがもっと良いものになってたり、映像配信用のATEM miniが導入されていたりで、クオリティとしては一段階上のものになってそうです。

同時期のかおるん先生の↓も同じ発想で組まれていると思います。


・オフライン体験会の時の満足度に近づけるための、自分の過去の体験会の記事

 とにかくヒアリングに徹して、それから嬉しい体験を持ち帰ってもらう方式がオンラインでも出来たらいいですよね。1対nの時でもそういうのができるためには場の意見を非同期で効率的に収集するシステムが別建てで欲しくなりますね。Slidoみたいなのがいいか、Miroみたいのがいいか。

 miracastを活用する方法の前段。出張先でプロジェクタを使うことで被ってないのに理解度が上がる作戦。

 HoloLensを体験する前に、LookingGlassのジェスチャー入力を経験してもらう事でHoloLensでの入力成功率を底上げして、本題のHoloLens体験がサクサクすすんで笑顔になる作戦。

(2021/5/22 240min 6293字
 2021/6/1 追記 7041字)