Unity _坐标系_与旋转的关系

了解坐标系的特点是我们首要任务:
笛卡尔坐标系(Cartesian coordinates)(法语:les coordonnées cartésiennes)就是直角坐标系和斜坐标系的统称(特点是不同的坐标系经过一系列旋转我们都能重合)。
相交于原点的两条数轴,构成了平面放射坐标系。如两条数轴上的度量单位相等,则称此放射坐标系为笛卡尔坐标系。两条数轴互相垂直的笛卡尔坐标系,称为笛卡尔直角坐标系,否则称为笛卡尔斜角坐标系。

然而在游戏中我们你一般用的是三维坐标系(特点是不同的坐标系无论怎样旋转都不能完全重合):
这里写图片描述
这里写图片描述
左手定则(游戏世界坐标系)(决定旋向性(从Y轴转向X轴))(区别于二维坐标,三维坐标系分为左手和右手坐标(用手指模仿坐标轴即什么手))

在Unity中外部模型(FBX)在成像需要以下五个步骤:
工具(3dMax(右手定则)、Maya,)——资产调节(右手转左手(某轴负值化)(相对坐标))——应用程度(子物体会与父物体进行坐标减法最终再得到世界坐标(左手坐标))——几何(PU-GPU(视锥体剪裁(Camera右手法则(决定是什么现实在屏幕上(屏幕以左下为原点)(NGUI以左上为原点))(显卡驱动OpenGl(左下)、Dirext(右上)))))——光栅化()

以上的讲述就是为了便于理解物体旋转的因果,
这些映射到程序中是这样的,

    //正向旋转90度变为(1,0,0)
    Vector3 v = new Vector3(0, 0, 1);
    Quaternion q = Quaternion.identity;
    q.eulerAngles = new Vector3(0,90,0);
    //必须是q * v因为不支持v * q
    Vector3 result = q * v;

    Quaternion q = Quaternion.identity;
    q.eulerAngles = new Vector3(0,90,0);
    this.transform.rotation =q*this.transform.rotation ;
版权声明:本文为qq_39710961原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_39710961/article/details/78171448

智能推荐

Unity3D - Shader - 笛卡尔坐标系

二维笛卡尔坐标系 二维笛卡尔坐标系包含两部分信息: 一个特殊的位置,原点,是整个坐标系的中心 两条过原点的相互垂直的矢量,即X轴和Y轴,这些坐标轴也被称为是该坐标系的基矢量。 二维笛卡尔坐标系可以帮助我们精确地定位一个点的位置。 三维笛卡尔坐标系 三维笛卡尔坐标系需要3个坐标轴和一个原点。这三个坐标轴被称为该坐标系的基矢量(basis vector)。 标准正交基(orthonormal basi...

#Unity坐标系,向量,四元数(一)

3D坐标系 Unity使用笛卡尔坐标系来描述物体的坐标信息,一般分为左手坐标系和右手坐标系。 左手坐标系:Y轴上,X轴右方,Z轴向前。 右手坐标系:Y,X轴相同,Z轴相反。 Unity使用左手坐标系,3Dmaxs使用右手坐标系。 全局坐标系:世界坐标系 又称世界坐标系。在unity中创建的物体都是以全局坐标系(0,0,0)为基准点,来确定各自的位置。 局部坐标系 父子关系中,子物体会把父物体坐标系...

GIS开发中关于常用坐标系转换的问题(以Unity和MapBox为例)

目录 前言 一、常用坐标系 1.1 地理坐标系 1.1.1 地心坐标系 1.1.2 参心坐标系 1.2 平面投影坐标系 1.2.1 墨卡托投影 1.2.2 UTM投影 1.2.3 高斯-克吕格投影 1.2.4 兰勃特等角圆椎投影 1.3 空间直角坐标系 1.4 unity坐标系 1.4.1 世界坐标 1.4.2 屏幕坐标 1.4.3 视口坐标系 1.4.4 GUI坐标系 二、坐标系间的转换 2.1...

Bug2020-11-16:Unity 游戏物体旋转后 让它按自身坐标系Y轴运动 却沿Z轴运动

文章目录 需求: 解决: 问题: 症结: 补充: 需求: 子物体“XRayPic2”已顺x轴旋转了64度,目标是让它沿自身坐标系y轴,运动一段距离。 解决: 问题: 发现它似乎在沿z轴运动 症结: 它已经过旋转,而且transform的Translate方法,默认第二个参数是Space.Self,之上方向,应该写成Vector3.up 补充: 如果想用transform.u...

Java运行原理

1.Java运行原理       我们可通过文本编辑板生成Java源代码(.java)经过dos窗口由Java编译器(javac.exe)生成字节码文件(.class),字节码可由Java虚拟机转化为机器码供计算机读取处理。由于Java可以生成字节码可供虚拟机转译所以可跨平台运行。运行过程如下: 所以相对于C语言还需要转化为exe文件才能运行的权限,Java具有跨平台...

猜你喜欢

Python由放弃到入门,基础篇七(类)下

类的实例化 有感于现在python教程多如牛毛,且大多高不可攀,多次拜读而不得其门道,遂由入门到放弃。偶有机缘,得一不错教程,得以入门,现博客分享,想要获取完整教程,ff17328081445。 通过对比可以看到,实例化后再使用的格式,①是空着的,意思是这里不再需要@classmethod的声明,并且在第②处,把cls替换成了self。同时,实例化后再使用的格式,需要先赋值然后再调用(第③处): ...

pytorch CNN手写字体识别

数据整体训练一次,对于accuracy都是0的问题,由于刚开始学,有些代码的细节我也没看懂,不过整体结果是对的,可能是由于pytorch版本的更新,导致accuracy的计算方式有所改变 内容转载自:https://www.bilibili.com/video/av15997678/?p=19...

linux后台运行命令总结

linux后台运行命令总结 问题: 我们有时候需要登录远程服务器跑运行时间非常长的脚本,这个时候你要让脚本后台运行,不然占着终端窗口看着不舒服。但万一网络不好,(比如我这儿的破校园网,高峰时几秒钟断一次),终端突然和服务器之间的连接断了,那脚本就会自动停了(因为运行test.sh进程的父进程就是当前的shell终端进程,关闭当前shell终端时,父进程退出,会发送hangup信号给所有子进程,子进...

类对象模型和this指针

关于类/对象大小的计算 类只是一种类型定义,它本身是没有大小可言的。 我们这里指的类的大小,其实指的是类的对象所占的大小。因此,如果用sizeof运算符对一个类型名操作,得到的是具有该类型实体的大小。 首先,类大小的计算遵循结构体的对齐原则 类的大小与普通数据成员有关,与成员函数和静态成员无关。即普通成员函数,静态成员函数,静态数据成员,静态常量数据成员均对类的大小无影响 虚函数对类的大小有影响,...