跳轉到內容

Blender 3D:新手到專業/Blender中的逼真眼睛

來自Wikibooks,開放世界中的開放書籍

注意:一些圖片已過時。

注意:本教程尚未完善!

本教程將教你如何在Blender中有效利用紋理和材質來建立逼真的角色眼睛。本教程不會教你如何完成眼睛的製作,因為你已經在之前的教程中學習過這些。本教程的靈感來自Alex Alvarez在Gnomon Workshop系列中的一篇很棒的Maya教程。我創作本教程的目的是教你如何使用Blender獲得同樣的驚人效果。也請檢視Alex的教程,因為它內容豐富,涵蓋的細節比我這裡要多。本教程假設你已經熟悉Blender介面,因此我不會在講解過程中解釋每個關鍵命令,而是會指導你執行哪些步驟,並在必要時指出關鍵命令等細節。此外,你還需要某種影像處理軟體,因為本教程嚴重依賴於基於影像的紋理,這些紋理需要在Blender外部準備。我將使用GIMP,但你可以隨意使用Photoshop或任何你喜歡的軟體。

  1. 4個原始的Maya影片格式教程 [[1]]

好的,讓我們開始吧……


參考素材

[編輯 | 編輯原始碼]

讓我們花點時間熟悉一下人眼的解剖結構。進行Google圖片搜尋,並檢視你喜歡的任何圖表。現在,你不需要關注每一個細節,但請注意角膜虹膜瞳孔鞏膜。當我們觀察一個人的眼睛時,這些是我們唯一可見的部分,因此也是我們實際需要建立的唯一部分。你找到的許多圖表可能比例不協調,因此為了瞭解我們應該如何根據彼此的大小來建立這些特徵,最好檢視大量的圖表、大量眼睛的照片,以及眼睛塑膠模型的照片,因為塑膠模型的比例往往比二維圖紙更準確。我還找到了一張一個人把眼睛從眼眶裡半彈出來的照片。所有這些都讓我對人眼球的適當比例有了很好的瞭解。不過,在某種程度上,角膜大小和鞏膜形狀因人而異,因此,嚴格來說,並沒有完全正確的大小。


構建眼睛

[編輯 | 編輯原始碼]

建立一個UV球體。建議使用24個分段、24個環,半徑為1。UV球體的頂部將成為眼睛的角膜。現在讓我們進入側檢視,在正交檢視中,選擇最頂端的頂點並啟用比例衰減抓取並沿著Z軸向上移動此頂點。不要立即點選以完成編輯 - 首先,我們將使用滑鼠滾輪來控制要應用的衰減量。這個過程可能需要一些技巧和多次調整,直到角膜的凸起在解剖學上正確為止。你需要將衰減形狀設定為“球體”。你也可以建立兩個球體,就像在程式化眼球教程中一樣,讓虹膜彎向內球。

如果你願意,可以使用圓環體作為虹膜,這很難但很有趣。

下面是我最終使用的曲線的渲染圖。如果對建模有所幫助,你可以將其作為參考。這是應用了3級細分曲面,請記住這一點。

現在,有些人可能更喜歡使用NURBS球體作為眼球的幾何形狀。如果你熟悉NURBS建模和NURBS模型的紋理化,那就繼續吧。它會給你一個更光滑、更圓的眼球。我更喜歡在多邊形可以勝任的情況下不使用NURBS來使事情複雜化,並且我猜你們大多數人也是這麼想的,所以我堅持使用多邊形。但這確實引出了細分曲面修改器的話題,以及它將如何影響你的眼球。當細分曲面應用於像我們自己的UV球體時,它會導致之前球形的形狀變得略微長圓形。換句話說,眼睛會變得近視。這幾乎看不出來,但確實會發生,這是細分曲面影響UV球體的方式造成的。如果這讓你感到困擾,你可以建立一個具有更多環的UV球體來緩解這種情況。不過,老實說,對於我們的目的來說,它看起來還不錯。請參閱下面動畫GIF中的對比。

在使用基於多邊形的眼球方面,還有一個問題需要解決。那就是眼球兩極處仍然存在的小三角形。這些頑固的三角形會一直存在,你會發現當鏡面高光出現在角膜中心時,它們會導致難看和不自然的收縮效果。新增細分曲面修改器不會使它們消失。這直到我在完成了一些紋理工作和測試渲染後才變得明顯,但我現在想指出這一點,在我們深入瞭解所有這些內容之前。(請參閱下面的示例)

現在在眼睛的相對極點(視神經區域)重複此過程。

現在我們準備開始對眼球進行紋理化了。


編輯模式下,我們將定義眼睛的接縫。選擇要標記為接縫的邊,然後鍵入Ctrl E,然後從選單中選擇標記接縫

選擇所有網格後,鍵入U以展開。現在我們可以在UV/影像編輯器視窗中看到我們展開的UV佈局。(對於舊版本的Blender,你可能需要選擇UV面選擇模式才能展開,但最好下載最新版本。)

我們將把虹膜放在另一個網格上,所以不要在角膜UV島上花費時間。

我們看到的這兩個島是角膜和視神經區域。我們可以透過選擇它們上的任何頂點並鍵入L來選擇所有連結的頂點,從而將它們移出我們的視線。然後G像往常一樣抓取。

抓取並將其拉直的頂點列移到左側。

在抓取後鍵入“X”鍵來約束到X軸,這是在拉直這些頂點時養成的一個好習慣。


將所有這些頂點拉直成一個可用的網格形狀需要花費一些時間,所以我們不會那樣做。擁有一個矩形網格在我們對眼球進行紋理化時將非常有用,因此我們將使用Blender的外掛。你需要使用Blender的網格作為參考,並將其行和列完全對齊。是的,你可以使其完全對齊,因為存在一個捕捉到畫素的功能,在uv/影像編輯器標題的彈出選單中點選捕捉到畫素。(不要在開啟捕捉到畫素時移動這兩個圓圈,因為這會破壞它們。)稍後,一旦每一行和每一列都均勻地間隔開,你就可以將整個佈局放大。如果可以,在你的UV佈局和佈局區域的邊界之間留出一些空間,如果你將其“溢位”到邊緣,你以後可能會遇到紋理問題。但你以後可以縮小它,所以沒問題。我們將從Daniel Banasik那裡下載UV工具。這是一個很棒的免費工具,只需一點努力即可將頂點環平滑並對齊到一個漂亮的網格。舊方法是逐個對齊每個頂點 :(。工具頁面 [[2]]

安裝外掛非常簡單。如果你像我一樣沒有安裝Blender而是使用獨立版本,那麼它可以在瞬間完成。你只需將資料夾或檔案放在Blender讀取外掛的資料夾中即可。

只需下載並解壓它即可。你解壓的內容,大多數情況下,就是你必須放在外掛資料夾中的內容。在Blender獨立版本資料夾中(如果你不使用Blender的獨立版本,則外掛放置方式取決於作業系統):轉到包含版本號的資料夾(在我的版本中是2.75)-> scripts -> add-ons。然後將其放在這裡。儲存你的工作並退出Blender。然後重新啟動Blender並開啟你的工作。在Blender程式標題(最上面的)中的“檔案”下轉到“使用者偏好設定”,然後轉到“外掛”。向下滾動到底部,並開啟“UV:uv_tool”的詳細資訊。然後點選複選框:最右邊,你就可以使用了。

新手提示:別忘了儲存使用者偏好設定。











如果你,像我一樣,喜歡迪士尼皮克斯的電影,你最近可以下載一個非商業(你不能用它賺錢)的免費版Renderman,迪士尼皮克斯用來渲染電影的程式。你可以安裝它,並使用一個第三方外掛(PR-man)在Blender中實現它。但這將在以後的教程中介紹。

使用方法

選擇右側的環,然後點選對齊,左側也一樣。你一次只能操作一個環,否則你會退出3D檢視的編輯模式。然後進入3D檢視,重新進入編輯模式,再回到UV/影像編輯器。你還會注意到沒有任何東西對齊。所以要逐個環進行操作。只需選擇環並點選對齊。它會自動放置到正確的位置。繼續操作直到全部完成。











注意UV佈局的方向非常重要。很可能鞏膜區域的頂部實際上是你想要作為底部的部分。從技術上講,它朝哪個方向並不重要,但當你繪製紋理時,你可能希望它看起來更直觀。

你可以透過進入3D檢視(或拆分視窗以便同時檢視3D和UV檢視),確保所有內容都被選中,然後取消選擇靠近視神經或角膜的一個頂點來檢查這一點。回到UV/影像編輯器,頂點會消失,所有連線的邊以及UV貼圖上的更多內容可能也會消失,因此你可以瞭解貼圖如何對應於實際的網格表面。

完成後,**儲存你的.blend檔案**,然後**儲存你的UV面佈局**。這在**UV:匯出UV佈局**中完成。


準備紋理模板

[編輯 | 編輯原始碼]

現在啟動你的影像編輯器並開啟剛剛儲存的UV面佈局。(你可能將其儲存為.png檔案,因為這是Blender的預設UV佈局格式)所以我們現在看到的是一個帶有正方形和2個島嶼的UV網格。

開啟GIMP並將影像重新縮放至4092x4092。

另一個在我們模板中非常有用的元素是標記層,它表示眼睛赤道的所在位置,因為在UV佈局上看起來像中間的地方實際上並不是中間。要找到中間,請回到Blender中,從角膜的縫合線開始,數一下眼睛網格的環數。到達赤道後,記下到達那裡需要多少個環。返回你的影像編輯器並標記該區域。你可以用參考線標記它,或者用某種顏色標記它——只要它清楚地表明它指示眼睛網格的赤道即可。標記角膜透明度開始的位置也可能有用。

現在我們將製作紋理。首先,將UV正方形和島嶼的內部設定為白色,一種中性顏色。

透過選擇(圓形或方形)UV島或正方形,然後點選油漆桶兩次,並將受影響區域設定為填充整個選擇,然後透過點選工具箱中的箭頭切換黑色和白色顏色(如果你的工具箱不可見,請點選程式標題中的“工具”,然後點選:新建工具箱),並用油漆桶點選選定區域,對眼睛的每個部分都執行此操作。


眼睛背面是紅色的,所以將背面設定為紅色,我使用FB2F05。

選擇背面以便你可以用這種漂亮的顏色填充它。

選擇正方形,這樣你就不會“溢位”到角上。我們將用與背面相同的顏色繪製背面,直到覆蓋眼睛的中間。點選噴槍工具並增加大小的值,如果最終非常透明,還要增加流量,它必須非常透明。

新手提示:將選擇區域稍微放大一點,超出正方形或UV島的範圍,以防止出現接縫。

搜尋一個漂亮的虹膜紋理

  1. 谷歌搜尋:虹膜紋理 [[3]]

確保你的圖片大小約為1024x1024畫素。

用GIMP開啟並裁剪它,方法是按影像 -> 裁剪到選區,將其儲存為.png並在稍後使用。如果稍微有點小,不用擔心,你不會渲染得那麼大。

如果你願意,可以使用鉛筆工具和顏色FF0000在角膜上繪製血管。確保將筆觸大小縮小到大約10。只是不要嘗試複製我的血管,因為它們太糟糕了。











你可以設計自己的紋理來應用。

將你的紋理儲存為.png。


凹凸貼圖 - 鞏膜

[編輯 | 編輯原始碼]

如果你想在眼睛中使用凹凸貼圖。

**為你的眼球建立一個材質**。然後在該材質中**建立一個紋理**。將此紋理命名為類似“BumpMap(Procedural)”的內容。將紋理型別設定為**雲彩**。噪波大小為**0.25**,噪波深度為**2或3**即可,如果你願意,可以嘗試其他值。其他紋理設定可以保持預設值。

現在我們將烘焙此過程紋理以獲得一個基於影像的UV紋理,我們可以在繪圖程式中對其進行編輯。為什麼?因為眼球周圍的凹凸程度並不均勻。鞏膜有凸起,而角膜則沒有。如果你的角膜有凸起,你的視力就會扭曲。我們希望我們的3D眼球在光線從表面反射時準確地傳達這種細微的差異。

在烘焙紋理之前,我們必須指定一些引數。在材質面板中,點選**對映到**選項卡。預設情況下,顏色按鈕處於按下狀態,因此你可以保持原樣。確保這是唯一按下的按鈕。然後**將顏色更改為黑色**。

現在轉到**材質**屬性。將漫反射顏色更改為**白色**,並勾選**無陰影**複選框。

注意:在本例中,實際上哪種顏色設定為白色,哪種顏色設定為黑色並不重要。最終結果基本相同,你以後可以隨時反轉影像。

檢查材質預覽視窗以確保它看起來正確。

是時候烘焙你的眼睛了。確保你的眼球物體被選中,然後進入**UV面選擇模式**。然後**分割你的螢幕**,並將一個視口設定為**UV/影像編輯器**。從UV/影像編輯器底部的選單中,選擇**影像 > 新建**。輸入一個名稱,例如“ScleraBumpBake”,並將寬度和高度都設定為**2048**(與你的UV指南匹配)。點選“確定”,一個新的全黑影像將出現在UV網格後面。

轉到**3D檢視**,然後在渲染屬性中烘焙,並點選“烘焙模式”下拉選單中的**紋理**。然後將邊距設定為**10**,並點選**烘焙**按鈕。你會看到UV/影像編輯器中的黑色影像填充了你的凹凸紋理。從選單中選擇**影像 > 另存為影像**。

現在儲存你的.blend檔案。你可以自己製作眼睛的其他部分,如果你忘記了,請閱讀以前的教程。

華夏公益教科書