Полезное

Мы Вконтакте

Discord канал

#
Модератор: icms
Аватара пользователя
Пользователь
Сообщения: 2319
у меня при пустой подаче были глюки, не помню конкретно какие.
поэтому я сделал функцию в которой локальная переменная актор не назначенная - "none"и возвращает этого актора. им и перезавписываем то что нужно. но у меня это помеченно как todo, по идее проще должно быть все.
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 2319
продолжая тему АИ и чтоб там тему не сильно ББ и БТ засирать, пишу сюда так как тут уже не сколько вопрос по конретно АИ.

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

может быть есть идея как пометить некоторые(важные для работоспособности) ключи?

получается что-то типо такого
Изображение
Изображение
Изображение
это работает, нужно только универсальная передача важных ключей

если например только один актор передвать как ключ
то нужно только сохранить имя ключа для каждой доски или использовать одинаковое
или иметь доски от одного родителя (кстати)
наследствие я еще не придумал как рационально использовать
хм... вырисовывается какая-то архитектура... как оно должно быть построенно, и какие должно иметь связи.
только вопрос в том насколько удачная такая концепция...

суть получается БТ должны быть построенны так что получая единственный(?) ключ оно само может заполнить остальные ключи.
тогда не нужно будет хранить ключи вообще, только цель (актор) самого БТ.

таким образом мы можем иметь БТ ствол дерева, и разные БТ ветки дерева со своими ключами. Удобно и структурированно можно строить дерево.
Проблема остается в том что на стволе ключи уже не будут мониториться "системой кеширования ключей" АИ, и соответственно не будет обрывать выполнение веток. тоесть обрыв выполнения нужно делать внутри веток.

у кого какие мысли?
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 1341
это все только чтобы не иметь одну доску с большим числом переменных ?
_________________
прикрепленные картинки с radikal не смотрю.
Аватара пользователя
Пользователь
Сообщения: 2319
не только, это дает еще и нормальную упорядоченную структуру БТ и иерархию выполнения.

и нормальный контроль ведь как в блуепринтах в БТ нельзя кликнуть правой кнопкой мыши по ключу и нажать "find references", и в поиске выдает где использованна эта переменная. Поэтому переменные вообще нормально не возможно контролировать в ветвистых деревьях.

и кто возился с БТ знает, там всегда проблема менять что-то в середине дерева, а так изменения проще вносить на любом этапе.

Вобоще разбитие задачи на более мелкие независимые задачи кажется рациональным.

для примера если я выполню все в одно БТ у меня будет больше 50 ключей... с этим нереально работать, совсем и при всем этом половина ключей нужны ну очень редко, только при определенных обстоятельствах. и это определенно сказывается на производительности. Если посмотреть профайлер то БТ и АИ это основное что загружает систему.

вобще рекомендую попробывать сделать дерево нод на 50 с 8-10 развилками с комбинированными уловиями, уже на третьей развилке так и хочется прятать все что после в отдельный БТ со своими ключами. Не говоря уж о том что приходится много одних и тех же цепочек логики копипастить но с другими ключами. а тут можно запускать ту же логику но скормить ей другой исходный ключь.

пример: персонаж идет из точки А в точку Б, на пути препятствие - запускаешь БТ где бот справляется с препятствиями, по выполнению запуск опять главного БТ. Зачем в главном БТ ключи которые отвечают только за одну ветку?такие например как тип препятствия? пускай это все варится в связанном БТ. В свою очередь в такой ветке БТ-препятствие - можно сделать еще несколько разных БТ которые отвечают каждая за свое. Дерево перестает быть запутанным.

естесно это пока на этапе идеи и мелкого прототипа... еще не ясно насколько удачное решение.
Изображение


вобще было б идеально когда главная доска всегда работала, и к ней можно было бы подключать еще доску второстепенную с БТ...
Блин хоть бери и переписывай всю систему по своему... -_-
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 2319
я уже сомневаюсь что это была удачная идея... как раз потому что "основной БТ" не будет обрывать ветку... а обрыв ветки внутри себя нет условий которые были бы в главной БТ...
блин... система эта... какое там ооп, процедурно нужно описывать все дерево...
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 2319
вроде бы раньше когда-то, где-то обсуждали... но я уже не помню.
В АИ контролере "сет фокус" актор - дает направление противоположное взгляду на актора... тоесть павн жопой смотрит на актора а не передом.
и мне кажется так не должно быть...
функция распространенная в использовании, так что отпишите у кого как.
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 2319
понятно... разобрался
если в контролере тик отключить... то вуаля оно криво стает работать... прийдется включить тик. Мда уж... это похоже на баг, так как даже близко нигде нет информации что оно требует тика. Ну или неполная документация... но учитывая что оно работает но в противоположную сторону это 100% баг.
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 4069
Snake писал(а):
В АИ контролере "сет фокус" актор - дает направление противоположное взгляду на актора... тоесть павн жопой смотрит на актора а не передом.

у меня все в порядке с сет фокусом.

p.s. там куча опций в чарактер классе, да и в мовемент компоненте, что то конфликтует наверно. Попробуй IgnoreBaseRotation включить в чарактер мовементе например.
Аватара пользователя
Пользователь
Сообщения: 2319
их не куча всего 5 опций важных ... 3 у мувмента, одна у контролера , и одна у чарактера.
независимо каким образом они включены, фокус работает только с тиком у меня.
проверь с тиком и без тика.
http://i.imgur.com/VMroPYY.mp4
естественно на тике у меня никакой логики нет, совсем нет, пустой тик.
Мы по моему с тобой этот вопрос и обсуждали... тогда ты вроде тоже говорил что у тебя все ок, но я тогда еще не находил причину глюка (вроде бы).
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 4069
Snake писал(а):
фокус работает только с тиком у меня.

но работает же, не жопой фокусит то.

p.s. без тика, рекурсии через делей можно юзать.

p.p.s. на твоих скринах плавно цель фокусит, больше похоже на ориент ротатион то мове, если юзать 2Д блэндспэйс, все немного иначе, фокус у меня мновенно береться, и фокусят мобы с 2D блэндспэйсом + аимофсет, поэтому я сначала их плавно рекурсие поворачиваю, и только потом юзаю фокус.

Изображение


p.s. фокус это такая штука когда моб двигается назад или в стороны, смотря при этом на цель.
Последний раз редактировалось Prytaleks 31 авг 2017, 18:52, всего редактировалось 4 раз(а).


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 57

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница