所謂音頻可視化,也就是讓物體隨音量的變化而高低起伏,在After Effect等軟件里幾乎是一個“一鍵化”的操作,但如果我們想要在3D場景中重現(xiàn)這一效果,就需要動一番腦筋了。本期我就來教大家如何使用Blender幾何節(jié)點,來實現(xiàn)這個挺酷的效果。
首先,我們新建一個空物體,并給它的位置信息打上一個關(guān)鍵幀,然后切出一個新的窗口,打開“曲線編輯器”,選中空物體時你會看到X位置、Y位置、Z位置各有一條曲線,刪掉X位置和Y位置,然后選中Z位置,再如圖1所示,選擇“關(guān)鍵幀”→“將聲音烘焙成函數(shù)曲線”,導入音頻數(shù)據(jù),這時候你會看到Z位置形成了一條隨音樂波動的曲線,這時候播放動畫,空物體的Z位置會隨之擺動,至此,我們的音樂數(shù)據(jù)就搞定了。
不過注意,這時候是沒有聲音播放的,因為我們只是把它烘焙成了曲線函數(shù),如果想要聽到聲音,就需要在“視頻序列編輯器”里導入我們的音頻素材,這時候再播放就能聽到音樂了。
接下來我們新建任意物體,如果沒有刪除默認方塊也可以直接使用它,打開幾何節(jié)點編輯器,刪掉“組輸入”,然后新建“柵格”并連接“組輸出”,這時候調(diào)整柵格的X、Y尺寸和數(shù)量,就能看到一個隨時可調(diào)整數(shù)據(jù)的柵格模塊了,這時候需要回到3D視圖新建一個柱體,然后再使用“點實例”選擇柱體,并在編輯模式下調(diào)整柱體的大小,當然也可以通過“點大小”來進行調(diào)整,最終獲得如圖2的效果。
接下來就要讓這些柱體隨音量變化,沿Z軸以不同的隨機值進行波動,所以,我們首先要給它的Z軸位置賦予隨機化屬性,這就需要用到“屬性隨機化”模塊,通過將Z位置信息的矢量最小值設置為0,最大值設置為1,賦值為一個新的屬性,比如position1,這時候就能讓柱體群以0~1之間隨機數(shù)值向上方浮動,這時候我們還需要使用“物體信息”來加載空物體的位置信息,并結(jié)合“屬性矢量計算”模塊來讓它們進行相乘,具體設置可參考圖3,這時候播放動畫,就能看到柱體群隨音樂起伏而變化啦!
雖然這時候其實我們已經(jīng)實現(xiàn)了可視化音量的效果,但就這樣單純的起伏看起來不免有些枯燥,如果我們能讓柱體群,也就是這個柵格有一定的規(guī)律運動效果,看上去或許會更有意思,這時候我們就需要利用一點數(shù)學邏輯,在幾何節(jié)點中實現(xiàn)這一有趣的效果。
我們知道正弦余弦的運動軌跡是規(guī)律變化的,所以邏輯上來看,如果我們把X、Y位置按正弦或余弦進行變化,然后把這種變化值添加到Z位置,就能形成一個很有趣的波浪運動的圖像了。
為了實現(xiàn)這一效果,這里我們首先要如圖4所示,在柵格的后方添加屬性分離XYZ和屬性合并XYZ,這樣我們就能在這兩個模塊之間來對X、Y、Z位置進行操作了。
為了實現(xiàn)X、Y位置的變化,我們首先要給X、Y分別添加一個數(shù)學屬性的相加,并且一定要賦予新結(jié)果屬性,比如X對應X1,Y對應Y1,然后再為X1和Y1添加數(shù)學屬性的正弦或余弦,這樣我們就得到了隨函數(shù)變化而變化的X1和Y1,這時候需要利用數(shù)學屬性的相加,把X1和Y1加到Z上,這時候你會發(fā)現(xiàn),如圖5所示,柵格從平面一躍成為了一個曲面。
不過這時候播放動畫,你會發(fā)現(xiàn)圖像也并不會有任何變化,所以這時候我們就要修改最開始添加的數(shù)學屬性相加的數(shù)值,可以通過添加驅(qū)動器的方式來實現(xiàn),比如都添加一個“#frame/30”,這時候再播放動畫,柵格就會如同隨風飄舞一般運動起來,如果要控制速度就修改驅(qū)動器的除數(shù),比如“#frame/50”就是變慢,“#frame/10”就相對更快,以此類推。
本文所使用的幾何節(jié)點全覽圖
而如果想要控制飄舞擺動的幅度,就需要在兩個正弦計算后,再加入為X1和Y1各自添加數(shù)學屬性的乘法,這樣就能更自如地進行控制了,最終效果大家可以掃描本文二維碼觀看視頻版教學。
早在Blender系列文章的開篇,我就曾說過Blender是一個演進速度非??斓能浖?,而幾何節(jié)點就是目前版本最好的例子,它所能實現(xiàn)的功能在哪怕一年前都有著較大的困難。當然,幾何節(jié)點的學習需要適應軟件開發(fā)者的邏輯,同時也對用戶本身的思維方式有著相對較高的挑戰(zhàn),但如果能活學活用,可玩性和實用性都有著非常明顯的優(yōu)勢,是Blender學習不容錯過的新功能。