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

env_entity_maker

From Valve Developer Community
Jump to navigation Jump to search
English (en)Русский (ru)中文 (zh)Translate (Translate)
Env entity maker.png

env_entity_maker is a point entity available in all Source Source games.

Class hierarchy
CEnvEntityMaker
CPointEntity
CBaseEntity
env_entity_maker.cpp

It spawns a specified point_template entity at the env_entity_maker's origin. It can be set to spawn automatically or through inputs.
One of the main benefits is that the env_entity_maker can be parented to an entity, so that the ultimately spawning entities will spawn dynamically wherever the env_entity_maker happens to be.
This could be used to spawn things on top of a func_tracktrain or similar moving entity.

For further clarification:
When this entity is spawned, it forces the point_template to be teleported to the env_entity_maker's location. And if PostSpawn Inherit Angles is set, the rotation is also copied.
The point_template acts as a parent to all the entities it spawns, which in turn will cause every other entity to be teleported as well.
This allows you to build one setup of entities where point_template acts as the origin, and then use env_entity_maker to spawn this setup anywhere on the map. Similar to how func_instance works.
If you were to place the point_template in the same spot as the env_entity_maker to begin with, no movement will happen.

Flags

Enable AutoSpawn Spawn template whenever there's enough room to fit it, and the player is not looking. : [1]
AutoSpawn: Wait for entity to be destroyed. : [2]
AutoSpawn: Spawn even if the player is looking. : [4]
ForceSpawn: Spawn only if there's enough room to fit the object. : [8]
ForceSpawn: Spawn only if the player isn't looking. : [16]

Keyvalues

Name (targetname) <string>
The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g. parentname or target).
Also displayed in Hammer's 2D views and Entity Report.
See also:  Generic Keyvalues, Inputs and Outputs available to all entities

Point_template To Spawn (EntityTemplate) <targetname>
Name of the point_template to spawn here. If there is an offset between the point_template and its spawned entities in hammer, that offset will be maintained when spawning happens relative to the env_entity_maker.
PostSpawn Movement Speed (PostSpawnSpeed) <float>
All entities spawned will move this many hammer units per second in the direction of PostSpawn Movement Direction.
PostSpawn Movement Direction (PostSpawnDirection) <angle>
If a PostSpawn Movement Speed is specified, this angle will be added to the movement direction of all the entities created by the template.
PostSpawn Direction Variance (PostSpawnDirectionVariance) <float>
The PostSpawn Movement Direction may vary by this many degrees. This is a radius.
PostSpawn Inherit Angles (PostSpawnInheritAngles) <boolean>
If checked, uses the parent's forward vector as the spawn direction. Otherwise uses the env_entity_maker's forward.

Inputs

ForceSpawn
Spawn an instance of the template at this origin and angle.
ForceSpawnAtEntityOrigin <targetname>
Spawn an instance of the template at the same origin and angles as a specified entity.

Outputs

OnEntitySpawned
Fired when an instance of the entity template has been spawned.
OnEntityFailedSpawn
Fired when a ForceSpawn input failed to spawn the template, either due to lack of space or being in player's view, depending on the spawnflags.

See Also