Skip to content

smalls0098/u3d-studio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Installation

需要Python 3.6.0或更高版本

pip install u3d-studio

或下载/克隆git并使用

python setup.py install

使用说明

来一个简单的示例

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()

About

一个u3d的资源解包打包工具

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages