更新於 2022/05/04閱讀時間約 2 分鐘

Unreal Engine碰撞整理

本文簡單描述該如何設定UE4內的物件碰撞,以及各個選項的意義

碰撞

在Project Settings裡面,可以調整預設的碰撞設定
把大部分的物體都設上去會很方便,真的沒辦法的時候可以對物體直接調為Custom

Object Channel

設定物體的類型
預設的有
WorldStatic:不移動的物體,例如StaticMesh
WorldDynamic:會移動的物體,例如電梯、門
Pawn:任何玩家控制的實體,例如玩家角色
PhysicsBody:需要模擬物理的任何物體
Vehicle:載具,例如車輛
Destructible:可破壞物的Mesh
可以再設18種Custom類型

Trace Channel

設定Trace的種類
預設的有
Visibility:可見東西
Camera:攝影機本人
可以再設18種Custom
另外可以用Trace節點抓東西的Channel

Preset

直接套到物體上的類型,預先設定好某種物體與其他物體該怎麼互動
需要再調整下列細項

Collision Enabled
可以再設定CollisionEnabled,也就是要計算哪些碰撞,
No collision:也就是關掉所有碰撞,主要是RunTime時暫時關掉用的
QueryOnly:拿來空間查詢用的,包含光照、Sweep、Overlap、CharacterMovement
PhysicsOnly:有需要物理的時候開,可以算Rigidbody或Constraints
CollisionEnable:同時開上面兩個,性能消耗較大

ObjectType
設定自己是什麼物體

Collision Response
對其他物體個別要怎麼互動
可以設為Ignore、Overlap、Block
兩個物體間,一個Block一個Overlap,則只會Overlap
兩個物體間,只要有一個Ignore,就會Ignore
另外Block物體時依然可以Overlap

實際套用

物體套用碰撞之後,還可以對下列功能調整
手動開啟Simulation Generates Hit Events,才能觸發Hit事件(ReceiverHit或OnComponentHit)
Generate Overlap Events,才會觸發Overlap事件,否則等同No Collision
Can Character Stop On,設定要不要讓玩家可以踩上去,高度可以在角色的MovementComponent內調整
如果要更複雜的碰撞,例如彈性係數,就需要再套Phys Material

附註

PlayInEditor的Camera預設是Pawn
SimulateInEditor的Camera不是Pawn,預設沒開碰撞
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.