十種影片風格 是做什麼的?
讓同一個主題透過程式渲染,呈現 10 種截然不同的藝術風格的配方。 風格不僅是換顏色:每一種都有自己的幾何、紋理、動態與字型。 如果場景中的某一格畫面看起來像平面向量圖,那風格的轉換就還不到位。
使用方法
- 詢問(或推斷)三件事:主體(例如一輛機動三輪車)、風格(以下 10 種之一)以及格式(預設 1080x1920、30 fps)。
- 先用純多邊形 + 圓形(點的列表,沒有曲線)繪製主體一次。 以下每一種風格都會重新渲染同樣的點資料,讓主體在不同風格間仍可辨識。
- 根據所選風格的配方建構場景:背景、主體處理、動態、字型。
- 先為每個場景渲染一張靜態圖並仔細檢查,再進行完整渲染。修正後再渲染。
使用者可以輸入的提示公式:
[主體] ka video banao,[風格] style mein + 氛圍 + 鏡頭 + 目的。
每個風格都必須遵守的規則
- 主體位於畫面中間 60% 的區域;文字請避開上方 220 px 與下方 380 px(Reels UI 會覆蓋這些區域)。
- 標題使用的字型必須屬於該風格(每種風格各有指定)。字型應作為本地檔案載入,不可依賴系統預設字型。
- 背景必須動起來(滾動的道路、視差效果、網格),讓主體即使置中也有正在移動的感覺。
- 為所有 SVG 濾鏡指定唯一 id;同一畫面上出現多種風格時,共用一份文件。
- 較重的 SVG 濾鏡在場景縮小時(縮圖)會失效。請提供一種
mini模式來移除這些濾鏡。
10 種配方
1. 像素藝術 – 「復古遊戲的感覺」
- 外觀: 粗獷的方形像素、硬邊暗色輪廓、明亮的純色。
- 做法: 正常繪製場景,然後使用 SVG 濾鏡將整個群組像素化:
feFlood(2x2 px,偏移 5,5)->feComposite(12x12)->feTile->feComposite in=SourceGraphic operator=in->feMorphology dilate radius=5。這會產生 12 px 的網格。先為主體加上 8 px 的深色描邊。 - 動態: 時間步長設為 10 fps(
floor(frame/3)),將位置對齊 12 px 網格,上下跳動恰好在一個網格內。 - 額外效果: 由矩形構成的塊狀太陽與雲朵、棋盤式草地、漂浮的金幣。
- 字型: Press Start 2P,白色並帶有硬邊偏移陰影。
2. 黏土 – 「手作的感覺」
- 外觀: 柔軟蓬鬆的形狀、光源來自左上、霧面質感、接觸陰影。
- 做法: 將每個形狀轉為圓角(相同顏色的描邊 14 px,圓角連接)。每個零件套用濾鏡:低頻
feTurbulence+feDisplacementMap(scale 12,鋸齒邊緣)->feGaussianBlur(7)作為高度圖 ->feDiffuseLighting與顏色相乘 + 少量feSpecularLighting-> 用於指紋紋理的細微噪點 ->feDropShadow。 - 動態: 停格動畫。每 3 幀才更新一次,每個步驟將位置抖動 1-3 px,循環使用湍流種子(3 個值),讓邊緣「沸騰」。
- 色板: 粉彩桃色、鼠尾草綠、芥末黃。字型: Fredoka Bold。
3. 紙雕 – 「紙張層疊」
- 外觀: 扁平的紙張層層堆疊,層與層之間有陰影,邊緣粗糙,有紋理。
- 做法: 每一層都套用
feDisplacementMap(scale 5)+feDropShadow(dy 9,blur 5,38%)。最後在整個畫面上疊加一個使用multiply混合模式的噪點矩形。 - 動態: 3-4 層山丘以不同速度滾動(視差),雲朵吊在細繩上搖擺,主體像木偶一樣擺動 1-2 度。
- 色板: 工藝紙色:青綠色、芥末黃、陶土色、奶油色。字型: Alfa Slab One。
4. 低多邊形 – 「形狀少,乾淨的 3D」
- 外觀: 所有東西都由平坦陰影的三角形構成,沒有輪廓線,沒有漸層。
- 做法: 將每個多邊形從稍微抖動的中心點以扇形方式三角化。每個三角形使用不同的陰影:一個光照方向項加上一個小的隨機偏移。用自身的填色為每個三角形描邊,以隱藏接縫。將天空建構成一個依高度著色的抖動網格三角形;山脈 = 每個山脈兩個三角形(亮面、暗面)。
- 動態: 平順流暢;山脈圖層以視差效果滾動,多面體太陽旋轉。
- 字型: Oxanium ExtraBold,大寫。
5. 體素 – 「小方塊的世界」
- 外觀: 主體由小方塊構成,以等角視角觀看。
- 做法: 將主體描述為一個由彩色單元格組成的 3D 網格(約 14x7x9)。投影公式:
sx=(x-y)*u*0.866, sy=(x+y)*u*0.5-z*u。為每個方塊繪製 3 個面(頂面最亮、左側中間、右側最暗),跳過被相鄰方塊遮擋的面,在繪製前依x+y+z排序。 - 動態: 地面是由菱形瓷磚組成的棋盤,沿道路軸線滾動;方塊樹木從旁邊掠過;主體做一個小跳躍。
- 字型: Bungee,帶有硬邊區塊陰影。
6. 等角投影 – 「從上往下斜看的視角」
- 外觀: 乾淨的微型城市街區,位於浮動平臺上,平滑的方盒子(非立方體),粉彩色系,平臺下方有柔和陰影。
- 做法: 投影公式與體素相同,但使用大型平滑方塊:建築物,兩個可見面上都有窗戶網格、一條道路、樹木、一個小攤位、一根路燈。主體由 8-10 個方塊組成,沿著道路行駛。
- 動態: 建築物從地面升起並帶有 overshoot 效果,交錯進行;整個平臺緩慢地上下浮動。
- 字型: Oxanium,深色文字搭配淺色背景。
7. 霓虹 – 「夜晚的賽博龐克氛圍」
- 外觀: 深色夜晚、發光的輪廓線條、合成波風格的網格地面。
- 做法: 主體 = 僅描邊(4-5 px),並將填色設為背景色,這樣各個部分仍然可以互相遮擋。發光濾鏡 = 寬模糊(14)、窄模糊(4)與銳利來源影像的合併。地面 = 從消失點向外發散的線條 + 間距為
p*p的水平線條,向鏡頭方向滾動。 - 動態: 前 8 幀有招牌風格的閃爍、拖曳的光線、閃爍的星星、地平線上的條紋太陽。
- 色板: 青色、洋紅色、黃色,搭配接近黑色的紫色背景。字型: Tilt Neon,疊加洋紅色文字陰影。
8. 藍圖 – 「工程師的圖紙」
- 外觀: 藍色圖紙、細格線 + 主要格線、細的白色技術線條。
- 做法: 主體 = 白色 3 px 描邊,填色 = 圖紙顏色。使用
pathLength=1+ 動畫strokeDasharray來繪製線條,每個零件交錯進行。然後加入帶箭頭的尺寸線與公釐數值、車輪上的虛線中心線、帶標籤的引出線,以及邊框。 - 動態: 先繪製入場(0.5 秒),尺寸線從其中心延伸,之後只有車輪緩慢轉動。什麼都不彈跳。
- 字型: Share Tech Mono,大寫。
9. 復古 VHS – 「90 年代的錄影帶」
- 外觀: 90 年代家庭錄影:色彩邊緣偏移、柔和的畫面、掃描線、磁帶噪點。
- 做法: 對整個場景套用一個濾鏡:紅色通道偏移 +9 px,綠色與藍色通道偏移 -7 px,
screen混合模式,水平模糊(2.6,0.6),飽和度 1.25。再疊加上:掃描線圖案、每幀隨機噪點、一條在畫面上移動的追蹤帶(其內容有水平位移)、底邊的撕裂條、暗角,以及螢幕上的「PLAY」文字與一個正在運行的計數器。 - 動態: 2 px 的水平抖動,偶爾有較大的跳動。
- 色板: 夕陽紫、粉紅、橘色。字型: VT323,帶有紅色/青色陰影。
10. 塗鴉 – 「筆記本背面那種塗鴉」
- 外觀: 原子筆在橫線筆記本紙上繪製,並有紅色邊線。
- 做法: 僅描邊,填色 = 紙張顏色,使用交叉陰影線進行明暗處理。在所有筆觸線條上套用一個
feTurbulence+feDisplacementMap(scale 11),並每 4 幀更改一次種子,讓線條「沸騰」。 - 動態: 線條快速繪製入場,螺旋太陽逐步旋轉,星星搖晃,主體後方有速度線,一個手寫文字如「vroom!」。
- 字型: Caveat Bold。
並排顯示風格
當影片需要比較不同風格時,讓每個場景中有一個元素保持完全相同(例如提示框只有風格名稱改變),並在配音的節拍點進行硬切。這樣才能讓人清楚看出「只有一個詞改變了」。
交付前檢查
- 每個場景都能通過測試:「如果沒有標題,別人能說出這是哪種風格嗎?」
- 主體在每種風格中的形狀與大小一致。
- 標題與說明文字在手機上、安全區域內可讀。
- 在完整渲染之前,已為每個場景檢查過靜態圖。