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

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

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

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

找到输入

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

按照下图来设置就OK

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

代码撸了一部分后,编译

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

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

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

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

好,这时新增部分

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

新增函数

绑定函数

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

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

看起奇迹

这里就可以了了了

编译

okkkkk

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

直接在这里搜索函数就可

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

  1. void APawn::AddControllerPitchInput(float Val)
  2. {
  3. if (Val != 0.f && Controller && Controller->IsLocalPlayerController())
  4. {
  5. APlayerController* const PC = CastChecked<APlayerController>(Controller);
  6. PC->AddPitchInput(Val);
  7. }
  8. }
  9.  
  10. void APawn::AddControllerYawInput(float Val)
  11. {
  12. if (Val != 0.f && Controller && Controller->IsLocalPlayerController())
  13. {
  14. APlayerController* const PC = CastChecked<APlayerController>(Controller);
  15. PC->AddYawInput(Val);
  16. }
  17. }

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

TIP

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

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

虚拟现实-VR-UE4-编辑自定义Character-上下左右移动-旋转的更多相关文章

  1. ubuntu vi编辑insert时上下左右建为ABCD

    ubuntu  在vi编辑insert时上下左右建不能移动光标而是输出ABCD,backspace也不能起删除作用, 开始我退出insert模式就能够移动和删除了,不过这样太麻烦很不适应, 只要一次执 ...

  2. SpriteBuilder中不能编辑自定义类或不能给节点添加属性的解决

    不能编辑自定义类 你选中一个Sub File(CCBFile)节点,在这个例子中,该节点的Custom class区域灰化禁用且不能修改.这是因为你需要在该Sub File引用的CCB文件中修改Cus ...

  3. Docker入门3------手动编辑自定义镜像

    手动编辑自定义镜像 查看本地现有镜像: 基于centos创建一个,会自动下载centos最新原始镜像 docker run -it --name=web centos /bin/bash 然后在容器内 ...

  4. Django项目:CRM(客户关系管理系统)--38--30PerfectCRM实现King_admin编辑自定义字段验证

    # kingadmin.py # ————————04PerfectCRM实现King_admin注册功能———————— from crm import models #print("ki ...

  5. Django项目:CRM(客户关系管理系统)--37--29PerfectCRM实现King_admin编辑自定义限制

    #base_admin.py # ————————24PerfectCRM实现King_admin自定义操作数据———————— from django.shortcuts import render ...

  6. 虚拟现实-VR-UE4-创建一个自定义的角色 Character

    我学习的资料使用的是老版本的ue4 新版本有好多都是不一样的,好多东西需要自己来摸索, 比如,在老板版本中,默认创建一个GameMode 是回自动创建构造函数发的,而新版本,是没有的,需要自己手动填写 ...

  7. [UE4]CustomAnimationBlueprintNode 自定义动画蓝图节点

    目的:在AnimationBlueprint中使用自定义动画控制节点. 主要过程: 1.      引用相关模块.在Client.Build.cs文件中,PublicDependencyModuleN ...

  8. TextView加边框,自定义,上下左右四条线 颜色,想用哪个用哪个

    1.这是一个自定义的TextView ,看吧,底下就是代码,应该都可以看懂,这里就不多说了 package com.example.admin.myutilsborder;import android ...

  9. Confluence 6 编辑自定义 Decorators

    希望对 Confluence 的 decorator 进行编辑的话,你需要具有良好的 HTML 知识和能够理解  Velocity 模板语言. 希望编辑 decorator 文件: 进入  Confl ...

  10. django model_fields_validators 前端页面编辑自定义验证

    # model_field_validators.py import re from django.core.exceptions import ValidationError from django ...

随机推荐

  1. Ubuntu 16.04 源码方式安装 JDK

    1.去官网下载JDK http://www.oracle.com/technetwork/articles/javase/index-jsp-138363.html 2.下载完成后,创建一个我们将要安 ...

  2. Entity Framework 五

    连接情景中的CRUD操作: 连接场景中的CRUD操作是一项相当简单的任务,因为默认情况下,上下文会自动跟踪实体在其生命周期中发生的更改,前提是AutoDetectChangesEnabled为true ...

  3. Vue nodejs商城项目-商品的分页、排序、筛选

    .分页 ,要查第3页的数据,则跳过2*8条数据,然后返回8条数据. 在实现滚动加载时,页面刚一加载完成并不需要请求所有数据,当用户下拉到页面底部时,再去请求数据并拼接到商品数据列表中. 通过vue-i ...

  4. 为什么IP检验和发现错误直接丢弃而不是要求源站重发

    纠错控制由上层(传输层)执行IP首部中的源站地址也可能出错,请错误的源地址重传数据报是 没有意义的

  5. 配置JAVA_HOME踩得坑 。。

    配置JAVA_HOME 的时候这里不能有空格哦 ,还以为什么呢...

  6. Java分享笔记:创建多线程 & 线程同步机制

    [1] 创建多线程的两种方式 1.1 通过继承Thread类创建多线程 1.定义Thread类的子类,重写run()方法,在run()方法体中编写子线程要执行的功能. 2.创建子线程的实例对象,相当于 ...

  7. PHPStorm+Xdebug断点远程调试PHP xdebug安装

    一.xdebug安装 wget http://www.xdebug.org/files/xdebug-2.2.3.tgz #下载Xdebug tar xzf xdebug-2.2.3.tgz cd x ...

  8. python 用selenuim判断页面是否全部加载完成,并且加上最大时长,超过时长报错

    STR_READY_STATE = '' time_start = time.time() while STR_READY_STATE != 'complete': time.sleep(0.001) ...

  9. (四)、python 集合与格式化

    一.set 集合 集合:可以包含多个元素,用逗号分割“,”   集合的作用:去重,关系运算, 1.不同元素组成2.无序3.集合中元素必须是不可变类型(可hash,可作为字典的key) 使用方法: 1) ...

  10. Django之模型---ORM简介

    ORM ORM,是“对象-关系-映射”的简称,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因 ...