Unity3D基础篇-Transform
来源:互联网 发布:飞利浦x830软件 编辑:程序博客网 时间:2024/05/20 14:17
Transform组件用来控制物体的方位,旋转和缩放。每个物体都有一个变换组件。变换组件的所有属性都是相对其父物体进行衡量的,如果此物体没有父物体,这些属性则相对于世界坐标进行计算。
5个和位置相关的Vector3类型变量
up:世界坐标的y轴方向
right:世界坐标的x轴方向
forward:世界坐标的z轴方向
position:对象在世界坐标中的位置
localposition:对象相对父节点变换的位置
属性
位置(position):以X、Y、Z坐标系表示变换的位置。
旋转(rotation):表示此变换以X,Y,Z轴为准的旋转程度,以角度为单位。
缩放(scale):沿着X,Y,Z轴缩放此变换。值为”1”时表示原始尺寸(物体最初被导入时的大小)
Transform.Translate 平移
function Translate (translation : Space = Space.Self) : void
移动transform在translation的方向和距离。
简单的说,向某方向移动物体多少距离。
如果relativeTo留空或者设置为Space.Self,移动被应用相对于变换的自身轴。(当在场景视图选择物体时,x、y和z轴显示)如果相对于Space.World 移动被应用相对于世界坐标系统、
transform.Translate(Vector3.forward * Time.deltaTime);transform.Translate(Vector3.up * Time.deltaTime,Space.World); function Translate (x : float, y : float, z : float, relativeTo : Space = Space.Self) : void
移动变换由x沿着x轴,y沿着y轴,z沿着z轴。
transform.Translate(0, 0, Time.deltaTime);transform.Translate(0, Time.deltaTime, 0, Space.World);function Translate (translation : Vector3, relativeTo : Transform) : voidtransform.Translate(Vector3.right * Time.deltaTime, Camera.main.transform);//相对于摄像机每秒1单位向右移动物体
Transform.Rotate 旋转
function Rotate (eulerAngles : Vector3, relativeTo : Space = Space.Self) : void
应用一个欧拉角的旋转角度,eulerAngles.z度围绕z轴,eulerAngles.x度围绕x轴,eulerAngles.y度围绕y轴(这样的顺序)。
如果相对于留空或者设置为Space.Self 旋转角度被应用围绕变换的自身轴。(当在场景视图选择物体时,x、y和z轴显示)如果相对于 Space.World 旋转角度被应用围绕世界的x、y、z轴。
transform.Rotate(Vector3.right * Time.deltaTime);transform.Rotate(Vector3.up * Time.deltaTime, Space.World);function Rotate (xAngle : float, yAngle : float, zAngle : float, relativeTo : Space = Space.Self) : void
应用一个旋转角度,zAngle度围绕z轴,xAngle度围绕x轴,yAngle度围绕y轴(这样的顺序)。
transform.Rotate(Time.deltaTime, 0, 0);transform.Rotate(0, Time.deltaTime, 0, Space.World); function Rotate (axis : Vector3, angle : float, relativeTo : Space = Space.Self) : void按照angle度围绕axis轴旋转变换。transform.Rotate(Vector3.right, Time.deltaTime);//围绕x轴每秒1度,慢慢的旋转物体transform.Rotate(Vector3.up, Time.deltaTime, Space.World);
Transform.RotateAround 围绕旋转
按照angle度通过在世界坐标的point轴旋转物体。
简单的说,按照多少度在世界坐标的某位置轴旋转物体。
gameObject.transform.RotateAround(new Vector3(0, 0, 0), new Vector3(0, 1.0f, 0), Speed * Time.deltaTime * Input.GetAxis("Horizontal"));
该方法有3个参数,第一个是围绕的旋转点,第二个是旋转的法向量,,第三个是旋转的速度。
- Unity3D基础篇-Transform
- Unity3d--Transform
- Unity3D-Transform
- Unity3D入门篇——Transform类
- Unity3d Transform.DetachChildren使用
- Unity3d的Transform结构图
- Unity3D-Transform.TransformDirection
- unity3d的Transform结构图
- Unity3D学习之transform。
- Unity3D------Transform和Input
- Unity3D之Transform参数
- Unity3d变换组件(Transform)
- Unity3D 计算机3D图形基础在Unity中的实现(Vector3,Maxtrix4*4,Transform)
- [Unity3D]计算机3D图形基础在Unity中的实现(Vector3,Maxtrix4*4,Transform)
- Unity3D—transform和Input
- Unity3D脚印3—Transform
- Unity3D说明文档翻译-Transform
- Unity3D中的Rect Transform总结
- mysql 随记
- CCActionManager按指定时间间隔执行动作
- ubuntu的环境变量设置错误怎么办(/etc/enviroment)
- Linux awk
- 网络请求和JSON解析
- Unity3D基础篇-Transform
- UNITY3D shader学习心得<四> 贴图Fiter mode过滤器模式
- The Clocks
- Activiti 基础总结二
- ubuntu 14.04 telnet 服务配置
- 只允许用来代理上网的SSH账号的方法
- 循环右移
- 表单提交单选框
- MongoDB 初识(一)