发会牢骚,最近一直在做Unity的编辑器拓展,其中难的地方不少,但不至于到看不懂的地步,可一做到关于坐标转换的内容时把我弄不会了。
这个不查不知道,一查吓一跳,Unity的坐标系非常多,有世界坐标,屏幕坐标,局部坐标,视窗坐标等等,而且每一个都是不一样的坐标系,所以关于Unity的坐标变换都挺麻烦的,但其实也不是难题,有很多现成的答案,前提是不在Editor模式下操作。
淦就淦在我就是要做编辑器拓展,所以就遇到了几乎一片空白的领域。不是没有相关的文章,关于编辑器拓展下的坐标系转换是有文章的,但在我的情况下全都不对,我就纳闷了,甚至想要直接写函数去实现,不过在磨了一天一夜后在机缘巧合下给我看出了问题。
目录
描述问题
我做的是2D游戏,在编辑模式下的一个拓展窗口内需要为一个数据选定场景坐标,我首先想到的是通过鼠标位置转换成世界坐标来实现。有各种各样的问题,不过大都可以在百度上找到答案,只是关键的坐标转换却出了问题,我死活都拿不到想要的数据。
问题所在
(随便找的图)