zoukankan      html  css  js  c++  java
  • unity坐标系间的转换

    1.世界坐标系:游戏内对象都在一个世界坐标系内,可以放心的使用世界坐标进行transform的运算。

    2.局部坐标系:基于父物体的坐标系,适合基于父物体做的transform运算,运算时要确保两个对象在一个本地坐标系内。recttransform的width和height是本地坐标系,需要求宽高的世界长度可以使用

    Vector3[] corners = new Vector3[4];
    _inst.rectTransform.GetWorldCorners(corners);

    Vector3 widthDelta = corners[2] - corners[1];
    Vector3 heightDelta = corners[0] = corners[1];

    将点坐标与widthDelta和heightDelta相加减就可以得出世界空间下的rect边缘坐标。

    3.视口坐标系:与屏幕分辨率无关,左下(0,0),右上(1,1),适合用来检测对象是否显示在屏幕上(映射到视口坐标系后的x,y都在0,1之间)。

    4.屏幕坐标系:左下(0,0),右上(Screen.Width,Screen.Height),适合用来计算手指输入与UI间的运算,计算时注意Camera.aspect与Game窗口的aspect不同时会缩放。

  • 相关阅读:
    定位
    浮动
    标准文档流
    盒模型
    CSS继承性和层叠性
    微信公众平台-信息的获取
    信息系统项目管理师-整体介绍
    Dijkstra算法 c语言实现
    windows下c语言获取程序当前的执行目录,读文件的代码片
    网络流问题,及其代码
  • 原文地址:https://www.cnblogs.com/mcyushao/p/13275552.html
Copyright © 2011-2022 走看看