目前得出的结论是,暂时不可行,如果有其他方案,可以帮忙留言下。
之前自己做的有几个检查贴图原生图的一些问题,比如包围盒过大,或者透明区域过大,之类的检测算法,但是是直接用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估计可以,但是环境没有。
所以目前暂时不行