Metadata-Version: 2.1
Name: u3d-studio
Version: 1.0.16
Summary: a python library for u3d unpacking
Home-page: https://github.com/smalls0098/u3d-assets-tools
Author: smalls
Author-email: smalls0098@gmail.com
License: UNKNOWN
Download-URL: https://github.com/smalls0098/u3d-assets-tools/tarball/master
Keywords: u3dpack,unitypack,u3d-assets-tools,assetspack
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Multimedia :: Graphics
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Description-Content-Type: text/markdown
Requires-Dist: lz4
Requires-Dist: Pillow
Requires-Dist: tex2img

## Installation

**需要Python 3.6.0或更高版本**

```
pip install u3d-studio
```

或下载/克隆git并使用

```
python setup.py install
```

## 使用说明

来一个简单的示例

```python
import os

from u3dunpack import AssetsManager

SAMPLES = os.path.join(os.path.dirname(os.path.abspath(__file__)), "samples")
IMG = os.path.join(os.path.dirname(os.path.abspath(__file__)), "images")
KTX = os.path.join(os.path.dirname(os.path.abspath(__file__)), "ktx")


def testTexture2d():
    for f in os.listdir(SAMPLES):
        am = AssetsManager(os.path.join(SAMPLES, f))
        for asset in am.assets.values():
            for obj in asset.objects.values():
                if obj.type == "Texture2D":
                    # 解析对象数据
                    data = obj.read()
                    # 确保扩展名正确
                    # 您可能只想使用图像/纹理
                    dest, ext = os.path.splitext(data.name)
                    destImg = dest + ".png"
                    destImg = os.path.join(IMG, destImg)
                    img = data.image.save(destImg)

                    destKtx = os.path.join(KTX, dest) + ".ktx"
                    if os.path.exists(destKtx):
                        os.remove(destKtx)
                    with open(destKtx, mode='wb') as w:
                        w.write(data.saveKtx)

                    with open(destKtx, mode='rb') as r:
                        ktxData = r.read()
                    data.writeData(ktxData)
            with open("assets/test", mode='wb') as w:
                data = asset.bundleFile.save()
                w.write(data)


if __name__ == '__main__':
    testTexture2d()
```


