Hello . 大家好,今天是上一個小球Unreal的blueprint案例教程之金屬球作用效果一的進階版,下麵繼續分享Unreal的blueprint案例教程之金屬球作用效果二。
在上一期,我們簡單給小球加了一個bp(blueprint)unreal BluePrint | 做個ball,讓球可以在最開始受到一個向左(y軸負方向)的力,如圖

如果我們往小球飛行的方向放上一些障礙物,球就會跟障礙物產生碰撞,進而改變運動軌跡

現在我們給這個小球添加一些邏輯,讓小球先下落到平麵上,然後接觸障礙物並產生stick
下麵開始具體操作步驟
1、添加LineTraceByChannel
這個節點主要是沿給定的線執行碰撞追蹤並返回追蹤中的首個物體。就是在運動的過程中,對小球的碰撞進行追蹤,並返回過程中碰撞的首個物體。
我們打開上次添加的bp,右鍵搜索linetrace


Start和End表示的是一個坐標區間,Return Value就是返回這個區間的內碰撞到的第一個物體。而我們的Start坐標就是actor小球的坐標,所以給start輸入GetActorLocation節點。而End的位置就隻需要在start的各個軸上減去一個數值即可表示在這個方向上的空間範圍。因為unreal中z軸代表上下,所以我們用subtract在z軸上減去500.

選擇Draw Debug Type為Persistent,然後就會對每一幀都有Debug處理。

點擊Compile,編譯bp,然後進入到場景中播放。

會看到小球在運動過程中,運動過的地方會產生紅色線條,這是因為他的運動軌跡被LineTraceByChannel的Debug畫下來了
2、Break Hit Result
這個節點可以訪問所有種類的hit信息及其自身信息,所以我們用這個節點來獲取一些hit得到的信息(注意與其連接的是LineTraceByChannel的Out Hit輸出)

3、Add Impulse
再次添加節點add impulse,用於添加小球在遇到碰撞以後的運動狀態。選中之前的節點,然後在空白處按ctrl + w,就可以將選中的節點進行複製粘貼。
將LineTraceByChannel的輸出作為Impulse的輸入,Target依然是那個小球。

從本質上講,impact normal是line trace在世界空間中的方向,所以給impact normal乘上一個-1,表示碰撞以後法線方向改變,運動方向改變。
我們為方便修改給新加一個變量TableStickyness,並且修改類型為float。


點擊compile後,給TableStickyness設置一個初始值為5000. 然後將他拉到bp中,獲取數值,GetTableStickyness. 然後跟之前的Default Speed一樣,將Event Tick和TableStickyness相乘

雙擊引線可添加一個點,拖動可改變引線走向,也可添加注釋,方便各節點流向查看

將上麵乘了以後的結果與impact normal相乘,最後將結果輸出到Add Impulse的Impulse中

Compile然後Save,在遊戲模式中查看如下效果

可以看到小球在其運動方向上遇到障礙物以後,由於障礙物會阻止其運動方向,所以在我們節點的作用下會停在那個地方
如果我們撤銷障礙物或者移動到不會阻擋其運動的位置,小球就會像之前一樣飛出去,就不會觸發hit

入門藍圖bp的第二天,蟹蟹圍觀。
來源:Thepoly公眾號
熱門課程
專業講師指導 快速擺脫技能困惑相關文章
多種教程 總有一個適合自己專業問題谘詢
你擔心的問題,火星幫你解答在廣州這座繁華的都市中,數字創意產業正蓬勃發展,廣州視頻剪輯培訓成為許多影視愛好者的理想起點。隨著短視頻平台和影視製作需求的激......
在北京這樣一座充滿創意活力的都市,UI設計培訓正成為無數年輕人追逐職業夢想的跳板。隨著數字經濟的蓬勃發展,UI設計行業在北京展......
在當今創意經濟蓬勃發展的浪潮中,北京平麵設計培訓成為眾多職業追求者的理想起點。這座城市的活力與機遇吸引著無數人投身視覺藝術領域......
在影視和設計行業蓬勃發展的今天,虛幻引擎作為核心技術工具,正引領著視覺創作的革命。越來越多的人渴望掌握這門技能,而專業的培訓成......
在北京這座文化創意中心,平麵設計培訓行業蓬勃發展,為渴望入行的學員提供了豐富機遇。隨著數字媒體和影視產業的崛起,掌握視覺傳達技......
在上海這座充滿活力的城市,影視和設計行業正迎來前所未有的發展機遇,數字技術的進步讓3D建模成為創意產業的核心驅動力。參加專業的......
同學您好!