0
\$\begingroup\$

I'm trying to import animated models from Mixamo, but their unit scale is centimeter while in my application I use meter.

In Assimp-4.1.0 it is possible to perform scaling when importing a model with aiProcess_GlobalScale flag. (https://github.com/assimp/assimp/issues/1514)

However, it does nothing the way I use it :

uint flags = aiProcess_Triangulate | aiProcess_GenSmoothNormals | aiProcess_GlobalScale;
Assimp::Importer importer;
importer.SetPropertyFloat(AI_CONFIG_GLOBAL_SCALE_FACTOR_KEY, 0.01f);
m_scene = importer.ReadFile(Filename.c_str(), flags);

After some debugging, it turns out that aiProcess_GlobalScale is not compatible with itself ! i.e.

importer.ValidateFlags(aiProcess_GlobalScale); 

returns false.

Am I the only one experiencing this issue ? What is the mistake ?

\$\endgroup\$
  • \$\begingroup\$ I used a quaternion and a scale factor to transform the final vertices in the vertex shader, after skinning process. It works for now. \$\endgroup\$ – Kiord Jul 31 '19 at 16:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.