为什么用了shader packable就不能用?
因为打入合图之后UV变化了?而shader里还是0-1?
是的,需要算出在合图后在图集里的UV
算出来后呢?重新传入?
转换一下uv就行了
如何转换uv
shader中使用v_uv0进行采样;
可以自己定义一个变量 v_uv1;
vec2 v_uv1 = vec2(ox + w * v_uv0.x, oy + h * v_uv0 * y);
ox,oy,为该texture在打包后的图集中,的起始位置(左上角, 范围0-1);
w,h为该texture的宽高/打包后图集的宽高;
之后把effect中 用到 u_uv0的地方全部改成v_uv1;完成uv的转换
1赞
问题 打包是系统自动生成 我也不知道具体这个图片打包到了什么位置的。
最快的方法应该是,参与shader采样的图片,全部取消勾选
可是想合图
大佬,在creator编辑器里,能方便的看到每个图合成后所在的位置吗?
还是说需要导到外部软件比如PS里自己去量?
packable in atlas yourself first.
Don’t use auto atlas
自己合图完再使用的话你可以提前知道图片的位置,
自动合图的话我也不清楚
点击合图文件,有合图预览。一个编辑器都不会用的,只会搞shader吹B的大佬。你可以通过读取合图文件的方式获得特定的图片信息。这个有点复杂,目前还没有研究明白。
https://docs.cocos.com/creator/3.8/api/zh/class/DynamicAtlasManager
这题我不会, 我不会我就说不会,有什么问题吗, 洪水算法大佬
我不是洪水算法大佬,我说了,我是风水大师