返回目錄
A
虛擬偶像與人工智慧:從概念到實踐的全方位指南 - 第 3 章
第3章 角色設計與3D建模
發布於 2026-03-07 20:07
# 第3章 角色設計與 3D 建模
本章將從 **概念草圖**、**資產製作**、**骨架與表情系統**、**材質與渲染** 四個階段,系統性說明如何將虛擬偶像的概念轉化為可即時渲染的高品質 3D 模型。章節最後提供完整工作流程、常見工具比較與最佳化檢核清單,協助讀者快速落實專案。
---
## 3.1 角色概念設計
| 步驟 | 目的 | 常用工具 | 重點說明 |
|------|------|----------|----------|
| 需求定義 | 明確角色定位(年齡、風格、故事背景) | Google Docs、Notion | 與企劃/行銷共同完成角色人物設定檔(Character Brief) |
| 參考收集 | 蒐集美術參考、色票、服裝細節 | PureRef、Pinterest、Miro | 建立 **Mood Board**,標註構圖、光影、材質方向 |
| 初步草圖 | 快速手繪外觀輪廓與姿勢 | Photoshop、Clip Studio Paint、Procreate | 以 **3‑2‑1 法則**(3個姿勢、2個表情、1個場景)驗證角色可塑性 |
| 詳細設計稿 | 完整正面、側面、背面、髮型、配件細節 | Illustrator、Clip Studio Paint | 產出 **角色設計規範(Design Sheet)**,含尺寸比例、分層說明 |
### 3.1.1 角色設計規範(Design Sheet)必備項目
1. **比例尺**:頭部比率、手臂長度等,以 *1.8* 為基準單位。
2. **色彩指標**:CMYK / HEX / Pantone。
3. **材質說明**:金屬感、布料、皮膚光澤度等。
4. **可動範圍**:肩、腰、手指等關節限制(避免後期綁定衝突)。
5. **備註**:特殊標記(例如發光裝飾、透明層)需在後期材質階段加註。
---
## 3.2 3D 資產製作流程
> **核心概念**:從 **高模** → **低模** → **貼圖** → **骨架** → **表情系統** → **實時渲染** 的迭代循環。
### 3.2.1 高階建模(High‑Poly)
- **目的**:捕捉角色細節(皺褶、雕刻、刻痕)。
- **軟體**:ZBrush、Blender(Sculpt Mode)、MODO。
- **技巧**:
- 使用 **Multiresolution**/Subdivision 逐層細化。
- 依照 **Design Sheet** 中的材質說明,先雕刻衣物褶皺,再處理皮膚細節。
- 檢查 **edge flow**,確保後續 retopology 的可行性。
### 3.2.2 低階建模(Retopology)
- **目的**:降低多邊形數量,達成實時渲染需求(≈30k‑50k 三角形)。
- **軟體**:3ds Max(Quad Draw)、Maya(Quad Draw)、Blender(Retopo Flow)、Instant Meshes(自動)。
- **流程**:
1. **建立拓撲藍圖**,根據 **UV 展開** 方向畫出主要環形(edge loops)。
2. **遵循四邊形原則**,避免三角形與 N‑gon。
3. **保留關鍵環**(如眼眶、嘴角)以利表情變形。
### 3.2.3 UV 展開與貼圖烘焙
| 步驟 | 說明 | 工具 | 建議比例 |
|------|------|------|----------|
| UV 切割 | 依材質分區(皮膚、服裝、飾品)切割 UV | RizomUV、Unfold3D、Blender | 2:1 – 4:1 (最小擴展) |
| 佈局 | 盡量避免重疊,留白 2% 防止貼圖縫隙 | 同上 | 100% 利用率 |
| Baking | 法線、AO、金屬度、粗糙度等 PBR 貼圖 | Substance Painter、Marmoset Toolbag、xNormal | 4096×4096 為最佳起點 |
#### 3.2.3.1 法線貼圖烘焙技巧
```markdown
1. 設定 **Cage**:防止投射錯位,尺寸通常為原模型的 1.05 倍。
2. 使用 **Ray Distance**:調整光線投射深度,避免穿透薄壁。
3. 產出 **Tangent Space** 法線貼圖,兼容 Unity/Unreal。
```
### 3.2.4 材質與著色(Shading)
- **PBR 工作流程**:Base Color → Metallic → Roughness → Normal → Ambient Occlusion。
- **主要引擎**:
- **Unity**:使用 **Shader Graph** 或 **HDRP Lit**。
- **Unreal Engine**:使用 **Material Editor**(Master Material)或 **NRG(Neural Radiance Grid)** 進階渲染。
- **特效材質**:
- **發光貼圖**(Emissive)用於飾品、眼睛。
- **透明度貼圖**(Opacity)配合 **Alpha Clip** 實作蕾絲、薄紗。
### 3.2.5 骨架綁定(Rigging)
| 元件 | 功能說明 | 常用工具 |
|------|----------|----------|
| **Root Joint** | 控制全身移動與動畫層級 | Maya → HumanIK |
| **Spine Chain** | 彎曲、扭轉、彈性 | Blender → Rigify |
| **Facial Rig** | 表情、嘴形、眼球追蹤 | Faceware Studio、Blendshape Editor |
| **IK/FK 切換** | 動作製作時的便利切換 | MotionBuilder、3ds Max |
#### 3.2.5.1 表情系統(Blendshape)
1. **基礎表情**:Neutral、Smile、Frown、Blink、Eye‑Look‑Up/Down。
2. **語音同步**:利用 **Viseme**(AA、I、U、E、O)對應口形。
3. **驅動器(Driver)**:在 Unity 使用 **Animation Parameter** 或在 Unreal 使用 **Morph Target** 連結 LLM 輸出。
### 3.2.6 動作驅動與實時渲染
- **即時骨架驅動**:透過 **Live Link**(Unity:Message、Unreal:Live Link)將外部 Motion Capture 或 AI 生成的動作流入引擎。
- **渲染管線**:
- **URP/HDRP**(Unity)
- **UE5 Nanite + Lumen**(Unreal)
- **性能目標**:
- **FPS** ≥ 60(VR)或 ≥ 30(Mobile)
- **GPU Memory** ≤ 2 GB(Android 高階)
---
## 3.3 工作流程示範:從概念到即時角色
> 以下示範以 **Unity HDRP** 為例,說明完整 6 步驟的實作要點。
| 步驟 | 主要任務 | 輸入 | 輸出 |
|------|----------|------|------|
| 1️⃣ 概念定義 | 建立 Design Sheet | 手繪草圖、文字說明 | PDF 角色規格書 |
| 2️⃣ 高模雕刻 | ZBrush 細部雕刻 | 2D 設計稿 | .zpr 高模檔 |
| 3️⃣ Retopo & UV | 低模製作 + UV 展開 | .zpr 高模 | .fbx 低模 + UV Layout |
| 4️⃣ 貼圖烘焙 | Substance Painter 烘焙 PBR 材質 | .fbx 低模 | 4096×4096 .png 系列貼圖 |
| 5️⃣ 骨架綁定 | Rigify + Blendshape | .fbx 低模 | .fbx 帶骨架與表情目標 |\n| 6️⃣ Engine 整合 | Unity HDRP 材質設定 + Live Link | .fbx、貼圖 | 可即時渲染的虛擬偶像 Prefab |
### 3.3.1 範例腳本(Unity C#)
```csharp
using UnityEngine;
using UnityEngine.Animations;
public class AvatarController : MonoBehaviour
{
public Animator animator;
public SkinnedMeshRenderer faceRenderer; // 內含 Blendshape
// 從外部訊息驅動表情
public void SetViseme(int index, float weight)
{
// Viseme 索引對應 Blendshape 名稱
string[] visemes = { "AA", "I", "U", "E", "O" };
int blendIndex = faceRenderer.sharedMesh.GetBlendShapeIndex(visemes[index]);
faceRenderer.SetBlendShapeWeight(blendIndex, weight * 100f);
}
}
```
> 以上腳本示範如何把語音辨識或 LLM 產生的 *Viseme* 權重直接套用到角色的臉部表情。
---
## 3.4 優化與品質保證
| 項目 | 目標 | 檢測方法 |
|------|------|----------|
| **多邊形數量** | ≤ 50k(三角形)對於主流 PC/Console | Unity Profiler → Rendering → Mesh Statistics |
| **貼圖大小** | 4K 內存佔用 ≤ 300 MB | Photoshop → File → Export As → 計算檔案大小 |
| **骨架權重** | 每個頂點 ≤ 4 個骨骼影響,權重總和 1.0 | Maya → Weight Paint → Show Weights Limits |
| **實時陰影** | 使用 **Shadow Mask** 或 **Contact Shadows**,避免過度開銷 | HDRP 視覺測試 → FPS 監控 |
| **LOD** | 建立 LOD0/LOD1/LOD2,距離 50m 後切換 LOD2 | Unity LOD Group → 目視驗證 |
| **測試平台** | PC(DirectX12)、Mobile(Vulkan/OpenGL ES) | CI/CD 測試腳本自動跑帧率報告 |
### 3.4.1 常見問題與排除
| 問題 | 可能原因 | 解決方案 |
|------|----------|----------|
| **貼圖縫隙** | UV 重疊或邊界未留白 | 確認 UV 佈局留 2% 邊界,重新烘焙法線貼圖 |
| **表情變形異常** | Blendshape 頂點不匹配 | 重新對齊高模與低模的拓撲,或使用 **Delta Mesh** 方法 |
| **骨骼穿透** | 權重分配不均或過多骨骼 | 限制每個頂點的骨骼數量,使用 **Weight Normalize** 功能 |
| **渲染掉幀** | 材質過度使用透明或多層次渲染 | 合併透明貼圖、使用 **Alpha Clip** 取代全透明,減少渲染通道 |
---
## 3.5 常見工具與技術比較
| 類別 | 軟體/平台 | 優勢 | 劣勢 | 推薦使用情境 |
|------|-----------|------|------|----------------|
| **雕刻** | ZBrush | 高細節、Dynamesh 自動重拓撲 | 授權費較高,學習曲線陡峭 | 大型角色、電影級細節 |
| | Blender Sculpt | 免費、開源、即時預覽 | 功能較少、社群插件需自行整合 | 小型團隊、預算受限 |
| **Retopo** | Maya Quad Draw | 產業標準、與動畫流水線緊密整合 | 商業授權成本高 | 已有 Maya 工作流程的團隊 |
| | Instant Meshes | 完全自動、快速產出 | 拓撲品質較低,需要手動修正 | 快速原型或概念驗證 |
| **貼圖** | Substance Painter | PBR 流程完整、即時視覺回饋 | 訂閱制、GPU 需求高 | 需要高品質材質的商業項目 |
| | ArmorPaint | 開源、一次性付費 | 功能較少、社群較小 | 預算有限的獨立開發者 |
| **骨架** | HumanIK (Maya) | 完整的人體 IK 系統、支援自動綁定 | 只支援人形、非自訂骨骼 | 標準人形虛擬偶像 |
| | Mixamo Auto‑Rig | 雲端自動綁定、免費 | 網路限制、細節調整受限 | 快速綁定測試模型 |
| **即時渲染** | Unity HDRP | 可視化編輯、跨平台 | 較重的資源需求 | PC/Console 目標平台 |
| | Unreal Engine Nanite | 超高細節模型直接渲染 | 需要較新硬體支援 | 高階 PC、次世代主機 |
---
## 3.6 小結
- **概念階段**:透過 Design Sheet 統一視覺與技術需求,為後續製作奠定基礎。
- **建模流程**:高模 → Retopo → UV → 貼圖 → 骨架,以迭代方式確保每一步都符合實時渲染與表情需求。
- **表情與動作**:Blendshape 與 IK/FK 兼備,並與 Live Link、LLM 輸出串接,實現 AI 驅動的即時互動。
- **性能優化**:多層次 LOD、貼圖壓縮、骨骼權重限制是保持 60 FPS 的關鍵。
- **工具選擇**:根據團隊規模、預算與目標平台做適配,本文提供的比較表可作為決策參考。
完成本章學習後,讀者應能自行規劃並執行從概念草圖到即時渲染虛擬偶像的完整製作管線,為第 4 章的 **語音與對話系統** 奠定可互動的角色基礎。