【问题标题】:Convert Sprite Atlas to Unity3D format将 Sprite Atlas 转换为 Unity3D 格式
【发布时间】:2020-02-04 01:29:55
【问题描述】:

我有一个精灵表和相关的图集,其中包含每个精灵的名称、位置和大小等数据。我想将此数据导入 Unity,并且需要工具或插件来执行此操作。

我研究了一些像 TexturePacker 这样的工具,但它们不提供导入数据的可能性。

如果工具需要,我可以将我拥有的数据导出为任何必要的格式(如 JSON 或 XML)。

【问题讨论】:

    标签: unity3d sprite


    【解决方案1】:

    您可以通过这种方式解析您的json并将其数据推送到TextureImported

        var textureImporter = UnityEditor.AssetImporter.GetAtPath("asset path") as UnityEditor.TextureImporter;
        textureImporter.spritesheet = new UnityEditor.SpriteMetaData[]
        {
            new SpriteMetaData()
            {
                // srpite 1 position data
            },
            new SpriteMetaData()
            {
                // srpite 2 position data
            },
        };
        textureImporter.SaveAndReimport();
    

    【讨论】:

    • 如何动态添加元数据?示例代码显示了如何静态地执行此操作,并且由于它创建了一个列表,因此我不能只在其中放置一个循环。
    • @Daniel “静态”是指“在编辑器中”还是“硬编码”?如果是第二个 - 您可以在循环上动态生成数组,这不是问题。只需解析 json 并将每个精灵的数据添加到数组中,然后将精灵数组分配给textureImporter.spritesheet
    • 啊,是的,我设法弄明白了。我现在正在研究解析器。很快就会回来报告。
    • @Daniel 如果需要一些想法,我会在这里 :)
    • 我的下一个问题是如何处理脚本?我看到它的方式会在每次运行时解析 Json。我只想运行一次,最终得到一个合适的 Unity Sprite Atlas。
    猜你喜欢
    • 2015-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    • 2018-12-23
    • 1970-01-01
    相关资源
    最近更新 更多