-
-
Notifications
You must be signed in to change notification settings - Fork 243
Description
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.