美文网首页
Unity视口坐标和世界坐标转换

Unity视口坐标和世界坐标转换

作者: Tiny荣 | 来源:发表于2019-04-28 21:22 被阅读0次

    Camera.main.WorldToViewportPoint

    将一个物体的世界坐标转换为视口坐标,就是以摄像机左下角为原点,x,y在0到1之间的一个值

    z值是以摄像机为原点到物体的深度,如果是背朝摄像机的视口(画面里就看不到),这个值为负数

    ViewPortToWorldPoint

    将一个物体在某个摄像机下的视口坐标转换为某个摄像机下的世界坐标

    例如都是(0.3,0.5)的视口坐标,因为两个摄像机照射角度不同,转换后的世界坐标也不同

    因此这个可以用来做不同摄像机照射的物体的跟随,比如UI摄像机下的血条和主摄像机下的角色之间跟随

    或者做不同坐标系之间的耦合,比如屏幕坐标到世界坐标,拖动物体,没有Z值,因此需要通过世界转视口坐标获取一个物体到摄像机的距离,然后将屏幕坐标转为视口坐标,加上这个距离作为Z坐标,再转换回世界坐标,就可以实现鼠标拖动物体的效果

    以前那个Z值都是代码里写死的,知道这个转换方法之后就可以动态获取了

    相关文章

      网友评论

          本文标题:Unity视口坐标和世界坐标转换

          本文链接:https://www.haomeiwen.com/subject/ufksnqtx.html