目前得出的结论是,暂时不可行,如果有其他方案,可以帮忙留言下。
之前自己做的有几个检查贴图原生图的一些问题,比如包围盒过大,或者透明区域过大,之类的检测算法,但是是直接用Python的PIL来做的。C#调用python的方式,但是这种方案效率比较低。所以考虑如何将python转成C#,但是调研了下,发现不可行。记录下
1,Unity下C#是裁剪过的,不支持Bitmap,Bitmap之前是在System.Drawing里面。Unity里不支持System.Drawing这个库。
2,Unity下都是通过Asset来导入,Texture2D,Texture2D如果要获取pixel数据,需要修改texture的read/write属性,一般项目组基本都是关的。比如GetPixel,GetRawTextureData这些接口都需要texture开启read/write属性。
3,Unity下的Testure2D一般是meta设置过的,默认是压缩过ETC,ASTC这些,dev build估计可以,但是环境没有。
所以目前暂时不行
博客探讨了在Unity环境下将Python图像处理算法转化为C#的挑战,包括Unity对Bitmap的支持限制、Texture2D的读写权限问题以及纹理压缩格式的不兼容。由于Unity不支持System.Drawing库,且Texture2D获取像素数据需开启特定属性,加之压缩格式的障碍,使得直接转换变得困难。
641

被折叠的 条评论
为什么被折叠?



