iT邦幫忙

2026 iThome 鐵人賽

DAY 30
0
Software Development

Roblox Studio AI 協作開發大全系列 第 30 篇

第 30 章:3D 建模與外部 AI 模型匯入

  • 分享至 

  • xImage
  •  

第 28 章,我們把 AI 生成的聲音帶進 Roblox。

第 29 章,我們把 AI 生成的 2D 圖像變成 icon、thumbnail、UI 圖示、Texture、Decal 和素材紀錄。

第 30 章要處理更容易失控的素材:3D 模型。

3D 模型看起來最有成就感,也最容易讓初學者誤判進度。外部 AI 工具可能在一分鐘內產生一個很漂亮的模型,但那不代表它已經適合放進 Roblox experience。模型可能面數過高、比例錯誤、pivot 不合理、材質遺失、碰撞阻擋玩家、貼圖授權不清楚,甚至使用了不該使用的角色、商標或風格。

所以本章的主軸不是「用 AI 產生 3D 模型」。

本章的主軸是:

用 AI 產生 3D asset 草稿,再把它整理成 Roblox Studio 可匯入、可測試、可發布、可追蹤的遊戲素材。

我們會為 AI Adventure Island 補上一個新的場景物件:AncientCrystalGate。

它是一座放在神殿入口的低面數水晶石門。它不是角色,不需要動畫,不需要 rig,不需要 Marketplace avatar 規格。它只是場景 prop,但它足夠帶出外部 AI 3D asset 進入 Roblox 的完整管線。

本章會接觸:

MeshPart
Model
SurfaceAppearance
MaterialVariant
Texture Generator
Importer
Reimport
CollisionFidelity
RenderFidelity
Asset Privacy
Blender
GLB / GLTF / FBX / OBJ
asset register

你會發現,AI 生成 3D 模型只是第一步。

真正重要的是後面的檢查。


本章目標

本章完成後,你要能做到:

  1. 判斷哪些 3D asset 適合用外部 AI 工具生成。
  2. 寫出 Roblox-ready 的 text-to-3D prompt。
  3. 知道 Meshy、Tripo、Luma、Blender 在本章流程中的位置。
  4. 分辨 .glb、.gltf、.fbx、.obj 對 Studio 匯入流程的差異。
  5. 使用 Roblox Studio Importer 匯入外部 3D 模型。
  6. 檢查 MeshPart、SurfaceAppearance、RenderFidelity、CollisionFidelity。
  7. 用 Texture Generator 補強或重做 mesh texture。
  8. 處理 Asset Privacy 與 game permission。
  9. 用 Assistant 協助整理模型命名、位置與碰撞。
  10. 把外部 3D asset 寫入 asset register。

本章成果:

一個外部 AI 生成或外部工具整理過的 AncientCrystalGate 成功匯入 AI Adventure Island,並通過基本尺寸、碰撞、材質、權限與效能檢查。


Roblox Studio 3D Importer 的模型與設定面板。

圖 30-1 3D Importer 會顯示模型階層與匯入選項;匯入前應檢查比例、材質、碰撞與網格複雜度。

Context Pack

本章寫作與實作前,需要先讀這些 Roblox 文件:

Roblox 官方文件

選讀:

外部工具官方來源

  • Meshy Text to 3D: https://www.meshy.ai/features/text-to-3d
  • Meshy Terms of Use: https://www.meshy.ai/terms-of-use
  • Tripo: https://www.tripo3d.ai/
  • Tripo Terms: https://www.tripo3d.ai/terms
  • Luma Terms of Service: https://lumalabs.ai/legal/terms-of-service
  • Blender: https://www.blender.org/

本章採用的事實

Roblox Studio Importer 支援匯入 .fbx、.gltf、.obj mesh。.fbx 與 .gltf 可以包含多個 mesh objects、hierarchies、basic / PBR textures、rigging、skinning、animation data、vertex colors 等內容。Importer 也會顯示 import preview、object hierarchy、settings、warning 與 error。

MeshPart 是 BasePart 的 descendant,代表由 vertices、edges、faces 組成的 3D mesh。匯入後可以調整 texture、level of detail 與 collision fidelity。

SurfaceAppearance 可把 PBR textures 套用到 mesh surface。MaterialVariant 則是可重用的 custom material,除了 PBR texture,也能包含 physical properties。

RenderFidelity 預設通常應維持 Automatic,讓 Roblox 依距離調整 mesh 細節。

CollisionFidelity 常見選項包含 Box、Hull、Default、PreciseConvexDecomposition。越精準不代表越好,越精準通常也越昂貴。

Asset Privacy 影響 Images、Decals、Meshes。Restricted mesh 若沒有授權給 game,runtime 可能無法載入。

Texture Generator 可針對 MeshPart 或 mesh Model 用 prompt 產生 contextual texture。Save & Apply 後,Studio 會透過 SurfaceAppearance 套用新 texture。

Meshy 官方頁面說明 Text to 3D 可從文字 prompt 產生 3D model,並可匯出 FBX、OBJ、GLB、USDZ、STL、BLEND、3MF。Meshy 條款目前說明 free plan output 依 CC BY 4.0 授權,paid plan 則可有 private user content 安排,但實際使用仍要看當下 plan 與 terms。

Tripo 條款目前說明使用者要對 Inputs 負責,不得侵害第三方權利;Outputs 可用於 lawful commercial or non-commercial purposes,但須符合 agreement 與法律,且 free / paid users 權利安排不同。

Luma 條款目前說明 customer 對 Output 的權利與 commercial use 取決於方案;使用者必須有 Input 權利,不應上傳或要求產生侵害第三方 IP 的內容。

這些條款會變,所以本章不會把任何外部工具當成永久授權保證。正式發布前,你要把使用當天的 plan、terms、asset、prompt、output file 都記錄起來。


開場情境

AI Adventure Island 現在已經有地形、互動、任務、敵人、商店、存檔、UI、聲音、圖示和發布流程。

但整個世界仍然缺少幾個有記憶點的地標。

我們想在神殿入口放一座水晶石門。玩家從森林走到神殿前,會看到一座半破損的石門,兩側有藍綠色水晶。中間是可以通過的拱門,後方通往下一個任務區域。

這個需求看起來很適合外部 3D AI 工具:

  • 它是單一 prop。
  • 不需要動畫。
  • 不需要角色 rig。
  • 不需要複雜物理。
  • 外觀很重要,但精準規格不高。
  • 如果第一次生成不好,可以快速重生。

這也代表它很適合教學。

我們不會一開始就做角色、坐騎、衣服、武器動畫或 Marketplace avatar item。那些題目都有更多規格和風險,放在本章會讓主線失焦。

本章只做一個 prop。

但我們會用專業流程處理它。


第一個 Prompt

這次有兩種 prompt。

第一種給外部 3D AI 工具,例如 Meshy、Tripo 或 Luma 類工具。

第二種給 Roblox Studio Assistant。

外部工具負責產生模型草稿。Studio Assistant 負責把匯入後的模型整理進遊戲。

這兩種 prompt 不能混在一起。

外部 3D AI Prompt

先寫給 text-to-3D 工具的 prompt:

【Ch30 生成|製作低面數水晶石門】
為 Roblox 冒險島嶼遊戲建立一座 low-poly、stylized 的古代水晶石門。

需求:
- 單一 static game prop,沒有 animation,沒有 rig。
- 中央拱門保持開放,玩家可以穿過。
- 兩根粗石柱與簡單的頂部 lintel。
- 石頭中嵌有藍綠色水晶裝飾。
- 從 30 公尺外仍能辨識的清楚輪廓。
- Game-ready low-poly topology。
- 簡單 PBR textures:風化石材、苔蘚、發光水晶。
- 沒有文字、logos、受著作權保護的角色或品牌 references。
- 沒有細小鬆散零件。
- 如果工具支援,將 pivot/origin 設在石門底部中央。
- 匯出目標:包含 textures 的 GLB 或 FBX。

風格:
- 明亮、stylized 的奇幻冒險。
- 氛圍接近友善的 Roblox 島嶼遊戲。
- 不要恐怖、寫實血腥或 dark fantasy。

這個 prompt 的重點不是美術形容詞。

它真正重要的是限制條件:

  • single static game prop
  • no animation
  • no rig
  • open center archway
  • player can walk through
  • low-poly topology
  • no text
  • no logos
  • no copyrighted characters
  • pivot/origin at bottom center
  • GLB or FBX
  • textures included

AI 生成工具很容易把需求擴大成一整個場景,或把拱門塞滿裝飾,或產生許多碎片。對遊戲素材來說,這些都不是加分。

你要的是可用的 asset,不是展示圖。

Studio Assistant Prompt

等模型匯入 Studio 後,再給 Assistant 這段 prompt:

【Ch30 實作|整理匯入水晶石門】
我已匯入一座古代水晶石門的 3D model。

請協助我在目前的 Roblox Studio 場景中整理這個 imported asset。

需求:
- 不要生成新的 mesh。
- 找到目前選取的 imported Model 或 MeshParts。
- 將主要 model 重新命名為 AncientCrystalGate。
- 如果 Workspace/World/TempleArea folder 存在,將它移到該位置;否則建立 Workspace/World/TempleArea。
- 將石門放在神殿入口區域附近並保持在地面上方。
- 將 imported MeshParts 設為 Anchored = true。
- 只有兩側石柱或可見的實體部分保留 CanCollide。
- 確保中央拱門不會阻擋玩家。
- 不要修改 quest、shop、save、enemy 或 UI systems。
- 加入名為 AssetPipeline、值為 ExternalAI3DImport 的 Attribute。
- 加入名為 NeedsAssetRegisterReview、值為 true 的 Attribute。

完成修改後摘要:
1. 修改了哪些 objects。
2. 哪些 MeshParts 啟用了 collision。
3. 我應該在 Play mode 測試哪些內容。

注意這裡有一句很重要:

不要生成新的 mesh。

這次 Assistant 不是拿來生模型。

這次 Assistant 是拿來整理匯入結果。


Assistant 可能產生的結果

Studio Assistant 的動作會依照你選取的模型和場景結構不同而不同,但合理結果應該接近:

Workspace
  World
    TempleArea
      AncientCrystalGate
        Gate_LeftPillar
        Gate_RightPillar
        Gate_TopLintel
        Gate_CrystalAccent_A
        Gate_CrystalAccent_B

或者如果匯入的是單一 MeshPart:

Workspace
  World
    TempleArea
      AncientCrystalGate
        AncientCrystalGate_Mesh

模型屬性可能包含:

AncientCrystalGate
  Attribute AssetPipeline = ExternalAI3DImport
  Attribute NeedsAssetRegisterReview = true

MeshPart 屬性應該檢查:

Anchored = true
CanCollide = depends on part
RenderFidelity = Automatic
CollisionFidelity = Box / Hull / Default

如果模型是一整個 MeshPart,而且中間拱門的碰撞把玩家擋住,Assistant 可能無法只開兩側碰撞。這時不要硬叫它精準切碰撞。

比較穩定的做法是:

  1. 把 visual MeshPart 設為 CanCollide = false。
  2. 另外用透明 Part 做簡化碰撞。
  3. 左柱一個透明 Part。
  4. 右柱一個透明 Part。
  5. 上方橫樑必要時再加一個透明 Part。

結構可以像這樣:

AncientCrystalGate
  Visual
    AncientCrystalGate_Mesh
  Collision
    GateCollision_LeftPillar
    GateCollision_RightPillar
    GateCollision_TopLintel

這是 Roblox 開發裡很常見的做法:視覺模型負責看起來漂亮,碰撞模型負責讓玩家行為穩定。

AI 生成模型的碰撞不一定乾淨,所以更應該把 visual 和 collision 分開。


元件拆解

外部 AI 3D 工具不是 Studio 的一部分

第 1 章到第 27 章,我們把 Roblox Studio 內建 Assistant 當主軸。

第 28 章開始,我們引入外部素材工具。

這裡要再次劃清楚邊界:

Studio Assistant:
  在 Roblox Studio 內協助建立、修改、解釋、整理 DataModel。

外部 AI 3D 工具:
  在 Studio 外產生模型檔案、貼圖、材質或概念素材。

Blender:
  在 Studio 外檢查、修正、清理、匯出 3D 模型。

Studio Importer:
  把外部檔案匯入 Studio,產生 MeshPart / Model / SurfaceAppearance 等 Roblox 物件。

外部 AI 工具不是 Assistant。

Blender 也不是 Assistant。

Importer 也不是 Assistant。

你的工作是把它們接成管線。

先選 static prop

外部 AI 3D 工具很適合快速產出:

  • 石頭
  • 木箱
  • 神殿柱子
  • 拱門
  • 簡單道具
  • 裝飾雕像
  • 小型場景物件
  • 植物變體
  • 低風格化武器展示模型

但不建議初學者一開始就用它產出:

  • 玩家角色
  • NPC 角色
  • 需要動畫的敵人
  • avatar body
  • avatar clothing
  • 有複雜 rig 的模型
  • 需要精準碰撞的載具
  • 會被玩家大量複製的高面數物件

原因很簡單:static prop 的驗收最清楚。

它只要看起來對、尺寸對、不擋路、材質載入、效能合理、權限正確,就能進遊戲。

角色或動態 asset 則會多出 rigging、skinning、animation、attachment、physics、Marketplace specs、跨裝置表現等問題。

本章要建立流程,不要一次把所有問題打開。

Meshy、Tripo、Luma、Blender 怎麼放進流程

本章可以用不同外部工具完成,但它們在流程中的角色要清楚。

Meshy 類工具:

text prompt / image prompt -> 3D mesh -> preview -> face count / topology 檢查 -> export

Tripo 類工具:

text or image input -> 3D result -> download -> license / plan check -> cleanup

Luma 類工具:

generative output -> rights / commercial use check -> export or downstream use if supported

Blender:

open generated file -> check scale -> check origin/pivot -> clean mesh names -> inspect UV/materials -> export GLB/FBX

Roblox Studio:

File > Import -> preview -> settings -> warnings/errors -> import -> MeshPart check -> playtest

Assistant:

organize model -> set properties -> create collision helpers -> write test checklist -> explain DataModel changes

這樣分工後,你比較不會把所有問題丟給同一個工具。

GLB、GLTF、FBX、OBJ

Roblox Studio Importer 支援:

.fbx
.gltf
.obj

外部工具常見還會給:

.glb
.blend
.stl
.usdz

其中 .glb 是 binary glTF,很多工具會把它當成最方便的一包式輸出。Studio 文件提到 .gltf,實務上你仍應以 Importer 當下支援與工具匯出結果測試為準。如果某個 .glb 無法直接匯入,可以先用 Blender 開啟再匯出成 .gltf 或 .fbx。

簡化選擇:

格式 適合用途 注意事項
.gltf / .glb 保留 PBR、材質、現代 3D 工作流 若 Studio 當下不吃某個 .glb,用 Blender 轉出
.fbx 遊戲引擎常見格式,支援 hierarchy / rig / animation Blender 匯出 FBX 時要注意 scale
.obj 簡單 mesh,通用 材質與 hierarchy 能力較有限
.blend Blender 專案檔 不直接作為 Studio 匯入主格式
.stl 3D printing 通常不適合 Roblox 遊戲素材,常沒有材質

本章建議:

優先:GLB/GLTF
備用:FBX
簡單白模:OBJ
清理工具:Blender

Importer

Studio 匯入 3D 模型的入口是:

File -> Import

Importer 會顯示:

3D Importer 的匯入佇列,包含模型預覽、物件清單與設定。

圖 30-2 匯入佇列會列出每個物件及其設定;按下 Import 前逐一處理 warning、命名、材質與不需要的物件。

  • preview
  • file path
  • preset
  • object hierarchy
  • import settings
  • warning / error

你要特別看 File General:

Name
Import Only As Model
Upload to Roblox
Import as Package
Creator
Add to Workspace
Set Pivot to Scene Origin
Anchored

以及 File Geometry:

Scale Unit
Merge Meshes
Invert Negative Faces

Object Geometry:

Make Double Sided
Ignore Vertex Colors

初學者最容易忽略的不是 format,而是 settings。

例如:

  • Upload to Roblox 會建立可重用 asset。
  • Add to Workspace 會把模型插入目前 place。
  • 從已儲存或已發布 game 匯入時,Add to Workspace 也和 restricted asset 的 game permission 有關。
  • Set Pivot to Scene Origin 會影響模型之後怎麼被擺放。
  • Anchored 對場景 prop 很重要。
  • Make Double Sided 看似方便,但會增加 rendering 成本。

匯入時不要只按 Import。

先看 preview。

MeshPart

MeshPart 是 Roblox 中表示匯入 mesh 的主要物件。

它跟 Part 很像,因為它也是 BasePart descendant。你可以放在 Workspace、設定 Position、Anchored、CanCollide、Transparency,也能被玩家碰撞。

但 MeshPart 的形狀不是 Studio 原生 cube、sphere、wedge,而是外部 mesh geometry。

所以它有 Part 沒有的一些問題:

  • geometry 可能破。
  • UV 可能亂。
  • texture 可能遺失。
  • collision 可能太複雜。
  • face count 可能過高。
  • pivot 可能不在你預期的位置。
  • 多個 mesh object 可能匯入成一堆 MeshPart。

Assistant 可以幫你整理 MeshPart,但它不一定能修好壞 mesh。

如果模型本身有問題,回 Blender 或外部工具修,比叫 Assistant 硬改更合理。

SurfaceAppearance

SurfaceAppearance 是 mesh 外觀的重點元件。

如果 AI 3D 工具輸出的模型包含 PBR textures,Studio 匯入後可能會看到 SurfaceAppearance。

它可以包含:

ColorMap
MetalnessMap
NormalMap
RoughnessMap

這些 maps 決定模型表面的顏色、金屬感、凹凸與粗糙度。

如果模型匯入後變成白色或材質不見,你要檢查:

  • texture files 是否有跟著模型輸出。
  • Blender 是否有正確打包或重新指定 textures。
  • Importer 是否有 missing texture warning。
  • SurfaceAppearance 的 map asset IDs 是否存在。
  • Asset Privacy 是否阻擋 texture image。

不要只看模型有沒有進 Workspace。

要看材質有沒有真的載入。

Texture Generator

外部 AI 3D 工具常見問題是:

  • geometry 還可以,但 texture 很糊。
  • 水晶和石頭材質混在一起。
  • UV 拉伸造成圖案變形。
  • 模型正面好看,背面亂掉。

這時可以用 Studio Texture Generator。

流程:

  1. 選取 MeshPart 或包含 MeshPart 的 Model。
  2. 開啟 Window -> 3D -> Texture Generator。
  3. 選擇 generation angle。
  4. 輸入 texture prompt。
  5. Preview。
  6. Save & Apply。
  7. 檢查 SurfaceAppearance。

本章可以用的 texture prompt:

stylized weathered ancient stone with moss, soft hand-painted fantasy look, blue-green crystal glow accents, clean readable game texture

如果模型 UV 不合適,可以試 Smart UV Unwrap。

但請記住:Texture Generator 是補強材質,不是修 geometry。

如果拱門形狀破掉、洞口被封住、比例不對,應該回外部工具或 Blender。

CollisionFidelity

AI 生成 mesh 最常出事的地方之一是碰撞。

你看到拱門中間是空的,不代表玩家真的走得過去。

MeshPart 的 collision 可能把整個模型當成一個大致形狀。結果就是玩家撞到看不見的牆。

CollisionFidelity 常見選項:

Box
Hull
Default
PreciseConvexDecomposition

大原則:

情況 建議
遠景裝飾,不需要互動 CanCollide = false
小型道具,只要大概擋住 Box
凸形或簡單大型物件 Hull
需要半複雜碰撞 Default
很少數需要較精準碰撞的物件 PreciseConvexDecomposition,並測效能

對 AncientCrystalGate,我建議不要依賴單一 MeshPart 的精準碰撞。

更穩定的做法:

Visual mesh:
  CanCollide = false

Invisible collision parts:
  GateCollision_LeftPillar
  GateCollision_RightPillar
  GateCollision_TopLintel

透明碰撞 Part 設定:

Transparency = 1
CanCollide = true
Anchored = true
CanQuery = false if not needed
CanTouch = false if not needed

這讓玩家通過拱門時更穩定,也讓你不用為了視覺 mesh 的複雜形狀付出碰撞成本。

RenderFidelity

RenderFidelity 控制 mesh 在不同距離的顯示細節。

預設 Automatic 通常是正確選擇。

你可能會想把重要地標強制設成高品質,但這不一定值得。AI 生成模型如果面數高,又被放在玩家常看到的位置,強制高品質會增加成本。

本章建議:

RenderFidelity = Automatic

除非你已經測過:

  • 低距離顯示太破。
  • 模型是核心視覺焦點。
  • 場景中同類模型數量少。
  • 效能測試可接受。

不要因為模型是 AI 生成的,就假設它便宜。

Reimport

3D asset 很少一次完成。

你可能會發現:

  • 模型太大。
  • pivot 錯。
  • 拱門太窄。
  • 水晶太多。
  • texture 太糊。
  • mesh names 太亂。

如果每次都重新 Import,Explorer 和 Asset Manager 很快就會混亂。

Roblox 的 Reimport 可以更新既有 custom model 與 textures。它會記住原本 import file 與 settings,並依 mesh path/name 對應更新 MeshPart。

這代表命名很重要。

在 Blender 或外部工具裡不要每次亂改 mesh 名稱。

建議命名:

AncientCrystalGate_Frame
AncientCrystalGate_LeftPillar
AncientCrystalGate_RightPillar
AncientCrystalGate_TopLintel
AncientCrystalGate_CrystalA
AncientCrystalGate_CrystalB

如果外部工具輸出一堆:

Object_001
Object_002
mesh_3
Cube.019

先進 Blender 整理,再進 Studio。

Asset Privacy

3D 模型匯入後會建立 Mesh asset。

如果你的帳號或 group 開啟 Asset Privacy,新的 Mesh 可能是 Restricted。

Restricted 本身不是問題。問題是 game 沒有權限。

檢查項目:

  • Mesh 是否 Restricted。
  • Texture images 是否 Restricted。
  • Game 是否已被 grant permission。
  • Output 是否有 restricted asset error。
  • 團隊成員是否有權限使用。
  • Asset register 是否記錄 privacy state。

要特別記住:

Asset Privacy 影響 Images、Decals、Meshes。

所以第 29 章的 image assets 和第 30 章的 mesh assets 都要進同一套素材治理流程。


Playtest

匯入模型後,不要只在 Studio viewport 轉一圈。

要進 Play mode。

第一輪:視覺檢查

進入 Play mode 後,看:

  • 模型是否出現在正確位置。
  • 尺寸是否合理。
  • 玩家接近時不會突然消失。
  • 材質是否載入。
  • 水晶顏色是否過亮或過暗。
  • 距離拉遠後仍能辨識輪廓。
  • 手機畫面上是否太細碎。

如果模型太大:

Stop -> 調整 scale -> 再 Play

如果模型太小:

Stop -> 調整 scale -> 檢查 pivot -> 再 Play

不要在 Play mode 中做正式修改,除非你清楚知道哪些改動會被保存。

第二輪:碰撞檢查

測試玩家從幾個方向接近:

  1. 正面走向拱門。
  2. 從左側碰柱子。
  3. 從右側碰柱子。
  4. 跳到下方邊緣。
  5. 穿過中間洞口。
  6. 從背面回來。

你要確認:

  • 中間通道可通過。
  • 側柱不會穿透。
  • 不會卡在看不見的角落。
  • 不會因為 CollisionFidelity 太複雜造成奇怪抖動。
  • 透明 collision parts 尺寸合理。

如果中間過不去,先問:

是 visual MeshPart 的 CanCollide 還開著嗎?

如果是,把 visual MeshPart 改成:

CanCollide = false

再用透明 Part 做碰撞。

第三輪:Output 檢查

打開 Output,看是否出現:

Failed to load mesh
Failed to load image
Asset is not trusted
Asset permission error
Texture failed to load

如果看到和 Restricted asset 有關的錯誤,要回 Creator Dashboard 或 Asset Manager 檢查 game permission。

如果看到 missing texture,回 Importer、Blender 或 SurfaceAppearance 檢查 texture path / asset ID。

第四輪:效能檢查

這章不做完整 profiler 教學,但至少要做基本判斷:

  • 場景中只放一個 AncientCrystalGate 是否順暢。
  • 如果複製 10 個會不會明顯掉幀。
  • MeshPart 數量是否過多。
  • 是否用了不必要的 double-sided rendering。
  • CollisionFidelity 是否過度精準。
  • Texture resolution 是否過大。

AI 生成 3D 模型常常外觀複雜但遊戲效率差。

如果它只是遠景裝飾,你可以接受比較低的細節。

如果它是玩家每天會接近的地標,才值得多花資源。


修正 Prompt

假設 Playtest 後發現三個問題:

  1. 拱門中間卡住。
  2. 模型有 18 個 MeshPart,名稱混亂。
  3. 材質太寫實,和 AI Adventure Island 的 bright stylized 風格不合。

你可以分成三段處理。

修碰撞

給 Assistant:

【Ch30 修正 1|修碰撞】
匯入的 AncientCrystalGate 在中央拱門處阻擋玩家。

請只修正 collision setup。

需求:
- 不要移動 visual mesh。
- 將 AncientCrystalGate 下所有 visual MeshParts 設為 CanCollide = false。
- 在 AncientCrystalGate 下建立名為 Collision 的 Folder。
- 為以下部分加入透明且 anchored 的 Parts:
  - 左側石柱 collision
  - 右側石柱 collision
  - 可選的頂部 lintel collision
- 中央拱門必須保持開放,讓玩家可以穿過。
- 將 collision helper parts 的 Transparency 設為 1。
- 將它們命名為 GateCollision_LeftPillar、GateCollision_RightPillar、GateCollision_TopLintel。
- 不要修改 scripts 或 gameplay systems。

修改後,摘要 collision objects,並精確告訴我要在 Play mode 測試哪些內容。

這個 prompt 很窄。

它不要求 Assistant 重做模型,不要求重寫系統,不要求美化場景。

只修 collision。

修命名

如果匯入後物件叫:

Object_1
Object_2
mesh_0
mesh_1

可以給 Assistant:

【Ch30 修正 2|修命名】
請整理目前選取的 imported gate model。

需求:
- 將主要 model 重新命名為 AncientCrystalGate。
- 將 visual MeshParts 放在名為 Visual 的 Folder 下。
- 如果 Collision Folder 存在,將 collision helper Parts 保留在其中。
- 根據用途重新命名容易辨識的 parts:
  - frame
  - left pillar
  - right pillar
  - top lintel
  - crystal accents
- 不要刪除任何 MeshPart。
- 不要更改 MeshId、TextureID、SurfaceAppearance、scale 或 position。
- 加入名為 SourceTool、值為 ExternalAI3D 的 String Attribute。
- 加入名為 NeedsOptimizationReview、值為 true 的 Bool Attribute。

摘要最終 hierarchy。

命名整理是 Assistant 很適合做的事。

但要禁止它改 mesh data。

修材質

如果幾何可以,但材質不適合,可以用 Texture Generator 或重新生成 texture。

給 Texture Generator 的 prompt:

【Ch30 生成|重製石門材質】
stylized 的明亮奇幻島嶼石門、風化淺色石材、裂縫中的柔和苔蘚、藍綠色水晶裝飾、hand-painted low-poly game texture、清楚易讀的形狀、不寫實、不陰暗

如果要請 Assistant 幫你規劃 Texture Generator 操作,可以問:

【Ch30 修正 3|修材質】
我想使用 Roblox Texture Generator 重新製作 AncientCrystalGate 的 texture。

請檢查選取的 model,並提供簡短的逐步計畫。

重點:
- 我應該選取哪一個 MeshPart 或 Model。
- 應從哪一個 generation angle 開始。
- 適用於明亮 stylized 奇幻石材與水晶的 prompt。
- Save & Apply 後要檢查哪些內容。
- 應檢查哪些 SurfaceAppearance properties。

不要修改場景。

這次是 planning prompt。

因為 Texture Generator 是 Studio 工具,不一定要讓 Assistant 直接替你操作。你可以先讓它寫操作計畫,再自己做。


工程整理

3D Asset Register

第 28 章有 audio register。

第 29 章有 image register。

第 30 章要加入 3D register 欄位。

建議表格:

Internal Name Category Source Tool Source Prompt ID Plan / License Note Local Source File Export Format Roblox Asset ID Mesh Count Texture Assets Asset Privacy Game Permission DataModel Path Collision Setup RenderFidelity Review
AncientCrystalGate 3D Prop Meshy / Tripo / Luma / Blender P-3D-001 Verify current terms before release AncientCrystalGate_v01.glb GLB TBD TBD TBD Restricted / Open Use TBD Workspace/World/TempleArea/AncientCrystalGate Visual mesh no collide + transparent parts Automatic Pending

不要把 license note 寫成:

AI generated, OK

這不夠。

要寫:

Generated on YYYY-MM-DD using ToolName plan X.
Prompt P-3D-001.
No third-party IP in prompt.
Output file archived.
Terms snapshot checked on YYYY-MM-DD.
Attribution required: yes/no/TBD.
Commercial use: yes/no/TBD.

第 31 章會把這些素材統一整理。

本章先要求每個 3D asset 都有紀錄。

檔名規則

建議本機檔名:

AncientCrystalGate_v01_source.glb
AncientCrystalGate_v01_clean.blend
AncientCrystalGate_v01_roblox.fbx
AncientCrystalGate_v01_texture_color.png
AncientCrystalGate_v01_texture_normal.png
AncientCrystalGate_v01_texture_roughness.png
AncientCrystalGate_v01_import-notes.md

如果沒有經過 Blender:

AncientCrystalGate_v01_ai-output.glb
AncientCrystalGate_v01_import-notes.md

不要只留:

download.glb
final.fbx
new_model.obj

三週後你會不知道它們是什麼。

Import Notes

每個 3D asset 建議留一份 notes:

Title: AncientCrystalGate v01 Import Notes

Source

- Tool:
- Plan:
- Generated at:
- Prompt ID:
- Prompt file:
- Output file:
- Terms checked at:

Cleanup

- Blender used: yes/no
- Scale adjusted:
- Origin/pivot adjusted:
- Mesh names cleaned:
- UV checked:
- Textures packed/exported:

Roblox Import

- Import date:
- Import format:
- Creator:
- Upload to Roblox:
- Add to Workspace:
- Import Only As Model:
- Scale Unit:
- World Forward:
- World Up:
- Warnings:
- Errors:

Studio Setup

- DataModel path:
- Mesh asset ID:
- Texture asset IDs:
- Asset Privacy:
- Game permission:
- Collision setup:
- RenderFidelity:
- SurfaceAppearance:

Playtest

- Visual:
- Collision:
- Output:
- Performance:
- Issues:

這種 notes 看似麻煩,但它會救你。

尤其當你投稿、截圖、回頭修改、或在第 31 章整理所有素材時,它會讓整個專案不像一堆下載檔堆在一起。

Assistant 不是授權律師

你可以問 Assistant:

【Ch30 紀錄|建立 3D Asset Register】
請協助我為這個 3D model 建立一筆 asset register entry。

但不要問:

我可以合法地將這個 model 用於商業用途嗎?

Assistant 可以協助整理條款重點,但不能替你保證法律風險。

正確做法:

  1. 打開工具官方 terms。
  2. 確認你的 plan。
  3. 確認生成日期。
  4. 確認 prompt 沒有第三方 IP。
  5. 保存 output 與紀錄。
  6. 將結論寫成 license note。
  7. 不確定就標 TBD,不要硬寫 OK。

最小可發布檢查表

AncientCrystalGate 要進發布版,至少要通過:

  • [ ] Source tool / plan / prompt 已記錄。
  • [ ] 沒有第三方角色、商標、logo、受保護造型。
  • [ ] 本機 source file 已保存。
  • [ ] Importer 沒有 unresolved error。
  • [ ] MeshPart 命名可讀。
  • [ ] Model 放在正確 DataModel path。
  • [ ] Visual mesh 不造成錯誤碰撞。
  • [ ] 中央拱門可通過。
  • [ ] Collision helpers 可視化檢查過。
  • [ ] SurfaceAppearance / TextureID 正常。
  • [ ] Texture images 正常載入。
  • [ ] RenderFidelity 設定合理。
  • [ ] CollisionFidelity 設定合理。
  • [ ] Asset Privacy / game permission 已檢查。
  • [ ] Output 沒有 restricted asset 或 missing texture error。
  • [ ] 手機畫面可讀。
  • [ ] 不造成明顯效能問題。
  • [ ] Asset register 已更新。

這份清單比「看起來很漂亮」重要。


本章總結

這章把外部 AI 3D 生成工具接進 Roblox Studio。

你學到的不是某個工具的按鈕,而是一條管線:

用途定義
-> 3D AI prompt
-> 外部生成
-> terms / plan / prompt 記錄
-> 下載 GLB/GLTF/FBX/OBJ
-> Blender 清理或檢查
-> Studio Importer
-> MeshPart / SurfaceAppearance
-> CollisionFidelity / RenderFidelity
-> Asset Privacy
-> Assistant 整理場景
-> Playtest
-> asset register

本章最重要的觀念有四個:

  1. 不要把 AI 生成的 3D 模型直接當成完成品。
  2. 初學者先從 static prop 開始,不要從角色或 avatar item 開始。
  3. 視覺 mesh 和碰撞最好分開處理。
  4. 外部 AI 素材一定要有來源、授權、prompt、檔案與匯入紀錄。

AncientCrystalGate 只是本章範例。

同一套流程可以套用到:

  • 神殿柱子
  • 寶箱
  • 任務道具
  • 裝飾雕像
  • 商店招牌
  • 場景石塊
  • 特殊門
  • 關卡入口

下一章會把第 28 章的音訊、第 29 章的圖像、第 30 章的 3D 模型全部收束成一套外部 AI 素材治理制度。

到那時,我們不再只問「這個素材能不能放進遊戲」。

我們會問:

這個素材半年後還能不能被追蹤、維護、授權確認、重新匯入、交給別人接手?

這才是外部 AI 工具真正進入遊戲專案的門檻。


關於 Wolke

嗨!我是 Wolke,曾任 Google Developer Expert(GDE,2019–2023) 與 LINE API Expert。

我熱衷於研究 AI Agent、n8n 自動化工作流與全端開發架構,致力於將 AI 技術轉化為真正能落地的生產力工具。

如果你喜歡這篇文章,歡迎透過以下方式與我交流:

📚 技術著作
《實用的 Gemini API 開發點子書》:帶你運用 Gemini App、Google AI Studio、Gemini CLI 與 Antigravity IDE,打造 AI Agent 與實用產品。

📝 技術部落格
歡迎追蹤我的 Medium,我會持續分享 Agentic Automation、架構設計與實際開發的踩坑心得。

🎤 技術講座與合作
我持續受邀至技術社群及研討會,分享 AI Agent、自動化工作流、DevOps 與全端開發實戰。

我曾於 DevOpsDays Taipei 2026 主講「不再只是寫腳本!讓 AI 代理人成為你的 SRE 最佳夥伴」工作坊。

如果你的企業、社群或學校正在尋找相關主題講者,歡迎私訊聯繫,洽談講座與工作坊合作!

🎮 我的 Roblox 遊戲

🎁 免費贈送 OpenAI 或 Claude AI 額度

為了鼓勵大家實際動手打造自己的 Roblox 體驗,我每個月會開放:

  • 10 個名額
  • 每人 50 點 AI 額度
  • 名額送完為止

參加方式:

  1. 訂閱本系列文章。
  2. 分享任一篇系列文章。
  3. 私訊分享截圖及你的 AI 帳號 Email。

確認完成後,我會邀請你加入並設定 50 點額度。名額有限,歡迎把握機會!


上一篇
第 29 章:2D 美術、貼圖與圖示生成
下一篇
第 31 章:外部 AI 素材的授權、審核與資產管理
系列文
Roblox Studio AI 協作開發大全 共 32 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言