суббота, 2 мая 2015 г.

Исправление ошибок

после доведения до конца рабочей модели повреждений, которую обкатывал на МиГ-23 и Ф-15, пришлось подгонять под новые стандарты МиГ-27 и Ф-16. К сожалению, не обошлось без досадных накладок и ошибок. сила Букв не прощает ни малейшей ошибки в произносимом заклинании, и если хотя бы одна буква не та, или лишняя или таковой вообще нет), то моментально вылезает ошибка. так вот и пришлось "чистить" названия объектов и мешей. Заодно пришлось возвращаться к старой схеме со стрельбой из пушек и блоков НАР. Старый код для снарядов использовал функцию applyForce и поправку mathutilsVector, в дополнение к координатам появления снарядов. Эта схема хорошо показала себя на неподвижных зенитках, и, надеюсь, нормально заработает на малоскоростных (по сравнению с реактивными самолетами) наземных объектах. Как бы то ни было, теперь процесс появления снаряда выглядит так - указывается, какой объект добавляется, добавленный объект сразу парентится к источнику и получает локальные начальные координаты. Сам же снаряд, имея свойство-таймер, теперь ведет себя согласно коду:

    if own['timeStart'] < 0.05:
        own.removeParent()
    if own['timeStart'] < 0.15:
        own.localLinearVelocity = [random.randrange(-5,5), own['speed'], random.randrange(-5,5)]
    if own['timeStart'] > 0.15:
        own['speed'] = 0
        if own.worldLinearVelocity != mathutils.Vector((0.0, 0.0, 0.0)):
            own.alignAxisToVect(own.worldLinearVelocity, 1, 1.0)

На чрезвычайно короткое время он получает некую постоянную скорость, по истечении этого времени происходит "снятие" скорости и дальше снаряд летит по инерции, попутно "ориентируясь" по ходу движения. Аналогично, хотя и чуть-чуть по другому я поступил с отстреливаемыми ловушками (они еще дополнительно "уходят" в стороны, причем опять же, в момент появления ловушке присваивается свойство coordX, 1 и -1 означают, что ловушка уходит вверх и в сторону - минус - влево, плюс- вправо, 2 и -2 - аналогично, но ЛТЦ выстреливается не вверх, а вниз, и тоже в стороны, 0 - зарезервирован - костыль, конечно, но выглядит получше).
В общем, процесс переформатирования и выстраивания  так и не прекращается... 

Комментариев нет:

Отправить комментарий