Перейти к публикации
  • Неправильный поворот объектов


    KOllapsE
    • Закрыт

    Копался в системе стройки и обнаружил косяк при поворотах. Возможно, из-за него объекты и разлетались друг от друга при попытке реализации поворотов групп предметов (но не факт).

    При повороте "На 45 градусов по часовой" происходит вращение вокруг синей оси объекта:

    90.jpg
     

    При повороте "На 45 градусов по оси Х" происходит вращение вокруг зелёной оси объекта:

    91.jpg
     

    При повороте "На 45 градусов по оси Z" происходит вращение вокруг красной оси объекта:

    92.jpg
     

    При повороте "На 45 градусов по оси Y" происходит вращение вокруг оси Z карты:

    93.jpg
     

     

    По идее повороты X, Y, Z должны поворачивать вокруг осей объекта, но поворот по Y не соответствует этому. Я так понял, что при повороте  "По часовой" или "Против часовой" должно происходить вращение вокруг оси Z карты, но в плагине стройки что-то пошло не так.


     


    Отзывы пользователей

    Рекомендованные комментарии

    • X - Красная
    • Y - ЗЕЛЕНАЯ
    • Z - СИНЯЯ

     

    Вот я вращаю по оси X

    20160626005604_1.jpg

    20160626005606_1.jpg

    Т.Д мы вращаем объект по оси X

     

    Вот я вращаю по оси Y

    20160626005426_1.jpg

    20160626005431_1.jpg

    Т.Д мы вращаем объект по оси Y

     

    Те разноцветные линии на скрине это оси объекта, а не оси координатной плоскости мира на которой объект, когда поворачиваем объект по оси, мы поворачиваем ось объекта на координатной плоскости мира, она должна как стрелка часов поворачиваться относительно мира то есть земли где игрок стоит, вот и выходит так, что немного не понятно визуально.

    Ссылка на комментарий
    Поделиться на других сайтах

    7 минут назад, KOllapsE сказал:

    @Electr0, а почему поворотов по осям карты 3, а вокруг осей объекта - только один (для Z)?

    не понял,если ты про повернуть предмет, то там используется поворот типа YAW:

     

    Flight_dynamics_with_text.png

    Ссылка на комментарий
    Поделиться на других сайтах

    @Electr0, ну-у-у, сейчас есть 4 варианта - поворот по часовой, по X, по Y, по Z. Поворот по часовой привязан к системе координат объекта, я так понял, а остальные привязаны к системе координат карты. Т.е. для трёх осей карты сейчас существует три поворота, а для трёх осей объекта - только один. Почему нет ещё двух поворотов по осям объекта - по техническим причинам или это просто неактуально или ещё что-то?

    Ссылка на комментарий
    Поделиться на других сайтах

    какие это еще оси кроме X Y Z существуют?

    все типы поворотов вращают предмет по осям, просто функция повернуть предмет поворачивает его так как нужно большинству, например дверь повернуть и т.д, а отдельные функции X Y Z просто прибавляют либо убавляют значение указанной оси в более ручном режиме, когда иногда нужно необычным образом подвернуть предмет.

    Ссылка на комментарий
    Поделиться на других сайтах

    1 минуту назад, Electr0 сказал:

    какие это еще оси кроме X Y Z существуют?

    Эм, никаких. Я так понял, что есть 3 поворота по осям карты, а поворот "по часовой" - это поворот по одной из осей объекта, а их ведь тоже три.

     

    18 часов назад, KOllapsE сказал:

    @Electr0 А поворот типа "На 45 градусов по часовой" - это поворот вокруг оси Z самой модели, получается?
     

     

    17 часов назад, Electr0 сказал:

    Ну аналогично тем 

     

    Ссылка на комментарий
    Поделиться на других сайтах

    кароче есть у каждого предмета в игре такие параметры определяющие его положение в пространстве m_angRotation это его наклон, скажем так при обнулении тут выставляется значение вектора равное: 0 0 0, при поворотах отдельно по осям допустим на по X просто прибавляем либо убавляем, например повернули обнуленый предмет на 90 по оси X, все это значит у нее там: минус(либо плюс)90 0 0 будет, и в таком роде, так что при любых поворотах мы просто меняем значения в m_angRotation свойстве предмета.

     

    есть так же m_vecOrigin, это положение предмета на координатной плоскости карты, значение этого параметра меняется при перемещении предмета, тоже по осям X Y Z

    Ссылка на комментарий
    Поделиться на других сайтах

    @Electr0, нашёл баг - используя только повороты "На 45 по часовой" и "На 45 против часовой" потерял десятую долю градуса. Сделал демку.

    20160626215143_1.jpg

    20160626215203_1.jpg

    20160626215206_1.jpg

    20160626215212_1.jpg

    20160626215226_1.jpg

    20160626215238_1.jpg

    20160626215302_1.jpg

    rotate.dem

    Ссылка на комментарий
    Поделиться на других сайтах



    Присоединяйтесь к обсуждению

    Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

    Гость
    Добавить комментарий...

    ×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

      Разрешено не более 75 эмодзи.

    ×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

    ×   Ваш предыдущий контент был восстановлен.   Очистить редактор

    ×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.


  • Обозначения статусов

    В обработке = Мы работаем над вашим отчетом.

    Исправлено = Проблема исправлена.

    Тестируется = Изменения внесены, но требуют тестирования.

    Закрыт = Отзыв некорректный, либо проблема не повторяется при проверке на серверах. Если у вас есть дополнительная информация напишите комментарий и мы снова откроем этот вопрос.

×
×
  • Создать...