Хонич А.
Как самому создать трехмерную игру
стр. 195

Как видно, для ускорения обнаружения тут используется ресурс REJECT, о котором мы говорили в разделе 7.9. Если иа пересечении строки сектора первого объекта и столбца сектора второго объекта находится 1, то объекты никогда не “увидят” друг друга, находясь в данных секторах Если это 0, то вызывается функция Check VisThing, которая очень похожа на функцию Check WayRun. Она также собирает информацию о всех линиях на путн вектора просмотра и затем, анализируя информацию о всех линиях в порядке увеличения дистанции (расстояния от начала вектора), принимает решение о встретившихся препятствиях. Если препятствия в виде стен имели место, то функция возвращает 0. Если препятствий не было, то считается, что объекты “видят” друг друга, и возвращается 1. При анализе препятствий учитывается также вертикальное расстояние между объектами, определенное границами MinHeighVisual и MaxHeighVisual. Обратите внимание, что препятствием тут могут являться только стены (линии), а объекты таковыми не являются, и пересечение их вектором просмотра не анализируется. Я не буду здесь приводить исходный текст функции Check VisThing, т.к., повторюсь, она аналогична функции CheckWay Run. Только, в отличие от последней, немного специфична и, как следствие, несколько быстрее работает. Так что действуйте “по образу и подобию” функции CheckWayRun.

А теперь иемиого поговорим о функции CheckLocationEnemy. Как мы видели, вызов этой функции осуществляется в двух случаях:

-    если “неглухой” монстр не смог обнаружить источник шума (выстрелившего игрока);

-    если шума ие было, то монстр просматривает местность с целью обнаружить одного из игроков (целью для одного объекта может быть только один объект. За “двумя зайцами” они ие гоняются.

Исходный текст функции CheckLocationEnemy:

Новости
Сценарист Uncharted рассказала о проблемах одиночных игр
Над игрой работала Эми Хенниг, сценарист серий Uncharted и Legacy of Kain.
Готовится выход дополнения «Апокалипсис» для Battlefield 1
Компания Electronic Arts, которая занимается изданием компьютерных игр, и студия-разработчик DICE готовят выход дополнения «Апокалипсис» для игрового проекта Battlefield 1. В дополненной версии появится пять новых карт.