Re: OpenGEX as .Nif alternative for OpenMW
Posted: 02 Feb 2021, 13:42
While Collada works now for statics, and basic animation support is there, there are still a few details that are missing that prevent fully replacing base animations. That combined with lack of alpha testing (and also lack of alpha to coverage), and the issues with bone names, especially that Collada 1.4.1 doesn't support bone names with spaces, it makes FBX and glTF 2.0 more and more tempting.
Issues common to all alternative formats:
- base_anim files are hardcoded to nif -> This can be easily changed, but requires an option at config file or an ESM-expansion.
- no option to define text keys other than "start" and "end" (how to implement this is format-specific or requires OpenMW-specific txt file)
Collada issues currently:
- Only 1.4.1 with PROFILE_COMMON is supported. Bone naming can't take spaces, and this breaks all animations that have bone names starting with "bip01 " unless a workaround is devised. This workaround isn't in master yet.
- lower and UPPER case matters in bone/node names and channels, and this seems to conflict occasionally with animation logic of OpenMW.
- No alpha testing
- Supporting 1.5.0 and other profiles requires extensive work with Blender's Collada exporter as well as OSG
FBX issues currently:
- Lack of ReadNode-method to read from memory via std::istream
- OpenMW animation bridge is missing, probably could be connected easily to RetrieveAnimationsVisitor.
glTF 2.0 issues:
- No OSG plugin that supports animations is available at this stage
- OpenMW animation bridge is missing (OSG plugin has to exist first)
Issues common to all alternative formats:
- base_anim files are hardcoded to nif -> This can be easily changed, but requires an option at config file or an ESM-expansion.
- no option to define text keys other than "start" and "end" (how to implement this is format-specific or requires OpenMW-specific txt file)
Collada issues currently:
- Only 1.4.1 with PROFILE_COMMON is supported. Bone naming can't take spaces, and this breaks all animations that have bone names starting with "bip01 " unless a workaround is devised. This workaround isn't in master yet.
- lower and UPPER case matters in bone/node names and channels, and this seems to conflict occasionally with animation logic of OpenMW.
- No alpha testing
- Supporting 1.5.0 and other profiles requires extensive work with Blender's Collada exporter as well as OSG
FBX issues currently:
- Lack of ReadNode-method to read from memory via std::istream
- OpenMW animation bridge is missing, probably could be connected easily to RetrieveAnimationsVisitor.
glTF 2.0 issues:
- No OSG plugin that supports animations is available at this stage
- OpenMW animation bridge is missing (OSG plugin has to exist first)