Render.ru

создание и следование пути игровому объект

Swagmiral

Активный участник
#1
В общем как начинающий в unity я имею вопрос, не знаю насколько сейчас активный этот форум но все же, вопрос:
при создании Tower Defense нужно сделать движение врагов вдоль заданной траектории, как сделать эту траекторию и как заставить двигаться врагов по ней с одинаковой скоростью?
Некоторые советуют через iTween с Antares Browser & Addon но вот проблема, на четвертой версии Unity эта Antares не хочет работать.
Есть у кого нибудь какие-то идеи по этому поводу?
Заранее огромное спасибо за ответ!
 
#2
Расставить точки в пространстве. Кривая через них и будет путем. Каждого врага двигать от одной точки до другой. Ну то есть сначала у него некое состояние равно 0 и это значит, что он должен двигаться по прямой к первой точке, как только дойдет до нее (расстояние станет маленьким), его состояние тут же меняется на 1 и это значит, что он должен бежать ко второй точке, и так далее.
 

Swagmiral

Активный участник
#4
Но у нас возникла новая проблема, в общем допустим есть атлас персонажа, и нужно чтобы когда он к примеру идет в верх - включался его вид сзади, если идет по диагонали вверх - включался вид полу-сбоку-полу-сзади, если идет в низ - включался вид спереди и т.д.
В общем это стало для нас настолько проблемой что уже было решили переходить на 3d))) но у меня проснулся здравый смысл и я подумал что из за незнания пары строчок скрипта нельзя переходить на столь сложную для нас 3d (ну как для нас, я то 3дшник, и смогу сделать любую модель, но вот программисту прибавиться работы в 2 раза).
В общем этот проект не задумывался как нечто грандиозное, это обычный 2d TowerDefense, так сказать для пробы пера) поэтому очень нужно услышать ответ по поводу проигрывания именно той картинки (вобщето 2-х картинок, анимация) в каком направлении идет персонаж.
Как всегда буду очень благодарен за ответ!

З.ы.
если в течении 2-х дней не будет ответов то я... создам новую тему)) просто логика, в старые темы никто не заходит))
 
#5
В Юнити есть возможность организовать атлас из спрайтов. Не скажу конкретно как, но вроде бы есть какие-то ассеты на сторе (в том числе и бесплатные) для управления ими, а также можно просто текстуру двигать по UV-развертке (смещать ее). В общем по запросу Unity3d sprite atlas полно всего рассказывается.
 

Swagmiral

Активный участник
#6
Ну скрипт для смещения текстуры мы сделали, работает отлично, нужно сделать так чтобы отображались картинки в зависимости от направления движения персонажа, а сейчас он просто циклично по порядку меняет все положения персонажа.
В общем спасибо, ща посмотрю что там на сторе есть, странно что я раньше не нашел таких ассетов, никак не могу привыкнуть к тому что в unity не все нужно делать с нуля и изобретать велосипед, ведь для этого есть огромнейшее сообщество..)
 

Swagmiral

Активный участник
#7
В общем я не нашел то что искал, но пока искал у меня появилась идея: сделать это через триггеры, ну когда спрайт заходит в триггер то его анимация меняется на заранее указанную для этого триггера (направления).
Скажите стоит ли вообще так делать и правильно (оптимально) ли это?
 
#8
Что-то проблема неясна. Если сделали, чтобы циклически менялись спрайты, например с 1-го по 9-ый, для отображения персонажа сбоку, а для отображения сзади надо менять с 10-го по 18-ый, то в чем проблема? Меняем индекс на нужный номер - и все, дальше циклически сдвигаем. Как только индекс выйдет за пределы фрагмента, нужного для данной стороны, переносим индекс в начало фрагмента.
 

Swagmiral

Активный участник
#9
Если сюда еще кто-то заходит,
скажите, как повернуть подобъект префаба в сторону другого?
Пробовал использовать transform.LookAt или Quaternion.LookRotation но ничего не получилось потому что они поворачивают правильно только весь префаб, а если сделать чтобы он поворачивал подобъект то ставиться он нормально а вот когда он
захватывает цель то башня (подобъект) падает назад на 90 градусов и уже потом по локальной оси пытается повернуться в сторону цели, а я тупой ламер не знаю как убрать поворот на 90 (и почему это вообще происходит)
и если нету таких очевидных причин почему это происходит тогда уже я выложу код, но все же я надеюсь что это такая тривиальная проблема с которой люди сталкиваются время от времени и имеется простой такой же тривиальный способ ее решения.
Заранее благодарю за ответ!


З.ы.
Если за два дня никто не ответит - значит тема уже заброшена и в нее никто не заходит, тогда я создам новую (это не шантаж а элементарная логика:D).
 

Cibergod

Активный участник
#10
В общем как начинающий в unity я имею вопрос, не знаю насколько сейчас активный этот форум но все же, вопрос:
при создании Tower Defense нужно сделать движение врагов вдоль заданной траектории, как сделать эту траекторию и как заставить двигаться врагов по ней с одинаковой скоростью?
Некоторые советуют через iTween с Antares Browser & Addon но вот проблема, на четвертой версии Unity эта Antares не хочет работать.
Есть у кого нибудь какие-то идеи по этому поводу?
Заранее огромное спасибо за ответ!
Привет ) товарищ единомышленник (конкурент) в общем я тут тоже думаю делать TowerDefance и реализовал движение персонажа за одной навигационной точкой. Щелкаешь мышкой и моя пешка стремиться в указанную точку

Можно это дело посмотреть как работает вот тут http://cibergod.narod.ru/Mover/

Скачать сам проект можно тут https://drive.google.com/file/d/0B2t2b3NUfAstS3V3NE5mUi02ZHM/view?usp=sharing

Когда откроешь проект в Unity там будет сцена MyScena.unity
Собственно это реализация движения за одной точкой как тоже реализовать за несколькими точками я еще не придумал.

Скрипт движения висит на самой камере и называется LoadMap.cs

Удачи тебе ) пусть победит сильнейший ))
Ну и будут вопросы свисти ) буду рад помочь
 
Сверху