【Unity3d开发基础】场景中物体的变换

Transform与坐标系

在Unity中除了Unity4.6之后的UGUI的UIPanel之外,所有你在场景中添加的组件在Inspector中都会有一个Transform组件。这个组建中包含了场景中每个物体的位置(Position),旋转(Rotation)和比例(Scale)信息。


这里笔者整理了Transform中常用的函数。详见Transform.xmind


物体的Transform信息都是相对于它父物体的Transform信息。如果没有父物体,那么该物体的Transform信息都是相对与世界坐标的。例如:在场景中添加一个Cube,然后再添加一个Cube1作为Cube的子物体。我们对Cube进行旋转,位移,缩放等等操作时,对Cube1中的Transform组件中的信息是没有影响的。这是因为Cube1的Transform中的所有信息都相对与Cube的。

坐标系

Unity中的常用坐标系有四种:

  • 世界坐标系
    我们在场景中添加物体(如:Cube),他们就是以世界坐标系显示在场景中,我们可以用tranform.position来获取。
  • 屏幕坐标系
    屏幕坐标系是以像素为单位的,以屏幕左下角为(0,0),右上角(scree.width,screen.height)。z的位置以相机的世界位置来衡量。

    screen.width=Camera.pixelWidth
    screen.height=Camera.pixelHeight

  • 视口坐标系
    视口坐标是相对于相机的,相机的左下角为(0,0),右上角为(1,1),z的位置是以相机的世界位置来衡量的。

  • 绘制UI坐标系
    这个坐标属于屏幕坐标的一种,不同的这个坐标以屏幕的左上角为(0,0),右下角为(screen.width,screen.height)。

有关于坐标转换的方法

Unity中关于坐标转换的方法常用的有:

  • TransformPoint ():把position从本地坐标转换为世界坐标
  • InverseTransformP
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值