您当前的位置: 首页 >  ue4

虎冯河

暂无认证

  • 5浏览

    0关注

    112博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

UE4/UE5 虚幻引擎,Pawn的碰撞,怎么防止Pawn移动的时候穿透物体。

虎冯河 发布时间:2022-08-25 21:28:42 ,浏览量:5

前言:在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物体。 

总结:在Pawn中设置碰撞的几个条件。 一、添加Collision 碰撞组件,设置碰撞预设(保证碰撞预设能阻挡碰撞体)。 二、把Collision作为根组件,而不是附加到根组件。
关注
打赏
1649935522
查看更多评论
立即登录/注册

微信扫码登录

0.0386s