Blender 3D:從新手到高手/環顧四周 - 全景設定
|
|
適用於 Blender 版本:2.37a。 |
全景功能在 Blender 2.37a 和 2.42 之間發生了改變。有關如何實際使用全景的更多資訊,請在論壇中檢視此主題:http://blenderartists.org/forum/showthread.php?p=797886

你是否曾經好奇過,那些在某些網站上看到的酷炫的 360 度全景是如何製作的?好吧,我也不知道,所以要由其他人來解釋。不過我發現了一個如何在 Blender 中輸出 360 度全景影像的方法,這很可能是製作那些網站上的東西的第一步。
現在,讓我們像在本維基百科的其他頁面中那樣,像教程一樣逐步進行。所以,啟動 Blender,看看那個我們熟悉的初始方塊場景。或者,稍微改變一下它。假設你已經按順序閱讀了這本書,那麼獲得類似於圖片中的東西應該不難。

我把相機和燈光都放在原點上方,刪除了立方體,並添加了 8 個圓柱體,這些圓柱體都圍繞著原點。一種方法是放置一個圓柱體,然後圍繞原點複製並旋轉它。要使此方法起作用,請將旋轉中心設定為 3D 游標(使用 Pivot 按鈕),並將 3D 游標放置在原點(使用 **SHIFT+S** 使 3D 游標捕捉到網格)。使用 **GKEY** 放置第一個圓柱體,然後在移動滑鼠時按住 **CTRL**。切換到物體模式,然後使用 **SHIFT+D** 複製它。接下來,按 **RKEY** 旋轉它,然後在旋轉時按住 **CTRL** 將其旋轉 45 度。對剩餘的圓柱體重複相同的操作。使用 **G** 移動燈光。使用 **NKEY** 輸入相機值,如所示,使其與地面平行。

說到地面,讓我們也新增一個地面。我添加了另一個圓柱體,位於其他圓柱體的下方,如所示。可以透過切換到正面檢視(**NUM1**)、複製一個圓柱體(**SHIFT+DKEY**),然後再次按住 **CTRL** 移動它,使其捕捉到網格,來輕鬆新增它。要縮放它,請使用 **SKEY**,但按下 **SHIFT+ZKEY** 鎖定 z 縮放,並在 x 和 y 方向縮放時按住 **CTRL**,以便您可以捕捉到所需的精確大小。
現在,為了讓場景完整,我們需要一些顏色。我將地面圓柱體設為綠色,將 8 個示例圓柱體設為灰色,還為地面添加了噪聲法線。不過這裡並不重要,只需要一個 360° 相機的示例場景。
更有趣的是天空紋理,因為 Blender 的天空可以無縫地以 360 度環繞。以下是使用的天空設定的螢幕截圖。要進入這裡,請單擊 Shading 按鈕,然後選擇 World。
要更改紋理,請單擊 textures 按鈕或按 **F6**,然後使用帶有兩個箭頭的小按鈕新增一個新紋理,併為紋理選擇型別(例如 "Marble" 或 "Clouds")而不是 "None"。回到 World 面板,並啟用 Real 和 Blend 按鈕。別忘了使用漂亮的顏色,我使用了藍色和白色。現在它看起來有點像藍天白雲。
[也許應該在這裡新增更多細節?什麼東西很重要,這樣你才不會在 0 - 360 度點獲得接縫?如何對映預製的天空紋理?]
我們已經完成了,這就是示例場景。剩下的就是將其渲染為全景。
轉到渲染設定(**F10**),然後單擊 Pano 按鈕。將 Xparts 值更改為 4。Xparts 中的值將告訴相機在渲染時水平“旋轉”多少次。Yparts 值將對垂直方向執行相同的操作。每個部分(Xparts 或 Yparts)將渲染您設定的整個影像的大小。為了使操作更簡單,請使輸出影像尺寸為正方形,並將 X 和 Y Aspect 都設定為 100。例如,將您的影像尺寸設定為 600x600,而不是 800x600,否則以下操作將不起作用。

如果您想要無縫的 360 度檢視,那麼瞭解一張影像跨越多少度很重要。例如,如果您知道一張影像為 90 度,那麼您可以將 Xparts 設定為 4,結果將是一張全景圖片,使用正確的全景檢視器,您就可以在其中無休止地旋轉。
但是,如何製作一張 90 度的單張圖片?圖片跨越的角度稱為視場(FOV)。它是相機的屬性。要更改它,請選擇您的相機,然後單擊編輯按鈕(或按 **F9**)。確保您沒有將相機設定為正交投影(“Ortho”按鈕),因為 FOV 僅在普通相機中存在。
您可以直接在 Blender 的相機設定中輸入 FOV(從版本 2.42 開始)- 切換名為 **Lens** 的引數旁邊的“D”按鈕。輸入 90 以獲得 90 度的 FOV。現在按下 **F12** 渲染我們的測試影像。
如果您願意,也可以在任何其他場景中嘗試它。將相機放置在中間某個位置,以獲得全方位的良好視野,將相機的 **Lens** 設定為 90,然後進入渲染設定(**F10**)。將 **Xparts** 設定為 4,啟用 **Pano**,然後渲染。您應該得到一張寬度是普通影像 4 倍的影像,並且左右邊緣應該無縫地拼接在一起。還要注意,Blender 不知道應該將 FOV 應用為水平還是垂直視角,但我們始終希望它成為水平視角。因此,只需使全景的單張影像為正方形,如上所述 - 這樣水平和垂直 FOV 就相同,Blender 會正確處理它。
這是生成的全景影像

警告:以下透鏡設定沒有轉換為使用“D”按鈕直接傳遞 FOV 值的新可能性。仍然存在一個問題,影像會嚴重失真。這是因為 90 度的 FOV 太高了。讓我們嘗試使用 45 度和 8 個 XParts。正如您之前使用 Lens 引數玩耍時所注意到的那樣,將 Lens 設定為 8 而不是 16 不會達到此目的,它會使 FOV 變得更大。將其設定為 32 看起來更好,但絕對不是 45 度。右側的圖片解釋了 FOV 和 Lens 之間的關係
相機位於底部,紅色角度是我們所需的 FOV,綠色線的長度代表 Blender 中的 Lens 引數。因此,計算知道 FOV 時 Lens 的公式
- Lens = 16 / tan(FOV / 2)
對於 45 度的 FOV,我們因此得到 38.627 的 Lens。現在,將它寫入相機設定中的 Lens 欄位,並使用 8 個 XParts 渲染。這次它將渲染一張寬度是普通輸出影像 8 倍的輸出影像,並且它將再次是您場景的無縫 360 度全方位全景。這次失真更小。使用上述公式,現在可以使用您想要的任何數量的 XParts - 只需將 360 除以部分數量,然後計算所得 FOV 的 Lens 引數即可。請注意,您還需要考慮 Aspect 設定,除非您將其設定為 100 並建立一個正方形輸出,就像我們所做的那樣。
一些 Lens 設定
- 4 個部分:16
- 8 個部分:38.627
- 16 個部分:80.437
下面可以檢視包含 8 個部分的輸出結果。

如以往一樣,請隨意修改此頁面或在討論頁面新增反饋。
