З огляду на гравця та ворога з позицією та з урахуванням вектора напрямку кожного, як я можу сказати, чи можна «бачити» іншого?
Іншими словами, як я перевіряю, чи одна позиція з напрямком знаходиться спереду або позаду іншої позиції?
У моїх цілях "перед" означає прямо навпроти, або на 90 градусів в будь-яку сторону.
11
Очевидно, що рішення - створити іншу камеру та відтворити сцену з точки зору противника, а потім виконати розпізнавання зображення за результатом для персонажа гравця.
—
Рікінг
найпростіша нагорода відповіді стосується ...
—
OganM
Хоча коментар Рікінга, ймовірно, задуманий як жарт, це фактично справедливий спосіб зробити це - надання NPC таким самим доступом до ігрового стану, що і гравцеві, а не дозволяти їм отримати доступ до внутрішнього стану гри.
—
R .. GitHub СТОП ДОПОМОГАТИ ЛИЦЯ
@R .. Так, але де ви проводите лінію? Взявши це міркування до своєї логічної кінцевої точки, NPC врешті-решт почуваються здатністю грати і мислити, як людина ... в цей момент вони, ймовірно, раціонально вирішили знову почати обробляти стіни: p
—
Томас
@Thomas: На практиці я думаю, що ви можете зробити якийсь компроміс, наблизившись до рівня інформації, який вони мали б як гравця, не йдучи до проблеми, щоб його реалізувати таким чином. Прості заходи, такі як правильне тестування на зору зору, обмеження можливості ідентифікації об'єкта за певну відстань тощо можуть пройти довгий шлях.
—
R .. GitHub СТОП ДОПОМОГАТИ ЛИЦЯ