跳轉到內容

Blender 3D:菜鳥到專業/如何進行程式化地形建模

來自華夏公益教科書,開放世界的開放書籍

幾個月前,我在 Blender 中玩耍,並使用雲紋理來製作景觀,我發現了一個可以在 Blender 內部完全製作景觀的好方法(無需來自 GIMP 或其他應用程式的高度圖),並決定製作一個教程(是的,它確實使用了噪聲工具)。


對於 2.7X Blender 使用者

雖然這是一個基於 2.4 的教程,但它適用於 2.7X 版本。唯一不相容的重大差異是影響面板中的“正常”按鈕,它取代了“對映到”面板,而他們稍後提到的漫射著色器實際上位於材質的上下文中,在漫射面板中。

建立網格

[編輯 | 編輯原始碼]

首先,開啟 Blender,選擇立方體,按下 X 鍵 並單擊“刪除選定物件”。

新增一個網格(空格鍵--> 新增--> 網格--> 網格),使用你喜歡的任何數字,記住更大的數字意味著更多頂點。在本教程中,我將使用 60 作為 x 和 y 解析度。放大網格,但只需稍微放大一點(我放大到 1.3),因為紋理不會使用非常大的網格來製作非常高的景觀。按下 F5 鍵轉到“材質”選項卡,然後新增一個新材質。

置換和陰影

[編輯 | 編輯原始碼]

現在按下 F6 鍵轉到“紋理”面板,並在第一個插槽(插槽 0)中新增雲紋理。

按下 F6 後,檢視底部的視窗。左側是“預覽”視窗,旁邊(右側)是一個帶有“新增”按鈕的紋理視窗...... 點選它,然後轉到下方右側出現的下拉選單。從那裡找到並選擇“雲”...... 現在,繼續!


你可能想知道我們如何用雲紋理來製作景觀,因為你可以直接使用 GIMP 高度圖外掛、Terragen 或 Blender 中的 A.N.T. 建模指令碼。好吧,我們將使用高度圖來製作景觀。顏色決定高度:白色 = 非常高;灰色 = 一半高;黑色 = 沒有高度。這使得雲紋理成為土地的理想選擇。

接下來我們要做的是調整大小。你可以將噪聲大小設定為你想要的任何值,但我想要幾個更大的景觀片段,而不是一堆小的片段,所以我將噪聲大小設定為 1.00,噪聲深度設定為 6,因為我想要高細節級別。(預覽會立即顯示你所做的“調整”效果。)

菜鳥提示:你可以按住 Shift 鍵並點選噪聲大小旁邊的數字,然後只輸入 1 並按回車鍵,而不是使用箭頭鍵。這同樣適用於噪聲深度,Blender 中幾乎所有其他設定都可以這樣更改。

在頂部,我們可以選擇硬噪聲軟噪聲。每個都提供了不同的景觀,所以試試看。接下來,轉到顏色選項卡(預設情況下它位於紋理按鈕旁邊)。根據需要調整亮度和對比度。對於“硬噪聲”,嘗試將亮度設定為 1.9,對比度設定為 3.45。對於“軟噪聲”,亮度大約在 1.0 到 1.2 之間應該可以。

菜鳥提示:上面的菜鳥提示也適用於亮度設定!

使用 F5 鍵跳回到材質按鈕,然後進入“對映到”面板。關閉col 並按下nor 一次。

菜鳥提示:我很難找到“對映到”,如果你也是這樣...... 這是按下 F5 後出現在螢幕底部的幾個小視窗之一,對我來說,它在最右邊,超出螢幕範圍。我必須使用滑鼠滾輪滾動視窗,將其移到視野範圍內,並將其作為一個帶有兩個其他選項卡的視窗上的選項卡找到。“Col”和“Nor”是對映到選項卡中的按鈕。

另一個菜鳥提示:在 2.66 版本中,“對映到”的等效項位於紋理視窗(在“影響”選項卡下),你可以在那裡調整顏色和法線設定。它們被稱為完整的名稱。

  • 按鈕的作用:“對映到”設定確定我們的“雲紋理”將影響材質的哪些屬性。
    • "Col" 指的是“color”。我們在這裡將其關閉,因為我們不希望我們的表面看起來“像雲”。
    • "Nor" 指的是“表面normals”。這是光線從表面反射的角度。(所謂的“凹凸貼圖”。)
    • 嘗試使用其他“對映到”按鈕!例如,“Disp”(代表“displacement”)實際上會導致地圖在渲染期間變形表面的幾何形狀...... 但只有在渲染期間。

在本教程中,你將看到,我們將結合幾種技術來製作一個非常崎嶇的表面。在這裡,我們改變了表面反射光線的方式。然後,我們將實際變形表面的幾何形狀。


nor值調高到 25(這將使其呈現出岩石的外觀)。進入著色器選項卡,然後將“漫射著色器”(左上角的選擇器,預設為“Lambert”)更改為“Oren-Nayer”,將“鏡面反射著色器”(第二個選擇器,預設為“CookTorr”)更改為“Blinn”。將 Oren-Nayer 中的粗糙值調整為 1.5(岩石非常粗糙)。此外,將鏡面反射值設定為 0.01,硬度設定為 25。現在我們準備製作一些山脈了!

  • 瑣事提示:在計算機圖形學中,“著色器”是一個數學函式,通常以發明它們的人的名字命名。這些函式準確地確定了雲紋理將如何“對映到”我們選擇的屬性(例如“Nor”...)。

製作山脈

[編輯 | 編輯原始碼]

按下 TAB 鍵進入編輯模式,並按下 A 鍵 兩次,以防你選擇了任何特定的頂點。進入正面檢視並按下“噪聲”按鈕(位於 F9 中的網格工具下)。你應該看到頂點向上跳躍了一段距離。

如果沒有,你可能將網格放大得太多,所以將其縮小一點。根據你想要山脈的高度,按下噪聲按鈕所需的次數,我按了 8 次。網格現在看起來不太好,因為它不僅是塊狀的,而且缺少最後一點隨機細節。

  • 重要提示!名為“噪聲”的網格編輯按鈕會導致物件在“Z”軸上的幾何形狀發生永久性更改,如紋理所提供。(頂點實際上移動了,它們的新位置是永久的。)
    • 還有一個名為“噪聲”的程式化紋理,但這純粹是巧合。這兩者在功能和工作方式上是無關的。


  • 重要提示!使用 Blender 2.5 Beta 的使用者,為了讓高度圖影響幾何形狀,你需要使用“置換”修飾符

如果你不在編輯模式,進入編輯模式並選擇所有頂點。按下分形(與噪聲位於同一行,在網格工具下),並在隨機因子中輸入 15。希望你的系統可以處理所有這些頂點:如果不能,那麼不要進行任何分形細分。如果你願意,你可以在分形框中使用更小的值,並重復多次以獲得更多位移。但是要小心:過多的隨機性會導致頂點分離,從而導致網格出現撕裂,你需要手動修復它們。

最後,從編輯模式中退出,並按下設定平滑。然後,如果你想使網格更加平滑,請新增一個細分曲面修飾符,並設定你想要的級別。(我將使用 1 來獲得更快的渲染時間。)

如果你願意,可以將網格按你想要的任何大小放大,但對於特寫鏡頭,你可能需要另一個級別的細分曲面或另一個細分。然後,應用顏色,設定燈光並渲染!但是,忠告一句:此過程會建立一個巨大的檔案(大約 986kb)。

你已經使用 Blender 製作了山脈,無需在 GIMP 或任何其他程式中生成高度圖。下一步是超越教程。嘗試使用不同的噪聲大小和噪聲基礎,甚至嘗試使用其他紋理,如 Musgrave 和大理石。或者嘗試使用兩種紋理,看看結果。可能性幾乎是無限的!盡情享受。

觀察本教程中演示的技術與“高度圖”教程中演示的技術“相同但不同”。

  • 一個程式化紋理被用來在渲染時為物件的法線對映提供更改。(這是物件反射光線的角度。)(“高度對映”教程沒有這樣做。)
  • 然後,使用名為“Noise”的網格編輯按鈕(也...)來變形網格的實際幾何形狀。(這與“高度圖”教程中使用的技術相同,儘管使用了不同型別的紋理...影像...)。
  • 用於高度對映(變形)的紋理仍然保留在原位,仍然對映到表面“Nor”mal。結果將是一個非常山地景觀。

是的!所有這些地形建模教程中展示的技術可以組合使用!而且,它們經常被組合使用。最令人滿意的結果通常是透過組合幾種不同的技術來獲得的。您可以使用來自“高度對映”教程的影像地圖來變形幾何形狀,然後使用本教程第一部分中的“噪聲Normal 對映”理念,甚至使用平滑。所有這些都可以同時進行。選擇權在你。

使用“Map To”時,請記住,單個材質可以應用多個不同的紋理,每個紋理都對映到相同或不同的屬性。這種對映甚至可以動畫化

盡情實驗吧!天馬行空!

華夏公益教科書