Bullet Physics и значения NAN

Иногда некоторые объекты получают значения NAN в мире, смоделированном с помощью Bullet Physics. (очень редко) Как правильно с этим справиться? Есть ли встроенная функциональность Bullet Physics для обнаружения таких объектов, чтобы избежать вирусного эффекта NAN. Почему некоторые объекты получают NAN. Я не применяю силы или импульсы НАН. Я думаю, что это можно было бы решить, создав 2 объекта с одинаковыми координатами.


person Max    schedule 15.10.2012    source источник
comment
Что становится NaN? Положение, скорость, ... ?   -  person Roy Dictus    schedule 15.10.2012
comment
Не уверен, что это все еще проблема для вас, но недавно для этого был открыт тикет: code.google.com/p/bullet/issues/detail?id=%20665   -  person Jeremy Sandell    schedule 02.11.2012


Ответы (1)


Две вещи:

1) такая скорость зажима должна препятствовать мгновенному ускорению любого тела

btScalar speed = velocity.length();
if(speed > speedLimit) {
    velocity *= speedLimit/speed;
    body->setLinearVelocity(velocity);
}

2) проверьте значения NaN самостоятельно и используйте самое безопасное значение по умолчанию или предыдущее значение

if (isnan(someValue))
{
    someValue = fallbackValue;
}
person rraallvv    schedule 21.11.2012