Vector3.Lerp и 360 градусов
|
|
robertono | Дата: Пятница, 02 Мая 2014, 00:28 | Сообщение # 1 |
Чокнутый Кот
Сейчас нет на сайте
| Привет всем. Помогите пожалуйста с такой проблемкой.. В сочетании Vector3.Lerp и MouseLook возникли некоторые трудности: MouseLook при достижении 360 градусов меняет значение на 0 (что бы когда нибудь значения небыли в сотни тысяч...). Но vector3.lerp прокручивает модель полностью. Т.е. когда моус лук ставит сначала 360 градусов, потом 0, то лерп прокручивает модель с 360 до 0.
Как исправить? Как сделать что бы не прокручивалась модель ? Пробовал Mathf.LerpAngle но лерпа тут вообще никакого нету, плавности 0, какое время я бы не ставил. Заставить моус лук не менять значение на 0 - не вариант. Какие ещё идеи?
|
|
| |
nwsx | Дата: Пятница, 02 Мая 2014, 00:43 | Сообщение # 2 |
постоянный участник
Сейчас нет на сайте
| quaternion.lerp попробуй. возможно я не понял суть вопроса
Westboro Dungeon Journey на Google Play
Сообщение отредактировал nwsx - Пятница, 02 Мая 2014, 00:44 |
|
| |
robertono | Дата: Пятница, 02 Мая 2014, 01:27 | Сообщение # 3 |
Чокнутый Кот
Сейчас нет на сайте
| nwsx, впринципе понял, и это же решение я находил на unity3d.ru. Но дело в том что через сервер значение приходит в виде vector3, а в кватернионе 4 переменных. Как мне использовать quaternion.lerp(от,до,время), если "до" у меня в векторе?
|
|
| |
Левша | Дата: Пятница, 02 Мая 2014, 01:47 | Сообщение # 4 |
почти ветеран
Сейчас нет на сайте
| Quaternion.Euler Transform.eulerAngles
X.cor.R (Prologue)
|
|
| |
robertono | Дата: Пятница, 02 Мая 2014, 18:20 | Сообщение # 5 |
Чокнутый Кот
Сейчас нет на сайте
| Всё не то.. Ладно, попробую передать кватернион через сервер и использовать quaternion.lerp. Потом отпишусь.
|
|
| |
Левша | Дата: Пятница, 02 Мая 2014, 22:09 | Сообщение # 6 |
почти ветеран
Сейчас нет на сайте
| Цитата robertono ( ) Всё не то.. Может руки не оттуда ?
Цитата robertono ( ) Как мне использовать quaternion.lerp(от,до,время), если "до" у меня в векторе? transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.Euler (Vector3), time);
X.cor.R (Prologue)
Сообщение отредактировал Левша - Пятница, 02 Мая 2014, 22:10 |
|
| |
robertono | Дата: Пятница, 02 Мая 2014, 23:47 | Сообщение # 7 |
Чокнутый Кот
Сейчас нет на сайте
| Левша, ага. Я знаю что кватернион еулер позволяет задать в векторе. Но толку то ноль. Когда моус лук сделает с 360 на 0 то модель прокрутиться вокруг себя.
|
|
| |
Левша | Дата: Суббота, 03 Мая 2014, 00:23 | Сообщение # 8 |
почти ветеран
Сейчас нет на сайте
| Введи Lerp в скрипте MouseLook еще до применения поворота к модели. Через дополнительную, промежуточную переменную.
X.cor.R (Prologue)
Сообщение отредактировал Левша - Суббота, 03 Мая 2014, 00:24 |
|
| |
robertono | Дата: Суббота, 03 Мая 2014, 00:24 | Сообщение # 9 |
Чокнутый Кот
Сейчас нет на сайте
| Проблема решена, пришлось приспособить сервер для отправки кватернионов и теперь для сглаживания использую quaternion.lerp(oldquat,newquad,time) Всем спасибо за подкиданные советики
|
|
| |
Левша | Дата: Суббота, 03 Мая 2014, 00:28 | Сообщение # 10 |
почти ветеран
Сейчас нет на сайте
| Ох блин... только щас допер что ты лерпишь данные из сети...
X.cor.R (Prologue)
|
|
| |
robertono | Дата: Суббота, 03 Мая 2014, 01:40 | Сообщение # 11 |
Чокнутый Кот
Сейчас нет на сайте
| Левша, я специально не говорил этого что бы не усложнять вопрос. Я и сам могу проблему решить. За то на форуме мне накидали вообще всё что есть на эту тему. Быстрее смог додумать)
|
|
| |