← 所有文章

2026 年的 RealityKit 與 Reality Composer Pro 3

Reality Composer Pro 3 脫離了 Xcode 套件,改以獨立 app 的形式推出,您可從「應用程式」資料夾啟動它。這個細節讀來像是一則打包說明,卻是整個 WWDC26 空間故事中最清楚的訊號:這套創作工具如今已是獨當一面的主角,而非附屬配件,其底層引擎也隨之成長到足以匹配。1

2026 版讓流程的兩個部分同時前進。RealityKit 獲得了能讓場景看起來真實的算繪與模擬功能:柔和陰影、烘焙光照圖、會投射到您真實牆面上的投影貼圖、布料、導航網格、Gaussian Splats,以及光線追蹤聲學。Reality Composer Pro 3 則獲得了無需建置週期就能把這些功能串接起來的工作流程:頭戴裝置上的即時預覽、原型與實例、節點式圖表,以及一個能生成 3D 內容的 AI 助手。第三條線索把兩者連在一起,那就是程式碼:Xcode 外掛讓您的自訂元件直接在創作工具裡執行,而一套全新的結構化模型工具組則為協作式設計審查 app 提供動力。這些拼圖不再是各自獨立的展示,而是匯聚成一套連貫的工作方式。

本文逐一走過定義今年空間創作流程的五場 WWDC26 議程,每一場都搭配讓它具體可見的片段,以及那個會改變您建構方式的洞見。

TL;DR / 重點摘要

  • RealityKit 的光照與模擬趨於成熟:由 lightSize 驅動的柔和陰影、烘焙光照圖、投影貼圖加上投射到您真實房間裡的 Physical Space Lighting、布料、導航網格、Gaussian Splats,以及光線追蹤殘響。2
  • Reality Composer Pro 3 以獨立 app 的形式推出(不再是 Xcode 開發者工具),專為快速迭代而打造:可停靠的模擬分頁、附帶覆寫的原型與實例、裝置端即時預覽、烘焙光照圖,以及一個生成式 AI 助手。3
  • 您可透過 Xcode 外掛擴充編輯器:元件與系統透過 RealityComposerProPlugin 協定在其中執行,自訂動畫動作透過 EntityAction 嵌入時序編輯器,而 @Scriptable 巨集則將元件開放給 Script Graph。4
  • 視覺化的節點式工具(Animation Graph、Behavior Tree、Script Graph、Compute Graph、Shader Graph)讓設計師無需建置週期即可創作角色行為、GPU 粒子與材質。5
  • visionOS 27 新增了一套用於協作式設計審查的結構化 3D 模型工具組:由階層驅動的 ManipulationComponent 放置、用於剖面的全新 ClippingComponent,以及以體積加權變異數自動展開組件的能力。6

RealityKit 拿到了能賣出真實感的功能

自 2019 年起,RealityKit 一直是 Apple 的跨平台 3D 引擎——這是您只需建構一次,便能部署到 visionOS、iOS、iPadOS、macOS 與 tvOS 的那一層。2 2026 年的新增功能填補了「算繪正確」與「看起來真實」之間的落差,並在單一款遊戲《Chaparral Village》中加以示範,這讓整場議程有了一條主線,而非一張功能清單。

Watch on Apple Developer ↗
RealityKit 團隊的 Dennis 透過一個遊戲場景,逐一講解柔和陰影、光照圖、投影貼圖、布料、導航網格、Gaussian Splats 以及沉浸式音訊。

先從陰影談起,因為 API 的選擇透露了團隊的思維方式。RealityKit 的陰影預設為硬邊,唯有在光源無限小時才正確。真實的光有面積,而面積會產生半影,也就是光線只被部分遮擋的那段柔和漸層。RealityKit 以一個符合直覺、像旋鈕般的參數來模擬它:陰影的 lightSize,即光源以公尺計的直徑。把它設為 0.7,邊緣就會變柔;光源越大,半影越寬。搭配的 quality 設定則以取樣數換取效能(低會強制產生硬陰影;在一般觀看距離下,中已足夠)。2 這些控制項對應到實體物理量——這正是值得內化的模式。

有兩項功能把光推到了虛擬的邊界之外。投影貼圖模擬讓手電筒的光穿過一張底片,將圖案投射到聚光燈所指之處,可以是動態焦散,也可以是天文館的星辰與星雲。Physical Space Lighting 接著讓這些虛擬光源透過 RealityKit 的場景理解網格與真實房間互動,因此投射出的星辰會貼合您實際的牆面。啟用方式幾乎平淡得令人意外:您只需為聚光燈加上一個 SurroundingsLight 元件(目前支援聚光燈與點光源)。2 把虛擬光變成真實房間裡的光,只是一個您附加上去的元件,而非另一條算繪路徑。

議程的其餘部分巡覽了模擬與擷取。布料模擬把布料描述為一張由彈簧邊連接粒子頂點而成的網格;釘住一面窗簾,便是把特定頂點標記為運動學固定。導航網格定義可通行區域,附帶各區域的通行成本與離網連接,透過 NavigationComponent 餵入,再由 NavigationController 查詢。Gaussian Splats 把真實世界的擷取算繪為橢球體,由位置、縮放、旋轉、不透明度與球諧函數定義,組合成一個 GaussianSplatComponent。沉浸式音訊則獲得一套建立在光線追蹤幾何聲學之上的自訂殘響網格,其中 ReverbMeshResource 定義房間幾何與各材質的聲學特性。2 貫穿的主線是:每項能力都是您組合到實體上的一個元件——正是 RealityKit 一貫採用的 entity-component-system 形態。

Reality Composer Pro 3 收攏了迭代迴圈

編輯器中影響最深遠的改變,根本沒有任何 API。Reality Composer Pro 3 不再是 Xcode 開發者工具;您從「應用程式」啟動它,而整個版本都圍繞著縮短一次編輯到看見結果之間的時間來組織。3

Watch on Apple Developer ↗
JP 現場搭建《Chaparral Village》的煉金場景:匯入一個 USD 套組、原型與實例、裝置端預覽、烘焙光照圖,以及 AI 助手。

編輯器保留了實體與元件模型。您把一個 USD 檔案匯入為最佳化套組,將它拖入視埠成為一個實體,再透過檢閱器中的元件來形塑它。改變的是回饋。按下「播放」,場景就會執行;把模擬分頁停靠在場景分頁旁,您便能在遊戲執行的同時持續創作,調整一張圖表並觀看結果,無需任何部署步驟。JP 的說法值得記住:模擬分頁把部署流程從內層迴圈中移除,於是您與最終體驗之間的摩擦幾乎消失殆盡。3

有三套系統擴充了這個迴圈。原型把一個實體變成可重複使用的素材,拖入專案瀏覽器;您可多次實例化它、覆寫任一實例、重置某個覆寫,或將它回推到來源——除非您決定如此,否則不會有任何永久變更。即時預覽透過一個搭配 app(將於今年稍晚推出)瞄準已連線的 Vision Pro,因此您在 Mac 上創作,更新會即時顯示在裝置上,而那正是必須真正評斷 Physical Space Lighting 之處。3 光照圖負責處理靜態光照:Lightmap 元件會把間接光照、環境光遮蔽或最終成像預先計算進一張貼圖,並透過預覽分頁在完整烘焙之前展示其影響。議程以 Reality Composer Pro Assistant 作結,這是一個能依需求生成 3D 物件與材質的 AI 面板。3 同樣的模式一再重演:在您為一項改變付出代價之前,先看見它的後果。

以 Xcode 擴充編輯器

倘若美術人員只能使用內建元件,這款獨立編輯器對認真投入的團隊而言將是死路一條。外掛系統正是解答,它把 Reality Composer Pro 從一個您使用的工具,重新定位為一個您編寫程式的工具。它將於今年稍晚推出。4

Watch on Apple Developer ↗
Niklas 建構了一個大鍋外掛:一個自訂元件與系統、一個時序編輯器動畫動作,以及一個 Script Graph 節點,全都在編輯器中即時執行。

團隊結構是其前提。一個《Chaparral Village》風格的專案,會在同一個 git 儲存庫中,把一個 Reality Composer Pro 專案(美術與設計師)與一個 Xcode 專案(工程師)配成一對。匯入的檔案會在磁碟上轉換為內部 JSON,因此標準 git 工具就能合併它們,而編輯器另外提供了一個自訂合併工具,其衝突比單純的 git merge 更少。4 工程師從共用程式碼建構兩個 scheme:一個是 app,另一個是 RCPCustomComponents.framework 外掛,將他們的元件與系統開放給編輯器。場景會匯出為 Reality File,也就是 RealityKit 的序列化格式,供 app 載入。程式碼以外掛的形式流入編輯器;內容則以 Reality File 的形式流入 app。

其機制是一場註冊握手。您撰寫一個符合 RealityComposerProPlugin 的類別(來自 RealityComposerPro Swift 套件,在您連結專案時會自動加入),並在其 setup 方法中,用編輯器交給您的情境註冊您的元件與系統。一個 createRealityComposerProPlugin() 函式以 C 符號匯出,好讓載入器能找到它,並回傳該外掛。建構外掛 scheme、開啟專案、接受信任提示——您的自訂元件便會出現在檢閱器中;美術人員拖動水位滑桿,表面便會起反應,因為您的 Swift 系統正在編輯器內部執行。4 您甚至可以掛上 Xcode 偵錯器,在外掛程式碼裡命中中斷點。這場議程坦率的旁註值得記下:Script Graph 與程式碼所做的事相近,而真正該轉向程式碼的理由在於,龐大的 Script Graph 會變得難以維護,而程式碼能呼叫 Script Graph 觸及不到的 Apple API(其中包括 SwiftUI)。4

外掛的觸及面延伸至三套編輯器系統。自訂元件與系統是基本情況。自訂動畫動作實作 EntityAction(以及 Codable),接著便可拖入時序編輯器,並帶有可編輯的參數。而 @Scriptable 巨集會把一個元件展開成一份您註冊的結構描述,好讓設計師直接把它接進 Script Graph 節點。4 同樣的自訂資料,可同時從程式碼、時間軸與視覺化腳本層觸及。

無需程式碼即可建構行為的節點圖

如果說議程 281 是程式碼的故事,那麼議程 393 便是它的鏡像:設計師在不寫程式碼、只用編輯器視覺化圖表的情況下能走多遠。2026 年的答案是:幾乎能走到一個可互動的角色。

Watch on Apple Developer ↗
Vincent 為煉金術士安排了一套例程:一個 Animation Graph 狀態機、一個 Behavior Tree、Script Graph 互動性、一張導航網格,以及一個 Compute Graph 煙霧效果。

這套建構堆疊了四種圖表類型。Animation Graph 是一個節點式的執行階段編輯器,根部有一個 Final Pose 節點;Vincent 放入一個 State Machine,定義帶有條件轉換的 Idle 與 Walk 狀態,並以一個在執行階段切換的單一 isWalking 布林值來驅動混合。Behavior Tree 編寫自主例程:一個 Sequence 複合節點依序執行 Rotate To Face、Move To 與 Wait 節點,Parameter Setter 節點在移動前後翻動 isWalking,而一個 Precondition 則讓煉金術士持續等待,直到 readyToBrew 旗標變為真。Script Graph 提供事件驅動的黏合劑——一個 On Tap 節點設定 readyToBrew,於是一次點按便把角色送往大鍋。5 對團隊速度而言最關鍵的洞見是:由於這些圖表是視覺化且事件驅動的,團隊中任何人都能直接在編輯器中建構並測試行為,無需建置週期。5

這場議程補足了議程 279 從程式碼面所描述的兩個部分。Navigation Mesh 元件正是該 API 的創作端對應物:一個 Shapes 邊界框選取要取樣哪些幾何,Off-Mesh Connections 連接互不相連的區域,而像格子大小這樣的 Generation Parameters 則控制取樣解析度。一旦創作完成,這張網格便可餵給一個 Behavior Tree、一個 Animation Graph,或一個自訂的 Swift 系統。5 Compute Graph 跨四個階段(Emitter、Initialize、Simulate、Output)建構以 Metal 為後盾的 GPU 粒子模擬,而大鍋的煙霧運用了一股負重力,好讓蒸氣向上飄。Shader Graph 新增了 RealityKit PBR Surface 2(光澤與次表面散射)、一個專用的毛髮表面,以及可編輯的傳送門表面與幾何。5

在結構化 3D 模型上協作

最後一場議程是回報所在——當引擎與編輯器具備如此能耐時,您能建構出什麼。visionOS 27 推出了一套用於協作式設計審查的工具組,讓身處同一場 SharePlay 通話中的眾人,以相同的細緻度、在同一個空間裡,一起操控同一個複雜組件,將它打開、剖切,並把零件抽離出來。6

Watch on Apple Developer ↗
Bill 建構了一款設計審查 app:具階層意識的操控、一個可互動的裁切平面,以及由體積加權變異數驅動的自動展開。

根基在於結構,而這場議程最銳利的一點是:對程式碼而言,沒有階層的幾何毫無用處。一塊被壓平到根部的引擎缸體算繪起來毫無問題,卻提供不了任何可抓取或可動畫的東西——活塞們被埋進一份諸如 InteriorPart_47 之類名稱的扁平清單裡。一個巢狀階層讓每個零件都可被尋得,這正是其餘一切的前提。6 在這個階層之上,操控是一個放置決策:把一個 ManipulationComponent 放在根部,整個組件便會作為單一物件移動;把它下移到子節點(並一同搭配 InputTargetComponentCollisionComponent,把 releaseBehavior 設為 .stay),每個零件便能被個別抓取,其餘則留在原處。Bill 的說法是這五場議程中對 ECS 哲學最乾淨俐落的陳述:從「供人觀看之物」轉變為「供人探索之物」,完全取決於這個元件位於樹中的何處。6

裁切是 RealityKit 真正全新的能力。ClippingComponent 每一影格都會捨棄一個軸對齊 bounds 之外的幾何(shouldClipChildren 預設為 false,這是常見的陷阱;shouldClipSelf 預設為 true),讓內部如同外部一般輕易呈現。6 其互動模型刻意保持精簡:邊界框的六個面化為六個可拖動的平面,每個各控制一個純量。要讓這些拖動感覺自然,便是這場議程的數學課:一個拖動差量會從世界座標轉換到模型座標,再投影到平面的法線上,於是 bounds 只沿著您所抓取的那條軸改變。自動展開運用同一種統計上的誠實,沿每條軸計算一個體積加權的位置變異數,並沿變異數最大的那條軸把子組件扇形展開。6 Bill 的結語對一場圖學演講而言頗不尋常:請熟悉變異數、向量投影與座標系轉換,因為那些感覺毫不費力的互動,正是建立在這些數學之上。

從何處著手

一次全部採用是錯誤的一步。請依照「什麼能解開其餘部分」的順序來排序。

  1. 先下載獨立編輯器。 Reality Composer Pro 3 脫離 Xcode 套件,是其餘所有工作流程都依賴的那項改變;重新匯入一個場景,好讓模擬分頁、原型與光照圖預覽就在手邊。3
  2. 先掌握迭代迴圈,再處理功能。 停靠模擬分頁,以便在場景執行的同時創作,接著把裝置端即時預覽接到一台 Vision Pro 上。在一塊平面 Mac 螢幕上評斷 Physical Space Lighting 或柔和陰影,只會誤導您。32
  3. 把 RealityKit 功能當作元件來取用,而非重寫。 柔和陰影、一張烘焙光照圖,以及聚光燈上的一個 SurroundingsLight,各自都只是一個元件或屬性——而每一個都換來不成比例的大量真實感。2
  4. 唯有當美術人員需要您的資料時,才加入 Xcode 外掛。 一旦有設計師想要即時微調某個自訂元件,RealityComposerProPlugin 註冊便物有所值;在那之前,內建元件與 Script Graph 已能涵蓋相當大的範圍。45
  5. 為設計審查建立在階層之上。 結構化模型工具組只在一個良好巢狀的素材上才管用,因此請先把階層修整妥當,再撰寫互動程式碼。6

貫穿這五場議程的主線是:今年的空間流程獎勵的是組合,而非建造。真實感是您附加的一個元件,迭代是您停靠的一個分頁,協作是您尊重的一套階層。

常見問題

Reality Composer Pro 3 還是 Xcode 的一部分嗎?

不是。Reality Composer Pro 3 如今是一款獨立 app,您可從開發者網站下載,並從您的「應用程式」資料夾啟動。它仍會連結到一個 Xcode 專案,用以建構 app 與載入外掛,但編輯器是獨立執行的。3

2026 年 RealityKit 的柔和陰影如何運作?

陰影的 lightSize 屬性是光源以公尺計的直徑;預設值 0 會產生硬陰影,較大的值(議程使用 0.7)則會加寬半影。請把 quality 設為中或高,因為低會不論光源大小一律強制產生硬陰影——而在一般觀看距離下建議使用中,以控制成本。2

我能在 Reality Composer Pro 編輯器內執行自己的 Swift 程式碼嗎?

可以。建構一個符合 RealityComposerProPlugin 協定的外掛,並在其 setup 方法中註冊您的元件與系統;編輯器會即時執行該程式碼,因此美術人員調整一個屬性,便能看見系統起反應,無需重建 app。您可以掛上 Xcode 偵錯器,在外掛程式碼中命中中斷點。此功能將於 2026 年稍晚推出。4

visionOS 27 的全新裁切功能是什麼?

ClippingComponent 每一影格都會捨棄一個軸對齊邊界框(bounds)之外的任何幾何,讓您能穿透一個複雜組件,看見它的內部。請注意 shouldClipChildren 預設為 false,因此在您將它設為 true 之前,父組件並不會裁切其子物件。6

我需要寫程式碼才能讓角色動起來並回應點按嗎?

不需要。Reality Composer Pro 3 的視覺化圖表已能涵蓋這些:一個 Animation Graph 狀態機在閒置與行走動畫之間混合,一個 Behavior Tree 把例程依序串接並以一個布林值為其設下開關,而一個 Script Graph 則把一個 On Tap 節點接上去以翻動那個布林值,這一切都無需建置週期即可創作。5

完整的 Apple Ecosystem 系列叢集:空間心智模型解釋為何 RealityKit 是一套 entity-component-system,而非 3D 版的 SwiftUI;visionOS 空間模式談如何建構場景與沉浸風格;visionOS 27 有什麼新功能談環繞這些工具的平台功能;以及 Apple 平台矩陣談 RealityKit 如何跨 visionOS、iOS、iPadOS、macOS 與 tvOS 部署。樞紐位於 Apple Ecosystem Series。若想了解 iOS 搭配 AI 代理的更廣脈絡,請參閱 iOS 代理開發指南

參考資料


  1. Apple Developer:Reality Composer Pro。Apple 用於為 RealityKit app 組合、編輯與預覽 3D 內容的創作工具。獨立 app 的發行方式與從「應用程式」資料夾啟動,皆在 WWDC26 議程 280 中說明。 

  2. Apple,WWDC26 議程 279,「Explore advances in RealityKit。」developer.apple.com/videos/play/wwdc2026/279。涵蓋柔和陰影與 lightSize、光照圖、投影貼圖、Physical Space Lighting 與 SurroundingsLight 元件、布料模擬、導航網格(NavigationComponent/NavigationController)、3D Gaussian Splats(GaussianSplatComponent),以及透過 ReverbMeshResource 的光線追蹤殘響。RealityKit 框架參考:developer.apple.com/documentation/realitykit。 

  3. Apple,WWDC26 議程 280,「Iterate your spatial scenes faster with Reality Composer Pro 3。」developer.apple.com/videos/play/wwdc2026/280。涵蓋獨立 app、實體/元件模型、可停靠的模擬分頁、附帶覆寫的原型與實例、裝置端即時預覽、烘焙光照圖(間接光照、環境光遮蔽、最終成像),以及 Reality Composer Pro Assistant。 

  4. Apple,WWDC26 議程 281,「Extend Reality Composer Pro 3 functionality with Xcode。」developer.apple.com/videos/play/wwdc2026/281。涵蓋 RealityComposerProPlugin 協定與註冊、在編輯器中執行的自訂元件與系統、git/JSON 合併工作流程與 Reality File 匯出、透過 EntityAction 的自訂時序編輯器動作,以及以 @Scriptable 巨集將元件開放給 Script Graph。 

  5. Apple,WWDC26 議程 393,「Supercharge your spatial workflows with Reality Composer Pro 3。」developer.apple.com/videos/play/wwdc2026/393。涵蓋 Animation Graph 狀態機、Behavior Trees(Sequence/Selector/Parallel 複合節點、動作節點、前置條件)、事件驅動的 Script Graph、Navigation Mesh 元件、Compute Graph GPU 粒子(Emitter/Initialize/Simulate/Output),以及 Shader Graph 的強化,包括 RealityKit PBR Surface 2 與一個毛髮表面。 

  6. Apple,WWDC26 議程 284,「Collaborate on structured 3D models in visionOS。」developer.apple.com/videos/play/wwdc2026/284。涵蓋作為互動性前提的素材階層、ManipulationComponent 放置(搭配 InputTargetComponentCollisionComponentreleaseBehavior)、visionOS 27 中全新的 ClippingComponentboundsshouldClipChildrenshouldClipSelf)、用於裁切平面拖動的座標系轉換與向量投影,以及依體積加權位置變異數的自動展開。 

相關文章

visionOS 27 為空間開發者帶來哪些新功能

visionOS 27 新增了來自 Mac 的 Spatial Preview、來自 PC 的 Foveated Streaming、沉浸式 Safari 環境、公制空間物件追蹤,以及 RealityKit。

4 分鐘閱讀

RealityKit與空間思維模型

RealityKit是一套實體—元件—系統架構,而非3D版的SwiftUI。錨點將實體放置於真實空間中。此模型與視窗有五種根本差異。

1 分鐘閱讀

The Robots Are Taking Exams in My Search Console

First-party GSC data: 91% of 3.8M impressions fail a human-query filter. Exam questions, pasted errors, and agent sweeps…

10 分鐘閱讀