unreal3的坐标系统和vector/rotator
unreal3的坐标系有点奇葩,属于【z轴向上的左手坐标系】:
1、左手食指指前方,x正向
2、大拇指指上方,z正向
3、中指指右方,y正向

若以我们人头摆正时来参考:
1、目视的是前方,x正向
2、头顶的是上方,z正向
3、右边是右方,y正向
特殊的地方在于:
通常在d3d这样的系统里,地平面上是x、z两个轴,且“向着屏幕里面”的那个轴是z轴正向,而在unreal3里地平面上是x,y轴,且y轴负向指向屏幕。
关于Vector:
1、这是3维向量,另外还有Vector2D和Vector4
2、dot、cross、*(星号)都是是操作符,分别表示点乘、叉乘、各分量乘
3、常用函数:Sqrt,VSize,VSizeSq,VSize2D,Normal,IsZero,ClampLength,VRand,MirrorVectorByNormal,ProjectOnTo
4、坐标系变换:CamRot是一个Rotator,表示一次空间变换,则 V>>CamRot,从局部空间转到全局空间; V<<CamRot,从全局空间转到局部空间
关于Rotator:
struct Rotator
{
var() config int Pitch, Yaw, Roll;
};
1、3个分量的应用顺序其实是:Yaw,Pitch,Roll,并且Roll是相对于自身的,对一纯vector而言,roll并没有意义
2、因为类型为int(而非传统的float),所以范围和精度有限制,用65536来表示2pi,其它常用值参考:
/********************
*****Reference*******
*********************
* 65536 = 360 degrees
* 32768 = 180 degrees
* 16384 = 90 degrees
* 8192 = 45 degrees
* 182 = 1 degree
*********************/
3、可以和Vector互相转换,但从Vector转回来的Rotator,roll分量为0
local rotator myRot;
local vector myVec;
...
myVec = vector(myRot);
...
...
myRot = rotator(myVec);
...
最后,在代码里定义一个Vector或Rotator时可以写成:
myVec=vect(0,0,0)
myRot=rot(0,100,100)
这是因为vect和rot是unrealscript特别定义的“literals”,就像true和false一样
unreal3的坐标系统和vector/rotator的更多相关文章
- 理解SVG坐标系统和变换: transform属性
SVG元素可以通过缩放,移动,倾斜和旋转来变换-类似HTML元素使用CSS transform来变换.然而,当涉及到坐标系时这些变换所产生的影响必然有一定差别.在这篇文章中我们讨论SVG的transf ...
- 2. svg学习笔记-svg中的坐标系统和viewbox
我是通过<SVG精髓>这本书学习的svg,说实话,这本书写的不好,或者说翻译的不好,我没有看过这本书的原版,不知道原文写的怎么样,但是翻译出来的有些句子真的很拗口.以前老师给我们API文档 ...
- SVG中的坐标系统和坐标变换
视野和世界 2D绘图中很多人会有一个误区,就是我绘图的区域是一个矩形区域.无论新建一个画布还是创建了一个容器,心里都想象里面有一个矩形区域.其实,在SVG当中,矩形区域只是视野,是我们看到的部分.实际 ...
- 理解SVG坐标系统和变换: 建立新视窗
在SVG绘制的任何一个时刻,你可以通过嵌套<svg>或者使用例如<symbol>的元素来建立新的viewport和用户坐标系.在这篇文章中,我们将看一下我们如何这样做,以及这样 ...
- pyqt5-QWidget坐标系统和大小
获取坐标和尺寸: 坐标的获取视频教程:https://v.qq.com/x/page/t085892mzh9.html x() y() 返回控件的坐标 相对于父控件的坐标(窗口框架左上角) ...
- SVG坐标系统和transformation彻底理解
翻译自https://sarasoueidan.com/blog/svg-coordinate-systems/ SVG元素不像传统的HTML elements一样受制于css box model.这 ...
- qt5-QWidget坐标系统和大小和展示区域
#include "win.h" #include <QPushButton> #include <QLabel> #include <QDebug& ...
- Silverlight & Blend动画设计系列十:Silverlight中的坐标系统(Coordinate System)与向量(Vector)运动
如果我们习惯于数学坐标系,那么对于Silverlight中的坐标系可能会有些不习惯.因为在Silverlight中的坐标系与Flash中的坐标系一样,一切都的颠倒的.在标准的数学坐标系中,X轴表示水平 ...
- coco2d-x中的坐标系问题
(1)OpenGL坐标系 Cocos2D-x以OpenGL和OpenGL ES为基础,所以自然支持OpenGL坐标系.该坐标系原点在屏幕左下角,x轴向右,y轴向上. (2)屏幕坐标系 屏幕坐标系使用的 ...
随机推荐
- mysql--1130ERROR
问题一:mysql 用户登录不用验证密码(用户已设密码) 安装好mysql 后,我发现我设立了密码,同样可以不用密码就能登陆 cmd>mysql cmd>select current_us ...
- 查看并更改mysql编码
show variables like 'character%'; set character_set_client=utf8 ; set character_set_connection=utf8 ...
- 堆外内存操作类ByteBuffer
本篇主要讲解如何使用直接内存(堆外内存),并按照下面的步骤进行说明: 1 相关背景-->读写操作-->关键属性-->读写实践-->扩展-->参考说明 希望对想使用直接内存 ...
- Apache Httpd + Subversion 搭建HTTP访问的SVN服务器
最近要搭建一个SVN服务器.简单安装之后,本地访问没有问题,但作为服务器肯定是需要HTTP访问.搜索之后,以下是我按照网上的资料搭建的过程,以备后用和参考.(所有软件安装步骤略,没有特殊的,如果没有特 ...
- jspSmartUpload上传下载全攻略
http://blog.itpub.net/92037/viewspace-788900/
- 创建一个swift项目
笔者认为你已经有了oc的开发基础,流程是一样的,选择开发语言为swift即可.这里主要说明一下一些常用的配置: 一般我们不使用XIB和storyboard,所以在系统自动创建的文件中删除main.st ...
- Linux下grep命令
2.grep命令 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本 ...
- GRIDVIEW 控件
http://www.cnblogs.com/shanymen/archive/2009/05/22/1486654.html GridView控件是.net里的一个显示数据控件,该控件制作很人性化, ...
- spring mvc 初始化错误
java.lang.NoSuchMethodError: org.springframework.util.ClassUtils.isPresent(Ljava/lang/String;Ljava/l ...
- Cacti客户端SNMP的安装和配置
安装 yum -y install net-snmp 配置 编辑/etc/snmp/snmpd.conf文件 找到下面这句: access notConfigGroup "" ...