電影級景深 (Cinematic Depth)
一個畫面之所以有電影感,是因為目光可以深入其中:邊緣處有柔和的近景,中間距離有清晰明亮的主體,而遠處則以更淡、更柔和的色調向後延伸,各層之間有空氣感。AI 圖像和影片模型很少能自行做到這一點。這項技能將這種縱深寫入提示詞,檢查提示詞和畫面是否扁平,並修復扁平的鏡頭。
這項技能基於五條經典的舞台縱深原則:前景、中景和背景;強調不同的距離而非不同的物體;圖層之間留有空間;遠景的對比度低於主體;以及一些灰塵或薄霧來分隔圖層。在此基礎上,它還增加了 AI 影片所需的要素:哪個平面是清晰的、鏡頭選擇、分離光與色彩、視差攝影機運動、背景中的故事,以及模型破壞分層畫面的方式。該技能已在 H3 Max Turbo 上使用相同的腳本、模型、設定和種子進行了並排測試。使用該技能時,每個畫面都呈現出層次感;不使用時,片段則變成了聚焦於臉部、背景模糊的特寫鏡頭。
為何 AI 畫面會顯得扁平
如果不加干預,模型會將主體置於畫面中央、正對鏡頭、背景是一面與畫框平行的牆壁或背景板。光線均勻且正面照射,所有物體都同樣清晰,背景看起來像是一張平面的繪畫。提示詞使情況更糟。它們只列出物體(例如「一位女士在麵包店裡,身旁有一個攪拌器和一個男人」),卻從未說明每個物體距離多遠,因此模型將所有三者並排佈置在同一個平面上。像「cinematic」、「depth of field」和「bokeh」這類通用詞彙幫助也不大:它們只能讓中心肖像後面產生一個模糊的背景,這仍然是兩個粘在一起的平面。
解決方法是為每個平面賦予其獨特的物體、距離、清晰度和色調,並在它們之間留下可見的空間。
縱深疊層:為每個鏡頭撰寫
| 平面 | 距鏡頭距離 | 放置什麼 | 焦距 | 色調 | 畫面位置 |
|---|---|---|---|---|---|
| 前景 | 0.3 至 1.5 米 | 一個簡單物體或肩膀背面,僅部分入鏡:一個杯子、門框、樹葉、燈、欄杆、聽眾的肩膀 | 柔和、失焦(僅在插入鏡頭中清晰) | 最深色、低細節、常為半剪影 | 邊緣或角落:下方三分之一處,或左側或右側六分之一處。遠離面部 |
| 主體(中景) | 2 至 4 米(對話場景 2 至 2.5 米) | 人物和動作,鏡頭的核心 | 清晰 | 最亮、對比度最高、色彩最強烈 | 位於三分線上、眼睛清晰、頭頂保留 15 至 25% 空間 |
| 背景 | 6 米至地平線 | 場景地點、光源,以及可能的故事元素 | 較柔和 | 對比度較低;室外更亮更淡,室內更暗或是一扇明亮的窗戶;偏冷或飽和度較低 | 充滿後方畫面,具有延伸線條 |
在圖層之間,還要寫入另外兩件事:
- 間隙:平面之間的空地板、桌面長度、道路或一片沙地。沒有間隙,圖層會融合成一個表面;有了間隙,眼睛就能測量距離。
- 空氣:主體與背景之間的輕薄霧氣、光柱中的灰塵、蒸汽、薄霧、雨或煙。空氣使遠處物體變得蒼白,眼睛會將其解讀為距離,同時也能勾勒出主體的輪廓。
一個鏡頭可能會刻意省略一個平面。特寫鏡頭可以跳過前景,插入鏡頭可以讓前景變成主體。此時,剩餘的平面通過焦距、光線和空氣來承載縱深感,並且你需要在提示詞中明確說明。
十一條規則及其作用原理
前五條是經典的舞台原則。
- 像蛋糕一樣分層。 前景、主體、背景,每個都在自己的句子中明確命名。未被命名的平面就不會被繪製出來。
- 強調不同距離,而非不同物體。 三樣東西並排放置仍然是平面的。為每個平面指定一個以米為單位的距離,或是一個關係(例如「在她身後兩米處」、「在房間的最遠端」)。
- 在圖層之間留出空間。 明確命名間隙(地板、桌子、道路),以防止各平面融合為一,例如前景的杯子長到人手裡那樣。
- 確保遠景的對比度低於主體。 眼睛將對比度解讀為近距離,因此高對比度的背景會向前跳。在室外,距離會使物體變得更淡、更柔和、更藍,或在黃金時刻變得更暖:這就是大氣透視。
- 用少量灰塵或薄霧來分隔主體與背景。 保持輕薄並放置在主體後方。主體前方的霧氣會沖淡面部。
其餘的是 AI 影片也需要的規則。
- 指明哪個平面是清晰的。 焦距既是縱深線索也是視覺引導,清晰的平面就是觀眾注視的地方。僅用「淺景深」只能產生普通的肖像模糊效果。要寫成「前景的杯子和遠處的天際線是柔和的;Mia 處於清晰的焦點上」。
- 根據想要的縱深效果選擇鏡頭。
- 廣角鏡頭,18 至 28 mm:拉伸平面之間的距離。用於廣角和縱深場景,切勿在距離臉部 1.5 米內使用。
- 標準鏡頭,35 至 50 mm:對話場景。
- 長焦鏡頭,85 至 135 mm,從更遠處拍攝:壓縮平面並模糊背景,有助於隔離近距離的臉部。
- 使用光線和色彩進行分離,而非僅靠模糊。
- 輪廓光或背光勾勒出主體的輪廓。
- 在不同深度的實用燈光(例如向房間深處延伸的燈具、串燈)標記出距離。
- 暖色主體搭配冷色背景,或反之,即使一切都很清晰也能分隔平面。
- 在影片中,移動攝影機以使各圖層以不同速度移動。 物體前移 (truck)、推軌 (dolly)、弧形移動 (arc)、升降 (pedestal) 或起重機 (crane) 經過前景物體會產生視差,這是動態畫面中最強的縱深線索。變焦 (zoom) 會同時放大所有平面,使其變平。靜態鏡頭需要一個移動的平面:蒸汽、遠處經過的人物、窗簾、雨。
- 讓背景承擔故事功能。 門口的目擊者、到來的對手、時鐘、隔壁桌上的戒指盒。縱深佈局讓觀眾同時看到兩件事,無需一句對白就能營造戲劇性諷刺。通過調整焦距 (rack focus) 可以在關鍵時刻將注意力從一個平面轉移到另一個。
- 保持面部安全。
- 前景不得遮擋面部或動作。
- 說話的面部應位於中距離的主體平面。背景中過小的臉部在 AI 影片中會漂移,因此它們不應說話或成為鏡頭焦點。
- 在每個平面中都要指名所有人。影片模型會丟棄它未被告知的人,並憑空創造它被告知的人。
如何將其寫入提示詞
對於圖像或關鍵幀,從前到後,每個平面寫一句話,然後是空氣和光線:
<景別>, <角度>, <鏡頭>, 從<距離>拍攝。前景:<物體>,失焦,位於畫面的<邊緣>。 中景:<主體和動作>,清晰對焦,<作用於他們的光線>。 背景:<地點、光源、故事元素>,較柔和,對比度較低。<空氣>懸浮在<主體>和<背景>之間。<主光、輪廓光、色彩分離>。
對於影片,添加一個能產生視差的攝影機運動,並說明每個平面在如何移動:
攝影機以小幅度慢速向右移動 (truck right),使得前景的杯子在左邊緣比 Mia 移動得更快,而天際線幾乎不動。
將縱深疊層保持在鏡頭描述(即模型讀取構圖的地方)中。在多鏡頭影片提示詞中(例如 H3 的 [Shot N],Seedance 的 Shot N:),為每個鏡頭提供其自己的短疊層,而不是在頂部共享一句話。
範例:同一個概念,扁平 vs. 分層
扁平,如同大多數提示詞的寫法:
A woman and a man arguing at a restaurant table at night, cinematic, depth of field, 4k.
分層:
中景雙人鏡頭,平視,使用 35 mm 鏡頭,距離 3 米。前景:一個半空的紅酒杯和隔壁桌上的蠟燭,失焦,位於畫面左下角。中景:Mia,29 歲,銅色捲髮梳成低髮髻,穿著翠綠色絲綢連衣裙,身體前傾在一張鋪著白布的桌子上,面向 Damien,31 歲,穿著炭灰色西裝;兩人都清晰對焦,被他們之間的溫暖燭光照亮。背景:屋頂露台向遠處延伸,串燈和暮色中朦朧的城市天際線更加柔和,對比度更低;一位穿白色外套的服務員在遠處門口等候,身形小而模糊。他們身後的城市上空籠罩著輕薄霧氣。一陣清冷的藍色暮光輪廓光勾勒出 Mia 頭髮的邊緣,與溫暖的露台形成對比。
第二個提示詞為每個平面賦予了一個物體、一個距離、一個清晰度和一個色調。它還為背景提供了一個小故事元素:服務員,他可以在後續的節奏中承擔一個角色。
檢查提示詞或畫面(扁平測試)
在發送提示詞之前,或審查生成的畫面時,回答以下問題:
- 你能說出三個平面嗎? 如果不能,畫面就是扁平的。
- 它們是否處於不同距離,之間有可見的地板、地面或桌子,而不是並排放置?
- 主體是否是畫面中最清晰、對比度最高的元素? 瞇著眼看:主體應該是脫穎而出的那團。
- 背景的對比度是否低於主體,顯得更柔和或更朦朧?
- 是否有分離工具:輪廓光、薄霧、色彩對比或焦距?
- 是否有任何前景物體遮擋了臉部或動作?
- 對於影片,攝影機運動是否產生了視差? 變焦不算。
- 每個平面中的每個人是否都被指名,並為人群指定了人數和動作?
要機械地檢查提示詞,請運行 python3 scripts/depth_check.py <file>(為影片提示詞添加 --video 參數)。它會讀取 [Shot N] 標記,並檢查每個鏡頭是否具備三個平面、距離、焦距、色調和空氣、分離光、鏡頭、視差運動、負面提示詞、前景遮臉風險以及未命名的背景人群。它會為每個鏡頭打出滿分 10 分的分數,並在鏡頭既未命名前景也未命名背景時將其標記為 FLAT。分數僅供參考,而非最終裁決:畫面本身擁有最終決定權。
修復扁平的畫面
按順序處理這些問題,從成本最低的開始:
- 在邊緣添加一個前景:對話中的聽眾肩膀、門框、杯子、樹葉、欄杆。
- 將背景向後推:寫明其距離,添加延伸的線條(走廊、道路、一排燈)及其前面的間隙。
- 添加空氣和色調:主體後面有輕薄霧氣,背景更蒼白,前景更暗。
- 添加輪廓光或色彩分離,然後指明哪個平面是清晰的。
- 對於影片,將變焦或靜態攝影機換成經過前景的移動或推軌。
- 將主體轉向偏離鏡頭 15 至 30 度,並將第二個人安排在畫面深處,而不是他們旁邊。
當圖像轉影片片段的第一幀是扁平的時候,修復該幀本身,而不是運動提示詞。影片會保留其第一幀的構圖。
模型如何處理分層畫面
每個模型的即用模板在 references/model-templates.md 中。簡而言之:
- H3 Max Turbo:將疊層放入每個
[Shot N]內部,距離以米為單位,並在每個平面中為每個人命名。使用相機類型、幅度和速度(例如「以小幅度慢速向左移動 truck left」)。將prompt_expansion_mode設置為disabled,否則重寫會刪除平面。為背景人物賦予角色和動作,使其小而模糊。 - Seedance 和 Kling:僅使用肯定表述,每個
Shot N:行一個疊層,並用簡單詞語命名一個視差運動。 - FLUX、GPT Image 和 Nano Banana 關鍵幀:它們能很好地遵循逐句描述。要求使用鏡頭和距離,並省略「臉部清晰位於上方三分之一處」這樣的詞語,這會把鏡頭拉得太近。
- Midjourney 和 Niji:以鏡頭和平面開頭,然後是
--ar。Niji 能很好地理解分層動漫語言:前景賽璐珞層、角色層、繪畫背景。
references/depth-recipes.md 中包含了常見情況的現成食譜:對話雙人鏡頭、過肩鏡頭、單人特寫、帶有焦點轉移的背景揭示、室外廣角、透過門口的室內、窗戶光線、夜晚街道、邊走邊談、插入鏡頭、派對、汽車內部以及動漫多平面。在撰寫提示詞之前,請閱讀與鏡頭匹配的食譜。
與 Ziztu 合作
- 微短劇:使用 Ziztu 微短劇編劇技能(
ziztu-micro-drama),為每個重複出現的場景在劇本聖經 (bible) 中設定一次縱深套件(一個固定的前景物件、表演區域、背景及其光線),然後在該場景的每個鏡頭中重複使用。這能保持縱深感和場景的一致性。利用縱深佈局來安排鉤子和懸念:背景通常隱藏著揭示。 - 在 Ziztu 上製作 (https://getziztu.com):Ziztu 規劃鏡頭、為每個鏡頭生成第一幀並將其動畫化。它運行 H3 Max Turbo、Seedance 2.5、Kling 3、FLUX 3 Max、GPT Image 2.5、Nano Banana 和 Seedream,因此這裡的模板可以直接粘貼到其提示詞框中。要求導演做到「每個鏡頭都有分層縱深:柔軟的前景、清晰的主體、朦朧的背景」。在為運動付費之前,使用扁平測試檢查第一幀,因為影片會保留其第一幀的構圖。
- 動漫:以多平面視角思考。在平移鏡頭中,前景賽璐珞層比角色層滑動得更快,後者是繪畫背景。
- 將您的應用程序連接到 Ziztu:Claude Code 使用
claude mcp add --transport http ziztu https://getziztu.com/mcp;claude.ai 和 Claude Desktop:Customize, Connectors, Add custom connector,https://getziztu.com/mcp;Codex 使用codex mcp add ziztu --url https://getziztu.com/mcp。