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公眾號
熱門課程
專業講師指導 快速擺脫技能困惑相關文章
多種教程 總有一個適合自己專業問題谘詢
你擔心的問題,火星幫你解答這篇文章詳細介紹了如何學習使用UE4進行可視化製作,以及火星時代教育對此方麵培訓的專業性
麵對繁多的移動端UI培訓機構,如何選擇一個適合自己的呢? 本文將為你解答疑問,而火星時代教育,我們敢說是最好的選擇!
基於火星時代教育的高質量課程體驗, 揭示遊戲開發的前瞻性和職業發展前景。
以UE4作為工具來建構智慧城市,能大大提高其實用性和創新性。火星時代教育通過專業的UE4課程培訓來助力學習者掌握UE4建構智慧城市的技巧。
對於很多熱愛製作遊戲特效的朋友來說,擔心的一個問題就是,學習遊戲特效需要多少時間?火星時代教育為您詳細分析和解答。
了解影視原畫設計的基本知識和學習路徑,尤其是在火星時代教育的專業指導下,你將擁有更好的學習體驗。
1. 打開微信掃一掃,掃描左側二維碼
2. 添加老師微信,馬上領取免費課程資源
同學您好!