visionOS TC 2025 Main Conference 参加レポート
要約
イベント: visionOS TC 2025 [Main Conference]
日時: 2025年12月6日(土)
会場: Abema Towers 11F(東京・渋谷)
3つの重要な学び
-
iOSアプリのImmersive化は思ったより簡単
SwiftUIの既存技術だけで扇型レイアウトが実現可能。
.rotation3DEffect()と.offset()だけで没入体験を作れる。 -
USDフォーマットの理解が開発を加速する
.usda(テキスト形式)でGit管理可能。
Reality Composer Proの非破壊編集で安全に開発できる。 -
AI活用で一人でも高品質な開発が可能
Meshy、Skybox AI、SUNOなどのツールでアセット生成。
Cursorと専用MCPサーバーでvisionOS開発を効率化。
次のアクション:
- USD形式の基礎を学ぶ
- Reality Composer Proでプロトタイプ作成
- AIツールを使った開発フロー構築
イベント概要
visionOS TC 2025は、日本発のvisionOS開発者カンファレンスです。
「あなたの知見を、空間コンピューティングの未来へ!」をテーマに開催されました。
Apple Worldwide Developer Relationsによる基調講演が行われました。
加えて、国内外の開発者による技術セッションも実施されました。
参考リンク:
visionOS TC 2025公式サイト fortee.jp イベントページ
Apple基調講演
イマーシブな体験を創り出す方法
登壇者: 豊田将志、武石俊一(Apple Worldwide Developer Relations)
Apple Vision Proでイマーシブな体験を創出する方法が紹介された。
RealityKit、Unity、Unreal、Godotなど、複数の開発環境が利用可能だ。
3D開発フレームワーク
RealityKit:
- 現実とデジタルコンテンツをシームレスに融合
- Museumアプリでのビンテージカー表示にSpacial Sceneを使用
Compositor Service Framework:
- 高度な映像合成処理に対応
Unity / Unreal / Godot:
- メルセデスベンツの次世代車体サイト(Unity実装)
- ゲーム開発エンジンも正式対応
空間アクセサリー
Sony PlayStation VR2コントローラー:
- Pickel Proで卓球アプリ実装
- 物理コントローラーによる正確な操作が可能
Logicool Muse(ペン):
- 空間でのドローイングに対応
マルチプレイヤー体験
Defenderというゲームが事例として紹介された。
Resolution Game社のデモでは、複数人での協力プレイが実現されていた。
空間ビデオ
撮影デバイス:
- iPhone 15 Pro以降で撮影可能
- AVCaptureDevice APIでアプリから利用できる
Spacial Gallery:
- アプリで空間ビデオコンテンツを共有
- Spacial Sceneで2D写真から3Dへ変換可能
Apple Projected Media Profile (APMP):
- 180°、360°など様々なフォーマットに対応
- 複数メーカーがカメラを発売中
Multi View Encoder (MV-HEVC):
- 立体視用の効率的なエンコード形式
- 左目用画像を基礎に、右目用は差分のみ保存
- ファイル容量を大幅に削減
- ストリーミング再生で特に効果を発揮
Wide FoV(広視野角):
- 動きのあるアドベンチャーコンテンツに適用
- パラメトリックイマーシブプロジェクションで曲線と直線を処理
Vimeo対応:
- 動画共有サービスで空間ビデオ配信可能
Apple Immersive Video
実例:
- ケニアで象を間近で見る体験
- MotoGP Tour De Force
- Spectrum SportsNetのバスケット観戦(コート脇の視点)
技術仕様:
- カメラごとにレンズをキャリブレーション(精密調整)
- 解像度: 8160 × 7100ピクセル/eye
- フォービエットレンダリング採用
- 重要部分を高画質に保ちつつファイルサイズ削減
- Dynamic edge blend(エッジの動的処理)
アプリ事例:D-DAY by TARGO
概要:
- 第二次世界大戦のドキュメンタリー
- 父の遺品の箱を開くとImmersiveになる
設計のポイント:
- ストーリー内でImmersiveさに段階を設ける
- Immersiveさのジャンプがあっても文脈があれば違和感がない
- 馴染みのあるUIを重視(コンテンツの核心から意識を逸らさない)
- キーとなる瞬間を意識する
参考リンク
visionOSでStroyTellingしていくためのデザインやテクノロジー(ツールなど含む)のより詳細なセッション
アプリの例
メインセッション
1. Transform your iOS app into an Immersive Experience
登壇者: masakaz
「2DコンテンツでvisionOSには合わないかな」と思っている開発者向けの解説。
日経空間版の開発の知見が共有された。
重要な発見
visionOSアプリのハードルは低い:
- UIは通常のSwiftUIで良い
- iPadのマルチウィンドウレイアウトがあればすぐ対応可能
Immersiveの定義
Key Points:
- まるでコンテンツの一部のように感じる
- 思わず手を伸ばしたくなる
- シームレスなトランジション
- 心動かす体験
リサーチ事例:
舞浜(ディズニーランド)での体験分析。
- どうして映画館と違うのか
- どうしてVR体験と違うのか
- どうして大阪(USJ)より上回っているのか
結論: 流動的な体験フローが重要。
流れるように物語の世界へ促す設計が没入感を生む。
実装の4ステップ
Step1: シンプルなレイアウトから始める:
- iPhoneのスクリーンのようなUIを7つ並べる
- 扇型に配置(目からの距離を一定に保つ)
Step2: 形を変えてみる:
- iPhoneの形以外も並べられる
- 新聞の紙面などを配置
実装技術:
.rotation3DEffect(_:) // 3D回転
.offset(x:_, y:_) // 位置調整
.gesture() // インタラクション追加
iOSの既存技術だけで十分Immersiveな体験を作れる。
Step3: RealityKitを使う:
- 地震を全てプロットした3D表現
- 日経のブログ記事で詳細を解説
Step4: Metalで高度な表現:
- ハイクオリティなビジュアライゼーション
- 全ての衛星をリアルタイムレンダリング(新機能)
- 宇宙空間へのトランジションを経由
- スターリンクトレイン、静止衛星を表示
登壇資料
2. 様々なジャンルのApple Vision Pro専用ゲームタイトル制作で直面した技術的課題
登壇者: cova(Graffity)
Graffityが3本のVision Pro専用ゲームで得た知見を共有。
リリースタイトル:
- Spatial Typing『Ninja Gaze Typing』
- Spatial タワーディフェンスシューター『Shuriken Survivor』
- アクアリウムシミュレーター『Craftrium』
主要な技術課題
デバイスリリース同時リリースのポイント:
- 事前準備と情報収集が重要
- ベータ版での徹底的なテスト
ハンドトラッキングの注意点:
- UnityとAppleで定義が異なる
- 手のひらの認識範囲に差異がある
NaviMesh(Navigation Mesh):
- ナビメッシュ: キャラクターの移動可能領域を定義する技術
- リアルタイムで現実空間のMeshと経路探索を連携
- ゴミ箱を乗り越えるキャラクター実装事例
パフォーマンス計測:
- Vision Pro向けの専用計測方法
- チューニングのベストプラクティス
空間Gridへの位置調整:
- Objectを空間Gridに合わせる際の注意点
魚の移動経路アルゴリズム:
- 空間を泳ぐ魚のリアルな動き実装
スキミング(機能削減):
- パフォーマンス最適化のために機能を減らす判断
3. How to create great User Experiences for visionOS
登壇者: Oliver Weidlich(Contxtual)
Contxtualは「次の時代は空間コンピューティングだ」と考えている。
visionOSのUX設計のベストプラクティスが紹介された。
事例紹介
Day Ahead:
- 2D画面を複数作成
- ウェルカム画面での丁寧な説明
Caradice(カーショールーム):
- ガレージのシャッターを上げるところから体験開始
- 物語性のあるオンボーディング
建設業界での活用:
- Apple Vision Proで設計書を確認
- タップすると具体的な作業映像を閲覧
- ビルダーが建設プロセスを見られる
Figma visionOSテンプレート:
- デザインツールでのプロトタイプ作成支援
インタラクション設計
ゲーム:
- 標準的なジェスチャーを基本に
- 必要に応じて独自操作を追加
専門アプリ:
- はんだごてのシミュレーション
- ドローイングアプリ
4. RealityKitエンジニアのためのUSDフォーマット基礎&実践編集テクニック
登壇者: ばんじゅん(ZOZO NEXT)
RealityKitでアプリ開発を始めると必ず扱うUSDZファイル。
USDフォーマットを理解すると開発が大幅に効率化される。
USD開発フロー
制作者からのExport:
- Blender、Mayaなどから出力
- 最低限のコミュニケーションは必要
Reality Composer Pro (RCP):
- USDエディタとして機能
- Xcode経由でSimulatorまたはデバイスで確認
- GitHubでバージョン管理
USDファイル形式
USDには3つの形式がある。
.usdz:
- zip形式で圧縮
- readonly(読み取り専用)
- 外部参照なし
- 配布用フォーマット
.usda:
- テキスト形式
- 人間が読み書きできる
- メインの編集対象
- Gitならこれ(Git LFSに入れなくても良い)
.usdc:
- バイナリ形式
- usdaより小さい
- メッシュ、スケルトン、アニメーションに推奨
Apple USD Tools / usdcat
- .usdaと.usdcを相互変換可能
- コマンドラインでUSDファイルを読み込める
RCPの構造理解
New Projectの構成:
- Scene.usdaがメインファイル
- GUIと.usdaの階層構造がコードで対応
- GUIで変更すると、コードのdiffで確認可能
- diffモードでコードが見られる
複数USDファイルの参照
参照とover:
- 別のシーンを参照できる
- 参照先をoverして変更可能
- 元のシーンに影響はない(非破壊編集)
Compose:
- 複数USDファイルから最終シーンへ合成
実践事例
事例1: diffが読めない問題:
- 3Dデータを.usdcと画像でもらった
- .usdaを作って.usdcを参照
- .usda内のoverで編集
- または.usdcを.usdaに変換
事例2: 非対応ライト:
- .usdcにRealityKit非対応のライトがあった
- usdcatして実態を読んで対応
事例3: カラーバリエーション:
- 画像差し替えでカラーバリエーション作成
- ファイル整理が容易
RCPを使うメリット
自力でUSDを編集できてもRCPを使う理由:
- ランタイムでロードが速い
- メモリのスパイクが低い
5. Apple Vision Pro × Unity(PolySpatial)で作る MR ビジュアルアーツ実装ノウハウ
登壇者: Muraishi
Apple Vision Proの制約の中で最高のビジュアル表現を目指す。
開発事例
Ploom Dive:
- 海底をテーマとした幻想的な空間
- リラックス体験
Ploom Dive - In space -:
- 宇宙旅行体験
Vision Proの得意な表現
デジタルと現実の融合:
- 自然に溶け合う体験
3Dモデル表現:
- 環境マップを利用した表現
- 金属表現
- 球体や曲面上のガラス・バブル
- すりガラス表現
- ShaderGraphから取得可能
苦手な表現
以下の表現は現状では実現できない:
- ポストプロセスエフェクト(Bloom、レンズフレア)
- ボリュームライト(光の筋を強調する表現)
- ガラスの屈折表現(他がリアルなため目立つ)
苦手を補う工夫
基本方針:
- 苦手は避けて得意に徹する
- 創意工夫でなんとかなる場合もある
具体的なテクニック:
-
発光の照り返しを書き込む
- DCCツールでベイク処理
-
加算パーティクルによる疑似Bloom
- ポストエフェクトの代替
-
環境マップ + Unityキューブマップの合成
- より豊かな反射表現
ビジュアル制作事例
海の中:
- 海面: 専用シェーダー
- 太陽光: パーティクルで疑似フレア作成
- クジラ: 専用のライティングシェーダー
車と焚き火:
- 車: 環境マップをUnityの環境マップで補強
- 焚き火: 加算パーティクル
- 台座: ライティングシェーダー
- 床面: パーティクルで揺らぎ表現
AI活用の実験
空間映像コンテンツのバイブコーディング検証:
- 非エンジニアが自然言語から作成できるライブラリ
- Luaファイルで実装
- 意外といける(演出意図を汲み取って言語に落とす)
6. In Search of the Perfect visionOS Workflow
登壇者: Tom Krikorian
完璧なvisionOS開発ワークフローを求めて。
AIが開発者のワークフローをどう変えているか。
Mindset
- XRは難しいが報酬がある
- チャレンジする価値あり
戦略
Go Native:
- RealityKit + SwiftUI
- Unityではなくネイティブ開発
Focus on B2B:
- 収益性を重視
One Man Army:
- AIの助けを借りて一人で多くをこなす
コミュニティ
Real Studio:
- 開発者コミュニティ
Open Sourceプロジェクト:
- Step Into Vision
- Discord
重要なスキル:
- コーディング以外のスキルも重要(デザインなど)
AI開発環境
Cursor設定:
- Xcodeをインストール
- homebrewをインストール
- Cursorをインストール
Cursor拡張機能:
- SweetPad
- CodeDB
- Swift
MCP Server:
- Sosumi
- Blender MCP
- XcodeBuildMCP
AGENT.md:
- プロジェクト用のAI指示書
AIツールの活用
ステークホルダーとのプロトタイプ共有のため、AIをすぐ使おう
3D Modeling:
- Meshy: No.1のAI 3Dモデルジェネレーター
- テキストや画像から3Dモデルを数秒で生成
Skybox:
- Skybox AI: ワンクリックで360°の世界を作成
音楽制作:
- SUNO: AI Music
- 簡単なプロンプトから楽曲生成
音声合成:
- ElevenLabs: AIボイスジェネレーター
- よく使っている
- 大きな予算がない場合に効率的
メッセージ
Your Turn:
- 多くの非エンジニアがコーディングを始めている
- AIツールでハードルが下がっている
参考リンク:
awesome-visionOS sosumi AGENTS.md Meshy - AI 3Dモデルジェネレーター Skybox AI - 360°環境生成 SUNO - AI音楽生成 ElevenLabs - AIボイスジェネレーター
7. visionOS 30 Daysを通じて得た知見とアイデア
登壇者: 服部智(CyberAgent)
visionOS登場以来、実験的な実装と機能検証を継続。
イベントの意義
企画当初の目的:
- ヒーローを作りたい
- visionOS開発者の熱量を高めたい
現在の目標:
- 「熱くなってすぐ冷める」のではなく、淡々とvisionOS開発を継続してほしい
- エンジニア界隈に閉じない
- 空間体験界隈に良いサプライズを生み出したい
- 日本からの面白いデモを増やす
- その種を植え始める
参考リンク
LTセッション
1. 空間座標計算が大好きなエンジニアが語る座標系とEntity親子関係
登壇者: くわばら
開発アプリ: Fusen
機能:
- ボードに付箋を貼る
- 床でも鞄でもどこでも貼れる
- 再起動時に復元可能
利用Framework:
- ARKit
- RealityKit
重要技術:
- World Anchor
- Entity
Swiftの座標系
.convert()関数:
- 座標系変換の基本
- その他多くのメソッドを解説
参考リンク
Fusenアプリ
2. iPhoneでの空間メディア視聴体験の探求
登壇者: なめき ちはる(Ridwy)
課題認識
問題:
- iPhoneで空間ビデオを撮影できる
- Vision Proがないと空間っぷりを確認できない
- もっと手軽に試せないか
空間メディアの例
YouTubeアプリ360°プレイヤー:
- iPhoneでも空間コンテンツを楽しめる
技術的実装
動画再生:
- VideoMaterial(採用)
- ❌ VideoPlayerComponent(カスタマイズ性が低い)
3DoFトラッキング:
- 3DoF: 3自由度(回転のみ)のトラッキング
- Core Motionを使用
- IMU(加速度センサ + ジャイロスコープ)で実現
3D表示:
- RealityView
- ARView
チャレンジ中
VR空間への窓:
- 目との距離を測定
- 正しい視野角でレンダリング
- 実物大のサイズになるのでは?
サンプルコード: 近日公開予定
3. 新しいマイホームで過ごすApple Vision Proとの新生活
登壇者: Sugiy
「Apple Vision Proが置物になっていませんか?」
活用事例
Case 1: Widget:
- テーブルや壁に情報表示
Case 2: PortalMaterial:
- RealityKitのPortalMaterial機能
- 平面に窓のような別世界を作成
- 窓越しに別世界を見る体験
Case 3: 家具配置シミュレーション:
- Sedierアプリで実現
Case 4: ハンドジェスチャー:
- スマートデバイス操作
- 特定動作の実行
- 日常生活での使用には不向き?
Case 5: 料理中の調べ物:
- 軍手をはめながら使用
- 家庭菜園での活用
Case 6: Push通知:
- 通知を確認できる
- 内容は表示されない
Case 7: App Intents:
- Siriからアプリの処理を実行
登壇資料
4. Bringing Spatial Web to E-Commerce
登壇者: akkey(AkkeyLab)
Spatial Web
WWDC25の新機能:
- Webで空間体験を提供
プロトタイプ
従来:
- 静止画と動画
新機能:
- 3Dファイルを登録
- 掴んだり回転させたりできる
実装:
<model src="bird.usdz">
<model src="bird.usdz" stagemode="orbit">
<model src="bird.usdz" stagemode="orbit" loop autoplay>
ポイント
Spatial Webの利点:
- アプリレビュー不要
- 強制アップデート不要
- 高速イテレーション可能
Empower Creators:
- ストアオーナーに空間体験を届ける
- ECサイトで簡単に実装可能
登壇資料
5. 暗所恐怖症ぎみのデザイナーが語る不安になるUX
登壇者: arisan
きっかけ
思考整理に付箋をよく使う。
Vision Proで使えないか?
暗所での体験
症状:
- 体の硬直
- 息が止まる
びびっているランキング
3位: 間違えて恐竜との遭遇を再生してしまう
2位: Apple TVのApple Immersive
1位: 写真の選択モードで少し暗くなる時
- 息を止めて選択している
考察
理由:
- 人間は昼行性の生き物
- 暗闇への本能的な恐怖
今後の展望:
- ビビリだからこそ分析
- 開発して探求していきたい
登壇資料
Fusenアプリ
6. 怖くない3Dファイルフォーマット
登壇者: ta_ka_tsu
「3Dファイルフォーマットは難しくない」
.stlファイル
特徴:
- 3Dプリンタ使用者にはお馴染み
- 三角形の情報(法線ベクトルと頂点座標)
形式:
- ASCII形式
- Binary形式
.plyファイル
特徴:
- ポリゴンファイル
- 頂点、面、エッジのリスト
ヘッダ:
- ASCII、Binary共通
- フォーマット指定
- vertex(頂点)と個数
- face(面)と個数
.objファイル
内容:
- マテリアルファイルの指定
- 頂点座標
- テクスチャ座標
- 法線ベクトル
- 面(スラッシュ区切りで指定)
注意点
標準化されていないためフォーマットに曖昧さがある。
中身を知らない時、ta_ka_tsuさんの資料を読むと良い。
登壇資料
7. RealityKitでカメラを自由に操れ!任意視点レンダリングへの挑戦
登壇者: TAAT
課題
デバイス位置にあるメインカメラがデフォルト。
任意視点のカメラ映像にすれば面白いのでは?
RealityKitでの実装
使用技術:
- RealityRenderer
- PerspectiveCamera
問題:
- シーン全体をRealityRendererに追加すると真っ黒になる
解決方法(Forumで質問):
- クローンが必要
- シーン間でEntityの同期も必要
実用例
ドローンカメラ:
- ドローンを操作してクリスタルを集めるゲーム
- ドローンや定点カメラの面白い映像ができる
参考リンク:
8. 3Dスキャナと3Dプリンタで作る Apple Vision Proアクセサリー
登壇者: afjk(エーエフ / STYLY CTO)
背景
STYLY:
- XRプラットフォーム
Apple Vision Pro多数購入:
- 社内で複数台導入
解決したい問題(魔物)
課題:
- メガネ
- ハードコンタクトレンズ
- キャリブレーションにかかる時間
- スリープ問題(今回のテーマ)
スリープ問題:
- 一部にシールを貼るとスリープしない
スリープ防止キャップを作る
プロセス:
- 3Dスキャナーを購入
- レンズの溝をスキャン
- Blenderで立体に起こす(Nurbus Circle使用)
試行錯誤:
- 黒だとスリープする
- 一部だけ白のものを作成して解決
参考リンク
推奨アクション
このイベントから得た知見を活かすための具体的なステップです:
初心者向け
-
SwiftUIでシンプルなvisionOSアプリを作る
- まずはウィンドウアプリから
-
.rotation3DEffect()で簡単な3D配置を試す
-
Reality Composer Proを触る
- 基本的なシーン作成
- .usdaファイルをテキストエディタで開いてみる
-
Apple公式のサンプルコードを動かす
- WWDC動画と合わせて学習
中級者向け
-
USDフォーマットを学ぶ
- usdcatでファイル内容を確認
- .usda、.usdc、.usdzの使い分けを理解
- 非破壊編集のワークフローを構築
-
AIツールを開発に組み込む
- Cursorをインストール
- Meshyで簡単な3Dモデル生成を試す
- プロトタイプ作成を高速化
-
パフォーマンス最適化
- Vision Pro向けの計測方法を学ぶ
- フォービエットレンダリングの活用
おわりに
masakazさんのセッションでは、既存のSwiftUI技術(.rotation3DEffect()と.offset())だけでImmersive体験が作れることを改めて確認できました。
ばんじゅんさんのUSDフォーマットの解説は、.usdaや.usdcといったフォーマットの理解が深まり、少しわかった気になりました。
また、Tom Krikorianさんが紹介したAIツール群(Meshy、Skybox AI、SUNO)の活用事例は、開発の幅を広げる可能性を感じさせるものでした。
特に「多くの非エンジニアがコーディングを始めている」という言葉は印象的です。
服部さんの「日本からの面白いデモを増やす」というメッセージのとおり、コミュニティでの知見共有も活発です。
このイベントで得た知見をもとに、まずは小さなプロトタイプから始めてみようと思います 🐜
Discussion