[学习笔记] UE4交互漫游-在全景相机和场景角色之间转换

1. 输入控制指令设置

在Project Setting - Engine - Input 里设置输入按键

2. 360度自由旋转漫游相机

(1)创建蓝图类 - Pawn 此处命名为 "Pawn_360自由旋转查看_BP",点入编辑蓝图

(2)添加组件 Spring Arm (弹簧臂),在它下添加Camera;

        弹簧臂设置要勾选“Use Pawn Control Rotation”以及“Enable Camera Rotation Lag”,弹簧臂长度Target Arm Length 可适当设置更长一点;

(3)在Event Graph 里设置Turn和LookUp事件分别控制左右和上下旋转

Compile之后把此蓝图拖入场景上空合适位置,点中此物件,在Details栏查找Possess,设置“Auto Possess Player” 为Player 0 点击Play预览

3. 第一人称漫游人物

(1)在文件夹新建蓝图类 - 角色Character,此处命名为“场景漫游角色_BP”,点入编辑;

(2)如前添加组件“Spring Arm” 和 “Camera”,勾选“Use Pawn Control Rotation” 和“Enable Camera Rotation Lag”;

(3)事件列表里设置“Turn”,“LookUp”,“MoveForward”,“MoveRight” 控制事件

(4)把此蓝图拖入场景地上某个合适位置,在Details栏里,取消之前给"Pawn_360旋转查看_BP"的默认Possess Player 0 设置,给"场景漫游角色_BP"设置为Player 0,点Play预览

4. 在两控制角色之间切换

(1)打开关卡蓝图,在变量中增加布尔变量“是否可以切换视野”,默认值设置为“是”;

(2)定义两个自定义事件(“切换到场景漫游”和“切换到360度漫游查看”),分别把视角和控制权给两个控制角色,并且用平滑过渡的方式(Set View Target with Blend节点),Target连Get Player Controller,New View Target 连对应的场景漫游角色(可从内容浏览器直接拖入面板);设置Blend Time和Blend Exp为2和3左右

        连接Delay(数值要和之前节点的BlendTime一样)

        然后连接Possess(“控制”)节点(也是连接Get Player Controller和场景漫游角色);

        最后连接一个改变判断状态的节点,让“是否可以切换视野”的状态变为True

 (3)设置切换触发按键事件,此处设置为键盘F键

        节点搜索输入F Key,连接branch,Condition为“是否可以切换视野”,False不连节点,True的分支先设置“是否可以切换视野”的状态为“False”,然后连接Flip Flop,分别连上上面的自定义事件“切换到场景漫游”和“切换到360度漫游查看”,Compile,关闭,点击Play测试

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值