前言:在UE项目开发中,有些我们需要自己新建一个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物体。 文章来源:https://www.toymoban.com/news/detail-411276.html
文章来源地址https://www.toymoban.com/news/detail-411276.html
总结:在Pawn中设置碰撞的几个条件。 一、添加Collision 碰撞组件,设置碰撞预设(保证碰撞预设能阻挡碰撞体)。 二、把Collision作为根组件,而不是附加到根组件。
到了这里,关于UE4/UE5 虚幻引擎,Pawn的碰撞,怎么防止Pawn移动的时候穿透物体。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!