跳轉到內容

Blender 3D:菜鳥到專業/用立體視覺增加深度

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

本教程包含一些關於如何處理立體影像的技巧。

立體觀看是從兩個略微不同的角度觀看同一個東西。這是人類通常用兩隻眼睛做的事情。有很多方法可以觀看立體影像。一個完美的方法是使用立體顯示器。但它們相當昂貴,而且很多質量都很低。在價格尺度的另一端,你可以使用交叉觀看。將兩張影像並排放置,用一隻眼睛看一張,用另一隻眼睛看另一張。不過需要一些練習。一個流行的解決方案是紅藍立體眼鏡,但它們的顏色非常糟糕。

立體相機

[編輯 | 編輯原始碼]

我想要一個易於使用的立體相機裝備。它應該有三個相機(中心、左、右),有一個簡單的方法來設定分離(應該是距離的 1/30),並且中心相機應該用於控制位置等,另外兩個應該只是跟隨。

建立它

[編輯 | 編輯原始碼]
  1. 重置相機的位置、旋轉和大小(你可以使用  Alt + G  Alt + R  Alt + S )。你可能想先記下這些值,以便以後可以將它們改回來。我只是確保有一個 IPO 曲線,例如透過製作關鍵幀( I )。
  2. 建立兩個新的相機。重置它們的位置、旋轉和大小。
  3. 將它們命名為Camera.RightCamera.Left 或類似名稱。將 Camera.Right 的 LocX 設定為 1,將 Camera.Left 的 LocX 設定為 -1。(按  N  檢視所選物件的 資料,在這個視窗中可以修改名稱和值。)(透過在相機上多次點選  RMB  選擇相機,直到選擇正確的相機。)
  4. 建立新的立方體(記得按  Tab  退出編輯模式)。重置位置、旋轉和大小。將其命名為Distance Cube 並設定以下值:LocZ: -30。SizeX: 0.1。SizeY: 0.1。SizeZ: 30。
  5. 切換到正面檢視。( 1 
  6. 選擇Camera.Left。然後在按住  Shift  的情況下選擇Camera,以便同時選擇這兩個相機。按  Ctrl + P  並按  Enter Camera 註冊為父級。然後按  Ctrl + L  並選擇 Camera Data。重複使用右側的 Camera.RightDistance Cube

使用指令碼

[編輯 | 編輯原始碼]
TODO
待辦事項

編輯注
我嘗試製作一個建立裝備的指令碼,它幾乎可以工作。任何幫助完成它嗎?

import Blender
from Blender import *

# Prepare
scene = Scene.getCurrent()
camera = Object.Get("Camera") # TODO validate that it is a camera
oldLocation = camera.loc
oldRotation = camera.rot
oldSize = camera.size

# Create stuff
c = Camera.New("ortho")
cameraLeft = Object.New("Camera", "Camera.Left")
cameraLeft.link(c)
scene.link(cameraLeft)

c = Camera.New("ortho")
cameraRight = Object.New("Camera", "Camera.Right")
cameraRight.link(c)
scene.link(cameraRight)

dEmpty = Object.New("Empty", "Distance")
scene.link(dEmpty)

# Configure
camera.loc = (0,0,0)
camera.rot = (0,0,0)
camera.size = (1,1,1)

cameraLeft.loc = (-1,0,0)
cameraLeft.rot = (0,0,0)
cameraLeft.size = (1,1,1)

cameraRight.loc = (1,0,0)
cameraRight.rot = (0,0,0)
cameraRight.size = (1,1,1)

dEmpty.loc = (0,0,-60)
dEmpty.rot = (0,0,0)
dEmpty.size = (1,1,1)

scene.update(1)

# Connect
camera.makeParent([cameraLeft, cameraRight, dEmpty], 0, 0)
# do that CTRL+LKEY thing
cameraLeft.link(Camera.Get("Camera"))
cameraRight.link(Camera.Get("Camera")) 

# Reset original values

camera.loc = oldLocation
camera.rot = oldRotation
camera.size = oldSize

# Finish
Blender.Redraw()

如何使用它

[編輯 | 編輯原始碼]
  • 切勿更改立方體或兩個側相機。只更改中心相機。使用它來定位、旋轉等。
  • 要設定分離:像往常一樣,選擇中心相機。調整它的大小(使用  S ),這樣你就可以看到立方體的末端(如果需要)。用滑鼠指標指向立方體的末端,然後按  S 。將滑鼠指標移動到主圖案最靠近相機的那一點。立方體的末端可能不會正好在那裡結束,但這並不重要。
  • 要使用其中一個側相機進行渲染(或預覽),選擇它並按  Ctrl + 0 

需要改進的地方

[編輯 | 編輯原始碼]

立方體可見

[編輯 | 編輯原始碼]

我寧願使用不渲染的東西,而不是使用立方體。它可以是“空”,但請參見下文。

立方體難以看到

[編輯 | 編輯原始碼]

即使在簡單的場景中,也很難看到立方體在哪裡結束。你可以選擇中心相機和立方體,這樣就可以清楚地看到它。但你必須記住,在插入關鍵幀之前,只選擇相機,這樣你對立方體的更改就不會被儲存。

距離平面在無窮遠處

[編輯 | 編輯原始碼]

距離平面是“零深度”所在的位置。在觀看立體影像時,距離平面是介質所在的位置。在這個裝備中,距離平面在無窮遠處,這意味著所有東西都在它的前面。雖然東西從螢幕上彈出比東西“在”螢幕“裡面”更酷,但讓它看起來很漂亮要困難得多。特別是由於所有東西都在螢幕前面,很容易得到離觀眾太近的東西。它可能變得如此難以看到,以至於 3d 效果完全消失了。

另一種解決方案是讓側相機指向立方體的末端,或者在裝備中新增一個平面,並指向它。但這會導致相機不再平行,從而產生扭曲。

折衷的解決方案是(從概念上講)將影像渲染得過寬,然後從左側影像的左側裁剪多餘的部分,從右側影像的右側裁剪多餘的部分。然後它看起來就像之前提到的解決方案中指向的那樣,但沒有扭曲。

但這會帶來很多問題。首先,我希望以更智慧的方式做到這一點,而不是僅僅遵循上述路徑。但我認為在 Blender 中這是不可能的。(我認為 povray 實際上可以做到這一點。)所以我需要將影像渲染得過寬。但如果我在輸出中增加寬度,它實際上會渲染相同的圖案寬度,但會降低高度。然後我需要進行一些奇怪的數學運算來獲得正確的 FOV,而我並不知道一半的公式。裁剪必須在 Blender 之外進行,並且如果需要,很難將生產線中的其餘部分放回 Blender。

我認為在靠近攝像機的裝置中新增幾架飛機可以模擬裁剪,但這價值有限。用它們製作可調節距離的平面對我來說似乎很難,它可能需要一些指令碼。

使用裝置進行立體觀看

[編輯 | 編輯原始碼]

這裡就開始變得有趣了,你現在實際上有東西可以看了。

  1. 建立一個新螢幕,你可以將其命名為立體檢視
  2. 螢幕應該從一側到另一側都有一個大區域。
  3. 將區域設定為3D 檢視
  4. 解鎖它(鎖定圖層和將攝像機用於場景鎖定)
  5. 選擇Camera.Right 並按  Ctrl + 0 
  6. 將區域分成兩半,使它們並排顯示。
  7. 右側區域中,選擇Camera.Left 並按  Ctrl + 0 
  8. 調整兩個區域中的縮放,使顯示渲染內容的幀完全可見,但儘可能填充。如果你無法使它們大小相同,則兩個區域大小不同。
  9. 使用交叉檢視方法來檢視 3D 效果。用右眼看左側區域,用左眼看右側區域。(這是一項需要學習和練習的技能。)
  10.  Shift + Alt + A  以立體方式檢視場景動畫。

如果你無法看到這些,網上有很多關於檢視它們的幫助資訊。使用搜索引擎查詢它們。

立體渲染

[編輯 | 編輯原始碼]

紅藍立體

[編輯 | 編輯原始碼]

渲染圖層選項卡中建立兩個渲染圖層。

TODO
待辦事項

編輯注
你需要找到如何將一個攝像機與一個渲染圖層關聯起來。

然後進入節點編輯器,點選帶有人的面孔的按鈕。點選使用節點並透過選擇專案並點選  Del  來刪除建立的專案。現在,使用新增選單,你需要完成此圖。

完成後,返回到按鈕視窗並選擇動畫選項卡上的執行合成按鈕。

然後點選渲染選項卡上的渲染按鈕。

你應該看到你的物體以紅藍立體顯示。

華夏公益教科書