Эта статья документации для всего, что использует платформу 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)
Info content.png
This page has not been fully translated.
You can help by finishing the translation.
If this page cannot be translated for some reason, or is left untranslated for an extended period of time after this notice is posted, the page should be requested to be deleted.
Also, please make sure the article complies with the alternate languages guide.(en)
This notice is put here by LanguageBar template and if you want to remove it after updating the translation you can do so on this page.


Icon-under construction-blue.png
Это черновик страницы . Работа над ним продолжается, и любой желающий может его редактировать.
Не забудьте проверить замечания, оставленные автором на странице обсуждения этой статьи.

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

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

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

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

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

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

Ограничения

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

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

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

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