本文将详细介绍Player的相机设计,不适用任何插件,如何制作类似RPG游戏的相机。

首先,设置正确的Hierarchy层级关系:将camPos的position和euler传递给Main Camera即可

其次,设计思路:视野左右旋转调节Player的rotate,上下旋转调节cameraController

这样设计的好处是符合我们实际的操作习惯,例如玩家要向前移动,默认是希望向前视野的前方移动,所以在水平方向上来调节Player的rotation更好,竖直方向上我们可能还需要做lockon注视等操作,同时,放在一个物体上进行旋转容易产生万向锁,所以这样分开处理。

最后,处理上下视野切换时,容易产生的翻转问题,见代码

代码:

下面这段代码根据上面的设计,实现了镜头的旋转,并限定上下旋转镜头的范围是-40~50.但是会出现一个严重的bug,上下旋转时cameraController的x欧拉角永远不会小于0,小于0则会从50开始,这可能跟读取欧拉角时默认读取正数有关,例如当x欧拉角旋转为-1时,读取数据会变为359,最后根据clamp则变为50,所以镜头会在0附近进行较大幅度的突变。

解决方案是,在start方法里就读取出x轴的欧拉角,在update中完成计算后,再赋值给物体自身,见代码:

这样就基本完成了一个相机的设计。

Unity制作RPG游戏——相机的设计与实现相关推荐

  1. Unity制作RPG游戏——战斗注视LockOn实现方法

    一.实现步骤 1.在Input脚本中新增一个LockOn信号,显然它是Onpressed信号 2.当LockOn信号为true时,调用cameraController中的LockUpLock方法,主要 ...

  2. Unity制作RPG游戏——按键功能的分类与实现

    这一部分跟大家分享一个游戏开发中一个必须明白的问题,那就是怎么设计按键,有哪几种按键,怎么实现? 一.按键的种类 简单来说,一般有三类, press signal :键位输入等,按下时获取并更新输入 ...

  3. Unity制作RPG游戏——碰撞检测

    在介绍相机之前,有必要介绍一下碰撞检测.在unity中很多地方都需要用到碰撞检测,例如在人物的移动过程,我们需要检测角色当前是否在地面上,那么有一些比较合适的检测方案,例如物理射线等,untiy中有一 ...

  4. 使用Unity开发RPG游戏完整指南(全)

    使用Unity开发RPG游戏完整指南(全) - GameRes游资网 关注公众号 风色年代(itfantasycc) 200G Unity资料合集送上~ 本教程教大家如何使用Unity创建一个RPG游 ...

  5. Unity制作格斗游戏核心思路总结

    http://anchorart9.com/2016/05/22/unity%E5%88%B6%E4%BD%9C%E6%A0%BC%E6%96%97%E6%B8%B8%E6%88%8F%E6%A0%B ...

  6. Python——利用pygame模块制作RPG游戏(一)

    利用pygame模块制作RPG游戏(一) 需要用到的第三方库:pygame 一.构造游戏的基本框架 1.首先准备好相应的游戏素材:背景,人物动作图片,音乐,音效等. 图片均用png格式,音乐音效均用o ...

  7. 使用Unity开发RPG游戏完整指南

    本教程教大家如何使用Unity创建一个RPG游戏.类似我们之前介绍过的RPG游戏<Ghost of a Tale>,玩家可以在城镇场景中进行导航并寻找战斗,并在战斗中遇到不同类型的敌人.玩 ...

  8. unity3d制作RPG游戏系列(4)——UI界面

    个人博客文章链接:http://www.huqj.top/article?id=161 游戏中除了3d场景以外,UI界面也是很重要的一部分,例如主角的头像.血条.背包.按钮等. 下面是myrpg中的简 ...

  9. RPG游戏攻防公式设计探讨

    游戏战斗模型之中,各种战斗公式的设计完全依照设计者的需求所致.这些战斗公式错中复杂,而且关联性十分紧密,因此我们在设计战斗模型时,必须先从宏观上来考虑战斗的整体流程. 数学公式的原理来自于设计师的概念 ...

最新文章

  1. JS实现HashMap
  2. 怎么给web 服务器 传文件,web文件传到服务器
  3. HDU5985 Lucky Conins 概率题
  4. Android项目使用Eclipse进行单元测试
  5. stanford-parser for C#
  6. 谈智能DNS解析的应用
  7. Android学习Matrix对称变换5
  8. usb网卡android驱动+win7,USB无线网卡万能驱动下载
  9. 基于F407ZGT6的WS2812B彩灯驱动
  10. 多张图片怎么合成一个pdf文件?
  11. abs在c 语言中的作用是什么意思,abs什么意思 c语言中abs是什么意思
  12. lambda累加求和
  13. 机器学习-决策树算法
  14. MSP430 G2553 Launchpad实现电容测量
  15. java实现hdf5表数据的动态逐条追加
  16. 摄影测量外方位元素代码
  17. 互动教程 for Xcode10 and Swift4.2
  18. python算法工程师需要会写什么_算法工程师到底在干嘛
  19. 【Altium Designer学习】:排针类元件模型的创建以及阵列式粘贴方法
  20. python 超大json文件读取

热门文章

  1. 【转载】何必言精通——十年杂感 兼谈其它
  2. AR乐园实例教程项目1---AR动物园(中)的实现
  3. java textarea 大小_textarea高度自适应的两种方案
  4. 为何八位有符号整数的范围是-128~127,而不是-127~128
  5. ADO.NET新手上路教程
  6. 2013年工作中遇到的20个问题(Bug):161-180
  7. Android 直播、短视频平台第三方宝宝特效SDK接入方式
  8. 如何烧写Uboot-Ralink5350为例
  9. WebBrowser 事件
  10. 解决C#下使用webbrowser控件不刷新问题