Ink

Contents related to tech, hobby, etc

XRKaigi 2024のレポート兼メモ

|

XRKaigi 2024 2日目にあたる 12月12日に見てきましたので、そのメモです。 まだきちんと整理されていないので今後整理予定。

セッション

実はまだ殆どのものは見れておらず、後日アーカイブで見る予定でいます。

Unity6で始める 最新XR アプリ開発 2024冬

セッション紹介ページ: https://www.xrkaigi.com/event/9316/module/booth/308916/264492

おなじみUnity Technologiesの高橋忍さんによる、Unity6を用いたXRアプリ開発についての公演です。 Unity標準機能を用いてのXR開発に焦点があてられていて、「意外と色々と出来るようになっている」という驚きがありました。

  • XR interaction Toolkitも育っているし、 ARFoundation を揃えると大分やれることが広がる。

  • 様々なコンポーネントがあるが、基本的にPrefabがもうあるのでそれを使えばよい。

[new!] Meta XR Core SDKを使用しないでMetaのビデオパススルーする

Unity6では、ARFoundationを使うとMetaのSDK使わずともビデオパススルーが使えるようになった。

手順

  1. ARFoundationをいれる

  2. AR Camera ManagerをMainCameraに入れる。これがパススルーの映像を取り込む。

  3. このままだとskyboxに邪魔されるので、solidColorにして完全透明にする。

  4. パススルーが出る。

既存のUnityプロジェクトを最低限XRで見れるようにするには

最低限、「VRで見れる」ようにするには以下の手順で出来る。但し、移動もコントローラーの表示も何も出来ない状態。

  1. パッケージを入れる

  2. Minimum API levelを12Lにする(6になっていがち)

  3. metaだとUnity OpenXR metaを入れる。これでルーム関連とかも使えるようになる。

  4. mainCamera を削除し、XR Originに差し替える。

最初からXRアプリをつくる

最初から作る場合は、 "VR" テンプレートから開始し、新しいシーンを作成する際のテンプレート VR (Basic) を用いるのがよい。

新しいシーンを作成する際に選べる "VR (Basic)" シーンを使うのが良い。 VR Basicだと、デモ用のgameObjectがなく、でもセットアップされたXROriginと諸々必要なものは用意された空のSceneが作れる。

ちなみに他のテンプレートで作成している場合、 "VR (Basic)" シーンテンプレートは表示されない。

Locomotionについて(去年とほぼ変わらず)

新規で "Climb" locomotionが追加されたこと以外去年一昨年とあまり変わらない。 ...とは聞いたが、自分はここら辺で前わたわたしたのでメモ。 ここら辺はStarter AssetsにPrefabがある。

Turnもスナップターンとcontinuousがある。チェックを外すとcontinuousが無効化される。Locomotionこれ自体では移動機能はない。

Teleportation Area

「テレポート出来る場所」を表現する。例えばテレポート可能な床があるのであれば、そのコライダーを持つgameObjectに付ける。

  • プレーンなものにつける

  • このままつけただけだと動かない。InteractionLayerMaskが "Teleport" じゃないと動けないようになってるから。

  • レイヤーマスクで動ける場所を管理している。

Teloportation Anchor

  • 空のオブジェクトを作り、TeleportationAnchorをつける。レイヤーマスクは同じようにつける。この中にメッシュを置き、rayのヒット判定のためにcolliderをつける。

  • 「移動可能である」事を示すマーカーを表示するためのオブジェクトを Ankerとして "メッシュより少し上に置く"

  • スナップさせるには

酔い軽減のためのビネット処理: Tunneling Vignette

移動中に視野を狭めるためのやつ。Basicのテンプレートではデフォルトでは設定されていない。 メインカメラにTunneling Vignette Prefabを刺して、「どの操作の時に使うか」を指定するためにLocomotion Vignette Providerを使う。

新規Locomotion "Climb"

新しいロコモーションとして「Climb Interactable」が増えた。

掴んで登れる対象物のgameObjectに ClimbInteractable コンポーネントをアタッチして使用する。 又、対象物の親 gameObject に設定しても反映される。

例えば、ハシゴの横棒一つ一つに付ける代わりに、横棒を全て1つの親に纏めてその親にアタッチしてもよい。

捕めるものを作る

XRGrabInteractive で掴めるようにする。 角を掴んだり、掴んだ場所を掴めるようにするには UseDynamic Attatchをtrueにする。

掴んだもの

https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@3.0/api/UnityEngine.XR.Interaction.Toolkit.Transformers.IXRGrabTransformer.html

XRGeneralGrabTransformerで拡大縮小か可能。 これだけでは、Interactableが片手用なので持ち替えちゃってうまくいかない。Interactable側でScaleMode : Multipleにする。

掴んだ interactable の姿勢の計算をする: IXRGrabTransformer

掴まれている XRGrabInteracable の姿勢情報は Grab Transformers によって計算される。

物を仕舞う Interactor: XRSocketInteractor

「鍵穴に鍵を差す」「パズルを嵌める」など、「何かに何かを仕舞う・スナップする」インタラクションに使えるのが XRSocketInteractor

受け口側に XRSocketInteractor をつけ、対象になる Interactable は LayerMask で制限する。

押しボタンを作る: XRSimpleIneractable

XR Simple interactive で押す処理ができるようになる。XRPokeFilterを使う と押す方向や許容角度などを変えられる。Poke Button Prefabを見てみるとい い。

XRHands!標準機能でハントラ。

別パッケージとして提供されている。GestureサンプルとHandVisualizerサンプルは必須とのこと。

既存のプロジェクトに入れるためには XROrigin を入れ替える必要があるが、XROrigin Hands VisualizerのサンプルシーンにあるXR Origin Prefab がセットアップ済みのものになっています。 XROriginをいれかえてしまっていいとのこと。

XR Input Modality Managerが自動切り替えする。

が、自分の手元で確認した所、 HandVisualizer 内に "XR Origin (XRHands) は見当らなかった。 代わりに、

手の見た目の調整

手のスキンはLeft Hand Tracking/LeftHandのskinnedMeshRenderer。 Hand Visualizerでスキンのオンオフが変えられる。デバッグ用に間接も表示できる。

掴んだ時、PinchPositionが...TrackedComponentに格納される。

ジェスチャー

HandGestureサンプルで手の形の定義・検出できる。動きのあるのは無理。各指の曲がり方・隣の指との間隔・親指とのピンチの状態で保存されていて、マッチしたらトリガーする。

ジェスチャーのパラメータを設定して作れる。

Quest Room情報取得: BoundingBox

BoundingBox、metaのQuest Roomの情報をとってきて表示できる。 特定の面をとってこれる。詳細は取れない。 horizontalUp→上向の平面、horizontalDown→下向きの平面=天井

Unreal

Unreal Engineの専門会社、関西では少ない。 Unrealを使っていることはなんでもやる、といった会社。

UnrealEngineの現状

5.5がリリースされ、実質無限の動的ライトのMegaLightsが使えるようになった。 ノンゲームでも、年間100万ドル以上&UE5.4以降の場合は1シート280,454 円/シート になっている。ユーザー側で動くバイナリデータを配布しているか?が判断のベースになってる。映像とかがノンゲーム。

UEFNはベースはUEだが中身は細かいところが違っている。ブループリントの代わりにVerseを使う(本当に使ってみたい)

総合デジタルストアである「FAB」がオープンした。Unreal・UEFN・Unityアセットなど色々なものに対応している。 Sketchfabにあったモデルがそのまま売られているので数は膨大。あらゆるDCCツールのアセットが販売されてる。

EpicGamesとAppleの提訴問題は2023年時点でEpicGamesが実質敗訴な状況。他国の状態や対Googleではまた違う。 EUではデジタル市場法によってサイドロードが解放され、モバイル版Epic Games Storeが解放された。韓国・日本でも法律規制緩和があり、韓国は来年・日本は、来年か再来年くらいに解放されそうと言われる。

XR Creative frramework

OpenXRベースの汎用XRフレームワーク。 「バーチャルスカウティングツールセット」というものがあり、VR空間内での作業ができる。コラボレーションもできる。標準ツール。

LiveLinkOpenVR LiveLink機能がそもそもある。これを使うとエンジンにアニメーションデータなどを直接データが流し込める。今はSteamVRとViveTrackerの接素膜を行える。

LumenとNaniteもXR対応が進んでいる Lumen→ グローバルイルミネーション、Nanite→それの無限なやつ? 現状PCでしか使えない。

Apple Vision Proにも正式対応してる。Vision OS 2.0、パススルー、Mixed Immersive Mode

バーチャルプロダクションはEpicGamesが特に力を入れている。

コア技術にXR技術が多用されてるので様々な可能性を秘めている。(事例スクショ) 王様戦隊キングオージャーのBTS動画がバーチャルプロダクションの説明にわかりやすい。全話バーチャルプロダクション。背景にLED wallを使い、その前で演技している。50話くらいのドラマ全てに使われている。

初のバーチャルプロダクション映像は「マンダロリアン」。 リアルタイムに行われたカメラトラッキングを使用したライブ合成は昔ながらのもの。

インカメラvfxだと、照明を後から合成する必要がない。 バーチャルスカウティング=実物内で確認し、現場でデジタルアセットを編集する

Unreal製のメタバース

  • Fortnite

  • illuvium

  • MetaMe

  • 360Channel

  • ガンダムメタバース

など

フォトナ、現状世界最高規模のメタバースの一つ、数億人ユーザーがいる。 UEFNのリリースから出来ることが一気に増え、島をユーザーが作れるようになっている。 キングオージャーも、実際に撮影に使ったアセットを使用した島がある ガンダム復讐のレクイエムも本編がUE製で、そのアセットを使用した島がある。

MetaMe、UE5ベースでクラウドレンダリングで動く。ある程度回線速度が必要だが、それさえあれば場所を選ばない。 様々なワールドがある。 Indie-us GamesさんはUE周り全般に関わっており、IUG-Resortワールドも作っている。 空間の分解を行い、1万人接続を可能にしている。画面の中に入れるのは難しいが、同じ空間上に1万人。

ばぁちゃるおるやんけ 「みんなで集まって一体感を楽しむメタバース空間」を目指している。

今後のXRとメタバース

VRそのものへの投資は減退気味ではある。UEはXRへの投資は続いているし、特にバーチャルプロダクションに大きく投資している。

展示

meganex 8k

ディスプレイ

発色が綺麗、手で持つやつは三脚みたいになる。 暗いシーンがよかった、暗い川辺で車列の夜景を眺めてるようなやつ。 同じようなものをQuest3とかで見て比較したい気持ち。肉眼のようだというのはわかる。

ハードウェア

軽量さはとても良い。

目の周りがゴム式なのでメガネでも押し当てられるのも良い。そもそもメガネ なくても片目ずつ調整できるから問題ない気がした。十分クッキリと映る。 (ただしガチャ目の場合は調整に気をつける必要ある、普通のメガネと同じ)

めちゃくちゃな首の動きをすると若干レンダリングが間に合ってなくてズレて る感じがある。技術的にどうかは勿論分からないが、数フレ固まっているよう な感じ。ただまぁ、本当に「めちゃくちゃな」動きをした時の話で普段は特に 問題なさそうな気がした。fpsで弾除けの為に頭を急に振る、とかするとちょっ と影響するのかも?くらい?

フリップアップはボタン式、押すのが若干面倒にも感じたが多分慣れ。下ろす時に固定されないのも慣れ…か…?

バンドのフィット感は悪くなくしっかりとした感じがあるが、バンドなのでハードなやつほどではない。

ContactGlove2

装着感

普通のグローブという感じだった。手のひらにプロテクターが入った薄い手袋みたいなのがあるけど、それに似た感触。付け心地は良い。 しばらくつけてても重さで疲れはしない。まぁただ、軽くて重心位置が相対的に低いtundra trackerを使っていたので、viveトラッカーだとまた別かもしれない。tundra trackerなら全然問題なさそう。

つけたままスマホで文字入力はちょっときつい。ペットボトル持つのとかは大丈夫。

操作感

親指を手前に引く動きは少しやりづらい。 親指、薬指、小指は流石に反りづらい。これは仕方ないし親指以外はほぼ使わない気がする。

手で物を掴む感覚は掴みやすい。 ハプティックは単純ではあるが、システム通知的な感じとしては良い。 やっぱりどうしても反った時に「つっかえる」感じと曲げた時に「引っ張っている」感じはする。長期間使うとどうなのかは分からないけども。

そのほか

Unityから使う時はSDKを使用する。SteamVR Inputを利用する。 デモ用なので簡易的なキャリブレーションのみでブレていたが、より詳細に設定ができるとのこと。

トラブル中に見えたVSCodeにて、タスクランナーに何使っててドライバーのGUI部分は何のフレームワークでかかれてて っていうのが見えたのが個人的に楽しかった。公開情報なのか分からないので詳しくは書かないけど。

sony, ELF-SR2

カメラで人の顔を捉えて、その目の位置から見ると立体的に見える映像をレンダリングするやつ。

ちゃんと正面に立つと思った以上に立体的に見える。ただ範囲が狭い。 現状まだ一人しかトラッキングできない。複数人で体験するには横に並べるしかないとのこと。 きちんと正面で見ると面白い。ヘッドホンのデモが結構手前に来て面白かった。一人ずつ行うコンテンツ向きだなぁ。 ただ、思わず手を置く側にかざしてしまうと距離感が合わないので変な感じがする。物理世界より手前に描画は出来ないのでどうしようもないけど…

sony, XR HMD SRH-S1

HMD

解像度はしっかり高い。猫の写真で猫の毛並みが見れる。

横側は閉じてない。が、アタッチメントになってそう。メガネのままでもつけられている。 レンズを押してPPD調整ができる。鼻のところが広いので、つけた後にレンズを押して調整ができる。 フリップアップの宿命なのかな、フリップダウンした時にカチッと気持ちの良い場所には来ない。 目とグラスとの距離は調整ができる。 フリップアップ時は固定される感じまではない。が、ボタンを押さないで本体持ち上げるのは手軽かも。

コントローラー

感圧センサーも付いているらしいがデモにはなかった。 ボタン入力はしやすい。右手のペン入力が、小指の薬指でホールドできて安定する。 デモがあまりにも活かしきれてなかったので、そこら辺はまた後々試したい。

その他

cad向け。ゲームもできるが、売る時はCADと一緒に売る?みたいなことが他の人の会話から聞こえた。

tiltbrushとかのクリエイティブなアプリケーションはまだ対応してない。どことどう組んでやるかとかを話し合っているところ。来年中は難しいかもしれないが…とのこと。

有線でつながっていたが、つながってたのは画面を映すため。スタンドアロンでも動くしPCVRにもできる。

Gugenka, sensescape DPoster

デジタルなポスター。全く反射しない。大きさは複数あるが基本はこれで、複 数繋げる人もいる。パッと見デジタルとは分からないな...何気にすごい良い。 でもネットで検索しても何も出てこない。なんで。マジでなんで。職場でも何 人か「これ欲しいんだけど」って人いましたよ!! Gugenka さん!!!

Gugenka, アートワークの展示

名前を撮り忘れて分からないが、

Gugenka(に置かれていた)XReal

Gugenkaさんのブースで見たやつなのでどの端末なのか不明だが、公式サイトを調べた感じ恐らくAir 2 Ultra。

Beam Proと接続していた。 ハンドトラッキングと空間認識(メッシュ生成)がある。UnityのSDKがある。 ハントラは、手首まできちんと見えていれば結構正確に取れる。手首を結構回しても追従する。ジェスチャーも認識できる。「Hololens2でできることはできる」とスタッフさん談

NICT

MRとPCで同じ空間に入れる。Hololens2向けで、今後はMagicleapに対応しようかと考えている。ビデオシースルーではなく光学シースルーの方が良いと考えているのでQuestとかは視野にない。 エンタメ系よりか産業系を見てる、ビデオシースルーは見てない。 コンテンツがないこと・価格が高いことがMR普及しない原因だと考えているので、研究機関として制作し、hololens自体を貸し出したりなどして体験する人を増やしたい。体験したことある人が増えれば、コンテンツを作る人も増え、コンテンツが増え、普及につながると考えている。

ただ、ユースケースが出てこない状況。なので出展して色々お話を聞いている。 エンタメ系だとちらほらあるが、そっちじゃない模様。お堅い機関でもあるし…とのこと。

bHaptics

haptics。リアルな感じにするにはどうすればいいんだろうか…リアルな振動を知らないと判断がつかない気はする。 振動する装置の数は多いが、正直「ただ振動するだけ」感がある。どうするのが良いんだろうね… 「紙コップに貼り付けたスピーカーに『紙コップの中を転がるボールの音』を再生すると、実際に転がっているように感じる」デモがどっかのMake: か何かで出てたが、あんな感じが必要なように思う。振動に説得力が欲しい。今だと、「ぶつかったので振動を起こす」みたいな感じで、通知とかには使えるものの「臨場感」的なのはあんまりない。

ソフトバンク, トビデル

おもろい!スマホで裸眼立体視できる。割としっかり。なにわ男子さん?かな?のデモを見せてもらったが、奥行き感が良い。 レンチキュラー構造をフィルムに入れているらしい。

…あれ、これ貼ったまま普通の画面見るとどうなるんだ…?専用機にするしかなくない…?