十五、角色控制与虚拟相机绑定

1、actor,pown,character
    Actor类是可以放到游戏场景中的游戏对象的基本类型。你如果想放置任何东西到游戏场景中,必须继承Actor类。
    Pawn类是一个代表你或者代表电脑的人工智能的游戏对象,它是可以在屏幕上控制的游戏对象。Pawn类是从Actor类中基础的,它可以通过玩家的设备(键盘、鼠标等)控制或者被人工智能脚本控制。如果它是被玩家控制的,我们通常称之为controller(控制器);如果它是被人工智能脚本控制的,我们通常称之为AI(Artificial Intelligence,人工智能),如果你经常玩游戏,那些NPC(Non-player Characters,非玩家角色)就通常具有AI行为。
    character即角色,是一种特殊类型的 Pawn,用于双足类型的角色,并具备一些复杂的功能。
2、新建角色
    在内容浏览器,右击,新建蓝图类,在弹出菜单中选择角色,名称为moveman
    在左边窗口,下部分的细节栏中,可以看到胶囊体组件,网络体,角色移动(非可视化的对象,用于)
    进入主窗口,大纲视图中,新建前面的虚拟相机或电影摄像机Actor(CineCameraActor),并将其拖入到moveman下,以便后面联动。
    然后是文件,保存所有
3、定义角色的移动
    蓝图类对象创建后,就是控制它
    项目设置--引擎--输入,右边的轴映射,点击+号,输入moveforward,键盘定义W=1,S=-1,即前后移动;数字越大幅度越大,可以设为小一点或0.1。
    点击+号,再输入moveright,键盘定义A=1,D=-1,即左右移动
    点击+号,再输入moveup,键盘定义Q=1,E=-1,即上下移动
4、定义角色事件
    在内容浏览器中,双击moveman,打开事件图表
    A: 右击,在弹窗中输入"输入轴moveforward”,选择第一个,其箭头指向B的箭头,axis value指向B的Scale value;
    B: 再右击,在弹窗中输入”添加移动输入“,选择第一个
    C: 再右击,在弹窗中输入”获取控制旋转“,选择第一个;其return value指向D的in rot
    D: 再右击,在弹窗中输入”获取向前向量“,选择第一个;其return value指向B的world Direction
    A2: 右击,在弹窗中输入"输入轴moveright”,选择第一个;
    B2: 复制B
    C2: 复制C
    D2: 再右击,在弹窗中输入”获取向右向量“,选择第一个;
    A3: 右击,在弹窗中输入"输入轴moveup”,选择第一个;
    B3: 复制B
    C3: 复制C
    D3: 再右击,在弹窗中输入”获取向上向量“,选择第一个;
    然后是编译;
5、测试效果
    回到主界面,将moveman拖向舞台
    然后运行
6、解决几个问题
    如果出现左右各一个手柄,在项目设置--输入,右边移动平台,默认触控界面,选择清除即可。
    移动键盘W\S\A\D\Q\E,如果出现移动某个或整个舞台,则退出来
    右边的细节--通用--pawn,自动控制玩家,选择玩家0;
    如果没有上下移动,进入蓝图类--组件--角色移动--右边细节--角色移动(通用)--默认陆地运动等式--选择行走为正在飞行;
    如果上下缓冲较大,改“制动摩擦因子”为100,数越大则空气阻力越大。
    如果模型有干扰,大纲选择moveman,找到细节--渲染--mesh,取消勾选可视。
7、引入虚拟相机
    步骤详上一节内容
    运行
    发现虚拟相机可以与实体相机同步;角色也可以通过键盘自由移动,但二者没联系起来。
    
8、将虚拟相机绑定角色
    进入蓝图类--左边我的蓝图--变量--新增cam,对象类型=Vcama Actor;
    将cam拖入蓝图,选择获取cama,引脚指向“获取Actor向前向量”,其引脚指向B的world Direction,则之前指向world Direction的引脚自动断开。
    同理,将cam拖入蓝图,选择获取cama,引脚指向“获取Actor向右向量”,其引脚指向B2的world Direction,则之前自动断开。
    进入蓝图类,将变量cam的眼睛处点一下,让其打开;
    进入主窗口,大纲视图中,将VcamaActor拖入到moveman下,选择moveman,然后在细节下默认的cam,选择VcamActor,才进行了真正的绑定。如果没有找到,重启一下ue窗口。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vandh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值