前言:在UE項目開發(fā)中,有些我們需要自己新建一個Pawn來控制視角,但是如果我們沒有設置Pawn的碰撞,那么Pawn在移動的過程中,很容易穿到Actor里面。而有的時候我們并不需要Pawn穿過物體,就必須要給Pawn增加碰撞。
1、新建一個Pawn類。
2、 添加FloatingPawnMovement(必須添加這個組件才能控制Pawn移動),Use Controller Rotation Pitch和Use Controller Rotation Yaw(控制旋轉),添加Mouse input和Movement input(如果不知道怎么寫,可以直接導入第三人稱內容包從ThirdPersonCharacter藍圖中復制)。
3、設置我們剛才新建的Pawn
啟用自動輸入,設置Player 0(這一步是防止在關卡中有多個Pawn的時候,不能控制自己剛才設置的新建的Pawn。比如在上圖的關卡中,有兩個Pawn一個是剛才我們新建的Pawn,另外一個就是ThirdPersonCharacter第三人稱小白人的Pawn。)
?4、控制剛才新建的Pawn,可以看到穿到Actor里面去了。??
5、給Pawn添加一個Box Collision碰撞組件,將碰撞預設改為Pawn(其他的類型也可以,但必須能阻擋到其他碰撞。)
?6、還是穿透了,把Box 的Hidden? in Game(在游戲中隱藏)取消勾選,能看到碰撞體穿到Actor物體中了,Pawn沒有被阻擋。
?7、讓我們來參考一下 ThirdPersonCharacter第三人稱小白人的藍圖,可以看到Collision碰撞組件是作為Root Component根組件的。所以ThirdPersonCharacter(ThirdPersonCharacter的父類也是Pawn)不會穿透到Actor物體中。
?
?8、然后我們把自己新建的Pawn的Collision碰撞組件作為Root Component根組件來試一下。
?把Box 的Hidden? in Game(在游戲中隱藏)取消勾選,能看到Pawn被阻擋住了,這樣就不會穿透Actor物體。?文章來源:http://www.zghlxwxcb.cn/news/detail-411276.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-411276.html
總結:在Pawn中設置碰撞的幾個條件。 一、添加Collision 碰撞組件,設置碰撞預設(保證碰撞預設能阻擋碰撞體)。 二、把Collision作為根組件,而不是附加到根組件。
到了這里,關于UE4/UE5 虛幻引擎,Pawn的碰撞,怎么防止Pawn移動的時候穿透物體。的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!