unity 坐标系的相互转化函数


全局坐标和局部坐标
点的坐标转换
Transform.TransformPoint(Vector3 position); 将一个坐标点从相对transform的局部坐标系转换为全局坐标系

Transform.InverseTransformPoint(Vector3 position); 将坐标点从全局坐标系转换到相对transform的局部坐标系

方向的坐标转换
Transform.TransformDirection(Vector3 direction); 将一个方向从局部坐标系转换到全局坐标系

Transform.InverseTransformDirection(Vector3 direction); 将一个方向从全局坐标系转换到局部坐标系

Transform.TransformVector(Vector3 vector); 将一个向量从局部坐标系转换到全局坐标系

Transform.InverseTransformVector(Vector3 vector); 将一个向量从全局坐标系转换到局部坐标系


屏幕坐标系和全局坐标系

Camera.ScreenToWorldPoint(Vector3 position); 将屏幕坐标系转换为全局坐标系

Camera.WorldToScreenPoint(Vector3 position); 将全局坐标转换为屏幕坐标

Input.mousePosition;  获取鼠标在屏幕中的坐标

例子: 屏幕坐标转为世界坐标
        Vector3 mousePos = Input.mousePosition;
        Vector3 SToW = Camera.main.ScreenToWorldPoint(new Vector3(mousePos.x,mousePos.y,1));

视口坐标(屏幕坐标的单位化,最大值是1)和屏幕坐标的转换  
Camera.ScreenToViewportPoint(Vector3 position); 将屏幕坐标转为视口坐标

Camera.ViewPortToScreenPoint(Vector3 position); 将视口坐标转为屏幕坐标

世界坐标与视口坐标 转换
Camera.WorldToViewportPoint(Vector3 position); 将全局坐标转换为视口坐标

Camera.ViewportWorldPoint(Vector3 position); 将视口坐标转换为全局坐标


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值