Unity3D坐标系

作者: _凉笙 | 来源:发表于2016-12-13 23:19 被阅读0次

一 、世界坐标系--全局坐标系:

用来描述游戏场景内所有物体位置和方向的基准,也称为世界坐标系。
Unity场景中创建的物体都是以全局坐标系中的坐标原点(0,0,0)来确定各自的位置


世界坐标

二、局部坐标系(物体坐标系,模型坐标系)

每个物体都有其独立的物体坐标系,并且随物体进行相同的移动或者旋转。
局部坐标系:是相对于父物体来说也就是当两个游戏对象互为父子关系,那么子物体会以父物体的坐标点为自身的坐标原点。


局部坐标系

下面我们来看看我们的局部坐标和全局坐标的不同吧。首先我们将脚本挂载在子物体上,然后在脚本上写上我们的代码输出坐标。


Paste_Image.png 我们再来看看打印结果吧
打印值 我们我们怎么获取到子物体的局部坐标呢?
获取局部坐标

我们再看看其打印结果看是否正确


打印结果

三、相机坐标系:

根据观察位置和方向建立坐标系。(UGUI会详细讲述)
使用次此坐标可以方便判断物体是否在相机前方,以及物体间的先后遮挡顺序,它会优先渲染离他最近的物体。
它会优先渲染离他最近的物体。


相机坐标

四、屏幕坐标系:Screen Space

建立在屏幕上的二位坐标系,用来描述像素在屏幕上的位置。(像素在补充课件里面)以像素定义,以屏幕左下角为坐标原点(0,0),
右上角为(Screen.width,Screen.height),Z的位置是以相机的世界坐标位置来衡量的。
在我们手机、电脑都是有屏幕的,它的左下角就是屏幕坐标的原点。当然我们的屏幕坐标是二维的只有X,Y轴

屏幕坐标 现在我们来写一个事件测试下,点击屏幕的某一个位置就会显示屏幕的坐标位置。首先我们创建一个脚本让其挂载在摄像机上,然后开始写代码。
Paste_Image.png 保存后我们再来看看结果。
打印结果 然而我们怎么世界坐标转换成屏幕坐标呢?
世界坐标→屏幕坐标
camera.WorldToScreenPoint(obj.transform.position)
下面我们来看看如何使用吧,首先我们给摄像机挂载一个脚本,然后开始写我们的代码。
Paste_Image.png 然后来看看打印结果吧
打印结果
其他坐标系之间的转换

坐标系的转换:
1、局部坐标系转换到全局坐标系:
Transform.TransformPoint()
首先我们创建一个脚本让其挂载在我们的子物体上。

局部坐标 打印结果:
打印结果
全局坐标系转换到局部坐标系:
Transform.InVerseTransformPoint()
首先我们创建一个脚本让其挂载在我们的子物体上。
Paste_Image.png
打印结果:
打印结果
向量如何转为局部坐标系呢?
Transform.TransformDirection Paste_Image.png

向量如何转为全部坐标系呢?
Transform. InVerseTransformDirection

Paste_Image.png

五、View port Space 视口坐标

视口坐标是标准的和相对于相机的。相机的左下角为(0,0)点,右上角为(1,1)点,
Z的位置是以相机的世界单位来衡量的。
屏幕坐标→视口坐标
camera.ScreenToViewportPoint(Input.GetTouch(0).position)
世界坐标→视口坐标
camera.WorldToViewportPoint(obj.transform.position));

六、GUI界面坐标系

这个坐标系与屏幕坐标系相似,不同的是该坐标系以屏幕的左上角为(0,0)点,右下角为(Screen.width,Screen.height)。
print("世界坐标" + obj.transform.position);
print("屏幕坐标" + Input.GetTouch(0).position);

相关文章

  • Unity3D的四种坐标系

    Unity3D的四种坐标系 【Unity3D的四种坐标系】 1、World Space(世界坐标):我们在场景中添...

  • 游戏数学

    坐标系 右手坐标系:3d max 左手坐标系:Unity、Unreal 参考链接: 理解Unity3D中的四种坐标...

  • 说说Unity3D里的各种坐标系

    一、Unity3D中有哪些坐标系? 坐标系这个概念最早是由法国数学家笛卡尔提出的,并由此创造了用代数方法来研究几何...

  • Unity3D坐标系

    一 、世界坐标系--全局坐标系: 用来描述游戏场景内所有物体位置和方向的基准,也称为世界坐标系。Unity场景中创...

  • unity2D坐标系的坑

    一,开始就入坑 刚开始搞unity2d坐标系时想着:可能以后会同时兼容unity3d,,这样一想就出大问题了,,...

  • Unity3d中的坐标系

    Unity中的坐标系主要可以分为 一、世界坐标系和局部坐标系 3D坐标系分为左手坐标系和右手坐标系如下图,Unit...

  • Unity3D的几种坐标系

    坐标系介绍 1.World Space(世界坐标): 我们在场景中添加物体(如:Cube),他们都是以世界坐标显示...

  • 单目相机标定___一、原理

    原理:成像模型的坐标系为:世界坐标系 --> 相机坐标系 --> 图像坐标系 --> 像素坐标系 先说从相机坐标系...

  • WebGL知识点

    数学基础 坐标系:笛卡尔坐标系、极坐标等多坐标系:世界坐标系、物体坐标系、摄像机坐标系、惯性坐标系;向量、向量运算...

  • 2019-01-16echarts知识点

    echarts中的坐标系统分为,直角坐标系,极坐标系,雷达坐标系,地图坐标系

网友评论

    本文标题:Unity3D坐标系

    本文链接:https://www.haomeiwen.com/subject/apcbmttx.html