UE5回合制游戏【2-摄像机控制】(蓝图版)
上一篇文章完成了一些基础的设置,这篇文章主要来设置一下摄像机。
摄像机的控制主要有鼠标滚轮控制缩放,WASD键控制前后左右移动,QE键控制左右旋转。
摄像机设置
首先打开BP_Pawn,然后添加Spring和Camera组件。
层级关系如下图
我们把摄像机放到弹簧臂下面,这样摄像机就能跟着弹簧臂变换了。
弹簧臂是个很有用的东西,有了它我们设置摄像机就变得容易了很多。
想当年学Unity的时候,自己写代码去控制摄像机,说实话还是挺不容易的。
我们把摄像机旋转-60度,然后放到700位置处,取消碰撞测试。
碰撞测试的功能主要是用在当摄像机和弹簧臂根部之间有遮挡的时候,摄像机会沿着弹簧臂那根红线向前移动,直到没有被遮挡。
摄像机缩放
打开Project Settings
在输入里面的绑定里面的轴映射里面添加一个映射,如下图设置。
设置好了以后回到BP_Pawn,打开事件图表。
这个时候输入右键搜索Zoom就有了相应的事件了,是不是很简单呢。
首先添加个变量,表示缩放大小,然后在Tick事件里面平滑的移动,详细蓝图如下。
添加个PlayerStart
放到原点。
运行以后会发现,貌似方向反了,咱们需要改一下。
好像还有一个问题?为什么鼠标滚轮没有动,它自己在动呢?
很简单,我们的变量ZoomDesired初始值为0,给它个初始值就可以了。
初始化一般都是在beginPlay里面。
好了,咱们的摄像机缩放就做完了,里面的一些参数你们也可以根据具体情况进行调节。
摄像机移动
和前面一样,打开ProjectSetting
在输入里面添加两个映射。
添加一个向量类型的变量LocationDesired
使用LocationDesired保存需要移动的位置
然后在Tick里面平滑的插值
这个时候运行,WASD就可以控制前后左右移动啦。
当然还有个问题需要解决一下,那就是LocationDesired咱们也得给个初始值。
好了,摄像机移动就搞完了。
摄像机旋转
这次和前面不太一样了,依然是打开ProjecSettings
这次使用Action Mappings而不是Axis Mappings。
这两者的区别就是前者是一次性的而后者是持续性的。
添加一个Rotator类型变量RotationDesired
RotationDesired用来保存需要旋转的大小
然后在Tick里面进行平滑的旋转。
当然和前面一样需要有个小问题,需要给RotationDesired变量设置初始值。
这个时候运行就可以了。
当你旋转以后,再去移动就会发现不对劲,移动是跟着世界坐标设置的,而我们需要的是局部坐标。
好了,到这里摄像机基本上就设置完了,大家可以根据自己的情况进行调节。
UE5回合制游戏【2-摄像机控制】(蓝图版)相关推荐
- python可以制作回合制游戏么_Python制作回合制手游外挂简单教程(上)
正文 引入: 每次玩回合制游戏的时候,反反复复的日常任务让人不胜其烦 玩问道的时候,我们希望能够自动刷道,玩梦幻希望能自动做师门.捉鬼等等 说明: 该外挂只能模拟鼠标键盘操作,并不能修改游戏数据 我这 ...
- 今天开始做战斗,回合制战斗代码实现第一篇补充,从头开始,简单的2d回合制游戏一些文档方面的知识
上一篇代码贴完了,总是感觉缺少些东西,因为光看代码用时候不是很直观,我们还是需要些文档来辅助理解.好了,所以补充些内容. 2009 年 8 月,<梦幻西游>同时最高在线人数达到 256 万 ...
- C语言模拟回合制游戏 源码
源码下载地址: http://download.csdn.net/detail/monkey_uan/5115921 刚学C的作品,略带稚气,仅供参考学习,版权所有. #include<stdi ...
- Unity快速实现回合制游戏
对少时步步高RPG回合制游戏的甚是怀念,但是现在找一些当时的游戏来玩发现画面已经完全吸引不了我了,特别是最原始的黑白版伏魔记.侠客行之类的,剧情甚是不错但是却没有了要玩的激情,所以就想在 ...
- 回合制游戏中的活动需要注意的
回合制游戏中的活动 了解一个活动需要以下流程,下面分点阐述. 1. 活动的背景是什么? 游戏中的活动一定要有合理的背景剧情,而且这些背景剧情要和游戏的联系紧密,这样玩家在接触游戏的时候才不会 ...
- 今天开始做战斗,回合制战斗代码实现第一篇,从头开始,简单的2d回合制游戏
拖了这么久,终于弄到战斗系统了,不过仙剑demo的回合制战斗比较复杂,所以我们从最简单的2d回合制游戏战斗开始讨论,看看游戏战斗系统代码什么样子. 还记得回合制战斗的流程图吗,UI的时候我曾经贴过,, ...
- 第9章 梦的初现——开发回合制游戏《勇者斗恶龙》
这一章是对前面讲解的所有Windows 下游戏编程知识的一个总结和拔高,综合了Windows 基础编程,GDI 绘图基础,透明贴图,动画显示技术,输入消息处理以及粒子系统,是对前面八章内容的一个大综合 ...
- 回合制游戏网络通信协议及心跳机制调研
回合制策略游戏 游戏后台网络通讯 游戏通信协议 网络同步 TCP UDP 心跳机制 原理 心跳检测步骤 应用层发送心跳包的技术 要关闭掉线的TCP连接 UDP与心跳 心跳包和轮询的区别 客户端如何快速 ...
- 回合制游戏对战AI制作请重视这两个难点
游戏中的人机对战,"机"这一部分是由两个部分组成的:数值(比如bot数目.血量.命中率.技能cd.攻击力.防御力等等)和AI(人工智能,控制bot行为).很多没入行的朋友经常把这两 ...
最新文章
- Nessus更新到8.3.0
- 任正非最新内部信:过去只为赚点小钱,现在要用5G+AI战胜美国
- 开源:这个来自清华的开源项目火爆 GitHub
- java paintComponent的一些解读
- 一文讲解自动机器学习(AutoML)!
- 学习日志-中缀表达式转后缀表达式并计算结果
- Unity c#中Attribute用法详解
- Java死锁示例–如何分析死锁情况
- 【记事】今年的中秋节
- Ubuntu 更改 默认的Python版本
- 【DFS】LeetCode 17. Letter Combinations of a Phone Number
- 2台电脑一根网线传文件_安卓端和Mac快速连接传文件
- Atitit db query op shourt code lib list 数据库查询最佳实践 JdbcTemplate spring v2 u77 .docx Atitit db query o
- Canvas旋转元素
- 【Redis 开发与运维】开发运维的“陷阱”
- 【牛客刷题-SQL进阶挑战】NO5.窗口函数
- 在线与本地文件同步方案
- 【云和恩墨大讲堂】罗海雄 | 如何在不改SQL的情况下优化数据库
- linux系统下的动态壁纸,桌面应用|动态壁纸给linux发行版添加活力背景
- C/C++大文件/数据网络传输方法总结
热门文章
- 三大微分中值定理与两大积分中值定理
- 前端更新需要清空浏览器缓存_浏览器缓存机制分析及前端缓存清理
- js试题及答案(五)
- 开发一个可以查询并显示数据库内容的微信小程序
- Win10开始菜单卡死解决办法
- geany配置python_Geany配置教程(Python)windows
- 3d 图表的javaapi
- 现代操作系统学习笔记三、死锁
- 智能手机照片被误删如何恢复
- error LNK2001: 无法解析的外部符号 __imp____iob_func