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

Форум для всего, что связано с ИИ.

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

Сообщение Dragon-FAST 17 авг 2016, 01:15

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

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

Сообщение samana 17 авг 2016, 08:54

Если курица должна оббегать препятствия, то наверно используйте NavMesh по таймеру выбирайте случайную точку в мире, куда курица будет идти.
Если препятствий нет, то можно создать пустой объект, к которому курица всегда будет идти, и опять же через таймер устанавливать положение этого пустого объекта в случайные координаты на плоскости.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

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

Сообщение Woolf 17 авг 2016, 14:19

"Если курица должна оббегать препятствия" - держу у себя полтора десятка кур. Вы очень им льстите. Они не очень то препятствия и оббегают )) Будет сетка на пути стоять с дырочками чтоб только голову сунуть - будет щемиться через сетку или забор. В общем, туповатые животинки.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

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

Сообщение waruiyume 17 авг 2016, 15:27

Шо, тупее коровыO_o
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

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

Сообщение bojlahg 17 авг 2016, 16:38

Сделай типа простого робота с сенсором. Идет курица вперед если встречает препятствие то разворачивается от препятствия на (-90 или +90) + рандом градусов. После чего топает дальше.
Мои проекты: MahJah Star Factory Cop Car Swash! Spline Editor
Аватара пользователя
bojlahg
UNIверсал
 
Сообщения: 392
Зарегистрирован: 13 авг 2011, 10:57
Откуда: Сатка
Skype: bojlahg
  • Сайт

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

Сообщение samana 17 авг 2016, 22:07

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

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

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

Это кажется хорошая мысль, особенно для курицы!
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

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

Сообщение Dragon-FAST 18 авг 2016, 02:06

samana писал(а):Если курица должна оббегать препятствия, то наверно используйте NavMesh по таймеру выбирайте случайную точку в мире, куда курица будет идти.
Если препятствий нет, то можно создать пустой объект, к которому курица всегда будет идти, и опять же через таймер устанавливать положение этого пустого объекта в случайные координаты на плоскости.

Спасибо, идеально подходит этот вариант!!!
Аватара пользователя
Dragon-FAST
UNIт
 
Сообщения: 92
Зарегистрирован: 15 авг 2016, 08:29

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

Сообщение PixelDhoine 06 окт 2016, 10:10

делал похожее для мобов.
тут нужно 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);
PixelDhoine
UNец
 
Сообщения: 11
Зарегистрирован: 04 окт 2016, 16:37

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

Сообщение Ert Donuell 06 окт 2016, 17:05

Стреляем лучом заданной длины в случайную сторону. Выбираем произвольную точку на результирующем векторе (вектор либо закончится препятствием, либо ограничением по длине выпускаемого луча). В туда и бежим. В случае выстрела делаем то же, но лучом стреляем в направлении от игрока (положение курицы - положение игрока). Вот и все дела.
Добавить dmitrii.baranov.yumasoft в Skype
Аватара пользователя
Ert Donuell
Старожил
 
Сообщения: 781
Зарегистрирован: 05 июл 2010, 09:50
Откуда: Санкт-Петербург
  • ICQ


Вернуться в Искуственный Интеллект

Кто сейчас на конференции

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