Skip to content

/3d/Bundle3D.cpp should be modified, because the latest fbx-conv version is 0.7 #2901

@devekaam

Description

@devekaam

In "Bundle3D.cpp", the supported Bundle3D versions are hard-coded as:

if (_version == "0.1" || _version == "0.2" || _version == "0.3" ||
_version == "0.4" || _version == "0.5" || _version == "0.6")

However, the official Cocos2d-x asset conversion tool fbx-conv outputs Bundle3D files with version "0.7"

see here :
https://github.com/cocos2d-x/fbx-conv

Currently, version "0.7" is missing from the supported-version list, causing the engine to incorrectly reject or mishandle valid Bundle3D files generated by the official tool.

This code originated from the following Cocos2d-x commit:
cocos2d/cocos2d-x@5ce4fbe
At the time, the developer manually enumerated only versions 0.1–0.6.
Since then, fbx-conv introduced version 0.7, but the engine-side version check was never updated.
Because of the hard-coded version list, this mismatch went unnoticed.

How to reproduce
Convert any FBX using fbx-conv (latest version).
It produces a .c3b file containing "version": "0.7" in the JSON header.
Try to load the resulting Bundle3D file in the engine.
The version check does not recognize "0.7" as supported.
Depending on the code path, the file may load incorrectly or fail silently.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions