Unreal Engine: ограничение вращения пешки между двумя углами

#unreal-engine4 #unreal-blueprint

#unreal-движок4 #unreal-blueprint

Вопрос:

Я работаю над коротким проектом Unreal Engine 4.9 для друга, но я совсем не знаком с unreal engine, и я собираюсь рвать на себе волосы. Я искал в Интернете около 2 часов, и я не могу его получить.

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

 if MyObect.Roll < -50,
    MyObject.Roll = -50;
if MyObect.Roll > 50,
    MyObject.Roll = 50;
  

Любая помощь или указание в правильном направлении были бы огромной помощью. Я видел какой-то пост с использованием менеджера камеры игрока, и пока что ему не повезло. Заранее спасибо.

Ответ №1:

Первое, что нужно сделать в такой ситуации, это распечатать ваши значения, например, используя UE_LOG . Вы заметите, что ваши значения часто находятся между 0 и 360 вместо того, что вы могли бы ожидать сами (от -180 до 180).

Итак, сначала вам нужно «нормализовать» свои углы, чтобы они были между -180 и 180. Таким образом, вы можете использовать код, который вы опубликовали выше 🙂

 if (MyObject.Roll < -180.0f) MyObject.Roll  = 360.0f;
else if (MyObject.Roll > 180.0f) MyObject.Roll -= 360.0f;
  

Надеюсь, это поможет!

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

1. Это не вся проблема, с которой я столкнулся, но я уверен, что это будет следующей проблемой, и вы были единственным человеком, который попытался ответить, так что я действительно ценю это, спасибо 🙂

2. Не стесняйтесь обновлять свой вопрос, потому что мне не ясно, что происходит не так в вашем текущем решении!