Transform
2015-07-09 22:10
302 查看
http://www.360doc.com/content/13/0112/17/10941785_259756995.shtml
http://www.360doc.com/content/13/0112/17/10941785_259756995.shtml
Transform组件用于控制物体的位置,旋转和缩放,
这里面涉及两个重点,一个是坐标系,这个包括局部坐标系和世界坐标系的关系,另外一个是父子节点,
GameObject的父子节点关系是通过Transform组件来维护的。
位置相关的:
5个和位置相关的Vector3类型变量:
up 表示世界坐标的Y轴方向
right 表示世界坐标的X轴方向
forward 表示世界坐标的Z轴方向
position 表示对象在世界坐标系中的位置
localPosition 表示对象相对父节点变换的坐标位置
void Translate(Vector3 translation, Space relativeTo = Space.Self);
在relativeTo坐标系上,平移translation距离,Space有两个坐标系,Self表示本地坐标系,World表示世界坐标系
PS.如果使用Vector3的up, right, forward,就是基于局部坐标系的移动
旋转相关的:
2个Vector3类型的变量
eulerAngles
在世界坐标旋转作为欧拉角度
localEulerAngles 相对父节点的欧拉角旋转
2个Quaternion类型的变量
rotation 在世界坐标系中的旋转角度,是一个Quaternion对象(四元数)
localRotation 相对于父节点的旋转角度
void Rotate(Vector3 eulerAngles, Space relativeTo = Space.Self) 应用一个欧拉角绕x,y,z轴旋转(根据x,y,z的顺序)
void RotateAround(Vector3 point, Vector3 axis, float angle) 按照angle°在世界坐标的point上旋转物体
void LookAt(Transform target, Vector3 worldUp = Vector3.up) 旋转物体使forward向量指向target的位置
缩放相关的:
1个Vector3类型的变量
localScale 相对于父节点的缩放
父子节点相关的:
parent 变量表示Transform的父节点
root 表示它的根节点,如果没有父节点,它会返回自己
Transform Find(string name) 根据名字查找子节点
bool IsChildOf(Transform node) 判断该Transform是否某Transform的子节点
void DetachChildren() 解除所有子节点的父子关系
坐标系的转换:
TransformDirection 将一个方向从局部坐标系转换到世界坐标系
InverseTransformDirection 将一个方向从世界坐标系转换到局部坐标系
TransformPoint 将一个点从局部坐标系转换到世界坐标系
InverseTransformPoint
将一个点从世界坐标系转换到局部坐标系
http://www.360doc.com/content/13/0112/17/10941785_259756995.shtml
Transform组件用于控制物体的位置,旋转和缩放,
这里面涉及两个重点,一个是坐标系,这个包括局部坐标系和世界坐标系的关系,另外一个是父子节点,
GameObject的父子节点关系是通过Transform组件来维护的。
位置相关的:
5个和位置相关的Vector3类型变量:
up 表示世界坐标的Y轴方向
right 表示世界坐标的X轴方向
forward 表示世界坐标的Z轴方向
position 表示对象在世界坐标系中的位置
localPosition 表示对象相对父节点变换的坐标位置
void Translate(Vector3 translation, Space relativeTo = Space.Self);
在relativeTo坐标系上,平移translation距离,Space有两个坐标系,Self表示本地坐标系,World表示世界坐标系
PS.如果使用Vector3的up, right, forward,就是基于局部坐标系的移动
旋转相关的:
2个Vector3类型的变量
eulerAngles
在世界坐标旋转作为欧拉角度
localEulerAngles 相对父节点的欧拉角旋转
2个Quaternion类型的变量
rotation 在世界坐标系中的旋转角度,是一个Quaternion对象(四元数)
localRotation 相对于父节点的旋转角度
void Rotate(Vector3 eulerAngles, Space relativeTo = Space.Self) 应用一个欧拉角绕x,y,z轴旋转(根据x,y,z的顺序)
void RotateAround(Vector3 point, Vector3 axis, float angle) 按照angle°在世界坐标的point上旋转物体
void LookAt(Transform target, Vector3 worldUp = Vector3.up) 旋转物体使forward向量指向target的位置
缩放相关的:
1个Vector3类型的变量
localScale 相对于父节点的缩放
父子节点相关的:
parent 变量表示Transform的父节点
root 表示它的根节点,如果没有父节点,它会返回自己
Transform Find(string name) 根据名字查找子节点
bool IsChildOf(Transform node) 判断该Transform是否某Transform的子节点
void DetachChildren() 解除所有子节点的父子关系
坐标系的转换:
TransformDirection 将一个方向从局部坐标系转换到世界坐标系
InverseTransformDirection 将一个方向从世界坐标系转换到局部坐标系
TransformPoint 将一个点从局部坐标系转换到世界坐标系
InverseTransformPoint
将一个点从世界坐标系转换到局部坐标系
相关文章推荐
- hdu 1789 Doing Homework again 贪心
- maven 安装
- Android利用setLayoutParams在代码中调整布局(Margin和居中)
- mysql存储过程详解
- UILabel设定行间距方法
- Freemarker操作字符串
- 关于矩形排样问题(二)
- UILabel设定行间距方法
- 黑马程序员_java IO流
- [UGUI]UGUI使用图片文字(Custom Font)
- GNU make 总结 (二)
- Edit Distance DP
- 【Scala】使用Option、Either和Try处理数据交互
- yiled in python
- 【 D3.js 入门系列 — 1 】 第一个程序 HelloWorld
- POJ 3683 Priest John's Busiest Day (2-SAT,常规)
- XenApp_XenDesktop_7.6实战篇之二十一:Linux Virtual Desktop 1.0(下篇)
- git使用sshkey免密码登陆
- Linux关于 ——静态IP的配置
- Spark交互式分析平台Apache Zeppelin的安装