Чем заменить 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