3D 模型

**3D 模型**（），又叫**三維模型**或者**立體模型**，係指（對於部電腦嚟講）用數字呈現嘅三維物體。立體模型有長度、闊度、高度以及係表面，就好似喺現實世界見到嘅實物一樣。立體模型係一嚿嚿數據，可以用嚟建構虛擬世界。

**立體建模**就係指用專門軟件整立體模型。廿一世紀初有好多立體圖像軟件。建模涉及製作者喺模擬嘅立體空間入便操作角、邊同埋立面，譬如係以一啲簡單嘅幾何物體（例如圓柱或者球體呀噉）做起始，然後再改變唔同邊嘅長度或者唔同角嘅位置，最後整出想要嘅形狀。除此之外，製作者亦可以用程序生成或者立體掃描嚟創建想要嘅形狀。造好咗形狀，製作者仲可以用材質貼圖同着色器等嘅工具，決定模型表面望落係乜嘢質哋。

整好之後，呢啲模型跟住就可以直接攞去 Unity 或者 Unreal 引擎等嘅遊戲引擎度使用，用嚟為視像遊戲同虛擬實境等嘅產品建構虛擬世界。而科研上亦會用到立體模型，將研究緊嘅現象可視化。

## 概念基礎

立體模型係電腦圖像中用嚟表示三維物件嘅數碼結構。三維電腦圖像同二維電腦圖像好唔同，思考方式唔再係「喺二維畫布上加一層層嘅圖像」而係好似思考現實世界嘅實物噉，有齊晒長闊高。三維模型主要由**頂點**（vertex）、**邊**（edge）同埋**面**（face）組成，形成立體嘅網格結構。除咗呢啲基本幾何特性，立體模型仲可以結合材質同埋粒子效果等嘅技術造出多種進階嘅效果。通過立體模型，設計師可以喺虛擬空間中創作出建築物、角色以至自然景觀等等，諸如動畫、遊戲開發、電影製作以至科學上嘅電腦模擬... 等嘅範疇都可以用到立體模型。

睇大方向嘅話，立體模型嘅建構，可以靠人手方法，亦可以用到比較自動化嘅演算法：
*就算係相對簡單嘅立體模型都可以好有用。諸如檯、櫈同木桶等形狀簡單（高度規律，似基本嘅幾何圖形）嘅物件嘅模型，可以手動建模，人手砌出佢哋嘅形狀。
*至於耗時但重複度高嘅模型，現時嘅圖像軟件（Blender 等）有好多自動化嘅功能製作：高度規律嘅花臣，往往有簡單嘅演算法可以整，譬如係叫部電腦自動複雜某件物品若干次，再將呢啲物品跟住某條曲線排成一條線噉嘅樣；稍為唔規律嘅花臣就可以用程序生成以及柏林雜音等嘅功能嚟整。
*對於形狀不規則、難以手動處理嘅物件（例如人面），用家就可以考慮使用外部資源或者工具輔助建模。例如利用深度貼圖轉換工具快速建立面部結構，可以有效節省大量建模時間。
等等。

喺二〇二〇年代起，網上出咗唔少架生，可以用嚟快速製作立體模型，尤其係生成式人工智能，可以攞用家俾嘅語句做輸入，製作出立體模型。雖然呢啲立體模型質素參差，好多時都要用家人手調較，但依然能夠提升製作速度。

## 基本造型

### 形狀檢視

做立體建模，最基本步驟係建立個模型嘅幾何結構。多邊形網格有三大基本元素，包括**頂點**、**邊**同埋**面**，呢三樣嘢會界定件物件嘅形狀。概念如下：**頂點**－立體空間內嘅一點，每個頂點都有個三維（X Y Z）嘅座標；**邊**－由兩個頂點連接埋一齊而成，模型表面嘅「骨架」；**面**或者叫**立面**－由三條或以上嘅邊組成，形成一塊平面，通常係三角形或者四邊形。例如下圖呢個多邊形網格，就模擬緊海豚嘅形態：





除此，用家亦可以用線框模型嘅方式嚟去呈現模型：線框模型基本上等同多邊形網格，只係冇咗立面，淨係展示個模型啲角同邊，好似下圖噉；喺好多情況下，線框模型都比較方便用家睇清楚個模型嘅形狀，而 Blender 等嘅圖像軟件會畀用家揀用邊種方式（多邊形網格定線框模型）嚟睇個立體模型。





### 形狀建立

建模造型嘅過程最簡單常用嘅，可以係用多邊形造型或者數碼雕塑：用家可以由基礎嘅幾何形狀做起始（盒建模法）譬如係球體或者立方體呀噉；用多邊形造型嘅話，佢會以各種方法編輯個模型嘅頂點、邊同面，當中常用嘅功能有**子分**、**拉伸**、切割以及細分曲面呀噉；用數碼雕塑嘅話，佢就會用軟件工具推、拉、磨、掹或者捏個模型造出目標形狀，彷彿好似個模型係一嚿黏土噉，整出睇落更「有機」嘅形狀。無論用咗邊種造型法，大致得出想要嘅形狀，就可以做下一步處理。




做建模嘅時候，如果要整一啲重複度高嘅結構，例如欄杆、樓梯、磚牆等等，可以用軟件入面嘅自動化功能加快流程。以 Blender 為例，Blender 入面有個**陣列修改器**工具可以幫用家將一個模型（例如一條柱）或者模型某部分沿住某個方向複製多次。用家只需要設定重複次數、每次嘅距離同方向，Blender 就會自動幫佢排好全部形狀。呢種方法唔單止節省時間，仲令到模型保持一致，而且修改原始形狀嘅時候，所有重複出嚟嘅部件都會一齊變。

建模造型亦有一種手法係靠物理模擬：圖像軟件往往有功能，畀用家加指定嘅物理效果落去個模型度，譬如係叫隻軟件當個模型係一嚿用布料造嘅物體，然後模擬佢點樣跌落地；跟住用家就可以攞個模擬嘅其中一格，指定攞嗰格嚟做個模型嘅預設形狀。諸如碰撞、剛體動力、壓力同埋表面波等嘅物理現象嘅模擬，都可以用嚟做呢樣嘢。

### 拓撲重構

## 表面特性

材質（texture）係圖像，可以用嚟「貼喺個模型表面」，令到個模型望落似係有特定嘅質哋。材質貼圖嘅做法唔同軟件都有啲唔同，不過大致上都係：一般嚟講，設計者已經整好咗個模型嘅形狀，先會郁手整材質，材質可以嚟自網絡上可供免費 download 落嚟用嘅圖，甚至自己去影相；搵到圖用，設計者就要決定塊材質圖要貼喺模型邊個位以及引入材質圖或者自己親手畫，然後設計者仲會落着色器同埋微調材質圖嘅位置。

材質貼圖呢啲處理模型表面嘅工作，好多時都會用到烘焙（baking）。電腦圖像上講嘅烘焙，係指某啲數叫部電腦預先計好晒，而唔係等到實時彩現嗰陣先至計——假如呢啲數好複雜，實時彩現嗰時計（想像部電腦一路顯示、一路計下一刻影像係點）就會好費時，容易搞到個畫面窒。





彩現嘅過程必定會用到着色器（shader）：着色器係一大類嘅演算法，畀 GPU 行嘅，亦可以包埋執行呢啲演算法嘅程式，負責教部電腦點樣處理一嚿物體嘅顏色、光暗同質哋，達致設計者想要嘅效果。當中「效果」可以係令到個模型望落更加迫真。着色器對於做彩現嚟講好重要。喺實際應用上，着色器會做一系列嘅數據處理，最後畀出想要嘅效果：設計模型嘅人可以當正着色器係黑盒，會攞某啲嘢做輸入，計數，跟住畀若干個輸出，當中輸入可以係顏色數據、位置同埋其他數值等，而輸出就係（例如）色彩數值；一個效果好多時都會用多過一件着色器嚟造，喺呢個過程裡便一件着色器可以行一啲運算，然後將自己計到嘅結果傳畀下一件着色器。下一件着色器又做運算，最後得出一個總體結果。好多圖像軟件都會畀用家用視覺化編程噉嘅方法設立「總體」着色器，揀選想用邊啲着色器，然後再決定着色器之間啲數據要點樣傳。





### 物理貼圖

事實表明，材質加上着色器可以產生似表面細節嘅效果，設計者唔使吓吓都將模型嘅形狀整到咁仔細。譬如物理式彩現（PBR）會用到嘅凹凸貼圖，就係用嚟模擬物件表面凹凸嘅技術，主要透過改變法線嘅方向。响 Blender 入便，設計者可以用材質貼圖噉嘅方法，將模型表面畫成一笪笪唔同嘅色，然後就可以加着色器，叫電腦當表面貼圖嘅灰階值係表面嘅高低，再模擬光照效果，產生凹凸錯覺。於是設計者唔使改變模型表面形狀，都可以造出好似表面有凹凸噉嘅效果。




假設模型表面已經有基本顏色，物理式彩現仲可以加：
*法線貼圖：用嚟模擬表面細節，例如坑紋、摺痕，而唔需要真係喺模型上增加多啲面同邊；法線貼圖會改變光線照落物件表面時嘅反射方向，令到原本平滑嘅表面睇落好似有起伏，從而達到更加真實嘅視覺效果。
*金屬度貼圖：操控模型表面嘅光學性質有幾似金屬。
*高光度貼圖：呢張貼圖用嚟控制反射嘅光嘅強度，有啲物件某啲位置反光多啲，有啲就冇咁多，可以透過呢張貼圖精細調節。
*粗糙度貼圖：用嚟控制物件嘅表面光滑定係粗糙，會影響光線點樣反射。喺物理式彩現系統中，粗糙度越低，表面就越光滑，光線會形成清晰嘅反射，望落似玻璃、金屬等嘅材料；相反粗糙度越高，表面就越粗糙，光線會散射，令反射變得模糊或擴散，例如橡膠、泥土。可以睇睇反射定律嘅相關概念。
*環境光遮蔽貼圖（AO）：模擬複雜場景中邊啲位置冇咁容易照到，例如牆角、摺位、凹陷等等，令到陰影更自然。加咗環境光遮蔽之後，畫面會更有層次感，唔會過份光亮或者扁平。
等等。物理式彩現係根據真實世界嘅物理特性去模擬光線同材質互動，所以可以令模型顯得更真實。喺廿一世紀初，物理式彩現已經係遊戲引擎（例如 Unity 同 Unreal Engine）同專業嘅立體軟件（例如 Blender）嘅標準工作流程。

### 明暗處理

明暗處理（），又或者叫光影處理，係一種技術，用嚟模擬光線打落三維物件表面嗰陣，會造成點樣嘅明暗變化，形成景深。模型每塊表面都可以因應光源方向同視角等嘅因素計算光照效果，令模型望落更有立體感，更接近現實。

明暗處理其中一種最基本嘅技術叫**平面明暗**（）。喺呢種做法下，每塊多邊形面會用一個單一嘅光照值，每塊面都係單一隻色，明暗係根據成塊面的方向嚟定。平面光影嘅好處係計算簡單、效率高，特別適合於資源有限嘅情況，例如早期嘅電腦遊戲場景。而且平面光影好適合用於低多邊形風格嘅作品，因為呢種風格刻意強調幾何形狀，用平面光影可以突顯每塊面嘅稜角。





相對嚟講，較「平滑」嘅明暗處理技術就好唔同（**平滑明暗**；）：呢啲做法會令多邊形邊界之間嘅色差變得柔順，從而營造出類似曲面嘅感覺。用家望落去會覺得模型表面「滑」啲冇咁生硬，整體畫面更貼近現實。再進一步喺現代遊戲製作中，用家仲會用物理式光影方法，例如加入金屬度、粗糙度等參數，令素材更有真實感。




## 彩現工序

## 程序生成

創作立體模型嘅過程中，設計者成日都會採取「由簡單走向複雜」嘅做法：好多時，複雜嘅物件其實係由一啲相對簡單嘅基本元素組成，當中**基本元素**可以係例如平面、圓柱等嘅基本形狀，或者近似呢啲形狀嘅物件。設計師唔使吓吓都手動砌出複雜模型，可以係設計咗呢啲簡單嘅基本元素出嚟先，然後教電腦用程序生成嘅方法，由呢啲基本元素砌出想要嘅目標物件。好似 Blender 等嘅圖像軟件，仲會有節點網絡噉嘅做法，畀用家寫程式教電腦生成呢啲複雜效果。

譬如係 Blender 噉，Blender 有幾何節點功能畀用家透過節點網絡嚟同模型做程序生成，簡單嘅功能有：
*變形：例如縮放、旋轉、平移等基本變換。
*複製同排列：可以根據指定規則複製物件並進行排列，通常用嚟生成複雜結構或者分佈。
*隨機化數值：用家將某啲指定數值隨機化；如果配合變形等嘅功能用，就可以（例如）手動整件物件做樣板，然後叫電腦產生大量同樣嘅物件，同時每件噉樣生出嚟嘅物件都（喺縮放、旋轉等方面）有少少唔同，達到望落自然嘅效果。
*分佈於表面：攞一塊表面加上一件物件做 input，隨機喺塊表面上選擇若干點，然後將件物件複製若干次，再擺落去嗰啲揀好咗嘅點嗰度。
等等。憑住好似噉嘅程序生成功能，設計師可以（例如）由相對簡單嘅門、窗同牆等生成一棟棟虛擬嘅建築物，生成建築物之後，配合道路嘅立體模型加上表示道路嘅線，生成一座座虛擬嘅城市。

## 最佳化

最佳化喺立體模型製作上極之重要。無論係遊戲開發定係實時電腦模擬，如果模型複雜得滯、太多多邊形，就會令運行速度下降，甚至搞到個畫面行起上嚟會窒或者裝置過熱。透過最佳化手段，設計者可以顯著減低效能負擔，同時又保留足夠視覺效果。喺資源有限嘅環境入面，良好嘅最佳化唔單止係一種技術要求，更加係一種必要策略。

最佳化相關嘅重要概念：
*粒子系統：有種做法係運用粒子系統代替大量重複嘅物件。
*多邊形：用嚟衡量啲立體模型有幾複雜嘅指標，如果話立體模型多邊形多，即係話個模型有好多塊表面，正路就表示個模型望落多細節。
*細節層次（LOD）：指立體模型**嘅表示**有幾複雜；例如想像家陣有個立體模型，設計者將個程式設計成「如果用家近睇個模型，就將個模型啲多邊形完全顯示嗮出嚟（細節層次高）；而如果用家遠睇個模型，就將個模型簡化（少噉咗多邊形）噉顯示（細節層次低）」噉嘅樣，噉就可以避免部機要做啲不必要咁仔細嘅運算，慳返運算上用嘅時間。
等等。





## 應用例子

立體模型喺唔同領域都有實用價值。

喺科學同工程領域，立體模型可以幫助研究人員同設計師視覺化噉展現複雜現象，例如用電腦模擬模擬流體力學嗰時，研究人員可以將氣流或者水流嘅變化用立體模型方式展示出嚟，又或者喺建築設計階段，用立體模型預視建築物完成後嘅外觀同空間結構，有助分析結構同美學效果。

喺電子遊戲方面，立體模型就係構成遊戲立體世界嘅基本單位，無論係角色、場景定係道具，都係以立體模型為基礎製作。現代嘅遊戲引擎會運用即時彩現技術，將呢啲立體模型變成互動嘅畫面。

至於電影製作方面，立體模型係動畫電影同特殊效果不可或缺嘅一環。彼思（）就係一個代表性嘅例子，譬如佢哋二〇〇一年出嗰套《怪獸公司》成功模擬角色毛髮嘅自然擺動同光影效果，提升動畫角色嘅真實感，被指係毛髮模擬技術嘅一大突破。

立體模型仲可以用嚟造二維電腦圖像。喺遊戲開發史上，有唔少開發者都試過用預彩現精靈圖技術，即係用軟件建模，再將模型喺唔同角度彩現出一幅幅二維圖像，最後用呢啲二維圖像做遊戲入面嘅精靈圖。呢種方法喺廿世紀特別常見，因為當時大部分嘅遊戲機都無法實時彩現高質素嘅立體圖像。例如世紀帝國同埋模擬市民嘅早期作品就用咗噉嘅做法。就算到咗廿一世紀初個人電腦同遊戲機嘅運算能力夠強，能夠實時彩現高質素嘅立體圖像，依然有唔少人因為覺得預彩現精靈圖具有「獨特嘅魅力」而採用呢種圖像技術。

## 光學概念

製作立體模型（尤其係材質同着色器）會用到一啲光相關嘅概念。
*光線
*陰影
*反射（漫反射）
*折射（折射率）
等等。

## 睇埋
*遊戲資產：喺實際製模上，製作者好多時都會以虛擬資產嘅角度諗，思考想要嘅模型包含邊啲資產（或者物件），然後就製作資產，再用呢啲資產砌個模型出嚟。
*電腦動畫
*粒子系統
*遊戲關卡
*虛構角色

## 文獻

* Bartneck, C., Kanda, T., Ishiguro, H., & Hagita, N. (2007). Is the uncanny valley an uncanny cliff? *Proceedings of the 16th IEEE*, RO-MAN 2007, Jeju, Korea, pp. 368–373，呢篇文討論恐怖谷，呢個概念對角色立體模型嘅設計有重要啟示。
* Wikibooks contributors. (n.d.). Blender 3D: Noob to Pro. Wikibooks (PDF). Retrieved May 19, 2025，呢本書個書名意思係 **Blender：由咩都唔識到專業級**嘅意思，由維基貢獻者合力製作。
* 魏鴻麟. (2013). 電腦圖像及圖形化使用者介面之設計專利的發展趨勢分析.



## 註釋

## 參攷

## 拎

* 粵語 Blender 教學，YouTube 上面嘅一系列短片，展示點樣用 Blender 製作 3D 模型。
*  Meshy，呢個網站有生成式人工智能，可以攞用家俾嘅語句做輸入，整立體模型出嚟。
* Blender 中嘅自動化：將重複工作簡化嘅八個途徑，CG Drives
* Voronoi 雜音
* 喺 Blender 入便由圖像產生立體元素！，YouTube 短片講到用深度貼圖嚟製作形狀複雜嘅模型。