1. 程式人生 > 其它 >Blender音訊視覺化教學-讓你的聲音“動起來”

Blender音訊視覺化教學-讓你的聲音“動起來”

所謂音訊視覺化,也就是讓物體隨音量的變化而高低起伏,在After Effect等軟體裡幾乎是一個“一鍵化”的操作,但如果我們想要在3D場景中重現這一效果,就需要動一番腦筋了,本期我就來教大家如何使用Blender幾何節點,來實現這個挺酷的效果。

1.第一步:利用空物體的位置資訊對映音樂音量

首先,在blender中我們新建一個空物體,並給它的位置資訊打上一個關鍵幀,然後切出一個新的視窗,開啟“曲線編輯器”,選中空物體時你會看到X位置、Y位置、Z位置各有一條曲線,刪掉X位置和Y位置,然後選中Z位置,再如圖1所示,選擇“關鍵幀”、“將聲音烘焙成函式曲線”,匯入音訊資料,這時候你會看到Z位置形成了一條隨音樂波動的曲線,這時候播放動畫,空物體的Z位置會隨之擺動,至此,我們的音樂資料就搞定了。

不過注意,這時候是沒有聲音播放的,因為我們只是把它烘焙成了曲線函式,如果想要聽到聲音,就需要在“視訊序列編輯器”裡匯入我們的音訊素材,這時候再播放就能聽到音樂了。

1

2.利用幾何節點編輯器實現柱狀圖效果

接下來我們新建任意物體,如果沒有刪除預設方塊也可以直接使用它,開啟幾何節點編輯器,刪掉“組輸入”,然後新建“柵格”並連線“組輸出”,這時候調整柵格的X、Y尺寸和數量,就能看到一個隨時可調整資料的柵格模組了,這時候需要回到3D檢視新建一個柱體,然後再使用“點例項”選擇柱體,並在編輯模式下調整柱體的大小,當然也可以通過“點大小”來進行調整,最終獲得如圖2的效果。

2

接下來就要讓這些柱體隨音量變化,沿Z軸以不同的隨機值進行波動,所以,我們首先要給它的Z軸位置賦予隨機化屬性,這就需要用到“屬性隨機化”模組,通過將Z位置資訊的向量最小值設定為0,最大值設定為1,賦值為一個新的屬性,比如position1,這時候就能讓柱體群以0~1之間隨機數值向上方浮動,這時候我們還需要使用“物體資訊”來載入空物體的位置資訊,並結合“屬性向量計算”模組來讓它們進行相乘,具體設定可參考圖3,這時候播放動畫,就能看到柱體群隨音樂起伏而變化啦!

3

3.第三步:玩點花樣,讓柱體群擺動起來!

雖然這時候其實我們已經實現了視覺化音量的效果,但就這樣單純的起伏看起來不免有些枯燥,如果我們能讓柱體群,也就是這個柵格有一定的規律運動效果,看上去或許會更有意思,這時候我們就需要利用一點數學邏輯,在幾何節點中實現這一有趣的效果。

我們知道正弦餘弦的運動軌跡是規律變化的,所以邏輯上來看,如果我們把X、Y位置按正弦或餘弦進行變化,然後把這種變化值新增到Z位置,就能形成一個很有趣的波浪運動的影象了。

為了實現這一效果,這裡我們首先要如圖4所示,在柵格的後方新增屬性分離XYZ和屬性合併XYZ,這樣我們就能在這兩個模組之間來對X、Y、Z位置進行操作了。

4

為了實現X、Y位置的變化,我們首先要給X、Y分別新增一個數學屬性的相加,並且一定要賦予新結果屬性,比如X對應X1,Y對應Y1,然後在為X1和Y1新增數學屬性的正弦或餘弦,這樣我們就得到了隨函式變化而變化的X1和Y1,這時候需要利用數學屬性的相加,吧X1和Y1加到Z上,這時候你會發現,如圖5所示,柵格從平面一躍成為了一個曲面。

5

不過這時候播放動畫,你會發現影象也並不會有任何變化,所以這時候我們就要修改最開始新增的數學屬性相加的數值,可以通過新增驅動器的方式來實現,比如都新增一個“#frame/30”,這時候再播放動畫,柵格就會如同隨風飄舞一般運動起來,如果要控制速度就修改驅動器的除數,比如“#frame/50”就是變慢,“#frame/10”就相對更快,以此類推。

而如果想要控制飄舞擺動的幅度,就需要在兩個正弦計算後,再加入為X1和Y1各自新增數學屬性的乘法,這樣就能更自如地進行控制了,最終效果大家可以掃描本文二維碼觀看視訊版教學。

本章小結:開啟新世界的大門

早在Blender系列文章的開篇,我就曾說過Blender是一個演進速度非常快的軟體,而幾何節點就是目前版本最好的例子,它所能實現的功能在哪怕一年前都有著較大的困難。當然,幾何節點的學習需要適應軟體開發者的邏輯,同時也對使用者本身的思維方式有著相對較高的挑戰,但如果能活學活用,可玩性和實用性都有著非常明顯的優勢,是Blender學習不容錯過的新功能。