跳轉到內容

Blender 3D:菜鳥到專業/凹凸貼圖

來自華夏公益教科書

凹凸貼圖是儲存畫素相對於相機視角的相對高度的紋理。畫素看起來會沿著面法線方向移動,要麼朝向相機,要麼遠離相機。你可以使用灰度影像或 RGB 紋理(包括影像)的強度值。

影像 1a:用於凹凸貼圖的紋理網格。
影像 1b:紋理的材質設定。
影像 1c:紋理網格應用於球體和平面。

凹凸貼圖很容易應用。它們在平面上效果很好,在曲面上只能在一定程度上有效。在曲面上,更容易注意到你沒有建立真正的 3D 結構。可見效果取決於照明、材質的光澤度、相機角度、距離等等因素。

  • 為你的物件新增一個新的紋理。
  • Map To 面板中啟用 Nor 按鈕。
  • 使用 Nor 滑塊設定凹凸的深度。
  • 使用 Image 紋理型別並載入你的凹凸貼圖。

凹凸貼圖應該包含黑白之間的硬過渡。灰色楔形(例如線性混合紋理)在渲染中幾乎不可見。

建立凹凸貼圖

[編輯 | 編輯原始碼]

你可以很容易地用 Blender 自己建立凹凸貼圖,這在你在一個表面上建模了一些小細節,並在最後意識到你的場景會變得太複雜時特別有用。你也可以在 Gimp 或其他類似的 2D 應用程式中使用凹凸貼圖。

我將建立一個儘可能高質量的動畫凹凸貼圖,並非總是需要付出如此多的努力。目標是建立一個波浪效果並製作一個影像序列,用作凹凸貼圖。原始物件有 600,000 個頂點,應用貼圖的物件有 8 個頂點。

設定場景

[編輯 | 編輯原始碼]
影像 2a:在 3D 檢視中設定相機和物件。
  • 開啟預設場景並刪除立方體。
  • 插入一個平面並切換到編輯模式。
  • 使用 +1(Shift-E)對其邊緣進行倒角。
  • Subdivide multi 使用 11 次切割。
  • 切換到物體模式。
  • 新增一個渲染級別為 6 的 SubSurf 修改器。
  • 新增一個 Wave 修改器。
    • 時間 -10
    • 高度 0.2
    • 寬度 1.5
    • 縮窄 1.5
  • 將相機正對平面。
    • X/Y/Z: 0/0/5。你可以使用 Transform Properties Panel 將相機移到特定位置,在這種情況下,Z 位置很重要。
  • 將相機鏡頭設定為 80.00(Editing Buttons->Camera Panel)。

平面現在應該完全適合相機檢視。

  • 儲存你的檔案。

我們將使用 Z 緩衝區資訊來建立凹凸紋理。Z 緩衝區包含與相機的距離,這正是凹凸貼圖的本質。為了將 Z 緩衝區資訊渲染為影像,我們將使用 Composite 節點。為了獲得儘可能高的質量,我們將使用 Open EXR 作為檔案格式,這允許我們以 32 位浮點數的數值精度儲存 Z 緩衝區資訊,而不是僅僅使用 8 位值。

渲染設定

[編輯 | 編輯原始碼]
  • 切換到 Anim 選項卡按鈕 (f10)。
  • End 設定為 40。
  • 啟用 Do Composite
  • Format 面板中選擇 Open EXR,將 SizeX/Y 都設定為 600(方形平面使用方形影像)。
  • Output 目錄設定為 //BumpAnim/。這將在檔案所在目錄中建立一個子目錄,用於儲存影像序列。不要省略斜槓。

節點編輯器

[編輯 | 編輯原始碼]
影像 2b:渲染 Z 值的合成節點設定。

現在設定合成節點。

  • 開啟一個 Node Editor 視窗。
  • 選擇 Composite Nodes
  • 啟用 Use Nodes

一個 Render Layer 和一個 Composite 節點將自動插入。

  • 新增->向量->對映值.
  • Render LayerZ 輸出連線到 Value 輸入,並將 Value 輸出連線到 Composite 節點的 Image 輸入。

如果你現在渲染,影像將是純白色,我們必須談談 Map Value 節點。Offs 值是 Z 緩衝區應該開始的距離(以負 BU 為單位)。獲得最佳範圍並不重要,因為我們使用 OpenEXR,但如果你想使用 PNG,則必須仔細選擇此值。

  • Offs 設定為 -4.8。這是相機需要的最小距離。如果你使用 Camera Clipping,或渲染後在渲染視窗上按下 LMB 並移動滑鼠,你就可以測量此值。
  • Size 設定為 4。尺寸值有點複雜。這不是直接的值範圍,而是 ,以及 .
    • 如果你想包含從 -4.8 到 -5.05 的 Z 值,則範圍為 0.25,因此 Size 為 4。
    • 如果你想包含從 -4.5 到 -3.5 的 Z 值,則範圍將為 -1,因此 Size 也將為 -1。
    • 如果你想包含從 -4.5 到 -5.5 的 Z 值,則範圍將為 1,因此 Size 將為 1。
  • 渲染動畫。

應用動畫凹凸貼圖

[編輯 | 編輯原始碼]
影像 3a:應用了凹凸貼圖 影片.
  • 開啟一個新檔案。
  • 選擇預設立方體並切換到 Texture 按鈕。
  • 使用 Image 紋理型別。
  • 從儲存序列的目錄中載入第一個 OpenEXR 影像。
  • Image 面板中啟用 Sequence,將 Frames 設定為 40。
  • 切換到 Material 按鈕。
  • Map To 面板中為紋理啟用 Nor 並將 Nor 滑塊設定為 25。
  • Map Input 面板中將對映設定為 Cube

就是這樣。與真正的變形幾乎相同的外觀,但使用了更少的資源。

華夏公益教科書