Unity3D中的所有坐标的梳理

3 篇文章 0 订阅
1 篇文章 0 订阅
    前言:游戏开发中用到的坐标是多种多样的,作为客户端同学这是绕不开的硬技能。
在这里是不是unity倒不重要,重要的是能把这些系统地印到脑子里。

1,世界坐标(绝对坐标)

        世界坐标在unity中是最通用的坐标,我们都知道unity中每个游戏对象都具有一个Transform,其实每个Transform中都包含position这个属性,也就是世界坐标。世界坐标是能把各个坐标系下的物体统一起来的一个坐标。

2,相对坐标

        一般可以粗略认为相对坐标是一个物体相对于其父物体的坐标。但其实更准确的讲,相对坐标是一个物体的中心点相对于父物体的中心点的坐标。在transform组件中可以通过localPosition来访问。
        理论上你可以通过相对坐标和树关系得到任何世界坐标,也可以通过绝对坐标求出任何相对坐标。那为什么还要有相对坐标呢?当然一方面上述求法的复杂度是O (log n);另一方面,localPosition有助于实现对上层游戏对象的封装,也就是说在一个相对坐标系下的游戏对象可以不用管上面父亲节点和叔叔阿姨爷爷奶奶节点做了什么(XD)

3,uv坐标

        假如我们把一般的三维坐标系叫做xyz坐标系,那么纹理坐标系对应uv坐标系没错了。u和v的作用域和值域都是 [ 0, 1 ]。对应着一张纹理贴图的左右边缘和上下边缘。uv坐标是纹理贴图映射到模型、画布上的一一对应的桥梁。
        此外,unity中还有个东西叫RawImage,用于显示纹理贴图,其中有个属性叫uvRect。 其中的(x, y)是指画布的左下角点对应的贴图的uv值,(w,h)是指画布的右上角点对应贴图的uv值,利用这个可以很方便且高效地控制只显示一部分的贴图。

4,屏幕坐标

       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值