2D風格海景|製作檔案公開

前幾天,我用Blender製作了2D風格的海景

我決定要分享一下,這是如何製作出來的

我會把整個畫面製作,分成兩個階段

1. 製作素材

需要用到的素材,一共兩個
海+雲

2. 後期合成

第二則是「後期合成」的階段
運用前面製作的素材,打造最後成品
無論是「製作素材」階段,還是「後期合成」階段
本篇都會涵蓋在內

製作素材:海

水、火、風、碰撞,這些其實屬於Simulation(模擬)的部分
但要模擬出如此大規模的液態水,負荷實在太重了!
(只要牽涉到水,通常都是高成本製作)

幸好Blender裡有一個快速做到海洋的神器

Ocean Modifier

這是來自一個Open Source的工具:Houdini Ocean Toolkit

已經被整理進Blender的主程式,大家無需額外下載

Ocean Modifier是專門設計用來模擬海平面的
無論是海流角度、海浪大小、海床深淺、浪花等
裡面的演算法已是根據海洋動態,而且能調整參數,模擬出不同情況
以前的小練習
讓使用者在「無需進行任何液態模擬」的情況下

都能得到想要的海平面

我們在「任意Object」上使用Ocean Modifier
任意就可以了,不需要是平面
因為Ocean Modifier的預設
不是改變原本的Object,而是直接生成一個新的Mesh
即使對正方形使用,也會產生一個海平面
Object自身也無需任何Subdivision

Step1-令海面動起來

手動設置Time的Keyframe
就能令海面移動

Step2-調整海浪參數

預設的海浪太不像海了
所以我們需要調整海浪的樣子,以下講講主要用到的參數
設置Wave中的Align,能讓海浪朝著同一方向被吹動
Choppiness則調整海浪的鋒利程度
Wave scale能影響海浪的誇張程度,適量就好

透過調整Time、Align、Choppiness、Scale,生成出兇惡的海浪

Step3-Toon Shader

簡單的Toon shader設置如下
分別是Diffuse、Shader to RGB、Color Ramp
目的是
透過「限制海浪的顏色」
來取得「接近2D動畫的風格」

Step4-浪花(Foam)

只要在Ocean Modifier裡按下「Generate Foam」
就能度身訂造出「符合海浪動態的浪花」
注意
上面的步驟只是「生產」出浪花
此時「浪花」還只是一個沒被使用的資料
為了使用浪花,我們需要在Shader Editor裡
用Attribute node叫出我們剛剛製作的浪花(名稱要輸入一樣的)
運用Add Shader,把海浪與浪花結合一起
中間的Color Ramp能控制浪花的多與少
如果順利,就能出現類似下面的畫面
大家也可看看這段教學,內容超級濃縮:Create Ocean with Foam in EEVEE
壓低Resolution,令海浪產生幾何形狀

海洋進度50%!

這樣,我們就做好了其中的「一塊」海洋了!
對,這只是離鏡頭比較近的,其中一塊海
接下來就要思考

如何把這「一塊海域」做成「一片大海」

Ocean Modifier裡
貼心的有Repeat的功能,會自動把當前的那片海重複使用
但這與重複材質一樣,有個超級弊端
就是人眼會分別得出「重複」的元素
而一旦觀眾在「不應出現重複的地方」,感受到「重複」,作品就會有「廉價感」
失敗例子:充滿重複感
我們不要廉價感
所以我們不能只靠Repeat來解決問題
後來我想到了一個方法
因為鏡頭是在接近水平面的位置,而不是高空俯視
所以主要感受到重複的,只是y軸的「縱向重複」,而x軸的「橫向重複」可以保留
橙色線標示出縱向重複
在保留x軸重複的情況下,我為y軸複製幾個海,並手動把他們錯開
令觀眾不會輕易感受到重複
橙色是我們做的海,其他都是橫向重複
除此之外,會長我減慢了遠處海洋的流動速度
縱使物理上不合理,但加強了縱深感
消除了重複感,可以使用
這樣海洋的部分就全部完成啦!
接下來的雲的部分

製作素材:雲

為了避免單調
我在畫面上增加2D風格的雲
至於雲的構成⋯⋯
簡單地說
就是先做出這個↓

然後把它複製很多次,組合成雲的形狀

但⋯⋯

明明是3D model
為什麼看上去這麼2D?
這其實得益於一個叫Custom Normal的技術
關於此技術,會長我以前曾提及過:如何製作2D風格樹?

有興趣的朋友可以去閱讀 XD

由於雲沒有什麼變化,所以做一張靜止圖就好
到時候在ae做小量移動就已足夠
至此,素材製作部分經已全部完成!!
接下來是後期合成的部分

後期合成

先來看看,Ae合成的前後對比

Ae合成前
Ae合成後
把素材放到Ae之後,我主要做了4件事
1.補上天空
2.調色
3.加強縱深
4.其他小效果

1.補上天空

天空只是一個簡單的Gradient

2.調色

幫海和雲調色,令他們更加融入場景
另外還做了一個海的漸層,讓它顏色有些變化

3.加強縱深

用從3D軟件輸出來的Z-Depth,來做大氣透視

「場景越遠,越接近天色」

Z-Depth

此時畫面已經非常接近最終成品了

4.其他效果

令畫面別緻的小效果,例如發光Glow、邊緣色差Chromatic Aberration等等
另外還有非常不顯眼的風

最後成品!

Blend File

會長分拆了RenderLayer(界面右上角),所以海和雲是分開的
以下是此次project的blend file
有興趣又不嫌棄的話,可以拿回去研究 XD