visionOS 開発を Antigravity で始めよう
Apple Vision Pro の登場で、「空間コンピューティング」という新しい開発領域が個人開発者にも身近なものになりましました。しかし、visionOS の開発は通常の iOS アプリとは異なる概念(RealityKit・Reality Composer Pro・ウィンドウスタイルなど)が多く、「何から始めればよいか」と戸惑う方も多いのではないでしょうか。
そこで活躍するのが AI IDE の Antigravity です。visionOS 特有の API や SwiftUI のスペーシャル拡張に対して、コード生成・補完・エラー修正を的確にサポートしてくれます。WWDC 2026 で発表された visionOS の最新機能もすでに Antigravity のコンテキストに組み込まれており、2026年現在、visionOS 開発の最良のパートナーと言えます。
ここではAntigravity を使った visionOS アプリ開発の基礎を、環境構築から動く 3D UI の実装まで丁寧に解説します。iOS 開発の経験がある方であれば、スムーズに始められる内容です。
iOS・Swift の基礎を学びたい方は、まず AntigravityでiOSアプリを作る入門ガイド:Swift・SwiftUIを使ったはじめての開発 もご覧ください。
開発環境のセットアップ
必要なもの
visionOS アプリを開発するために必要なものは以下の通りです。
- Mac(Apple Silicon 推奨、macOS Sequoia 以降)
- Xcode 26(WWDC 2026 対応版。Mac App Store または Apple Developer サイトからダウンロード)
- Antigravity(antigravity.google からインストール)
- Apple Developer アカウント(実機テストや App Store 公開時に必要)
- Apple Vision Pro 実機(なくても visionOS シミュレーターで開発可能)
Xcode 26 で visionOS プロジェクトを作成する
Xcode を起動し、「Create New Project...」を選択します。テンプレート画面で visionOS タブを選び、「App」を選択してください。
設定項目は次のように入力します。
- Product Name: お好きな名前(例:
MySpatialApp) - Team: Apple Developer アカウントのチーム
- Organization Identifier:
com.yourname - Interface: SwiftUI
- Initial Scene: Window(まずは 2D ウィンドウからスタートするのが無難です)
「Next」をクリックして保存先を選んだら、プロジェクトが作成されます。
Antigravity でプロジェクトを開く
Xcode でプロジェクトを作成したあと、Antigravity を起動してプロジェクトフォルダを開きます。
# ターミナルからプロジェクトフォルダを Antigravity で開く
antigravity /path/to/MySpatialAppまたは Antigravity の「Open Folder」からプロジェクトルートを選択します。Antigravity がプロジェクト構造を解析し、visionOS の SwiftUI コンポーネントに最適化されたコード補完が有効になります。
visionOS の基本概念を理解する
visionOS のアプリ開発で押さえておきたい基本概念を整理します。Antigravity にこれらの概念を理解させることで、より適切なコード生成が可能になります。
シーンの種類
visionOS には主に 3 種類のシーンがあります。
- WindowGroup:従来の 2D ウィンドウ。iOS のような UI を空間に表示します。
- ImmersiveSpace:完全な没入体験。ユーザーの視界全体を使い、3D オブジェクトを自由に配置できます。
- VolumetricWindowGroup:3D コンテンツを特定の領域内に表示するハイブリッドスタイル。
RealityKit と Reality Composer Pro
3D コンテンツの描画には RealityKit を使います。Reality Composer Pro(Xcode に同梱)で .reality パッケージを作成し、3D アセットを管理する流れが標準的です。
Antigravity へのコンテキスト提供
Antigravity で効率よくコードを生成するために、プロジェクトルートに AGENTS.md を作成してコンテキストを提供しましょう。
# MySpatialApp
Apple Vision Pro 向け visionOS アプリ。
- 言語: Swift 6
- フレームワーク: SwiftUI, RealityKit
- 最小デプロイメントターゲット: visionOS 2.0
- シーン構成: WindowGroup(メイン) + ImmersiveSpace(3D体験)このファイルがあるだけで、Antigravity はプロジェクトの目的と技術スタックを把握し、visionOS 特有の API を積極的に活用したコードを提案するようになります。
3D コンテンツを表示する:RealityKit 入門
実際に 3D オブジェクトを空間に表示してみましょう。Antigravity にコード生成を頼む際は、やりたいことを具体的に伝えるのがポイントです。
Antigravity へのプロンプト例
visionOS の SwiftUI ビューで、空間に回転するカラフルな球体を表示してください。
RealityKit を使い、球体をタップしたら色が変わるインタラクションも実装してください。
Antigravity が生成したコードをベースに、以下のような実装になります。
import SwiftUI
import RealityKit
struct ContentView: View {
// ImmersiveSpace のトグル状態を管理
@State private var showImmersiveSpace = false
@Environment(\.openImmersiveSpace) var openImmersiveSpace
@Environment(\.dismissImmersiveSpace) var dismissImmersiveSpace
var body: some View {
VStack(spacing: 20) {
Text("MySpatialApp")
.font(.extraLargeTitle)
.padding()
Toggle("3D 体験を開く", isOn: $showImmersiveSpace)
.toggleStyle(.button)
.padding()
}
.onChange(of: showImmersiveSpace) { _, newValue in
Task {
if newValue {
// ImmersiveSpace を開く
await openImmersiveSpace(id: "MainImmersiveSpace")
} else {
await dismissImmersiveSpace()
}
}
}
}
}
struct ImmersiveView: View {
// 球体の色を管理する状態変数
@State private var sphereColor: UIColor = .systemBlue
var body: some View {
RealityView { content in
// 球体のメッシュとマテリアルを生成
let mesh = MeshResource.generateSphere(radius: 0.15)
var material = SimpleMaterial()
material.color = .init(tint: sphereColor)
let entity = ModelEntity(mesh: mesh, materials: [material])
// 空間の前方・やや上に配置
entity.position = [0, 1.5, -0.8]
// タップジェスチャーのコンポーネントを追加
entity.components.set(InputTargetComponent())
entity.components.set(CollisionComponent(shapes: [.generateSphere(radius: 0.15)]))
content.add(entity)
} update: { content in
// 色の変更を RealityView に反映
guard let entity = content.entities.first as? ModelEntity else { return }
var material = SimpleMaterial()
material.color = .init(tint: sphereColor)
entity.model?.materials = [material]
}
.gesture(
TapGesture()
.targetedToAnyEntity()
.onEnded { _ in
// タップごとにランダムな色に変更
sphereColor = [UIColor.systemRed, .systemGreen, .systemYellow, .systemPurple].randomElement()!
}
)
}
}このコードをそのままプロジェクトに貼り付け、シミュレーターで実行すると、空間に球体が表示されタップで色が変わる動作を確認できます。
コード生成のコツ
Antigravity でコードを生成する際は以下を意識すると精度が上がります。
- バージョンを明示する:「visionOS 2.0 以降で動くコードを書いてください」のように指定する
- API 名を添える:「RealityKit の ModelEntity を使って…」と具体的なクラス名を出す
- エラー文を貼る:コンパイルエラーが出たらそのままチャットに貼ると即座に修正提案が得られる
ARKit 連携と空間トラッキングの活用
visionOS 2.0 以降では ARKit を使った空間トラッキングが強化されています。手のジェスチャー認識・平面検出・アンカーなど、より没入感の高い体験を作れます。
ARKit × visionOS の具体的な実装については、AntigravityでARアプリを作る入門ガイド 2026 — ARKit・ARCoreで拡張現実を体験しよう に詳しいチュートリアルがあります。visionOS の ARKit と iOS の ARKit では使えるフレームワークが異なる点があるため、Antigravity に「visionOS の ARKit 向け」と明記してプロンプトを送るとより適切なコードが生成されます。
ハンドトラッキングを使ったインタラクション例
Antigravity に次のように依頼してみましょう。
visionOS で ARKit の HandAnchor を使い、
人差し指の先端位置に光の球体が追従するコードを書いてください。
生成されたコードをベースに調整することで、ハンズオンな 3D 体験を素早く実装できます。
全体を振り返って
Antigravity を使った visionOS 開発の流れをまとめます。
まず Xcode 26 でプロジェクトを作成し、Antigravity でフォルダを開きます。次に AGENTS.md でプロジェクトのコンテキスト(Swift バージョン・対象シーン・使用フレームワーク)を共有します。そして「visionOS の RealityKit で…」のように具体的なプロンプトを送るだけで、3D UI のコードが手早く生成されます。
visionOS は空間コンピューティングという新しいパラダイムですが、Antigravity があれば API のキャッチアップにかかる時間を大幅に短縮できます。WWDC 2026 の発表を機に、ぜひあなたも初めての visionOS アプリ開発に挑戦してみてください。
さらに深く iOS 26・Xcode 26 の全体像を把握したい方には、Antigravity × Xcode 26 × iOS 26 — WWDC 2026 に備える iOS 開発者のための実践ガイド がおすすめです。
空間コンピューティング開発についてより体系的に