虚拟现实-VR-UE4-编辑自定义Character-上下左右移动-旋转

举报
DreamLife 发表于 2022/04/14 23:52:26 2022/04/14
1.3k+ 0 0
【摘要】 在上一片文章中,我创建了一个自定义的Character,但是只是有一行log显示,我使用了自己的Character,不能有任何操作,这里,我将记录我修改我的Character的过程   万事第一步,打开工程,哈哈哈。     第一步,添加矩形的移动罗技,就是要定义键盘的按键,打开虚幻引擎,进行键盘...

在上一片文章中,我创建了一个自定义的Character,但是只是有一行log显示,我使用了自己的Character,不能有任何操作,这里,我将记录我修改我的Character的过程

万事第一步,打开工程,哈哈哈。

第一步,添加矩形的移动罗技,就是要定义键盘的按键,打开虚幻引擎,进行键盘按键定义。 

打开项目设置,进入项目设置界面

找到输入

我将准备实现ASDW见的移动,和鼠标的上下左右移动

按照下图来设置就OK

在如上图设计后,我们就需要回到编译器去撸代码了。走起

代码撸了一部分后,编译

着几行代码实现了asdw按键的控制角色的移动

核心代码,这里的算法我也怎么大量了解,大致意思就是从矩阵获得移动向量,在调用UE4系统函数移动角色

现在我的角色可以移动了,但是还是不可以旋转的,现在我需要添加鼠标时间,来使我的角色可以旋转。

还是和扇面操作差不多,编辑-->项目设置-->input 

好,这时新增部分

转移到编译器中,添加旋转函数和上下看函数

新增函数

绑定函数

这里的实现功能,我们可以在APawn类中看到,

这里我要准备走捷径了,哈哈哈

看起奇迹   

这里就可以了了了

编译

okkkkk

那么,有大多人不屑于走捷径,喜欢自己吗代码,可以借鉴这里的实现

直接在这里搜索函数就可

这里就是实际函数的实现了,可以直接复制过去的哦


      void APawn::AddControllerPitchInput(float Val)
      {
     	if (Val != 0.f && Controller && Controller->IsLocalPlayerController())
      	{
      		APlayerController* const PC = CastChecked<APlayerController>(Controller);
      		PC->AddPitchInput(Val);
      	}
      }
      void APawn::AddControllerYawInput(float Val)
      {
     	if (Val != 0.f && Controller && Controller->IsLocalPlayerController())
      	{
      		APlayerController* const PC = CastChecked<APlayerController>(Controller);
      		PC->AddYawInput(Val);
      	}
      }
  
 

现在我就可以控制我自定义的角色来移动和旋转了了

TIP

在使用绑定函数的时候,提示我们需要传入函数指针,也就是需要在在函数前面加&

这里附上一个连接 https://answers.unrealengine.com/questions/200444/input-bindaxis-c.html,可以参考

文章来源: dreamlife.blog.csdn.net,作者:DreamLife.,版权归原作者所有,如需转载,请联系作者。

原文链接:dreamlife.blog.csdn.net/article/details/51860613

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。