control rotation на входе такие скачущие значения rotation выдает? Может кто знает, в чем может быть причина такого поведения?
Что ты пытаешься сделать?
Потому, что поворот контроллера и поворот актора, им управляемого - совершенно разные вещи. Можно синхронить актора с контроллером установкой галок по рысканью, тангажу и крену в акторе.
птица должна лететь в направлении камеры (forward vector контроллера) для этого я нахожу угол между forward vector актора и forward vector контроллера и применяю этот угол
мне надо чтобы по кнопке поворот актора смотрел в поворот контроллера
точнее не так, я поворачиваю интерполяцией птицу в направление контроллера
Тогда лучше связать актора-павна с контроллером и управлять мувментом контроллера.
Зачем, если можно просто привязать птицу к контроллеру, управлять всем движением, поворотом с контроллера и там же, если надо, интерполировать.
Интересно кто птицей управляет, аи или сам он
Т.е. можно, скажем, таймер навесить на команду поворота, чтоб плавно его делать.
мне не надо так, я должен управлять поворотом птицы, на контролер правая сторона экрана отвечает
Называется, интересно, но ничего не понятно, что за правая сторона, и к чему тут птица. Надо детализировать задачу.
у меня уже есть интерполяция, он нормально работает, но как только птица начинает лететь прямо, look at rotation 2 отличные друг от друга значения на выходе выдает, хотя на вход target подается forward vector контроллера, значения которого не меняются
правая половина экрана смартфона отвечает за поворот камеры, левая за поворот птицы в forward vector контроллера
поворот птицы я подсчитываю в look at rotation и устанавливаяю интерполированное значение в set actor rotation
Тогда нет смысла свзывать птицу и контроллер, пусть камера контроллер смотрит на птицу, а она летит по своему форвард-вектору.
правая половина экрана свайпается для управление контроллером, а на левую надо только нажать, чтобы птица повернулась
смысл есть - отдельно полет и камера управляется, удобнее
она и так летит по форвард вектору, я только ее поворачиваю по нажатию
мой вопрос в том, почему look at rotation попеременно 2 различных значения выдает
из-за этого птицу на небольшой угол колбасит
На это может ответить продолжение лапши после принтстринга
там только интерполяция и поворот
А вызывается это все в тике? Я бы, наверное, к дельте не привязывался, а делал интерполяцию между углами контроллера и актора. Но это мое имхо. 😊
нет на event input touch привязана
вот кстати, если не использовать look at rotation, то дребезжание пропадает
Спасибо за наводку!
Потому что крайне странные вещи на скриншоте вижу я, Find Look At Rotation - это построение ротатора между двумя позициями, а не между двумя направлениями. Не смотря на то, что технически это всё векторы, но смысл у них разный
так на выходе же все равно угол поворота выводится, не важно, точки это или направления, в чем практическая польза разграничивать эти 2 понятия, когда речь идет о движке?
Ещё как важно, потому что это абсолютно разные понятия
Можешь объяснить в контексте движка? Для меня вектор это и точка, и направление, почему такое понимание может быть вредно?
Объясню с картинками :)
Точка - набор абсолютных координат по осям, конкретное положение в мире. Вектор направления - приведенное к единице расхождение координат по осям, которое к абсолютному положению имеет отношение меньше чем никакое.
точка в движке это положение в мире, но ведь описывается вектором, начало которого в 0,0,0 в мире и можно использовать направление этой "точки"
Вопрос - как использовать.
Depends on. Иногда можно, но нужно чётко понимать, что это разные понятия для разных целей. Вот ты использовал и получил соответствующий результат. Я тебе на скриншоте как раз показал что у тебя происходит. Ты уверен, что именно этого хотел добиться?
Надо самому это проделать, так как я не понял как look at rotation по положению персонажа до таргета поворот высчитывает
Да очень легко, берёт вектор направления от персонажа до цели, вторые два вектора находит по принципу какие больше подходят и всё. На их основе строит матрицу поворота.
Спасибо за объяснение, все понял
Обсуждают сегодня