Skip to content

3代加密模型处理问题 #7

@NSM-Issue

Description

@NSM-Issue

使用本工具处理了Elaina69/Yes-Steve-Model-Repo中的所有模型 再用YSM 1.20.1 2.6.5版本载入 发现几处3代加密模型的微小解析错误

Format 1(1.2.0导出)导出纹理后缀是两个.png 导致无法加载

样本:ReZero_Rem_v2.9.ysm

arrow.animation.json
arrow.json
arrow.png.png # 双重后缀 加载时优先报此错误
carryon.animation.json
extra.animation.json
info.json
main.animation.json
main.json
tac.animation.json
texture.png.png # 同样问题
texture2.png.png

Format 15(2.3.0~2.4.1导出)箭矢纹理命名错误 不符合规范 导致无法加载

样本:BtR_Kita-Ikuyo_2.ysm

ysm.json 片段

{
    "files": {
        "player": {
            "model": {
                "main": "models/main.json",
                "arm": "models/arm.json"
            },
            "animation": {
                "main": "animations/main.animation.json",
                "arm": "animations/arm.animation.json",
                "extra": "animations/extra.animation.json",
                "tac": "animations/tac.animation.json",
                "carryon": "animations/carryon.animation.json",
                "parcool": "animations/parcool.animation.json",
                "swem": "animations/swem.animation.json"
            },
            "texture": [
                {
                    "uv": "textures/default.png"
                },
                {
                    "uv": "textures/blue.png"
                },
                {
                    "uv": "textures/_ARROW_.png" # 箭矢纹理实际存在 但名称不正常 并且不该在此键下
                }
            ]
        },
        "projectiles": {
            "arrow": {
                "model": "models/arrow.json",
                "animation": "animations/arrow.animation.json" # 同级应有arrow texture
            }
        }
    }
}

根据YSM Wiki介绍 /files/arrow在新版被合入/files/projectiles/arrow

/files/arrow

{
    "files": {
        "arrow": {
            "model": "models/arrow.json",
            "animation": "animations/arrow.animation.json",
            "texture": "textures/arrow.png"
        }
    }
}

/files/projectiles/arrow

2.5.0/2.5.1 ID写法

{
    "files": {
        "projectiles": {
            "minecraft:arrow": {
                "model": "models/arrow.json",
                "animation": "animations/arrow.animation.json",
                "controller": "controller/arrow.controller.json",
                "texture": {
                    "uv": "textures/arrow.png",
                    "normal": "textures/arrow_n.png",
                    "specular": "textures/arrow_s.png"
                }
            }
        }
    }
}

2.5.2+匹配写法

{
    "files": {
        "projectiles": [
            {
                "match": [
                    "minecraft:arrow",
                    "#minecraft:arrows"
                ],
                "model": "models/arrow.json",
                "animation": "animations/arrow.animation.json",
                "controller": "controller/arrow.controller.json",
                "texture": {
                    "uv": "textures/arrow.png",
                    "normal": "textures/arrow_n.png",
                    "specular": "textures/arrow_s.png"
                }
            }
        ]
    }
}

由于脚本将纹理置于错误的位置 没有任何匹配上 导致模型无法加载

其余的一些报错 对照YSM游戏内解析结果 为原本创作时的问题 非本工具导致

感谢解析工作 可用度很高

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions