Unity-黑暗之魂复刻-角色摄相机
1.使用两个Handle控制MainCamera的水平和垂直的旋转,PlayerHandle控制水平旋转,cameraHandle控制垂直旋转,这样我们可以很方便的控制相机。
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-黑暗之魂复刻-角色摄相机相关推荐
- unity简单复刻无敌破坏王
使用unity简单复刻无敌破坏王总结 国庆突发奇想想简单复刻一下无敌破坏王,这里写一些总结,希望也能对大家有帮助 游戏截图: 基本思路: 时间有限,也只是简单复刻,所以只实现破坏方块的功能,画面算是广 ...
- 傅老师黑暗之魂复刻笔记(第一季第一部分)
1. 在Unity中通过一维混合树实现人物静止与跑动之间的动态切换,可以通过一维的参数混合两个动画,forward值为0时静止,1时完全走动: 2. GetComponent函数全部在Awake和St ...
- Unity-黑暗之魂复刻-角色攻击
新增攻击动画层 1.在原来的BaseLayer基础上,新增加LayerMask,Weight表示新增层的权重,Blending我们设置成override. 2.创建avatar mask,先创建一个全 ...
- [技美CG]Unity3D复刻UnityShader 之 ShaderToy - Bubbles
Unity3D复刻UnityShader 之 ShaderToy - Bubbles 背景: 官方地址/参考资料: ShaderToy-Bubbles原始代码: Unity复刻开始 核心显示类: 核心 ...
- Unity黑魂复刻经典教程心得(三)-CameraController
CameraController 1.根据角色的位置来计算camera的位置 targetLookAt = new GameObject("targetLookAt").trans ...
- 【Mib自看】黑魂复刻Unity脚本
[课程地址]B站傅老师Unity课程学习记录,仅代表个人理解. [自看]黑魂复刻Unity脚本 1.移动脚本 设计思路 2.动画 动画脚本:ActorController + 输入脚本:PlayerI ...
- 复刻 Unity编辑器 移动的方式
复刻 Unity编辑器 移动的方式 第一人称移动 自定义键值补充 代码搭载 老规矩,直接上代码: 第一人称移动 using System.Collections; using System.Colle ...
- Unity复刻骑砍中的帝国象棋(一)
Unity复刻骑砍中的帝国象棋(一) 起因和简介 这两天从一款游戏中发现了这么个棋类小游戏,觉得挺有意思,没错,就是下面这个: 作为程序员的我,一下就想到复刻它一下.这个棋类小游戏,我并不知道它确切的 ...
- Unity黑魂复刻经典教程心得(一)
b站上傅老师的黑魂复刻教程,是比较好的,傅老师风情幽默,值得种草 https://www.bilibili.com/video/BV1gW411T7yb?p=55
最新文章
- 时间一天一天过去,很快;时间如果过的慢,更是没有意思
- 国二c语言改错题答案,c语言国二考试编程题答案
- ITK:Sobel边缘检测图像滤镜
- Java别说取余( )运算简单,你真的会吗
- 【软件工程】实体类的持久性
- jQuery 中 data 方法的实现原理
- 数据结构与算法之树的遍历
- C# 通过一个控制台打开另一个控制台
- 重装上阵两个人合体机器人_又一部热门定档!林超贤、彭于晏领衔《紧急救援》重装定档2021年大年初一...
- zabbix 3.0.7 for Centos 7.2 安装
- /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o: In function `_start‘: (.text+0x20
- 赛码行测题库_在线笔试— 赛码网试题(一)
- 契约精神,姜戈里的医生为什么要杀奴隶主 (标题有剧透),及编程等乱七八糟的...
- python三维数据转换成二维_用Python生成马赛克画
- python3爬取微博评论教程_用python 爬取微博评论,怎么打开微博评论下的查看更多|...
- python文件ab,Python文件
- java计算机毕业设计校园快递联盟系统源码+系统+mysql数据库+lw文档
- Oralce数据库备份与恢复
- 笔记——零知识证明zkSNARK
- 微信王者服务器怎么删掉,王者荣耀怎么删除微信好友 又快又好
热门文章
- Android-使用SimpleAdapter创建ListView
- android recovery分区内刷镜像,Android手机Recovery模式取证方法研究.pdf
- kodexplorer可道云插件之控制台
- 左手技术,右手生态 英特尔如何打响名为“数据”的战争?
- 对 iOS 14.2 糟糕的音乐控制界面的思考
- 做Android开发摸鱼是要付出代价的,被主管劝退,我后悔了!
- 最新版Shiro-SpringBoot项目实战笔记
- IM 去中心化概念模型与架构设计
- À¸´£º¹²ÏíÖйúÐÅÏ¢²úÒµ´øÀ´µÄÓ°ÏìÁ¦
- 【JAVA长虹键法】第五式 抽象工厂模式(23种设计模式)