自动图集,动态加载SpriteFrame之后如何转换成模型贴图?

小白求助,动态合图之后动态获取的SpriteFrame如何转换成Texture2D?

给模型设置的mainTexture只能是texture2d吗? spriteFrame不行?

spriteFrame.texture 拿到的texture 不能用吗

不行,合图之后拿到的是大图,不是小图

不能让这个图片不自动合图吗?

问题就在这。 必须合图,然后设置模型的纹理

为何要动态合图再设置模型的纹理?动态合图是给ui用的东西。你合图了给模型也没啥用啊。

我也不想,领导觉得性能优化了

spriteFrame._original._texture 合图之后的spriteFrame用这个original去获取原本的小图纹理

1赞

image
你可以在源码的这个动态合图管理器里去看相关的代码。

大佬为什么我再小程序里用resource.load获取到的spriteFrame里,original是null呢

image

合图后一个大的texture,模型用需要穿当前sf 的uv ,做uv tilingoffset

因为这个时候还没有动态合图啊。

啊? 自动图集不是动态合图吗

你搞错概念了。
动态合图是引擎自动的,在spriteFrame进行渲染时触发,如果这个spriteFrame没有合图过,则绘制到动态合图的图集中。
自动图集是新建一个自动图集文件,在游戏启动时,会将这个文件夹下的图片进行合图。并且自动图集在预览中是没有起效的。

明白了, 我的需求是自动图集去获取小图的texture

大佬有demo或者文章吗