Страница 1 из 1

Проблема с ограничением поворота по оси Х

СообщениеДобавлено: 07 фев 2017, 12:17
ToKan
Турель следит за игроком.

Сделал ограничение по оси х. в положительную сторону (когда смотрит вниз)все работает, а в отрицательную (доходит до 0)и не хочет поворачиваться и скидывает значение до максимально указанного положительного в мое случае 25.

Подскажите в чем может быть проблема.

Синтаксис:
Используется csharp
Pushka.transform.rotation = Quaternion.Slerp(Pushka.transform.rotation, Quaternion.LookRotation(_player.transform.position - Pushka.transform.position), 10 * Time.deltaTime);

            Pushka.transform.eulerAngles = new Vector3((Mathf.Clamp(Pushka.transform.eulerAngles.x, -25f, 25f)), Pushka.transform.eulerAngles.y, Pushka.transform.eulerAngles.z);

Re: Проблема с ограничением поворота по оси Х

СообщениеДобавлено: 08 фев 2017, 18:03
юnity
Может попробовать вот-так:
Pushka.transform.rotation = Quaternion.Euler(new Vector3(Mathf.Clamp(Pushka.transform.rotation.x, -25f, 25f), Pushka.transform.rotation.y, Pushka.transform.rotation.z);

Re: Проблема с ограничением поворота по оси Х

СообщениеДобавлено: 09 фев 2017, 15:45
ToKan
не, вообще не работает. Развернуло ее на 180 гр. причем по оси Y и на этом все, не двигается ни куда

Re: Проблема с ограничением поворота по оси Х

СообщениеДобавлено: 10 фев 2017, 10:26
юnity
А пушка главный объект или дочерний? Может там надо localRotation, localEulerAngles ? Если дочерний.

Re: Проблема с ограничением поворота по оси Х

СообщениеДобавлено: 10 фев 2017, 11:14
waruiyume
Подозреваю, что transform.rotation.x никогда не имеет отрицательного значения.

Re: Проблема с ограничением поворота по оси Х

СообщениеДобавлено: 17 фев 2017, 05:42
ToKan
Объект дочерний но localRotation, localEulerAngles не помогает. хотя так думаю правильней.
пришлось взять код из стандартных ас сетов к камере, скрипт - LookatTarget.
В нем они по моему слишком все усложнили, и скорей всего есть более простой способ, но решения я так и не смог найти.

Спасибо всем за ответы. Если кто знает более простое решение буду очень признателен.