我有一个非常简单的场景,有一个图像和一个画布(它的父级)。图像上有一个着色器,它只是将vertex.x乘以2(在对象空间中),然后将其转换为剪辑空间。结果如下:
看起来图像使用了画布的对象空间而不是它自己的乘法。
我尝试使用标记“DisableBatching”=“True”来保留着色器中图像的对象空间,但没有成功。甚至试过不同的统一版本。 (是的我在这里绝望:D)
提前感谢任何想法。
UI系统的顶点数据已经相对于屏幕提供,中间是(0,0),根据我的经验,右上角是(screen.width / 2,screen.height / 2)。但是,这可能会因平台或画布设置而异。
这是您在此处看到的行为,x坐标相对于画布的中心缩放2(这很可能是游戏视图中屏幕的扩展)。
本身没有“对象空间”,您需要根据需要传递其他数据(即纹理坐标)。