I have reverse engineered some ancient models, from around 1998-2000, of a dead game that I’d like to remake but thats a different topic.
What I have is binary data, their original file type was apparently “BCF” which is associated with either the original character studio (later bought by 3DS max) or a proprietary tool they named character studio.
I can create the mesh seemingly fine though I couldn’t preview it, I had to make the skeleton first.
This is where it gets complicated, because there seems to be no documentation or laid out process. At least not what searching has resulted in.
I tried following the fbx importer stuff but it doesn’t seem to be responsible for the skeleton.
At first I used FSkeletalMeshModel / FSkeletalMeshLODModel / FReferenceSkeletonModifier
to add the data through the mesh, it crashed, and after getting a source build I found that the FinalRefBoneInfo
was empty, so then also found that there was a RebuildRefSkeleton
that populates that. Other than the oddity in scale values (I think they might have driven it through animations to keep the models smaller?) everything looks correct. The bone hierarchy is parent first and the indices make sense.
I called that RebuildRefSkeleton
, then I had no valid render data so it crashed when trying to preview the skeleton.
Then found out theres a seemingly newer way of doing a “render version” of the skeleton using FSkeletalMeshRenderData
so again populated the individual pieces of that struct to apply to the skeleton and then an unresolve-able linker error for FSkeletalMeshRenderData::InitResources
wasn’t found.
Has anyone tried to build a skeletal mesh and skeleton from binary data before? I don’t have an fbx format for this model, and from previous experience with writing fbx model builders they are harder to work with than this.