1.使用两个Handle控制MainCamera的水平和垂直的旋转,PlayerHandle控制水平旋转,cameraHandle控制垂直旋转,这样我们可以很方便的控制相机。

MainCamera.PNG

2.在代码中我们用玩家输入作为控制的角度

    public PlayerInput pi;public float horizontalSpeed = 20.0f;public float verticalSpeed = 100.0f;private GameObject playerHandle;private GameObject cameraHandle;// Use this for initializationvoid Awake () {cameraHandle = transform.parent.gameObject;playerHandle = transform.parent.parent.gameObject;}// Update is called once per framevoid Update () {playerHandle.transform.Rotate(Vector3.up, pi.Jright * horizontalSpeed * Time.deltaTime);cameraHandle.transform.Rotate(Vector3.right, pi.Jup * verticalSpeed * Time.deltaTime);}

3.限制在X轴旋转的角度
将原来的直接用Rotate旋转改为,用一个变量作为间接值(不能直接限制cameraHandle的euler的x,因为我们在设置其值的时候,会自动将负的值转换为正的),所以我们用一个不受限制的中间量,量的改变用增量的方式来实现。

        tempEulerX += pi.Jup * -verticalSpeed * Time.deltaTime;tempEulerX = Mathf.Clamp(tempEulerX, -40.0f, 30.0f);//这里要用localEulerAngles,否则y不会使用父类的y,而是0,导致playerHandle的旋转控制不了cameraHandle的左右cameraHandle.transform.localEulerAngles = new Vector3(tempEulerX, 0,0);

4.相机延迟移动
我们使用Vector3中的Static Methods中的SmoothDamp方法,此方法常用于摄像机的移动,在一定时间(deltaTime)后将current的value转换到target的value。

camera.transform.position = Vector3.SmoothDamp(camera.transform.position,transform.position, ref cameraDampVelocity, 0.2f);

Unity-黑暗之魂复刻-角色摄相机相关推荐

  1. unity简单复刻无敌破坏王

    使用unity简单复刻无敌破坏王总结 国庆突发奇想想简单复刻一下无敌破坏王,这里写一些总结,希望也能对大家有帮助 游戏截图: 基本思路: 时间有限,也只是简单复刻,所以只实现破坏方块的功能,画面算是广 ...

  2. 傅老师黑暗之魂复刻笔记(第一季第一部分)

    1. 在Unity中通过一维混合树实现人物静止与跑动之间的动态切换,可以通过一维的参数混合两个动画,forward值为0时静止,1时完全走动: 2. GetComponent函数全部在Awake和St ...

  3. Unity-黑暗之魂复刻-角色攻击

    新增攻击动画层 1.在原来的BaseLayer基础上,新增加LayerMask,Weight表示新增层的权重,Blending我们设置成override. 2.创建avatar mask,先创建一个全 ...

  4. [技美CG]Unity3D复刻UnityShader 之 ShaderToy - Bubbles

    Unity3D复刻UnityShader 之 ShaderToy - Bubbles 背景: 官方地址/参考资料: ShaderToy-Bubbles原始代码: Unity复刻开始 核心显示类: 核心 ...

  5. Unity黑魂复刻经典教程心得(三)-CameraController

    CameraController 1.根据角色的位置来计算camera的位置 targetLookAt = new GameObject("targetLookAt").trans ...

  6. 【Mib自看】黑魂复刻Unity脚本

    [课程地址]B站傅老师Unity课程学习记录,仅代表个人理解. [自看]黑魂复刻Unity脚本 1.移动脚本 设计思路 2.动画 动画脚本:ActorController + 输入脚本:PlayerI ...

  7. 复刻 Unity编辑器 移动的方式

    复刻 Unity编辑器 移动的方式 第一人称移动 自定义键值补充 代码搭载 老规矩,直接上代码: 第一人称移动 using System.Collections; using System.Colle ...

  8. Unity复刻骑砍中的帝国象棋(一)

    Unity复刻骑砍中的帝国象棋(一) 起因和简介 这两天从一款游戏中发现了这么个棋类小游戏,觉得挺有意思,没错,就是下面这个: 作为程序员的我,一下就想到复刻它一下.这个棋类小游戏,我并不知道它确切的 ...

  9. Unity黑魂复刻经典教程心得(一)

    b站上傅老师的黑魂复刻教程,是比较好的,傅老师风情幽默,值得种草 https://www.bilibili.com/video/BV1gW411T7yb?p=55

最新文章

  1. 时间一天一天过去,很快;时间如果过的慢,更是没有意思
  2. 国二c语言改错题答案,c语言国二考试编程题答案
  3. ITK:Sobel边缘检测图像滤镜
  4. Java别说取余( )运算简单,你真的会吗
  5. 【软件工程】实体类的持久性
  6. jQuery 中 data 方法的实现原理
  7. 数据结构与算法之树的遍历
  8. C# 通过一个控制台打开另一个控制台
  9. 重装上阵两个人合体机器人_又一部热门定档!林超贤、彭于晏领衔《紧急救援》重装定档2021年大年初一...
  10. zabbix 3.0.7 for Centos 7.2 安装
  11. /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o: In function `_start‘: (.text+0x20
  12. 赛码行测题库_在线笔试— 赛码网试题(一)
  13. 契约精神,姜戈里的医生为什么要杀奴隶主 (标题有剧透),及编程等乱七八糟的...
  14. python三维数据转换成二维_用Python生成马赛克画
  15. python3爬取微博评论教程_用python 爬取微博评论,怎么打开微博评论下的查看更多|...
  16. python文件ab,Python文件
  17. java计算机毕业设计校园快递联盟系统源码+系统+mysql数据库+lw文档
  18. Oralce数据库备份与恢复
  19. 笔记——零知识证明zkSNARK
  20. 微信王者服务器怎么删掉,王者荣耀怎么删除微信好友 又快又好

热门文章

  1. Android-使用SimpleAdapter创建ListView
  2. android recovery分区内刷镜像,Android手机Recovery模式取证方法研究.pdf
  3. kodexplorer可道云插件之控制台
  4. 左手技术,右手生态 英特尔如何打响名为“数据”的战争?
  5. 对 iOS 14.2 糟糕的音乐控制界面的思考
  6. 做Android开发摸鱼是要付出代价的,被主管劝退,我后悔了!
  7. 最新版Shiro-SpringBoot项目实战笔记
  8. IM 去中心化概念模型与架构设计
  9. À¸´£º¹²ÏíÖйúÐÅÏ¢²úÒµ´øÀ´µÄÓ°ÏìÁ¦
  10. 【JAVA长虹键法】第五式 抽象工厂模式(23种设计模式)