use ExportProperties to customize bind pose epsilon

pull/2543/head
thomasbiang 2019-07-11 17:00:47 -07:00 committed by ywang
parent 6e0810d3c1
commit 6299c58fae
1 changed files with 4 additions and 3 deletions

View File

@ -67,6 +67,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <vector> #include <vector>
#include <array> #include <array>
#include <unordered_set> #include <unordered_set>
#include <iostream>
// RESOURCES: // RESOURCES:
// https://code.blender.org/2013/08/fbx-binary-file-format-specification/ // https://code.blender.org/2013/08/fbx-binary-file-format-specification/
@ -1841,9 +1842,9 @@ void FBXExporter::WriteObjects ()
// this should be the same as the bone's mOffsetMatrix. // this should be the same as the bone's mOffsetMatrix.
// if it's not the same, the skeleton isn't in the bind pose. // if it's not the same, the skeleton isn't in the bind pose.
float epsilon = 1e-4f; // some error is to be expected float epsilon = 1e-4f; // some error is to be expected
#ifdef ASSIMP_CUSTOM_BINDPOSE_ERR float epsilon_custom = mProperties->GetPropertyFloat("BINDPOSE_EPSILON", -1);
epsilon = ASSIMP_CUSTOM_BINDPOSE_ERR; if(epsilon_custom > 0)
#endif epsilon = epsilon_custom;
bool bone_xform_okay = true; bool bone_xform_okay = true;
if (b && ! tr.Equal(b->mOffsetMatrix, epsilon)) { if (b && ! tr.Equal(b->mOffsetMatrix, epsilon)) {
not_in_bind_pose.insert(b); not_in_bind_pose.insert(b);