How do I convert a PNG with alpha to RGBA4444 for using it in SpriteKit SKTexture?

家住魔仙堡 提交于 2019-12-08 00:04:24

问题


I have a stack of transparent PNGs that I'd like to use in a SKSpriteNode animation with SKTextures. I'd need to adjust the memory usage of SKTextures by reducing texture quality down from RGBA8888 to RGBA4444.

How would I initialize SKTexture with RGBA4444 texture format?

Edit: IOS Swift Game Development Cookbook: Simple Solutions for Game Development suggests that SKTexture would support PVRTC files as follows:

However, I couldn't get a SKSpriteNode to display a texture generated this way.


回答1:


I just tried and in Xcode 8 the option Output Texture Atlas described here is no longer available into Build Settings.

I suspect (but I could be wrong) the control has been now moved inside Compression as you can see in the following image.




回答2:


I circumvented this by using TexturePacker to generate a texture atlas (.atlasc) file. With TexturePacker you can set adjust the compression and then access the texture atlas in your project as follows:

let atlas = SKTextureAtlas(named: "Atlas") // Atlas.atlasc in your project
let texture = atlas.textureNamed("original_texture_001.png")


来源:https://stackoverflow.com/questions/41098602/how-do-i-convert-a-png-with-alpha-to-rgba4444-for-using-it-in-spritekit-sktextur

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!