品牌循環液體背景(無縫液體背景)
scripts/scene.py 在 Blender 中建構整個場景並進行渲染:
- 液滴: 兩組 metaballs,每組只與同組融合。它們具有光澤且似液體,帶有會隨液滴壓扁變化的雙色調色彩。
- 背景: 暖色灰白牆面,中心有漣漪環擴散,每個循環產生兩次。
- 燈光: 橢圓形主光搭配柔和陰影,外加僅反射的柔光箱來營造液體光澤。
- 攝影機: 50 mm 鏡頭,光圈 f/2,產生淺景深效果。
所有動作皆為整數週期的正弦波,因此第 N 幀與第 0 幀完全相同。畫面中央保留空白,可在上方放置標誌或標題。影片不含文字與音效。
系統需求:Blender 4.2+ 搭配 EEVEE(已在 Apple Silicon GPU 上的 5.2 版測試),以及支援 libx264 與 libx265 的 ffmpeg。
工作流程
1. 顏色設定
冷色系使用 5 種深淺色(由深到淺),用於較大的液滴。暖色系使用 3 種深淺色,用於點綴液滴。可透過以下兩種方式取得:
- 從標誌提取:
python3 scripts/palette.py logo.png會輸出其主要顏色以及建議的--cool/--warm配對。你也可以直接傳遞--logo logo.png給loop.sh。 - 從品牌十六進制色碼: 較少的色階也沒關係,因為它們會自動內插。
確保兩組色系有明顯區別,例如藍色與橘色、或青綠色與珊瑚色。混合色會在液滴融合處變成灰色,因此需保持兩組分離。使用 --paper "#fcfbf8,#f2eae0" 來設定背景的中心與角落顏色。
2. 預覽(約 1 分鐘)
<skill>/scripts/loop.sh --name acme --cool "#0b3d91,#1565c0,#1e88e5,#42a5f5,#80d8ff" --warm "#ff6f00,#ffa000,#ffca28" --preview
檢視 <name>/<name>-preview.png,它顯示循環中六個不同時刻的畫面,並檢查:
- 顏色是否呈現出品牌調性。
- 背景沒有變成灰色。
- 兩組液滴從未相互交錯。
3. 渲染(耗時較長:請在背景執行)
<skill>/scripts/loop.sh --name acme --cool ... --warm ... # 4K 60 fps,10 秒
<skill>/scripts/loop.sh --name acme --res 1920x1080 ... # 1080p,約快 4 倍
在 M1 Pro 上,10 秒 4K60 循環約需 95 分鐘(600 幀,每幀約 9.5 秒,使用 2 個 Blender 程序),1080p 則約 25 分鐘。若渲染中斷,腳本會從中斷處繼續。渲染完成後,幀檔案會被刪除,除非你傳遞 --keep-frames。
輸出在 <name>/ 目錄下:
<name>-4k60-loop.mp4:H.264 格式,通用播放。-loop-hevc10.mp4:10-bit 格式,漸層最平滑,適合後期剪輯。-1080p60-loop.mp4:適合網頁使用。-still.png及-keyframes.png。
4. 檢查
- 腳本會輸出無縫檢測結果。最後一幀與第一幀之間的 PSNR 應接近正常相鄰幀的 PSNR;若明顯偏低,則表示某些部分未達成週期性。
- 檢視
-keyframes.png。 - 告知使用者此循環影片無可見接縫,並提醒他們在播放器或剪輯軟體中開啟循環播放。
可調參數
以下參數可直接傳遞給 scene.py,透過編輯 loop.sh 中的 LOOK 陣列或直接執行 Blender 即可:
--key、--fill與--wash:光線強度。--emit與--world:背景亮度。--ringamt與--ringbump:漣漪強度。--fstop:模糊程度(數值越低越模糊)。--glow:液滴鮮豔度。--dur:循環時長;無論多長,動作都會維持週期性。
液滴的佈局、大小與路徑由 scene.py 中的 BLOBS 清單定義。位置以公尺為單位,對焦平面上的畫面尺寸為 0.864 × 0.486 公尺。移動液滴後,請確保兩組液滴之間的距離不小於兩者大小之和。