先日の visionOS TC でお話しくださった方がXで登壇を宣言されており、存在を知った本イベント。これは行かねばと突発的に参加してきた。初手からシホさんの「喋る胸像」プレゼンが面白すぎた。visionOS TC でも感じたことだが、映像系の発表が充実していたり、ハッカソン成果物の体験づくりや、作りかけの進捗報告もあり、幅があって楽しかった。
懇親会で、例の喋る胸像を実際に動かしているところを見させていただいたが、アイデアが個人的に刺さりまくった。物理オブジェクトのツインを作ってまるっきり重ねることで、現実と仮想を行き来しても、オブジェクトを起点に連続性が担保されたり、オブジェクトに魂が吹き込まれるような感覚があって、色々と考えさせらる作品だった。
LODGE XR でも特に Tech に焦点を当て、非定期に開催しているとのこと。比較的小規模で(visionOS TC 参加者に限らずXR界隈の常連が集っている感じ)和気藹々とし、次回は筆者も登壇してみたいと思った。
イベントページ:https://vrtokyo.connpass.com/event/376905/
喋る胸像体験「AlbusTalk」の作り方
@41h01 さん
- アルバートくん
- 現実の鏡像が動き出して会話を始めるMRタイプ
- Unity 6.2 + Polyspatial
- ObjectTrackingで3Dプリント胸像に3D鏡像モデルを被せる
- 公開モデルをBlenderで編集
- FlashPrint にデータ取り込み、プリント中に崩壊しないよう支柱を設定
- Avatar maker Pro 利用してリップシンク対応モデル作成
- BlendShape が自動で作られる
- 瞳孔用テクスチャを当てて目を作成
- BlendShape でランダムに瞬き
- uLipSync + BlenderShape で口パク
- トラッキング
- KiriEngine で胸像3Dスキャン、Core ML で学習、Refarence Object Library に設定
- ARTrackedObjectManager 経由で、認識タイミング、位置、角度が取得可能
- 動きに対してはトラッキング遅延あり
- OpenAI Realtime API (gpt-realtime)
- 入力音声をbase64stringに変換、API連携
- uLipSync 月の AudioSource に流して口パク
- Instruction で人格定義
- 入力音声をbase64stringに変換、API連携
- 体験の流れ
- タイトルロゴ〜目覚め〜会話〜就寝〜エンドクレジット
- しゃべりっぱなしでない
- 胸像を触り目覚めをトリガー
- 現実の鏡像位置に3Dモデルを配置しているので、コライダー設定して接触判定
- ユーザー起因でないスクリプトは固定テクストプロンプトを OpenAI に流す
- 流れを指定することで、そのままでなくとも守ったセリフを喋ってくれる
360°動画をVision Proで没入再生する新フォーマット実装 — Good Sleeperアプリの移行事例
@tochi_jp さん
- APMP とは
- visionOS 標準プレイヤーで再生可能な空間映像フォーマットの総称
- 2D ~ [180 / 360 / Wide FOV ] ~ Immersive Video
- フォーマットの仕組み
- vexu メタタグを詰め込んでいる仕組み (VideoExtendedUsageBox)
- APMP exif の vexu parser
- 撮影方法
- Insta360, DJI OSMO, GoPro
- 出力方法
- メーカー専用アプリで変換で APMP チェックボックスつけると vexu Tag がファイルに付与される e.g. Insta360 Studio
- DJI OSMO は現時点で未対応
- visionOS で変換、360度映像開いて閉じようとすると変換ダイアログが出てくる。新規保存すると APMP フォーマットに変換される
- avconvert で変換
- プリセットたくさんある、spreadsheet
- おすすめは
- メーカー専用で 8K 書き出し か、
- avconvert PresetHighestQuality プリセット
- オールグリーン、前述3機種とも8K出力でき、最高画質に対応しているため
- APMP 対応おすすめ機種
- Insta360 X5 対応済み
- メーカー専用アプリの 2D/4K 書き出し時に、Insta360 のリフレーミングが優秀
- DJI OSMO 360 非対応
- Insta360 X5 対応済み
- メーカー専用アプリで変換で APMP チェックボックスつけると vexu Tag がファイルに付与される e.g. Insta360 Studio
- 360度再生アプリの移行
- RealityKit
- 丸い球体内側に VideoMaterial を張る旧来実装から、
- VideoPlayerComponent に player セットするだけ
Vision ProでアクアリウムをつくるTips(進捗報告)
@t0waxx さん
- 後世にものを残すメタバース、XR
- デジタルアーカイブ作ったが、風化してしまう
- 没入方のアクアリウム体験で、見るだけでなく入り込む
- アーカイブ目的だったデータが重い(超高解像度、テクスチャ激重)
- visionOS TC での学び
手と音で操る – visionOSで実装する身体的インタラクション
@ffmmyyyy さん
- フルイマーシブステージでモンスター召喚、音声入力で魔法詠唱、敵を倒す
- 技術概要
- SwiftUI, RealityKit
- SpatialTrackingSession
- Attachment でメニュー実装
- Speech Framework
- Luma AI でモデル生成、Suno で音楽生成
- 開発の工夫
- UI操作を廃し「影絵」識別とすることで visionOS らしさを活かした
- 親指を起点に指ごとの距離を計算し、各指先との距離近い遠いをもとに影絵モデル化
- 音声入力と手の方向
- 音声認識にグーパー制御を連動
- 普通の日本語と検出被り誤認識、音声認識をリセットする機能をつけた
- 製薬があるゆえに直感的な体験に
- 手の方向に自分のモンスター方向が追従
- SFSpeechRecognizer で多言語対応
- 音声認識にグーパー制御を連動
- UI操作を廃し「影絵」識別とすることで visionOS らしさを活かした
- アタッチメントで SwiftUI ビューを 3D 空間に表示(メニュー/チュートリアル)
- チュートリアルは、実際のアクションをトリガーに「次へ」
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
@kara_d さん
- 撮影
- 手持ちでVR180撮影すると酔う、手ブレするので三脚が必要
- Mark II はマニュアルフォーカス、画角も変わり三脚脚写るように
- マニュアルフォーカス補助
- 水準器(水平である必要がある)
- ピーキング
- フォーカスガイド
- 編集
- Mark II には VR 再生モードがある
- Canon VR Utiliy 1.7.10 から APMP 対応、AirDrop するだけ
- 静止画書き出しも可能、VR180 形式にコンバートできるらしいが、JPEG が出力される(メタデータ付与が必要?)
- Vision Pro でローカル確認するには Skybox 必要
- Canon VR Utiliy 1.7.10 から APMP 対応、AirDrop するだけ
- Mark II には VR 再生モードがある
- 公開
- VImeo 最強
- 様々な没入方動画、空間ビデオフォーマット対応
- Vision Pro アプリもあるので、そのまま視聴できる
- Vimeo 配信の問題
- 動画変換2時間かかり、5分程度の動画も1時間かかる
- VR180 静止画
- DeoVR は静止画アップロード可能
- アプリ準備中、Safari から WebXR 経由で視聴
- VImeo 最強
- まとめ
- なるべく高解像度カメラを使うべき:4Kだと足りない、8Kもギリがっかりしない
- 固定撮影、手持ちなら静止画
- APMPすごい
- 動画は Vimeo、静止画は DeoVR