Чем заменить Quaternion.Slerp? - Форум Игроделов
Чт, 09 Май 2024, 00:20 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » ОБЩИЕ ВОПРОСЫ » Чем заменить Quaternion.Slerp?
Чем заменить Quaternion.Slerp?
IsumbosiДата: Пт, 23 Окт 2015, 15:03 | Сообщение # 1
Нет аватара
 
Сообщений: 7
Награды: 0
Репутация: 0
Статус: Offline
Здравствуйте. Есть такая проблема: для поворота врага к игроку использую
Код

vrag.transform.rotation = Quaternion.Slerp(vrag.transform.rotation,Quaternion.LookRotation(player.position - vrag.transform.position),rotationSpeed*Time.deltaTime);

но данный код работает не совсем так как хотелось бы, а именно, если игрок стоит на какой-либо возвышенности, враг, поворачиваясь к игроку, заваливается назад. Как сделать чтобы враг поворачивался к игроку только в горизонтальной плоскости?
 
СообщениеЗдравствуйте. Есть такая проблема: для поворота врага к игроку использую
Код

vrag.transform.rotation = Quaternion.Slerp(vrag.transform.rotation,Quaternion.LookRotation(player.position - vrag.transform.position),rotationSpeed*Time.deltaTime);

но данный код работает не совсем так как хотелось бы, а именно, если игрок стоит на какой-либо возвышенности, враг, поворачиваясь к игроку, заваливается назад. Как сделать чтобы враг поворачивался к игроку только в горизонтальной плоскости?

Автор - Isumbosi
Дата добавления - 23 Окт 2015 в 15:03
NapalmRainДата: Пт, 23 Окт 2015, 16:43 | Сообщение # 2
 
Сообщений: 473
Награды: 0
Репутация: 31
Статус: Offline
Собственно, всё тоже самое, только в качестве второго параметра передавать не чистой води ответ от лукроташн, а только поворот по игрику. икс и зет ставить ноль.
 
СообщениеСобственно, всё тоже самое, только в качестве второго параметра передавать не чистой води ответ от лукроташн, а только поворот по игрику. икс и зет ставить ноль.

Автор - NapalmRain
Дата добавления - 23 Окт 2015 в 16:43
IsumbosiДата: Пт, 23 Окт 2015, 18:21 | Сообщение # 3
Нет аватара
 
Сообщений: 7
Награды: 0
Репутация: 0
Статус: Offline
Спасибо, но не очень понятно как это записать.
 
СообщениеСпасибо, но не очень понятно как это записать.

Автор - Isumbosi
Дата добавления - 23 Окт 2015 в 18:21
ilyakosДата: Сб, 24 Окт 2015, 07:13 | Сообщение # 4
 
Сообщений: 171
Награды: 0
Репутация: 8
Статус: Offline
Quaternion rot = Quaternion.LookRotation(player.position-vrag.position);
vrag.rotation = Quaternion.Lerp(vrag.rotation,new Quaternion(vrag.rotation.x,rot.y,vrag.rotation.z,rot.w),Time.deltaTIme*2);


Сообщение отредактировал ilyakos - Сб, 24 Окт 2015, 07:15
 
СообщениеQuaternion rot = Quaternion.LookRotation(player.position-vrag.position);
vrag.rotation = Quaternion.Lerp(vrag.rotation,new Quaternion(vrag.rotation.x,rot.y,vrag.rotation.z,rot.w),Time.deltaTIme*2);

Автор - ilyakos
Дата добавления - 24 Окт 2015 в 07:13
IsumbosiДата: Сб, 24 Окт 2015, 18:14 | Сообщение # 5
Нет аватара
 
Сообщений: 7
Награды: 0
Репутация: 0
Статус: Offline
Спасибо.
 
СообщениеСпасибо.

Автор - Isumbosi
Дата добавления - 24 Окт 2015 в 18:14
NapalmRainДата: Вс, 25 Окт 2015, 10:15 | Сообщение # 6
 
Сообщений: 473
Награды: 0
Репутация: 31
Статус: Offline
Isumbosi, Это сработало? мне просто интересно, потому как невооружённым взглядом я разницы не увидел между конечным и вашим начальным вариантом... могу ошибаться.
 
СообщениеIsumbosi, Это сработало? мне просто интересно, потому как невооружённым взглядом я разницы не увидел между конечным и вашим начальным вариантом... могу ошибаться.

Автор - NapalmRain
Дата добавления - 25 Окт 2015 в 10:15
Форум Игроделов » UNITY3D » ОБЩИЕ ВОПРОСЫ » Чем заменить Quaternion.Slerp?
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024