unity3d 参考坐标系
原地址:http://www.cnblogs.com/88999660/archive/2013/04/01/2993844.html
参考坐标系(Reference Coordinate System)列表是让你指定用于变换(移动move、旋转rotate和缩放scale)的坐标系。选项包括视图坐标view,屏幕坐标screen,世界坐标world,父坐标parent,局部坐标local,网格坐标grid和拾取坐标pick。
在屏幕坐标系下,所有的视图(包括***图perspective)使用视口屏幕坐标。 视图坐标view是世界坐标world和屏幕坐标screen的混合坐标系。使用视图坐标时,所有的正交视图(orthgraphic views)使用屏幕坐标screen,然而***图使用世界坐标world。
注意:坐标系被设置在一种变换对另一种变换的基础之上,所以在选择坐标系之前应先选择变化方式。如果你不想改变坐标系,打开Customize menu > Preferences > General tab > Reference Coordinate System group > Constant。
逐项解释:
View视图坐标:在默认坐标系下,在所有的(正交)视图中X,Y,Z三个轴是相同的。当你使用这个坐标系移动一个对象时,你所移动的对象与视口空间有如下关系。
·X轴总是指向(屏幕)右侧。
·Y轴总是指向(屏幕)上方。
·Z轴总是垂直屏幕指向你。
Screen屏幕坐标:使用激活的视口屏幕作为坐标系。
·X轴是水平的,正方向指向(屏幕)右侧。
·Y轴是垂直的,正方向指向(屏幕)上方。
·Z轴是进深的,正方向指向你。
因为屏幕坐标模式是以激活视口作为它的坐标方向,未激活视口中轴三脚架上X,Y,Z的指向显示当前激活视口的方向。当你激活这个视口时,轴三脚架上的指向将会改变。
World世界坐标:从前视图front看:
·X轴正方向指向(屏幕)右侧。
·Z轴正方向指向(屏幕)上方。
·Y轴正方向背离你。
Parent父坐标:使用所选择对象的父对象的坐标系统。如果对象未链接到特定的物体上,那么它是世界的子物体,即父坐标与世界坐标相同。
Local局部坐标:使用所选择对象的坐标系统。一个对象的局部坐标来自它的枢轴点。你可以通过使用选项中的Hierarchy命令面板, 相对于对象调整局部坐标的位置和方向。
当局部坐标处于激活状态,按钮“Use Transform Center”是不起作用的,所用的变换使用局部坐标轴作为变换的中心。在一个选择集中的几个物体,每个分别使用它自己的中心来做变换。
Grid网格坐标:使用激活网格的坐标系。
Pick拾取坐标:使用场景中另一个对象的坐标系。
当你选择Pick以后,单击选择单个物体,此物体的坐标系将被用于变换。对象的名字出现在变换坐标系列表中。
事实是在列表中所存储的对象名称使你可以拾取此对象的坐标系,改变激活的坐标系,而且可以稍后再使用对象坐标系。列表中储存四个最近拾取的对象名称。
当你使用拾取坐标来指定一个对象作为参考坐标系时,你能够按下“H”显示选择对象对话框,并从那里选择对象。
----World Coordinate System--世界坐标系
这个坐标系将世界空间或模型空间作为一个整体。
世界空间是世界坐标系,世界坐标系是软件用于在场景中追踪对象的。当你看到视口中的主珊格,你就见到世界空间坐标系。世界空间是固定不变的。
在世界坐标系下,从前视图front看去,X轴正方向指向(屏幕)右侧,Z轴正方向指向(屏幕)上方,Y轴正方向背离你。
----Local Coordinate System--局部坐标系 局部坐标系是与所选择对象具有特定关系的坐标系。
每个对象有它自己的局部中心和坐标系,这与定义的此对象枢轴点的位置和方向相同。一个对象的局部中心和坐标系联合定义了它的物体空间。
对象的X,Y,Z轴的方向,Z轴依赖于对象的当前变换。与世界坐标系比较。当你无意中旋转一个对象时你能够发现两个坐标系之间的不同,例如一个汽车模型的车轮,用世界坐标轴代替对象局部坐标轴。车轮立即沿一个大的弧线飞出,因为旋转的中心是在世界坐标的原点。
要正确旋转车轮,首先变换坐标系为局部坐标,使用工具条中的参考坐标系列表。车轮绕它自己的中心旋转,那里是他局部坐标的原点。
----Pivot Point--枢轴点
变换中心,或称枢轴点,是发生旋转或发生比例变形的部位。
所有的物体具有一个枢轴点。你可以想象枢轴点为一个对象的局部中心或局部坐标系的代表。
一个对象的枢轴点用于以下几个目的:
·当枢轴点变换中心被选择时,作为旋转和比例变换的中心。
·设置修改器中心的默认位置。
·定义所链接子物体的变换原点。
·定义IK结合的位置。
通过使用“Hierarchy”命令面板中的“Pivot”功能,你能够在任何时候显示和调节一个对象的枢轴点的位置和方向,调节一个对象的枢轴点不会影响任何与其链接的子物体。
unity3d 参考坐标系的更多相关文章
- Unity3d学习 预设体(prefab)的一些理解
之前一直在想如果要在Unity3d上创建很多个具有相同结构的对象,是如何做的,后来查了相关资料发现预设体可以解决这个问题! 预设体的概念: 组件的集合体 , 预制物体可以实例化成游戏对象. 创建预设体 ...
- Unity3d入门 - 关于unity工具的熟悉
上周由于工作内容较多,花在unity上学习的时间不多,但总归还是学习了一些东西,内容如下: .1 根据相关的教程在mac上安装了unity. .2 学习了unity的主要的工具分布和对应工具的相关的功 ...
- TDD在Unity3D游戏项目开发中的实践
0x00 前言 关于TDD测试驱动开发的文章已经有很多了,但是在游戏开发尤其是使用Unity3D开发游戏时,却听不到特别多关于TDD的声音.那么本文就来简单聊一聊TDD如何在U3D项目中使用以及如何使 ...
- warensoft unity3d 更新说明
warensoft unity3d 组件的Alpha版本已经发布了将近一年,很多网友发送了改进的Email,感谢大家的支持. Warensoft Unity3D组件将继续更新,将改进的功能如下: 1. ...
- Unity3D框架插件uFrame实践记录(一)
1.概览 uFrame是提供给Unity3D开发者使用的一个框架插件,它本身模仿了MVVM这种架构模式(事实上并不包含Model部分,且多出了Controller部分).因为用于Unity3D,所以它 ...
- Unity3D 5.3 新版AssetBundle使用方案及策略
1.概览 Unity3D 5.0版本之后的AssetBundle机制和之前的4.x版本已经发生了很大的变化,一些曾经常用的流程已经不再使用,甚至一些老的API已经被新的API所取代. 因此,本文的主要 ...
- 山寨Unity3D?搜狐畅游的免费开源游戏引擎Genesis-3D
在CSDN上看到了<搜狐畅游发布3D游戏引擎Genesis-3D 基于MIT协议开源>(http://www.csdn.net/article/2013-11-21/2817585-cha ...
- 从Unity3D编译器升级聊起Mono
接前篇Unity 5.3.5p8 C#编译器升级,本文侧重了解一些Mono的知识. Unity3D的编译器升级 新升级的Mono C#编译器(对应Mono 4.4) Unity编辑器及播放器所使用的M ...
- Unity3D和Egret3D的基情
Unity3D依靠多平台发布这个核心特点,目前如日中天,屌丝引擎之王绝无来者.Egret白鹭引擎,也着实在微信上刷了一屏又一屏.这二者似乎风马牛不相及,但是这个无处不搞基的年代,让一切皆有可能. U3 ...
随机推荐
- SQL 内置排名函数 DENSE_RANK
求排名前五的数据信息: 实现一: select distinct top 5 Id,Title,sort from content order by sort DESC 实现二: select * f ...
- HDU 5115 Dire Wolf 区间dp
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5115 Dire Wolf Time Limit: 5000/5000 MS (Java/Others ...
- POJ 2449Remmarguts' Date K短路模板 SPFA+A*
K短路模板,A*+SPFA求K短路.A*中h的求法为在反图中做SPFA,求出到T点的最短路,极为估价函数h(这里不再是估价,而是准确值),然后跑A*,从S点开始(此时为最短路),然后把与S点能达到的点 ...
- BZOJ-1877 晨跑 最小费用最大流+拆点
其实我是不想做这种水题的QWQ,没办法,剧情需要 1877: [SDOI2009]晨跑 Time Limit: 4 Sec Memory Limit: 64 MB Submit: 1704 Solve ...
- BZOJ-1934 Vote 善意的投票 最大流+建图
1934: [Shoi2007]Vote 善意的投票 Time Limit: 1 Sec Memory Limit: 64 MB Submit: 1551 Solved: 951 [Submit][S ...
- HDU 1060 Left-most Digit
传送门 Leftmost Digit Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- c++ struct的两个注意点
1.C++的结构体变量在声明的时候可以省略struct,在c中这样是不可以的,例子如下 #include<iostream> #include<string> using na ...
- javascript-如何判断一个对象为数组
Q:如何判断一个对象是否为数组? A1:判断对象的constructor是否指向Array, 接着判断对应的特殊属性,如length,splice之类.这个很容易冒充. A2:使用instanceof ...
- crossdomain.xml的配置详解
目录 1 简介 2 crossdomain.xml的配置详解 3 总结 1 简介 flash在跨域时唯一的限制策略就是crossdomain.xml文件,该文件限制了flash是否可以跨域读写数据以及 ...
- Servlet------(声明式)异常处理
Test.java 其他方法不变,重写 protected void service()方法 public void init(ServletConfig config) throws Servlet ...