4. 修正看到的問題
接著在 Apple Vision Pro 上試用這個房間,告訴代理哪裡不對。我們的三輪頭戴裝置回饋,概括起來就是這樣的提示詞:
在頭戴裝置裡,我點不到玻璃屋的書桌,挑空周圍的護欄玻璃看不見,腳凳朝向不對,火焰也太大了。把這些修好。
靠枕往前傾,有兩個座位坐得太深,檯燈也太亮了。
泳池改用 Locus 內建的房間水面,不要用建模的水。


這是山頂別墅背後的提示詞。它是一個兩層樓、33 個座位的房間,可以當作實例,改編成你自己的房子。
這些提示詞是從我們真實的對話中整理出來的,原始對話要長得多,也亂得多。

山頂別墅從兩張參考圖開始:一張是剖切的俯視平面渲染圖,另一張是日落時分通往露台的挑高客廳。你可以用自己的圖,也可以請代理生成。
為一座現代山頂別墅生成兩張參考圖:一張是剖切的俯視平面渲染圖;另一張是黃金時刻的挑高客廳,通往露台,露台上有圍著火爐桌的休閒區、八人戶外餐桌和一座小泳池。


圖像生成不需要 API 金鑰。ChatGPT 訂閱裡包含的圖像生成就夠用了;我們只是剛好用了 Scenario 和 OpenAI API。
把這兩張參考圖變成以公尺為單位的平面圖和座位配置:兩層樓、挑高空間、露台和泳池。開始搭建之前先讓我看平面圖。
代理先以公尺為單位的數字寫出平面規劃,再把它畫出來。圖面、模型和座位都來自這一個檔案,所以移動一件家具時,它的座位也會跟著移動。
共有 33 個座位,分為 9 組。其中三組有可以隱藏的桌子:廚房中島、戶外餐廳和玻璃屋。
| 分組 | 座位 | 平面圖編號 |
|---|---|---|
| 客廳沙發 | 4 | 1–4 |
| 客廳座椅 | 4 | 5–8 |
| 廚房中島 | 4 | 9–12 |
| 露台沙發 | 5 | 13–17 |
| 露台休閒椅 | 2 | 18–19 |
| 戶外餐廳 | 8 | 20–27 |
| 玻璃屋 | 2 | 28–29 |
| 北側天橋 | 2 | 30–31 |
| 書廊 | 2 | 32–33 |
依照這份平面圖,在無介面的 Blender 裡搭建出來。優先使用免費的 CC0 紋理,只生成缺少的部分。每張椅子先生成一張產品圖,再轉成 3D 模型。匯出前用渲染圖檢查每一個座位,並把三角形控制在 150,000 個以內。
對山頂別墅來說,就是 12 套來自 Poly Haven 的紋理、一套來自 ambientCG 的石灰華,再加上生成的石材、藝術畫和書背。六張椅子從產品圖變成了 3D 模型。第一版共有 148,484 個三角形。

接著在 Apple Vision Pro 上試用這個房間,告訴代理哪裡不對。我們的三輪頭戴裝置回饋,概括起來就是這樣的提示詞:
在頭戴裝置裡,我點不到玻璃屋的書桌,挑空周圍的護欄玻璃看不見,腳凳朝向不對,火焰也太大了。把這些修好。
靠枕往前傾,有兩個座位坐得太深,檯燈也太亮了。
泳池改用 Locus 內建的房間水面,不要用建模的水。


第一版在頭戴裝置上跑得很慢。讓它流暢起來,用的是這樣的提示詞:
為什麼在頭顯上這麼慢?
代理檢查了整個 Room,發現貼圖一共有 1.65 億像素,還有八盞即時聚光燈,並提出了修改建議。
就這麼做:依觀看距離調整貼圖尺寸,減少即時聚光燈。
把每一盞燈都烘焙進光照層,不再保留任何即時燈光。
貼圖從 1.65 億像素降到 3300 萬像素。最後,每一盞燈都烘焙進了五個可開關的燈組之一,不再有即時聚光燈。烘焙又讓下載變大了:現在大約 118 MB。
如果你好奇,這裡多聊一點這個房間是怎麼一步步做出來的。
大約一天。我們 10 月 23 日傍晚從參考圖開始,隔天上午第一個定稿版本就完成了。
第 4、5 步裡的頭顯修正是之後幾輪回饋裡做的。
不多。以下是我們付過費的全部項目:
圖像生成可以直接用 ChatGPT 訂閱裡包含的用量,不需要 API 金鑰。我們只是剛好用了 Scenario 和 API。
我們沒有用其他生成服務:沒有 Tripo、Meshy、Hunyuan3D 或 Trellis。以上費用是記錄下來的用量,不是發票金額。
有一些。這麼大的房間碰到了 App 的一些極限。這些修正都已經發布,所以類似的房間可以直接受益:
房間水面和烘焙光照層在 Locus 裡本來就有,山頂別墅只是用上了它們。
我們在頭戴裝置上量測了 1.0.2 版。坐著看時維持 90 fps。書廊的座位是 61–69 fps,關掉火焰或隱藏透明表面後可達 90。
這些數字來自帶額外效能日誌的 Locus 偵錯版,App Store 版沒有這些。自己做 Room 時,描述你在頭顯上看到的情況,讓代理去檢查貼圖、三角面和燈光就行。
這個房間還沒有使用 GPU 紋理壓縮,我們也還沒有在目前版本上重新量測舒適度和效能。