Unity小知识---第三人称中设置摄像机的简单跟随
第三人称中设置摄像机的简单跟随
private Transform player;
private Vector3 offect;
private float smooothing = 3f; //插值运算的速度
void Start () {
player = GameObject.Find("Player").transform;
offect = transform.position - player.position;
//计算相机和物体的偏移量,好在后面设置跟随物体
}
//Update每帧时间不固定,FixedUpdate每帧的时间固定
//LateUpdate在所有Update调用后调用
//相机用LateUpdate因为多个update函数是先后顺序是随机的,所以可能摄像机先update而物体还未移动,而下一帧是若物体先update那么就会出现瞬移的情况。多数摄像机都要加上LateUpdate,即所有场景内的调用结束后再更新摄像机。
void LateUpdate () {
//设置相机一直偏移在物体的后面
//offect从世界坐标转换为player的局部坐标,会按照player的方位进行偏移
Vector3 targetPosition = player.position + player.TransformDirection(offect);
//让相机跟随物体
//用插值运算使运动更加平滑,防止掉帧
transform.position = Vector3.Lerp(transform.position, targetPosition, Time.deltaTime * smooothing);
//让相机一直望着物体
transform.LookAt(player.position);
}
TransformDirection
GameObject.TransformDirection(Vector3)
此函数是变换方向从局部坐标到世界坐标的转换,返回的是GameObject的Vector3方向。
Lerp插值运算
static function Lerp (from : Vector3, to : Vector3, t : float) : Vector3
从from到to,按照数字t在from和to之间运算。
返回值公式为:from + (to - from) * t
LookAt
重载1:
transform.LookAt(new Vector3(1,1,1));
旋转物体使z轴指向(1,1,1)点。
重载2:
transform.LookAt(gameobject.transform)
使游戏对象看向gameobject的transform的position;
Unity小知识---第三人称中设置摄像机的简单跟随的更多相关文章
- 【C#小知识】C#中一些易混淆概念总结(七)---------解析抽象类,抽象方法
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字 ...
- 【C#小知识】C#中一些易混淆概念总结(六)---------解析里氏替换原则,虚方法 分类: C# 2014-02-08 01:53 1826人阅读 评论(0) 收藏
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字 ...
- 【C#小知识】C#中一些易混淆概念总结(五)---------继承 分类: C# 2014-02-06 22:05 1106人阅读 评论(0) 收藏
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字 ...
- 【C#小知识】C#中一些易混淆概念总结(五)---------深入解析C#继承
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字 ...
- 【C#小知识】C#中一些易混淆概念总结(四)---------解析Console.WriteLine() 分类: C# 2014-02-05 17:18 1060人阅读 评论(0) 收藏
目录: [C#小知识]C#中一些易混淆概念总结 [C#小知识]C#中一些易混淆概念总结(二) [C#小知识]C#中一些易混淆概念总结(三) ------------------------------ ...
- 【C#小知识】C#中一些易混淆概念总结(三)---------结构,GC,静态成员,静态类
目录: [C#小知识]C#中一些易混淆概念总结 [C#小知识]C#中一些易混淆概念总结(二) ---------------------------------------分割线----------- ...
- 【C#小知识】C#中一些易混淆概念总结(二)--------构造函数,this关键字,部分类,枚举 分类: C# 2014-02-03 01:24 1576人阅读 评论(0) 收藏
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 继上篇对一些C#概念问题进行细节的剖析以后,收获颇多.以前,读书的时候,一句话一掠而 ...
- 微信小程序app.js中设置公有变量
初始化GlobalData 在App.js的最上方可以设置GlobalData的初始值. App({ globalData:{ appid: '1wqas2342dasaqwe232342xxxxxx ...
- 【C#小知识】C#中一些易混淆概念总结---------数据类型存储,方法调用,out和ref参数的使用
这几天一直在复习C#基础知识,过程中也发现了自己以前理解不清楚和混淆的概念.现在给大家分享出来我的笔记: 一,.NET平台的重要组成部分都是有哪些 1)FCL (所谓的.NET框架类库) 这些类是微软 ...
随机推荐
- Java发送邮件Utils
/** * 类文件说明 * */ public class SendMail { Logger log = Logger.getLogger(SendMail.class); /** * 发送邮件 * ...
- 16-EasyNetQ之自动订阅者
EasyNetQ v0.7.1.30版本有了一个简单AutoSubscriber.你能够使用它很容易的去扫描指定程序集中实现了IConsume 或 IConsumeAsync接口的类,然后这个自动订阅 ...
- IE6的checkbox, radio是通过defaultChecked决定是否选中
今天五群提到的BUG,说checked没有生效,一番百度谷歌,发现是它作怪. data.handler = function() { //IE6是通过defaultChecked来实现打勾效果 ele ...
- idata的各个类型
idata是51系列单片机能识别的存储器类型之一,固定指前面0x00-0xff的256个字节的片内RAM,其中前128字节和data的128字节完全相同,只是因为访问的方式不同.idata是用类似C中 ...
- linux进行Java开发环境的部署
一.前言: 今天正式向linux开发进攻了,其中遇到一些问题简单的记录一下,为之后的再次部署提供方便. 二.linux的Java8安装的两种方法: 1.源安装很简单,一个命令搞定. sudo apt- ...
- PHP网站
1.NetBeans 解决PHP调试问题:https://netbeans.org/ 支持PHP调试的版本 2. http://document.thinkphp.cn/manual_3_2.html ...
- EF的左连接查询
在EF中,当在dbset使用join关联多表查询时,连接查询的表如果没有建立相应的外键关系时,EF生成的SQL语句是inner join(内联),对于inner join,有所了解的同学都知道,很多时 ...
- 中国大学MOOC 玩转AutoCAD 熟悉AutoCAD的工作空间
- Loadrunner Analyze
Analysis 对controller运行的结果进行分析 1.首先必须明确:光靠Analysis是不行的,只要能通过Analysis分析出部分问题就已经很不错了, 善于利用它才是最关键的. 2.如何 ...
- AutoHotKey 使用ADODB读取Excel 报ADODB.Connection 未找到提供程序,可能未提供
一.系统环境 操作系统:Win7 64位 英文版 Office: Office 2010 64位/32位 AutoHotKey:AutoHotKey 1.1.26.01 二.问题现象 安装了A ...