Страница 1 из 1

AI курицы (домашних животных)

СообщениеДобавлено: 17 авг 2016, 01:15
Dragon-FAST
Здравствуйте! Возникла проблема с написанием AI курицы. Курица должна бегать по сцене рандомно (каждые n количество секунд менять напровление и по подание пули по ней разворачиваться в противоположную сторону от персонажа.
Кто даст хотябы какую-нибудь подсказку буду очень благодарен!!!

Re: AI курицы (домашних животных)

СообщениеДобавлено: 17 авг 2016, 08:54
samana
Если курица должна оббегать препятствия, то наверно используйте NavMesh по таймеру выбирайте случайную точку в мире, куда курица будет идти.
Если препятствий нет, то можно создать пустой объект, к которому курица всегда будет идти, и опять же через таймер устанавливать положение этого пустого объекта в случайные координаты на плоскости.

Re: AI курицы (домашних животных)

СообщениеДобавлено: 17 авг 2016, 14:19
Woolf
"Если курица должна оббегать препятствия" - держу у себя полтора десятка кур. Вы очень им льстите. Они не очень то препятствия и оббегают )) Будет сетка на пути стоять с дырочками чтоб только голову сунуть - будет щемиться через сетку или забор. В общем, туповатые животинки.

Re: AI курицы (домашних животных)

СообщениеДобавлено: 17 авг 2016, 15:27
waruiyume
Шо, тупее коровыO_o

Re: AI курицы (домашних животных)

СообщениеДобавлено: 17 авг 2016, 16:38
bojlahg
Сделай типа простого робота с сенсором. Идет курица вперед если встречает препятствие то разворачивается от препятствия на (-90 или +90) + рандом градусов. После чего топает дальше.

Re: AI курицы (домашних животных)

СообщениеДобавлено: 17 авг 2016, 22:07
samana
Woolf писал(а):"Если курица должна оббегать препятствия" - держу у себя полтора десятка кур. Вы очень им льстите. Они не очень то препятствия и оббегают )) Будет сетка на пути стоять с дырочками чтоб только голову сунуть - будет щемиться через сетку или забор. В общем, туповатые животинки.

Может тогда хоть в игре сделать их умнее)

bojlahg писал(а):Сделай типа простого робота с сенсором. Идет курица вперед если встречает препятствие то разворачивается от препятствия на (-90 или +90) + рандом градусов. После чего топает дальше.

Это кажется хорошая мысль, особенно для курицы!

Re: AI курицы (домашних животных)

СообщениеДобавлено: 18 авг 2016, 02:06
Dragon-FAST
samana писал(а):Если курица должна оббегать препятствия, то наверно используйте NavMesh по таймеру выбирайте случайную точку в мире, куда курица будет идти.
Если препятствий нет, то можно создать пустой объект, к которому курица всегда будет идти, и опять же через таймер устанавливать положение этого пустого объекта в случайные координаты на плоскости.

Спасибо, идеально подходит этот вариант!!!

Re: AI курицы (домашних животных)

СообщениеДобавлено: 06 окт 2016, 10:10
PixelDhoine
делал похожее для мобов.
тут нужно 2 "таймера" т.е. 5 переменных
время между движением - public float,
время движения - public float,
счетчик времени между движенияи - private float,
счетчик времени движения - private float,
двигается ли - private bool,
суть в том что на событии Start
приравниваешь счетчики к указанному времени (timeBetweenMoveCounter = timeBetweenMove)

а на событие Update пишешь условие if(двигается ли =true) {
счетчик времени движения -= Time.deltatime;
и в этом условии еще условие if (счетчик меньше нуля) {
двигается ли = false;
счетчик времени МЕЖДУ движениями = снова приравниваешь к времени между движениями.
} else{ (т.е. если курица не двигается)
счетчик времени между -= Time.deltatime;
rigibody.velocity приравниваем к нуля(чтоб остановился)
и еще одно условие в условии if (счетчик времени между движенияи <0)
двигается ли = тру.}}
то есть что делает этот скрипт:
курица стоит - код отсчитывает заданное время и когда она досчитает до 0 делает moving = true, и курица начинает двигаться
в этот момент врубается другой счетчик считающий время ходьбы. они отсылаются друг на друга.

А рандомное направление можешь сделать так:
MoveDirection = new Vector3( Random.range(-1f,1f)*скорость курицы, Random.Range(-1f,1f)*скорость курицы, 0f);

Re: AI курицы (домашних животных)

СообщениеДобавлено: 06 окт 2016, 17:05
Ert Donuell
Стреляем лучом заданной длины в случайную сторону. Выбираем произвольную точку на результирующем векторе (вектор либо закончится препятствием, либо ограничением по длине выпускаемого луча). В туда и бежим. В случае выстрела делаем то же, но лучом стреляем в направлении от игрока (положение курицы - положение игрока). Вот и все дела.