?

一筆畫出奔跑的小火車Blender 幾何節點教學

2023-07-06 19:21薛山
電腦報 2023年25期
關鍵詞:節車廂法向頂點

薛山

“一筆畫”系列其實我們已經推出了好幾個章節,簡單來說就是通過幾何節點的設計,讓復雜的模型可以跟隨曲線繪制,使其位置、旋轉甚至縮放都自動匹配,從而實現一次設計多次復用的高效目標。本期的“一筆畫”系列我們準備制作一組可以跟隨曲線開動的小火車,還是老規矩,先從思路解析開始做起吧!

火車要跑起來自然需要軌道系統,其實咱們本期的內容也不限于火車,類似過山車的效果也同樣可以制作出來。首先新建一條曲線,可以是貝塞爾曲線,也可以是曲線圓環,然后進入它的幾何節點編輯器。

我們這一步最重要的就是讓軌道跟隨這條曲線來自動調整,難點在于大多數軌道都有兩條,而我們的曲線只有一條,所以在設計時需要動一些小心思。第一步是使用“曲線轉網格”節點,并使用“曲線圓環”作為“輪廓曲線”,這樣就能直接把咱們的原始曲線變成一條在渲染模式下可以看見的“軌道”了,軌道的直徑則是通過控制曲線圓環的直徑來實現的,那么這時候要如何讓它變成兩條軌道呢?

方法其實也很簡單,我們只需要額外生成一條相同的曲線,并讓它沿著原始曲線的法向方向進行位移補償,不就可以獲得咱們想要的效果了嗎?所以我們需要回到幾何節點的最左側,在“曲線轉網格”之前加入一個“設置位置”,并以“法向”作為基礎來連接它的“偏移量”,為了控制這個偏移量,可以在它們兩者之間加入一個“矢量算法”的“縮放”來進行控制,因為軌道需要朝著法向的兩個方向進行偏移,所以建議大家分別引入兩個“縮放”,從正負方向分別控制兩條軌道的偏移量,再通過“合并幾何”后重新連接到“曲線轉網格”,就能得到一組完整的軌道了。

因為它會直接放在原始曲線的水平面,而軌道一般在火車下方,所以我們要再接一個“變換幾何體”,將其沿Z 軸向下位移一點位置,具體數值可以在火車設計完成后再進行調整,最后記得加入一個“設置材質”,再在著色器編輯器中將對應的材質設置為金屬材質即可。這時候我們進入原始曲線的編輯模式,刪除所有頂點并新建另外的曲線,你會發現火車軌道可以實現自行鋪設啦。

火車運動在幾何節點里的邏輯,就是頂點跟隨曲線路徑進行運動,并且火車模型會根據曲線切向進行自動旋轉,匹配正確的運動方向,那么如何才能實現這個設計目的呢?

這一設計的難點在于如何讓頂點沿著曲線進行運動,最基本的方法就是通過采樣曲線來實現頂點融合,我們首先需要通過“曲線-> 點”節點,將曲線切換成一個個的點,然后連接“設置位置”。這里開始就需要注意了,我們再將原始曲線連接“采樣曲線”,將“位置”值輸出到“設置位置”的“位置”上,此時會根據你“曲線-> 點”的設置,獲得不同的頂點數量,比如“曲線-> 點”設置為“數量”10,就會在幾何節點默認視圖左上側的“電子表格”里看到有10 個點云,這時候我們調整“采樣曲線”的系數,就可以在實體視圖下看到頂點跟隨曲線在進行運動了,但因為這時候有足足10 個頂點重疊在一起,在它的后面我們需要使用“實例化于點上”來導入火車模型,這會導致穿模和不必要的渲染壓力,所以我們需要再接一個“按距離合并”來讓這些頂點融合為一體。

這時候的問題有兩個,其一是如何讓它自動跑起來,其二是怎樣讓它正確地旋轉。第一個問題其實解決起來不難,只需要給“采樣曲線”的系數連接一個“場景時間”的“秒”即可,但因為咱們這個是單節車廂的設計,而火車往往是多節車廂,所以我們需要一個位移值來為不同車廂賦予不同的位置,同時還需要一個參數來控制車速,并且讓它可以循環運行而不是沿著曲線跑一趟就消失了。

因此,我們首先是通過“相加”來控制它的起始位置,然后接一個“相除”來調整它的運行速度,最后接一個“分數”來讓它可以循環運行不受曲線長度限制,建議將“輸出屬性”的幀率改成60fps,這樣即便是預覽時看上去也會流暢許多,完成這一步后播放視頻應該就能看到火車跑起來了。

接下來調整它的旋轉值,我們將“采樣曲線”的“切向”輸出連接一個“對齊歐拉至矢量”,再連接到“實例化于點上”的旋轉值,這時候我們只需要按照自己的設計場景,嘗試選擇“對齊歐拉至矢量”的X、Y、Z 直到獲得正確的旋轉方向,就能獲得一個跑動時車頭朝向正確的火車效果啦。

搞定這一步之后,我們接下來就可以設計多節車廂了,此時需要全選咱們火車部分的全部節點,注意不要選中第一步的車軌節點,然后按Ctrl+G,將其進行編組,然后把“場景時間”后的“相加”值連接到編組內“組輸入”的空白值上,這時候選擇幾何節點編輯器右上角的箭頭按鈕,也就是回到父級節點樹,這時候就能看到所有火車車廂的節點都被打包成了一個節點集合,我們可以把它重命名為“火車”或其他自己想要的名稱,同時剛剛連接的“相加”值在這個節點集合上就能直接調整了,此時改變這個數值就能看到火車的位置發生了變化,所以我們只需要按照設計需求復制多個“火車”節點集合,通過調整“相加”值,將它們和之前制作的車軌再進行“合并幾何”輸出,就能得到一個由多節車廂組成的火車列組沿曲線開動的效果啦。

從本期的幾何節點設計來看,通過相對復雜的設計,獲得了更全面的自由空間,比如車頭和車身其實可以設計成不一樣的物體,我們只需要將火車車頭的節點集合獨立出來,再調整它的模型樣式就能獲得我們想要的效果。而如果單純只是想獲得一個火車沿曲線運動的效果,不使用幾何節點也有傳統的方法可以實現,可以說是“條條大路通羅馬”。但我們一直強調幾何節點是Blender近年來最重要也是最核心的功能,如果想要時刻保持最新的設計思路,幾何節點就是不能繞開的關鍵,當然,我們的教學節點或許并不是最優解,理論上還有一些優化的空間,所以我們也一直鼓勵大家開動腦筋積極探索,早日將Blender 幾何節點融會貫通。

猜你喜歡
節車廂法向頂點
長長的火車
落石法向恢復系數的多因素聯合影響研究
過非等腰銳角三角形頂點和垂心的圓的性質及應用(下)
SOB訂購更多Flirts列車
關于頂點染色的一個猜想
低溫狀態下的材料法向發射率測量
落石碰撞法向恢復系數的模型試驗研究
學數學真有趣
不透明材料波段法向發射率在線測量方法
數學問答
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合