Проблема со скриптом
Всем привет. Есть скрипт движения по точкам. Все движется, но не так как надо. При координате объекта (Y = 1.284865) и такой же самой координате у точки объект всеравно продолжает менять свой Y. А в конце движения объект вообще поднимается примерно в 2 раза выше исходной координаты. По идее скорость по оси Y должна равнятся 0, но получается что это не так.
Код:
using UnityEngine; |
Ответ: Проблема со скриптом
Unity не знаю, но distance у тебя считается очень странно.
Правильная формула d = sqrt ((x- x0)(x- x0) + (y - y0)(y - y0) + (z - z0)(z - z0)) P.S. А что такое all_Points? Где ты их задал. Если в редакторе, то как? Хочу попробовать сделать. |
Ответ: Проблема со скриптом
PHP код:
|
Ответ: Проблема со скриптом
Поправил предыдущий пример.
|
Ответ: Проблема со скриптом
Все работает, но до того момента, когда я начинаю двигать объект по диагонали. Он просто начинает вращатся по орбите вокруг вейпоинта.
|
Ответ: Проблема со скриптом
defz, проверил: поставил кубик, повесил на него скрипт. waypoint - это dummy-объекты. Если оси кубика коллинеарны (параллельны) глобальным осям, то все ок. Если оси кубика повернуты, то шастает не правильно и крутится.
Ошибка скорее всего тут > transform.Translate((waypoint[i+1].position - waypoint[i].position).normalized * movement ); Надо делать перенос по глобальным координатам. |
Ответ: Проблема со скриптом
Я на самом деле не пользуюсь транслейтом, решил оставить в примере. Видно не надо было...
PHP код:
|
Ответ: Проблема со скриптом
Большое спасибо, все работает как надо. И еще 1 вопрос: будет ли работать скрипт если я добавлю поворот объекта путем получения угла поворота вейпоинта, т.е. оси вейпоинта будут не параллельны глобальным осям?
|
Ответ: Проблема со скриптом
будет
|
Часовой пояс GMT +4, время: 16:45. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot