Полезное

Мы Вконтакте

Discord канал

#
Пред.
Модератор: icms
Аватара пользователя
Пользователь
Сообщения: 4
Изображение
Подскажите, как сделать, что бы зрение ИИ работало как в варианте с серой линей, вместо дефолтного синего состояния? Был вариант проверять зрение лайнтрейсами на сокетах вместо самого игрока, но это как минимум 3 варианта(голова,левая/правая рука) и попахивает лютыми велосипедами, вместо дефолтной заготовки, которую хотел бы перенастроить, которые наверядят быстродействию. Есть какие то нормальные решения для такого?
Аватара пользователя
Пользователь
Сообщения: 2319
хм... как вариант добавить(спавнить) и прикрепить к сокетам актора зарегистрированного для зрения но коряво будет работать ведь возвращать будет именно этого актора и нужна будет функция получения владельца...
хм...надо подумать и поискать как конкретно работает система зрения... попозже сюда еще отпишу...

зрение трейсит пивот-точку актора вроде как

https://answers.unrealengine.com/questi ... layer.html

https://docs.unrealengine.com/latest/IN ... index.html
https://docs.unrealengine.com/latest/IN ... index.html
https://docs.unrealengine.com/latest/IN ... index.html
хм... если наплюсах то более менее понятно... на принтах как его это еще вопрос. нужно пробовать.
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 2319
самое простое что придумал это использовать childActor компонент зарегистрировать его для зрения прикрепить к сокету(или куда там надо)
и когда система зрения видит его - сделать возвращать владельца компонента. но это самое простое, не значит что оптимальное.

по хорошему сделать бы изменения в системе зрения или написать свою - трассивровку к определенным компонентам актора сделанным чисто для определения видимости, и по дефолту определяющие актора.
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 4
Да, сложную я тему затронул, похоже придется вернуться к ней когда стану более скилловым. Спасибо за ответы.
Аватара пользователя
Пользователь
Сообщения: 56
На сколько я понял, нужно определить видит ли AI свою цель.
Все просто. У цели есть капсула, у капсулы есть габариты, нужно просто выстрелить 9 раз: верх левый габарит, верх цент капсулы, верх правый габарит и потом центральный ряд и нижний (учти только что капсула это не куб и трейсить нужно немного ниже/выше максимумов/минимумов по верхнему/нижнему ряду). Высота и диаметр капсулы меняется в зависимости от того стоит игрок или крадется. Высоту и диаметр капсулы очень легко получить.
Нужно трейсить только если луч наталкивается на препятствие а не на цель. Как только луч столкнулся с целью значит она видна. Никаких сокетов, простая логика. Чем сложнее эта часть, тем более она нагружать будет процессор.
И скилов тут не нужно особых ))) Простая геометрия и трейс ))
Это поведение можно прописать блупринтами в BehaviourTree в блоке SeePlayer например и все. 9 трейсов с периодом 0.5 секунд очень слабая нагрузка на процессор.
Аватара пользователя
Пользователь
Сообщения: 2319
Calambus , да можно и так, но это не будет работать с уже существующей системой зрения(не будет в нее интегрированно), это уже написание новой.
А ведь в существующей системе уже все есть хранение всех видимых обьектов, хранение положения ранее видимых обьектов, с настройками разными, с системой регистрации определенных обьектов... и тд. Перепилить все это уже не так и просто.
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 56
Цитата:
Перепилить все это уже не так и просто.

Не нужно ничего перепиливать. У обычного инди разраба логика поведения мобов очень простая. Если браться за перепил и создание сложной то все закончится уже спустя месц мучений и головной боли.
Я пользовался BT в анриале, поначалу нравилось. А потом стал писать свою огику на C# в Юнити и все встало на свои места. Тут можно использовать BT, потому как все подвязано на нУдах ) Но нУды эти можно и самому написать другими нУдами, что даст занУдную но раобчую логику поведения мобов.
Впрочем, как принято говорить на форумах - это моя ИМХА (как будто когда-то люди счатали, что высказывают не свое а чужое мнение).
Хоите -перепиливайте. прокачивайте скилы использования анриаловских фич. А хотите - делайте игры ) Каждый выбирает то, что ему ближе к сердцу ))
Большинство хочет стать умными и прокачанными, меньшинство хочет просто получать удовольствие от процесса творения ))
Впрочем это уже лирика, за которую меня опять забанят или посты потрут )) Умолкаю )) Все одно поступите так как поймете/не поймете и примите/не примите
Аватара пользователя
Пользователь
Сообщения: 2319
Цитата:
закончится уже спустя месяц мучений и головной боли.

ха! месяц "сложной" задачи если не осилишь то можно вообще не заниматься разработкой чего угодно...
только нужно определиться действительно ли нужна эта система или все же потратить время на написание более актуальных задач.

а например тут использовать костыль, который лишь добавляет небольшое неудобство - пересылать видимость от чайлд актора к его владельцу, и в целом все остальное полностью функционально, например достаточно 5 акторов на человеко-персонажа(голова и конечности), это даже будет дешевле чем трейс 9 точек. я даже думаю что если реально копнуть можно все же к сцене-компонетам свести задачу а не к чайлд-акторам, но это так предположение.
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 56
Цитата:
ха! месяц "сложной" задачи если не осилишь то можно вообще не заниматься разработкой чего угодно...

Ну о том я нубам неустанно говорю, но они аки ослы упрямые - лезут и лезут с голыми пятками на саблю )))

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

Это я не в качестве претензии кому-то, это скорее мое старческое брюзжание себе под нос ))
Аватара пользователя
Пользователь
Сообщения: 2319

_________________
we need to go deeper


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

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