This also fixes issue with root bone overwritten - which should not happen as it is a hack.
Before the behaviour would create an additional bone which would end up breaking animations completely on import.
Additionally this fixes required bones being removed.
Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
Importing of lights according to glTF 2.0 extension KHR_lights_punctual https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_lights_punctual
Since glTF lights are based on PBR they use different attenuation model than conventional lights supported by assimp. It is possible to use attenuation factors in assimp to describe inverse square law fallof. But the light structure does not provide means to save range property. Therefore I resorted to use of metadata. When range parameter is present, I put it into 'PBR_LightRange' metadata of light's node. Please, see comment in glTF2Importer file.
"json" is a very vague exporter ID, change to "assjson"
Add a unit test to ensure all exporter have unique IDs
and that they all have an ID, description and extension
Q3BSP relies on the sort order
Read() should return number of elements read, not count of bytes
Read() should clip to the file size and return elements actually read,
instead of aborting if try to read too much
A problem that sneaked in from #1293 (f84851e893)
due to insufficient code review, later reported in #2059 but not fixed
properly. Having a white ambient practically means all other color information
is ignored and the model stays bright white no matter how you set up your
lighting, so putting it back to how it was before the commit above.