温故而知新之镜头旋转

一、第一人称视角public class CameraRot : MonoBehaviour {
        float x;
        float y;
	void Update () {
                x+= Input.GetAxis ("Mouse Y");
                y+= Input.GetAxis ("Mouse X");          //两个四元数相乘得到一个最终变化的四元数。
                transform.rotation = Quaternion.AngleAxis(y, Vector3.up) * Quaternion.AngleAxis(x, Vector3.left);
	}
}

  

二、第三人称视角public class CameraRot : MonoBehaviour {
        float x;
        float y;
        public Transform target;
        Vector3 dir;
        void Start(){
                dir = target.position - transform.position;
        }
	void Update () {
                x+= Input.GetAxis ("Mouse Y");
                y+= Input.GetAxis ("Mouse X");          //四元数乘向量得到变化后的向量
                transform.position=target.position-Quaternion.AngleAxis (y, Vector3.up) * Quaternion.AngleAxis(x, Vector3.left)*dir;
                transform.LookAt (target.position);
	}
}

  

时间: 2024-10-10 11:51:01

温故而知新之镜头旋转的相关文章

【小松教你手游开发】【unity实用技能】角色头部跟随镜头旋转

这个在端游上比较场景,在角色展示的时候,当摄像头在角色身边上下左右旋转时,角色头部跟随镜头旋转.如天涯明月刀等. 这个在手游上比较少见,不过实现也没什么区别. 首先一般情况下,找到模型的头部节点,直接用lookAt指向camera就可以了,不过一般需求不会这么简单. 比如说,超过头部扭动极限,头部需要插值回到原始点:当镜头从外部回到极限内,需要插值回来.这时候lookat就没法使用. 更有情况,头部本身坐标系不在世界坐标轴上, 可能旋转了90多或者输出的prefab就是歪的等等,这些情况都没办法

【转载】Unity3D研究院之IOS触摸屏手势控制镜头旋转与缩放

前几篇文章介绍了很多Unity3D引擎自身的一些问题, 今天我们在回到IOS设备上讨论一些触摸屏幕手势,本章的目标是通过触摸iPhone屏幕手势 实现模型左右的旋转,与模型的缩放. 大家想一想模型的旋转,实际上是镜头的旋转.模型的缩放实际上是镜头Z轴方向的坐标.那么实现本章的内容只需要控制镜头的位置方可实现. 我们创建一个简单的游戏平面, 然后平面中放一个箱子做为旋转缩放的参照物.如下图所示,选中摄像机,给摄像机添加一个脚本名称为Move. 脚本中有一个参数 Target,它的作用是设置摄像头旋

Unity3D中的第三人称镜头的脚本控制

原地址:http://blog.csdn.net/mobanchengshuang/article/details/27591271 好久没有敲Blog了,谢谢大家的留言.关注.私信等支持,但是我好像已经没有办法让自己继续写以前的博客系列了,因为我发现网上关于unity3D的内容太少了,所以我无法自拔地想写U3D相关的文章!!! 第三人称视角 第三人称视角是什么?很简单,CS就是一种第一人称视角游戏,玩家没有办法看到自己的角色形象,只能观察除开自己之外的游戏内容.第三人称视角那么就明显是能够看到

【第四组】第十六次冲刺报告会议

张:做了:街景的重复显示,街景反馈接口,街景路径优化,修复一个点显示BUG 问题:镜头旋转,搞到几个小时发现是谷歌API的BUG,这锅我不背 规划:变稀疏点为选取点,实现街景信息回传利用以优化播放,测试,没有街景的点不会跳过,标签的修改,很想重构轮询函数邱:做了:协助诸子轩完成显示整合 问题:没有 规划:协助完成所有功能的整合 武:做了:做了一些微小的调整 问题:没有问题 规划:收尾工作 诸:做了:小修小补,新增首页图库动画,街景播放动画,优化启动速度. 问题:第一次意识到磁盘IO速度有多慢.

NeHe OpenGL教程 第十课:3D世界

转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第十课:3D世界 加载3D世界,并在其中漫游: 在这一课中,你将学会如何加载3D世界,并在3D世界中漫游.这一课使用第一课的代码,当然在课程说明中我只介绍改变了代码. 这一课是由Lionel Brits (βtelgeuse)所写的

Unity制作简单3D图表

开篇废话: 在大学时稍微自学过一段时间Unity3D,虽然现在在做安卓,但一直对游戏开发很感兴趣,所以平时偶尔有空也会稍微看看,不过水平还是未入门菜鸟级的. 下面这个demo是看了雨松MOMO大神所写的几篇基础文章后,写的一个练习demo,用来展示简易的3D图表. 这个Demo非常初级,纯粹是为了练习知识点,但是所应用到的知识点非常基础,非常重要,适合初学者学习.截图如下:     简介: 这个Demo可以分为4个部分 第一部分--建立3D坐标系: 外框首先由四个平面所围成的一个"3D坐标系&q

第10课 OpenGL 3D世界

加载3D世界,并在其中漫游: 在这一课中,你将学会如何加载3D世界,并在3D世界中漫游.这一课使用第一课的代码,当然在课程说明中我只介绍改变了代码. 这一课是由Lionel Brits (βtelgeuse)所写的.在本课中我们只对增加的代码做解释.当然只添加课程中所写的代码,程序是不会运行的.如果您有兴趣知道下面的每一行代码是如何运行的话,请下载完整的源码,并在浏览这一课的同时,对源码进行跟踪.好了现在欢迎来到名不见经传的第十课.到现在为止,您应该有能力创建一个旋转的立方体或一群星星了,对3D

Unity3D第三人称摄像机控制脚本

好久没有敲Blog该.感谢您的留言.注意.私人信件和其他支持,但我似乎没有办法继续自己曾经写了一篇博客系列,因为我在网上找到有关unity3D太少的内容,U3D相关的文章!.. 第三人称视角 第三人称视角是什么?非常easy,CS就是一种第一人称视角游戏,玩家没有办法看到自己的角色形象,仅仅能观察除开自己之外的游戏内容.第三人称视角那么就明显是可以看到玩家所控制的角色的一种视角. 并且大部分游戏的镜头不能固定不动,肯定是要尾随猪脚.能看到猪脚,可是保持一定的高度和距离,这种视角才是最好的. U3

Unity之一天一个技术点(十二)---指南针的实现

指南针的实现(可据镜头旋转改变) 代码如下: 变量简述: compassGUISkin皮肤用来显示指南针贴图 标签Label贴图用来作为指南针背景  Box贴图用来作为箭头贴图 把脚本赋予给主镜头即可 GUI.skin = compassGUISkin; var compassAngle : float = transform.rotation.eulerAngles.y;//得到镜头的y轴旋转角度 var compassDiameter : float = 128; var compassWi