unity和3d坐标系以及和ue的比较

这篇具有很好参考价值的文章主要介绍了unity和3d坐标系以及和ue的比较。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

3d坐标系

unity和ue都采用左手坐标系
unity和3d坐标系以及和ue的比较,编辑器
在3d软件中,大多数软件都用红色代表x轴,绿色代表y轴,蓝色代表z轴。
不同的是
在unity中X轴代表右方,Y轴代表上方,Z轴代表前方;
在ue中X轴代表前方,Y轴代表右方,Z轴代表上方;
unity和3d坐标系以及和ue的比较,编辑器
unity和3d坐标系以及和ue的比较,编辑器

移动、旋转、缩放

缩放:根据自身缩放,不受坐标系影响,
(移动和旋转则分为根据世界坐标系和自身坐标系2种)

移动:通常在update()方法中每帧重复执行,其中Vector3和Transform类都可以实现。Transform围绕的是自身坐标系,Vector3围绕的是世界(全局)坐标系。当自身坐标系和世界坐标系重合时,两种方法效果一致。

旋转:Unity 在内部使用四元数表示。

四元数在 Inspector 中显示等效的欧拉角值以便于进行编辑。四元数可用于表示游戏对象的方向或旋转。此表示方式在内部由四个数字组成(在 Unity 中称为 x、y、z 和 w),但是这些数字不代表角度或轴,您通常不需要直接访问它们。除非特别想深入研究四元数的数学原理,否则只需要知道四元数代表 3D 空间中的旋转即可,通常不需要知道或修改 x、y 和 z 属性。
与矢量可以表示位置或方向(从原点测量方向)的方式相同,四元数可以表示方向或旋转:从旋转“原点”或“Identity”测量旋转。由于旋转的这种测量方式(从一个方向到另一个方向),因此四元数不能表示超过 180 度的旋转。
优点:四元数旋转不受万向锁的影响。
局限性:单个四元数不能表示任何方向超过 180 度的旋转。
局限性:四元数的数字表示在直观上难以理解。

欧拉角
优点:欧拉角具有直观的“可读”格式,由三个角度组成。
优点:欧拉角可表示通过大于 180 度转向从一个方向到另一个方向的旋转
局限性:欧拉角受到万向锁 (Gimbal Lock) 的影响。当依次施加三个旋转时,第一个或第二个旋转可能导致第三个轴的方向与先前两个轴之一相同。这意味着已失去“自由度”,因为不能围绕唯一轴应用第三个旋转值。

https://docs.unity.cn/cn/2019.4/Manual/QuaternionAndEulerRotationsInUnity.html

个人理解:因为欧拉角的旋转是按照一定顺序进行的,具有过程性而不是直接看结果。在旋转过程中,外轴带动内轴共同旋转,但是内轴不能带动外轴旋转,所以当中间轴转到90度时,最外侧的轴和最内侧的轴会产生共面,从而造成死锁丢失自由度。这种缺陷是由于欧拉角本身在定义时产生的。所以没有办法解决,只能尽量避免。例如在unity中旋转摄像机时候,通常会进行巡航(沿y轴旋转)、俯仰(沿x轴旋转),而滚动(沿z轴旋转)频率最低,所以把z轴作为中间轴。而想彻底解决这个问题,则使用四元数。
查阅资料时发现,大多数文章都是用平衡框架来举例内轴不能带动外轴旋转的共面现象,但是在实际工程软件中操作如发现无论怎么旋转、旋转哪个轴,3个轴都会同时改变,所以我猜测本质上这些软件在内部都是用四元数进行旋转,而表示上用欧拉角更加直观。并且使用四元数也更便于插值。文章来源地址https://www.toymoban.com/news/detail-680732.html

到了这里,关于unity和3d坐标系以及和ue的比较的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Nuscenes——实现世界坐标3D点投影到像素坐标系中

    首先在 mmdetection3d/tools/data_converter/nuscenes_converter.py 中, get_2d_boxes() 可以直接从nuscenes原始sample数据中获取已标注的3D box信息,因此该函数就可以实现整体投影过程。 投影原理 投影过程分为以下几步: 世界坐标系 —— Ego坐标系(自身) 这里需要世界坐标系原点变换到自身的

    2024年02月11日
    浏览(35)
  • Unity坐标系的转换—世界坐标转为UI坐标

    直接调用WorldToAnchorPos,传入对应的参数返回UGUI坐标

    2024年04月13日
    浏览(34)
  • 3D开发学习之笛卡尔坐标系

    作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?   2D笛卡尔坐标系具有以下特点: 1.2D笛卡尔坐标系都具有一个原点,原点坐标为(0,0); 2.2D笛卡尔坐标系都有两条过原点向两边无限延伸的直线,称之为轴;   2D笛卡尔坐标系轴的方向可以是如下形

    2024年02月10日
    浏览(47)
  • matplotlib 齐次坐标系 绘制旋转 3D 立体

    齐次坐标系描述了刚体的坐标系、位置,而且还提供了一套相对旋转、相对移动、绝对旋转、绝对移动的方法,用来绘制旋转的 3D 立体是再好不过的选择 将笛卡尔坐标系的三个轴记为 ,将任意的齐次坐标系记为 我们使用这样一个矩阵来描述 坐标系与 坐标系之间的关系:

    2024年02月09日
    浏览(32)
  • Unity 坐标系

    常见的三维软件都采用笛卡尔坐标系,也就是常见的xyz轴坐标系。笛卡尔坐标系可以是左手坐标系也可以是右手坐标系,如下图所示  两种坐标系是镜像对称的。而Unity采用左手系,且xyz轴的默认方向与图中的左手系完全一样,分别对应右、上、前。 总结如下: x:右,(1,

    2024年02月07日
    浏览(36)
  • Unity坐标系转换

    坐标系的转换 世界坐标系和本地坐标系的相互转换函数如下。 ● Transform.TransformPoint(Vector3position):将一个坐标点从本地坐标系转换到世界坐标系。 ● Transform.InverseTransformPoint(Vector3position):将一个坐标点从世界坐标系转换到本地坐标系。 ● Transform.TransformDirection(Vec

    2024年02月07日
    浏览(45)
  • Unity学习——坐标系

      在Unity中所有物体都处于坐标系中,了解坐标系的基本内容十分有必要。这篇文章就简单介绍一下Unity中关于坐标系的相关内容   Unity中共包含四类坐标系:     1)世界坐标系(全局坐标系)     2)本地坐标系(局部坐标系)     3)屏幕坐标系     4)视

    2024年02月01日
    浏览(26)
  • 【Unity基础概念--坐标系】

    对于我这个Unity初学者来说,在学习过一段时间的Unity相关知识后,对于Unity中坐标系的概念不是很明确清楚,是时候做一下坐标系相关知识的总结了。 世界坐标是按照笛卡尔坐标系定义出来的绝对坐标系,下面的各种坐标系都建立在世界坐标的基础上。我们知道二维平面内任

    2024年01月16日
    浏览(31)
  • WGS84以及各种坐标系

    地心地固坐标系(Earth-Centered, Earth-Fixed,ECEF),简称地心坐标系。 地理坐标系统(Geographic Coordinate System,GCS)​​1​​,坐标系是地心坐标系,用经纬度表示球面上的点。 世界大地测量系统(World Geodetic System, WGS),比如WGS84,是一种地理坐标系统,用于全球定位系统(

    2024年02月11日
    浏览(33)
  • wpf 3d 坐标系和基本三角形复习

    wpf 3d 坐标系的描述见此,  WPF 3d坐标系和基本三角形_wpf 坐标系_bcbobo21cn的博客-CSDN博客     X轴正向向右,Y轴正向向上;Z轴,正向是从屏幕里边出来,负向是往屏幕里边去;坐标原点是在呈现区域的中心;  画一个三角形如下;         看摄像机属性,摄像机是在呈现区域

    2024年02月13日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包