Merge pull request #4554 from Nor-s/fix_fbx

Fix Import a specific FBX model will freeze the app #4395
pull/4565/head
Kim Kulling 2022-06-03 13:48:35 +02:00 committed by GitHub
commit 49fdd12fdf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 2 additions and 2 deletions

View File

@ -3318,9 +3318,9 @@ FBXConverter::KeyFrameListList FBXConverter::GetRotationKeyframeList(const std::
float vc = curve->GetValues().at(1); float vc = curve->GetValues().at(1);
for (size_t n = 1; n < count; n++) { for (size_t n = 1; n < count; n++) {
while (std::abs(vc - vp) >= 180.0f) { while (std::abs(vc - vp) >= 180.0f) {
float step = std::floor(float(tc - tp) / (vc - vp) * 179.0f); double step = std::floor(double(tc - tp) / std::abs(vc - vp) * 179.0f);
int64_t tnew = tp + int64_t(step); int64_t tnew = tp + int64_t(step);
float vnew = vp + (vc - vp) * step / float(tc - tp); float vnew = vp + (vc - vp) * float(step / (tc - tp));
if (tnew >= adj_start && tnew <= adj_stop) { if (tnew >= adj_start && tnew <= adj_stop) {
Keys->push_back(tnew); Keys->push_back(tnew);
Values->push_back(vnew); Values->push_back(vnew);