您當前的位置:首頁 > 攝影

[玩轉UE5動畫系統>基礎篇] 之 什麼是射線檢測 續 HitResult引數小結

作者:由 開發遊戲的老王 發表于 攝影時間:2021-06-06

好訊息!好訊息!上次更新還是UE4時代,轉眼間UE5已經君臨天下。正如老王預言的那樣,UE5是UE4的大版本升級,所以這個[玩轉UE4動畫系統]可以直接無縫更名為[玩轉UE5動畫系統]啦!

前言

在[玩轉UE4動畫系統>基礎篇] 之 什麼是射線檢測一文中已經介紹了射線檢測的重要性並簡單介紹了Trace節點(函式)常用的返回值。本文將逐個解釋一下HitResult結構體的各個分量的意義。

HitResult

[玩轉UE5動畫系統>基礎篇] 之 什麼是射線檢測 續 HitResult引數小結

Blocking Hit

是否發生了碰撞

Initial Overlap

是否發生了初始重疊,所謂初始重疊指的就是射線在初始位置,是否已經發生了碰撞

當Initial Overlap為true時,也就意味著Distance的值為零。

[玩轉UE5動畫系統>基礎篇] 之 什麼是射線檢測 續 HitResult引數小結

如果碰撞形狀非Line,那麼如下圖所示

[玩轉UE5動畫系統>基礎篇] 之 什麼是射線檢測 續 HitResult引數小結

在ALS V4的CapsuleHasRoomCheck方法中,作者就藉助這個值來判斷一個空間是否有足夠的位置容納角色的膠囊體。

Time

碰撞時間,值的範圍是(0~1),當發生了初始重疊時 Time為0,當未發生碰撞時 Time為1(即無窮遠)

Distance

射線起點到碰撞點之間的距離。注意:當Distance為0時可能有兩種情況,發生初始重疊或未發生碰撞,需要透過Initial Overlap來判斷。

Location、Impact Point、Normal、Impact Normal

Location和Impact Point

前者是碰撞時射線形狀的位置,後者是實際碰撞點的位置

[玩轉UE5動畫系統>基礎篇] 之 什麼是射線檢測 續 HitResult引數小結

Normal和Impact Normal

Impact Normal就是被碰撞表面的法線方向

很多時候Normal就等於Impact Normal,我實驗了幾種情況沒有發現它們的區別,此處如有錯誤敬請指正!

Phys Mat

被射線碰撞物件的物理材質

Hit Actor

被射線碰撞的Actor

Hit Component

被射線碰撞的Primitive Component

Hit Bone Name

如果被射線碰撞物件是一個Skeletal Mesh,那麼將會返回被碰撞的骨頭名稱

Hit Item

被碰撞的Primitive索引

Element Index

如果一個Primitive是由多個部分組成的,那麼這裡返回被碰撞元素的索引

Face Index

面索引

Trace Start、Trace End

射線的起點和終點

[玩轉UE5動畫系統>基礎篇] 之 什麼是射線檢測 續 HitResult引數小結

標簽: 碰撞  射線  Impact  normal  UE4