坐标系
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从本地坐标转换为世界坐标
InverseTransformPoint ():把position从世界坐标转换成本地坐标
TransformDirection ():把direction从本地坐标转换成世界坐标
InverseTransformDirection ():把direction从世界坐标转换成本地坐标
当我们的主角要搬运一个物体,比如在一个投篮游戏中,我们的主角要携带球,这个时候可以把球的世界坐标转换成相对与主角的本地坐标;然后主角把球抛出去,此时球的坐标集可以从本地坐标转换成世界坐标,并且把球抛出去的方向也是从本地坐标转换成世界坐标。
接下来主要介绍如何将世界坐标系中的向量变换到模型坐标系:
using UnityEngine;
using System.Collections;
public class PlayerController : Mon