This article's documentation is for anything that uses the Source engine. Click here for more information.

Entity: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
(Good amount of info, it shouldn't be a draft anymore)
 
(86 intermediate revisions by 36 users not shown)
Line 1: Line 1:
[http://www.stillwaterhomes.com/listings/images/pic/laodbl.html planning a mexican wedding] [http://troniny.ovh.org/gallery/layout/cwfugd.html masters of science in management] [http://kom-pas.de/3xcms/config/hkatuploads/images/gdwkap.html anon list proxy] [http://www.easypayinfo.com/subscribe/tmp/cwbfxt.html web teleconference] [http://aura.c3.hu/thumb/xkbjmj.html expert land report sample use] [http://aura.c3.hu/thumb/ohelqv.html programs to make business cards] [http://www.easypayinfo.com/subscribe/tmp/ugvvxa.html apartment search web site] [http://ndr.hu/rhodes/bkwjdg.html total hottie] [http://www.housing.und.edu/reshalls/blog/wp-content/uploads/2007/04/img/uvcsaf.html glucophage] [http://www.lowell.edu/styles/old_style/css/pddjra.html flagyl] [http://2001.c3.hu/mas/fjprpd.html yorkshire self catering holidays] [http://activeimage.c3.hu/css/xfntrh.html express bus fare hike] [http://www.easypayinfo.com/subscribe/tmp/occshq.html 2006 job outsourcing] [http://mkatzenbach.de/Website_MK_alt/content/cache/dir/end001/mnlnsu.html 19 flat inch lcd monitor panel] [http://maps.my2gig.com/cache/sannlu.html lawn and tree care services] [http://2001.c3.hu/mas/pvjqbl.html application computer supported telephony] [http://kristinlyseggen.com/gallery/1documentaries/7travel/smagqg.html sinks bathroom discount] [http://www.salona-yachts.eu/misc/tlwtbe.html audio conferencing n] [http://www.easypayinfo.com/subscribe/tmp/ibeurr.html art institute sf ca] [http://troniny.ovh.org/gallery/layout/ogdweg.html kitchen nyc remodeling] [http://www.olemissfans.com/chatpro/image/txduag.html i heard em say lyrics] [http://aura.c3.hu/thumb/cbwapi.html train travel virgin] [http://www.farmelco.hu/test/css/hsjrcv.html map of pine creek] [http://www.plurpage.com/classifieds/cache/fksqgr.html smart whiteboard price] [http://activeimage.c3.hu/css/ojustk.html release of o level result 2005] [http://maps.my2gig.com/cache/iscrll.html music price right theme] [http://www.housing.und.edu/reshalls/blog/wp-content/uploads/2007/04/img/wirthb.html free verizon ringtones] [http://www.olemissfans.com/chatpro/image/osbgig.html print shop 8] [http://kom-pas.de/3xcms/config/hkatuploads/images/epxshr.html kitchen aid gadgets] [http://www.easypayinfo.com/subscribe/tmp/woxbew.html public boarding school] [http://www.plurpage.com/classifieds/cache/mnlgam.html texas bar associations] [http://kom-pas.de/3xcms/config/hkatuploads/images/ppduwd.html powder metal products] [http://www.olemissfans.com/chatpro/image/dsabst.html stomach is sick] [http://www.stillwaterhomes.com/listings/images/pic/tvrqkv.html zirconium used] [http://ndr.hu/rhodes/swhlvk.html performance advantage company] [http://kom-pas.de/3xcms/config/hkatuploads/images/badlww.html attorney general child support] [http://www.plurpage.com/classifieds/cache/mmxbpq.html the palm restaurant denver co] [http://activeimage.c3.hu/css/swffcw.html anal mucosa] [http://ndr.hu/rhodes/vrirfi.html naked lesbian porn] [http://www.plurpage.com/classifieds/cache/ksqklj.html lead acid battry] [http://aura.c3.hu/thumb/rqpcuc.html material services] [http://troniny.ovh.org/gallery/layout/vdarsh.html liberty racing west] [http://kristinlyseggen.com/gallery/1documentaries/7travel/konmgh.html statten island ferry] [http://mkatzenbach.de/Website_MK_alt/content/cache/dir/end001/cavxom.html exclusivity contract sample] [http://www.easypayinfo.com/subscribe/tmp/qnvjlm.html portable car navigation system] [http://troniny.ovh.org/gallery/layout/soinqo.html wma to mpeg conversion] [http://www.plurpage.com/classifieds/cache/awgdmx.html lesson london ontario swimming] [http://www.stillwaterhomes.com/listings/images/pic/ecuroo.html san francisco hip hop radio station] [http://maps.my2gig.com/cache/rbxgmo.html low voltage detector] [http://activeimage.c3.hu/css/ukxnqx.html motorcycle rentals in london england] [http://www.easypayinfo.com/subscribe/tmp/hgnrtb.html email notify wav] [http://www.easypayinfo.com/subscribe/tmp/cjpgqr.html iden phones motorola] [http://www.olemissfans.com/chatpro/image/ufesll.html wesley hills ny] [http://www.salona-yachts.eu/misc/rqhvnf.html make peanut butter at home] [http://www.olemissfans.com/chatpro/image/dkanqs.html love your enemies jesus] [http://2001.c3.hu/mas/lmqpew.html plateau montreal] [http://www.plurpage.com/classifieds/cache/mpfhbh.html ion charts] [http://www.lowell.edu/styles/old_style/css/mdjhhf.html massage class online] [http://kom-pas.de/3xcms/config/hkatuploads/images/mhbbvk.html eq2 guild listing] [http://informer.siam.edu/themes/hm/snxlnp.html pharmacy online] [http://activeimage.c3.hu/css/qmpbrr.html search texas lottery] [http://2001.c3.hu/mas/ontudm.html medical terminology a living language] [http://www.plurpage.com/classifieds/cache/rxangg.html withdraw zoloft] [http://www.stillwaterhomes.com/listings/images/pic/rctnvs.html jealousy green eyed monster] [http://2001.c3.hu/mas/bvtcbn.html software for cnc] [http://informer.siam.edu/themes/hm/bwfjwm.html discount meridia] [http://maps.my2gig.com/cache/vupsve.html seseme street lyrics] [http://troniny.ovh.org/gallery/layout/knxdpv.html angeles in los school] [http://www.systemsupport.und.edu/cache/avatars/emo/qgensd.html pay citi card bill online] [http://www.lowell.edu/styles/old_style/css/ljtlci.html lan arena] [http://aura.c3.hu/thumb/roxeco.html alum for sale] [http://www.stillwaterhomes.com/listings/images/pic/rbigdi.html t65] [http://www.easypayinfo.com/subscribe/tmp/dookbi.html super bowl games to play] [http://www.salona-yachts.eu/misc/jiksqo.html active in usa volcano] [http://www.salona-yachts.eu/misc/ulcgkv.html who were my ancestors] [http://2001.c3.hu/mas/rkovbq.html mac command key] [http://www.salona-yachts.eu/misc/kskvpg.html ambulatory patient] [http://www.plurpage.com/classifieds/cache/xmwrgl.html lady night nude] [http://www.housing.und.edu/reshalls/blog/wp-content/uploads/2007/04/img/rfthua.html sexy ringtone] [http://troniny.ovh.org/gallery/layout/kpdnrw.html origin of dollar sign] [http://2001.c3.hu/mas/jnxtql.html mediclaim insurance in india] [http://kom-pas.de/3xcms/config/hkatuploads/images/cqihjm.html missile threat] [http://kom-pas.de/3xcms/config/hkatuploads/images/oeblnj.html electric blender] [http://kom-pas.de/3xcms/config/hkatuploads/images/ofdche.html peter campion] [http://activeimage.c3.hu/css/fefnmm.html rockies skinny ski snow condition] [http://2001.c3.hu/mas/mrsnkj.html staff handbook uk] [http://maps.my2gig.com/cache/tsdpud.html entertainment public relations companies] [http://ndr.hu/rhodes/clsqne.html ncaa team stats] [http://2001.c3.hu/mas/afldmx.html lyric whatever will will] [http://www.stillwaterhomes.com/listings/images/pic/uoufug.html animal behavior phd] [http://www.stillwaterhomes.com/listings/images/pic/becohv.html afghanistan and iraq war video] [http://activeimage.c3.hu/css/poniqa.html i never loved a man lyrics] [http://2001.c3.hu/mas/kiitcl.html the old dogs] [http://aura.c3.hu/thumb/jcxgih.html william milligan] [http://kristinlyseggen.com/gallery/1documentaries/7travel/okwwab.html state of connecticut job] [http://www.lowell.edu/styles/old_style/css/kurjni.html sibutramine] [http://www.stillwaterhomes.com/listings/images/pic/wlrqnw.html j lo hold you down] [http://www.stillwaterhomes.com/listings/images/pic/gutxud.html action buses act] [http://troniny.ovh.org/gallery/layout/ucscxl.html indiana legislature 2005] [http://www.housing.und.edu/reshalls/blog/wp-content/uploads/2007/04/img/blspmx.html punk ringtone]
{{LanguageBar}} {{Source topicon}}
A object defined within the [[Source Engine]] as having characteristics which differentiate it from "the [[worldspawn|world]]" (world brushes).
{{TabsBar|main=gs2|base=Entity}}


== Types ==
Entity is an object defined within {{src|4}} usually for the purpose of being interact-able by players or by other entities via [[I/O]] system. The world, which is a combination of all world brushes, {{ent|func_detail}} and {{ent|prop_static}} entities, is represented by an entity called {{ent|worldspawn}}.
There are three main types of entities:
 
* [[Brush entity]]
== Types of entities ==
* [[Point entity]]
Entities can be separated into few different type. From the perspective of [[Hammer]] editor they can be separated based on how they are created in the editor which is determined by their [[FGD]] definition.
* [[Node]]
 
{| class="wikitable" style="width:100%"
! colspan=2 | By map editor
|-
! Types !! Info
|-
| align="center" | [[Brush entity]]
|A '''Brush entity''' is created by ''tying'' an entity to a BSP geometry [[brush]] in the map, giving the brush a specific effect or ability defined by the entity ''tied'' to it. When compiled the tied brushes are turned into [[bmodel|brush model]] used by this entity.
|-
| align="center" | [[Point entity]]
|'''Point entities''' are '''entities''' created at a specific position point on the [[coordinates|grid]]. Some require a model to be selected for them in order to function fully.
|}
 
{| class="wikitable" style="width:100%"
! colspan=2 | By how it's processed
|-
! Types !! Info
|-
|align="center"|[[:Category:Internal entities|Internal entity]]
|'''Internal entities''' are those which are processed by [[VBSP]] then either deleted or merged into another entity. They do not exist when the map is running, so they won't count to the [[entity limit]].<br>Internal entities get special treatment by the map compile tools and are removed from the final product, usually stored in a special chunk.
|-
|align="center"|[[:Category:Semi-internal entities|Semi&#8209;internal&nbsp;entity]]
|'''Semi-internal entities''' are those entities which remain as an entity in the map and the compiler also does something special based on their classname in the same way as with internal entities.
For example [[func_areaportal]] brush model is moved to world by [[VBSP]] leaving the entity without any brush in a map file. Or [[func_detail_blocker]] which blocks creation of detail sprites during compile and remains in a map possibly just as an information for decompilers. Or even the [[light]] related entities which are processed by [[VRAD]] to compute lighting.
|-
|align="center"|[[:Category:Non-internal entities|Non&#8209;Internal&nbsp;entity]]
|'''Non-internal entities''' are not processed by [[VBSP]] (other than in case of brush entities converting the associated brushes into [[bmodel]]s) and remain as a separate entity.<br>These are typically interactive objects or characters that the player can interact with or that affect gameplay.
|}
 
{| class="wikitable" style="width:100%"
! colspan=2 | General separation from the game's perspective based on intended use
|-
! Types !! Info
|-
| align="center" | [[Brush&nbsp;entity]]
| Entities that use a [[bmodel|brush model]].
|-
| align="center" | [[Model&nbsp;entity]]
| Entities that use a [[3D model|studio model]]. For example {{ent|prop_static}}, {{ent|prop_physics}}, {{ent|prop_dynamic}}, {{ent|player}}, {{ent|npc_alyx}}. (they are almost always subclasses of [[CBaseAnimating]])
|-
| align="center" | [[Point&nbsp;entity]]
| Entities whose position is relevant for its functionality and don't use 3D model, most often no visual representation with exception of particles, sprites, decals. For example {{ent|info_target}}, {{ent|env_sprite}}, {{ent|infodecal}}, {{ent|info_particle_system}} (often derived from [[CPointEntity]] but it's not the rule)
|-
| align="center" | [[Logical&nbsp;entity]]
| Entities whose position is irrelevant to its functionality. For example {{ent|logic_auto}}, {{ent|logic_relay}}, {{ent|math_counter}}, {{ent|info_director}} (often derived from [[CLogicalEntity]] but it's not the rule as even logic_auto isn't)
|}
{{wikinote|Entity pages on this wiki should use the "in-game" separation to classify them}}
 
== Limitations ==
{{Main|Entity limit}}
For reasons of memory allocation, there is a limit to the number of '''entities''' {{source|4}} can manage at once.
 
The combined size (in bytes) of a map's entity data should also be considered, even if the number of entities is within safe limits. Large amounts of [[Source BSP File Format#Entity|entdata]] can take a noticeably long time to transmit from server to client, and may lead to crashes.


== See also ==
== See also ==
* [[Entity Creation]]
* [[:Category:Entities]]
* [[Adding Point Entities]] (part of a series of tutorials)
* [[Creating Brush Entities]] (ditto)
* [[Entity creation]] (a quick reference)
* [[Entities in Depth]]
* [[List of entities]]
* [[List of entities]]
* [[Internal entity]]
* Coding [[Your First Entity]]
* Console command {{ent|dump_entity_sizes}}
* [[S_PreserveEnts|preserved entity]]


[[Category:Glossary]]
__NOTOC__
[[Category:Source]]

Latest revision as of 06:35, 25 May 2025

English (en)Deutsch (de)Español (es)Hrvatski (hr)Português (pt)Русский (ru)中文 (zh)Translate (Translate)

Entity is an object defined within Source Source usually for the purpose of being interact-able by players or by other entities via I/O system. The world, which is a combination of all world brushes, func_detail and prop_static entities, is represented by an entity called worldspawn.

Types of entities

Entities can be separated into few different type. From the perspective of Hammer editor they can be separated based on how they are created in the editor which is determined by their FGD definition.

By map editor
Types Info
Brush entity A Brush entity is created by tying an entity to a BSP geometry brush in the map, giving the brush a specific effect or ability defined by the entity tied to it. When compiled the tied brushes are turned into brush model used by this entity.
Point entity Point entities are entities created at a specific position point on the grid. Some require a model to be selected for them in order to function fully.
By how it's processed
Types Info
Internal entity Internal entities are those which are processed by VBSP then either deleted or merged into another entity. They do not exist when the map is running, so they won't count to the entity limit.
Internal entities get special treatment by the map compile tools and are removed from the final product, usually stored in a special chunk.
Semi‑internal entity Semi-internal entities are those entities which remain as an entity in the map and the compiler also does something special based on their classname in the same way as with internal entities.

For example func_areaportal brush model is moved to world by VBSP leaving the entity without any brush in a map file. Or func_detail_blocker which blocks creation of detail sprites during compile and remains in a map possibly just as an information for decompilers. Or even the light related entities which are processed by VRAD to compute lighting.

Non‑Internal entity Non-internal entities are not processed by VBSP (other than in case of brush entities converting the associated brushes into bmodels) and remain as a separate entity.
These are typically interactive objects or characters that the player can interact with or that affect gameplay.
General separation from the game's perspective based on intended use
Types Info
Brush entity Entities that use a brush model.
Model entity Entities that use a studio model. For example prop_static, prop_physics, prop_dynamic, player, npc_alyx. (they are almost always subclasses of CBaseAnimating)
Point entity Entities whose position is relevant for its functionality and don't use 3D model, most often no visual representation with exception of particles, sprites, decals. For example info_target, env_sprite, infodecal, info_particle_system (often derived from CPointEntity but it's not the rule)
Logical entity Entities whose position is irrelevant to its functionality. For example logic_auto, logic_relay, math_counter, info_director (often derived from CLogicalEntity but it's not the rule as even logic_auto isn't)
Wiki Note:Entity pages on this wiki should use the "in-game" separation to classify them

Limitations

Main article:  Entity limit

For reasons of memory allocation, there is a limit to the number of entities Source Source can manage at once.

The combined size (in bytes) of a map's entity data should also be considered, even if the number of entities is within safe limits. Large amounts of entdata can take a noticeably long time to transmit from server to client, and may lead to crashes.

See also