Entity: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (→‎Limitations: Still not sure)
(Cleanup)
Line 1: Line 1:
{{Language subpage}}
{{Language subpage}}__NOTOC__
<!-- Add the categories to the main page, not here. Some template, such as {{This is a}}, and all Table templates should be placed to the main page. -->
<!-- Add the categories to the main page, not here. Some template, such as {{This is a}}, and all Table templates should be placed to the main page. -->
{{cleanup|absolutely horrendous page in basically every way possible}}


An object defined within {{src|4}} or {{source2|4}} as having characteristics which differentiate it from "the [[worldspawn|world]]" (world brushes).
An object defined within {{src|4}} or {{source2|4}} as having characteristics which differentiate it from "the [[worldspawn|world]]" (world brushes).
 
== Types of entites ==
== Types ==
{| class="wikitable" style="width:100%"
===by form===
|-
==== Exclusive to {{src|4}} and earlier ====
!Types
===== Brush entity =====
!available in
{{main|Brush entity}}
!Info
{{:Brush entity}}
|-
 
! colspan="3" | By Form
==== {{src|4}} and {{source2|4}} ====
|-
===== Point entity =====
|align="center"|[[Brush entity]]
{{main|Point entity}}
|align="center"|{{src|4}} and earlier
{{:Point entity}}
|{{:Brush entity}}
 
|-
==== Exclusive to {{source2|4}} ====
|align="center"|[[Point entity]]
===== Mesh entity =====
|align="center"|{{src|4}} and {{source2|4}}
{{main|Mesh entity}}
|{{:Point entity}}
{{:Mesh entity}}
|-
 
|align="center"|[[Mesh entity]]
===== Path entity =====
|rowspan="2" align="center"|Only in {{source2|4}}
{{main|Path entity}}
|{{:Mesh entity}}
{{:Path entity}}
|-
 
|align="center"|[[Path entity]]
=== by internality ===
|{{:Path entity}}
* [[Internal entity]]
|-
* [[:Category:Non-internal entity|Non-internal entity]]
! colspan="3" | By Internality
|-
|align="center"|[[Internal entity]]
|rowspan="2" align="center"| In all Engines
|{{:Internal entites/overview}}
|-
|align="center"|[[:Category:Non-internal entity|Non-Internal entity]]
|A '''Non-Internal entity''' is when there is no entity in the FGD by default. an FGD tells {{hammer|4.1}} what entities exist in the engine, and what keyvalues, inputs, outputs, and flags they have.<br>If information for an [[entity]] is missing from an FGD, it can be manually added through Hammer without it. FGD info is not ''required'' to use anything, but it does help make the mapping process much simpler.<br>''See [[Non-FGD features]] for more info''.
|}


== Limitations ==
== Limitations ==

Revision as of 12:02, 27 April 2024

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

An object defined within Source Source or Source 2 Source 2 as having characteristics which differentiate it from "the world" (world brushes).

Types of entites

Types available in Info
By Form
Brush entity Source Source and earlier
English (en)Deutsch (de)Español (es)Hrvatski (hr)Português (pt)Русский (ru)中文 (zh)Translate (Translate)

A Brush Entity is an entity type in the GoldSrc GoldSrc and Source Source engines, created by tying an entity to a model made out of BSP geometry (brushes) in the map, giving the brush a specific effect or ability defined by the entity tied to it. (The default shortcut is Ctrl + T after selecting a brush)

Purpose and Uses

Brush entities are used for entities that require an area or trigger zone to be touched, hit, or used in order to perform a specific task.

Another use of brush entities is to create a physical object that can move, such as an elevator, or a door (can be made by many brushes selected together and tied as a whole to a brush entity, forming a brush model).

A great example of a brush entity that implements both of these designs is a func_button, which requires a brush to specify the area the player must press, touch, or shoot to activate the button; the button can be made using any shape of brush, or even a group of brushes, and can be textured to give the appearance of a real button.

Brush entities such as the func_button have special features that affect the physical brush they're tied to, such as moving the brush in a general direction when activited, giving the effect of the button being pushed in and then popping back out.

Another example of a brush entity is a trigger_multiple which can fire some outputs once the player walks into its area of effect (the volume of which is defined by the volume of the original brush used to make the trigger).

Tip.pngTip:Many brush entities work when spawned dynamically via commands/vscript and setting keyvalue solid 2 and desired mins/maxs after the entity has been spawned. This is useful when needing to create non-visual brush entities without recompiling the map. It's also possible to reuse bmodel of other brush entities used in the given map.
PlacementTip.pngExample:Making trigger_multiple by console commands which will break any prop_physics that touch it
ent_create trigger_multiple targetname test spawnflags 1032 OnStartTouch "!activator,Break";
ent_fire test addoutput "solid 2";
ent_fire test addoutput "maxs 100 100 100";
ent_text test; ent_bbox test;

(not all games' ent_create command supports more parameters beyond classname in which case they need to be set via ent_fire addoutput)

General types

Trigger brush entities

These are invisible during normal play and fire outputs or affect entities when they touch the trigger's brush. They are subclasses of CBaseTrigger and their visibility can be toggled using showtriggers_toggle if their brush used a visible texture like toolstrigger.

Nav controlling brush entities

These aid in controlling or creating the navmesh and are also invisible.

Visual brush entities

Brush entities whose brush is intended to be seen by the player and may add some special functionality to it.

Other

See also

Point entity Source Source and Source 2 Source 2
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.

Point Entity is usually defined as simply an entity that is not a brush entity i.e. entity that is created by Hammer Entity Tool on specific point on a grid instead of tying brushes to an entity. More meaningful definition for a point entity is an entity that doesn't render a 3D model and its position in the world affects its functionality. It still may have a visual component (env_sprite, keyframe_rope) or create a visual component (infodecal, info_particle_system) but most of them are without one (ambient_generic, info_target, point_hurt, info_teleport_destination, info_elevator_floor). Other types of entities that are also created on a specific point and are usually referred to as point entity are model entities and logical entities. Point entities by these standards are most of the time subclasses of CPointEntity.

General types

Target of other entities

These serve mainly to provide their position for other entities that target them.

Spawners

Their position serves as a place where to spawn player/npc/weapon.

Viewcontrol

Visual

Sound

Lights

Other

More[Todo]

See also

Mesh entity Only in Source 2 Source 2 Mesh entity/overview
Path entity
English (en)Deutsch (de)Español (es)Hrvatski (hr)Português (pt)Русский (ru)中文 (zh)Translate (Translate)

Path entities are a type of entity recently added to the tools. They can be created with Path Tool (Shift + P).

Todo: Path entities may not be fully functional in SteamVR Home. Document which path types work.


Stub

This article or section is a stub. You can help by expanding it.

By Internality
Internal entity In all Engines Internal entites/overview
Non-Internal entity A Non-Internal entity is when there is no entity in the FGD by default. an FGD tells Hammer Hammer what entities exist in the engine, and what keyvalues, inputs, outputs, and flags they have.
If information for an entity is missing from an FGD, it can be manually added through Hammer without it. FGD info is not required to use anything, but it does help make the mapping process much simpler.
See Non-FGD features for more info.

Limitations

See also