Эта статья документации для всего, что использует платформу Source. Нажмите для получения дополнительной информации.

Объект мира

From Valve Developer Community
< Ru
Jump to navigation Jump to search
English (en)Deutsch (de)Español (es)Hrvatski (hr)Português (pt)Русский (ru)中文 (zh)Translate (Translate)
Icon-under construction-blue.png
This is a draft page. It is a work in progress open to editing by anyone.
Remember to check for any notes left by the tagger at this article's talk page.

Объект мира (Entity), определённый на платформе Source Source, как правило, для того, чтобы с ним могли взаимодействовать персонажи или другие объекты через систему ввода-вывода(en). Виртуальный мир игры, является комбинацией всей геометрии элементов карты(en), объектов func_detail и prop_static, представлен объектом, называемым «миром(en)».

Типы объектов

Объекты могут быть разделены на несколько различных типов. С точки зрения представления в редактое Hammer(en), они подразделяются в зависимости от того, как они создаются в редакторе, что зависит от их определения в FGD-файле(en).

классификация по представлению в редакторе
Наименование Описание
Brush entity(en) Объёмный объект создается посредством привязки объекта к BSP геометрии элемента карты(en), что придаёт элементу карты определённые функции, определяемые этим объектом. При компиляции привязанные элементы карты преобразуются в элементную модель(en), используемую этим объектом.
Point entity(en) Точечные объекты - это объекты, созданные в определенной точке координат(en). Для некоторых из них требуется модель, чтобы они могли полноценно функционировать.
классификация по интеграции в мир
Наименование Описание
Internal entity(en) Внутренний объект после обработки VBSP(en) удаляется или объединяется с другими объектами. При запуске карты такие объекты не существуют, тем самым не расходуют лимит объектов(en).
Внутренние объекты обрабатываются компилятором карт отдельным способом и удаляются из итоговой карты, обычно оставаясь в специальном блоке.
Semi‑internal entity(en) Полувстроенный объект - объект, который остаётся в качестве объекта на карте, компилятор обрабатывает их отдельным способом, соответвующим имени класса, аналогично внутренним объектам.

Например func_areaportal(en) brush model is moved to world by VBSP(en) leaving the entity without any brush in a map file. Или func_detail_blocker(en) which blocks creation of detail sprites during compile and remains in a map possibly just as an information for decompilers. Или объекты на подобии light(en) обрабатываются VRAD(en) для расчёта освещения.

Non‑Internal entity(en) Невстроенный объект не обрабатывается VBSP(en) (GoldSrc HLBSP(en), или Source 2 resourcecompiler(en)) и остаётся отдельным, обособленным объектом.
Обычно это интерактивные объекты, объекты логики или персонажи, с которыми игрок может взаимодействовать или они влияют на игровой процесс.
классификация по использованию в игровом процессе (основная)
Наименование Описание
Brush entity(en) Объёмный объект - использует элементную модель(en) в качестве своего тела.
Model entity(en) Объект модель - использует отдельную объёмную модель(en).
Например prop_static, prop_physics, prop_dynamic, player, npc_alyx. (почти всегда является подклассом CBaseAnimating(en))
Point entity(en) Точечный объект - объект, положение которого влияет на его функциональность и который не использует объёмную модель, чаще всего невидимый, за исключением частиц, спрайтов, наклеек.
Например info_target, env_sprite, infodecal, info_particle_system (часто создаётся из CPointEntity(en), но не всегда)
Logical entity(en) Объект логики - объект, положение которого не имеет значения для его функциональности.
Например logic_auto, logic_relay, math_counter, info_director (часто создаётся из CLogicalEntity(en), но не всегда, logic_auto не является таковым)
Wiki Note:В стаьях об объектах в этой Wiki необходимо использовать основную классификацию

Ограничения

Основная статья: Предел объектов

В целях распределения памяти на платформах Source Source установлено ограничение на количество одновременно управляемых объектов(en).

Также следует учитывать совокупный размер (в байтах) данных об объектах карты, даже если количество объектов находится в безопасных пределах. Передача больших объёмов entdata(en) от сервера к клиенту может занимать заметный промежуток времени, что может приводить к сбоям.

Смотрите также