Stable Diffusion 用 prompt 控制鏡頭距離及角度
在 Stable Diffusion 中有時人物的大小遠近好像很隨機,除了用 ControlNet 其實可以利用 prompt 輸入拍攝電影的鏡頭控制術語用來控制距離及角度。
此教學採用 Dark Sushu Mix Colorful 為 checkpoint
鏡頭距離
我們把可以使用的視角 prompt 放進 X/Y/Z plot 比較一下,為了突出效果要提高權重,盡量不要加入面部描述 e.g. beautiful face ,否則多數都會變成半身照。以下prompts 會加上 1.5 權重。
extreme close-up超近鏡close-up近鏡medium close-up中近鏡medium shot中景鏡long shot遠鏡establishing shot場景鏡point-of-view主觀視角cowboy shot西部牛仔常用的鏡頭,見到上半身以及大腿(為了見到拔槍)medium full shot中風全景鏡full shot全景鏡upper body上半身full body全身
出來的結果意外地有些 prompts 很相似,不過再配合其他 prompt 可以更穩定地控制距離。
extreme close-up,close-up跟medium close-up都是放大眼睛/面部為主,但有時extreme close-up會放大更多。medium shot,long shot,medium full shot跟full shot看起來差不多,medium shot有時候會比full shot更近一點,都是顯示臀部以上到頭頂的位置,因應場景這幾個 prompt 的距離可能會有些變化。establishing shot的背景會比較明顯,如果主體是建築時人物可能會更細。point-of-view角度會因應人物有點轉變,背景通常比較 wide,角度跟主體未必是同一水平視角。cowboy shot受cowboy污染變了牛仔裝,距離跟medium full shot差不多但距離比較穩定,一定會顯示臀部以上到頭頂。upper body會顯示人身上半身,範圍可能由臀部以上到胸以上。full body是唯一可以見到全身的距離。
經測試後由近至遠可用的鏡頭 - extreme close-up > close-up > medium close-up > upper body > medium shot > medium full shot > full body 。
而 point-of-view 跟 establishing shot 會環境有所影響所以不適合控制距離。
鏡頭角度
掌握距離然後就是角度,由最基本的前後左右再加一些攝影角度,一樣加上 1.5 權重,因為角度比較多我分成兩張。
front view正面bilaterally symmetrical左右對稱side view側面back view後面from above從上拍攝from below從下拍攝from behind後拍wide angle view廣角鏡fisheyes view魚眼鏡macro view微距
overhead shot俯視top down由上向下bird's eye view鳥瞰high angle高角度slightly above微高角度straight on水平拍攝hero view英雄視角low view低視角worm's eye view仰視selfie自拍
出來的結果跟字面表示的角度差不多,也有些角度其實是重複的,也有一些受字面影響而受到污染。
front viewstraight on就是正面,但不一定是絕對正面,straight on因為水平拍攝的角度所以背景也不會歪。bilateral symmetry正面兼左右對稱,比正面更準確。side view向左/向右都是隨機的。back view跟from behind都是背面,back view會近一點,而且通常露背。from aboveoverhead shothigh angleslightly above都是由高角度影向主體,overhead shot角度較高,high angle會背景比較闊一些。from below由下方偷拍 (?) 的視角,天空通常會筒狀變形。wide angle背景會有一些筒狀變形fisheyes view的變形效果會更強,但fisheyes view受到污染,總會拿著相機。macro view變了拍花或微細的物件。bird's eye view從高角度影高去同時會見到廣闊的背景,但會有雀鳥出現。top down的角度很糟糕 (?),變成正上方被女生抱住的視角。hero view角度不對,人物也受污染穿上了英雄戰衣。low view角度不算很低,有點懷疑沒有效果。worm's eye view完全錯了,有很多蟲及怪眼,跟角度完全沒關係。selfie人物會伸手自拍而且不會太遠。
其中 fisheyes view 雖然會污染但因為視角比較特別還是有用的,但 hero view 跟 worm's eye view 及 macro view 受污染角度又不明顯可以放棄。
距離+角度=取景
了解不同的鏡頭距離及角度後就可以輕鬆使用 prompt 生成出想要的取景。
總結
由於以 prompt 取景有時會受其他 prompt 影響,建議先用簡單 prompt 取景,然後用 controlnet 去固人物動作,既可以得到想要得畫面,並不怕人物受到影響。