zoukankan      html  css  js  c++  java
  • Unity坐标系详解

    1. World Space(世界坐标系):

      我们在场景中添加的物体(如:Cube),他们都是以世界坐标显示在场景中。transform.position 获取的便是这个  坐标数值。

    2. Scene Space(屏幕坐标系):

      以像素来定义的,一屏幕的左下角(0,0)点右上角(Screen.with,Screen.height),Z轴的位置是以相机的世界单位来衡量的(个人感觉是世界坐标的Z值)。

      2.1 鼠标位置属于屏幕坐标,Input.mousePosition 可以获得该位置坐标。

      2.2 手指触摸屏幕也为屏幕坐标,Input.GetTouch(0).position 可以获得单个手指触摸屏幕的坐标。

      2.3 当有多个手指触摸屏幕时,Input.GetTouch(0).position会获取到多个点击点的中心位置。

      http://docs.unity3d.com/Documentation/Manual/Input.html

    3. ViewPort Space(视口坐标):

      视口坐标系是标准的和相对于相机的。相机的左下角(0,0)点右上角(1,1)点,Z的数值是以相机的世界单位来衡量的(又是衡量的……)。

    4.绘制GUI界面的坐标系(UI坐标):

      这个坐标系与屏幕坐标系相似,不同的是该坐标系以屏幕的左上角为(0,0)点右下角为(Screen.width,Screen.height);

    【坐标系的相互转换】

      1. World Space --> Screen Space: camera.WorldToScreenPoint(transform.position);

      2. Screen Space --> ViewPort Space: camera.ScreenToViewportPoint(Input.mousePosition);

      3. ViewPort Space-->Screen Space: camera.ViewportToScreenPoint();

      4. ViewPort Space-->World Space: camera.ViewportToWorldPoint();

    参考:https://www.cnblogs.com/tekkaman/p/3809409.html

  • 相关阅读:
    Linux内存初始化
    linux PCI设备初始化过程
    Linux网络地址转换分析
    Linux内核中流量控制
    IPSEC实现
    ip_conntrack 实现
    module_init宏解析
    IP隧道基础研究
    IPV6介绍
    Golang的接口
  • 原文地址:https://www.cnblogs.com/leiGameDesigner/p/8032094.html
Copyright © 2011-2022 走看看