FollowEntity(): Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
 
(Added category, added attachment and bone section)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
==void C_BaseEntity::'''FollowEntity'''( CBaseEntity *pBaseEntity, bool bBoneMerge = true )==
C++ function used to control the [[Entity Hierarchy (parenting)|parent]] of the current entity.
This function is used to control the parent of {{this}} entity.
 
===FollowEntity( NULL )===
==Syntax==
This call makes {{this}} entity stop following its parent.
 
===FollowEntity( pBaseEntity )===
FollowEntity( [[CBaseEntity]] *pBaseEntity, [[bool]] bBoneMerge = true )
This call sets {{this}} entity's parent to <code>pBaseEntity</code>; it also zeroes {{this}} entity's origin and angles, sets its move type to <code>MOVETYPE_NONE</code> and adds the solid flag <code>FSOLID_NOT_SOLID</code>.
 
===FollowEntity( pBaseEntity, false )===
== Values ==
The only difference between the settings of <code>bBoneMerge</code> is having it set to false makes {{this}} entity not follow <code>pBaseEntity</code>'s animations. This is the call to use if the entity should be in a static position relative to <code>pBaseEntity</code>.
 
[[Category:Functions]]
;<code>pBaseEntity</code>
:Defines a parent. In doing so:
:*Zeroes [[origin]] and [[angles]]
:*Sets <code>[[MOVETYPE_NONE]]</code>
:*Adds <code>[[FSOLID_NOT_SOLID]]</code>
;<code>pBaseEntity = NULL</code>
:The entity leaves its parent and moves on its own. <code>StopFollowingEntity()</code> may also be used, but it will not reset the entity's <code>[[MoveType]]</code>.
;<code>bBoneMerge = false</code>
:Prevent the current entity from moving with <code>pBaseEntity</code>'s animations. It will move relative to <code>pBaseEntity</code>'s origin only.
 
==Bones and Attachments==
To find attachment points and bone names, there are several methods: Check ''modelname.qc''(SourceSDK has examples), use [[hlmv]] or other model software, use [[ent_attachments]] console command, or LookupAttachment() if programming.
{{TODO|Code calls/console commands related to bones?}}
== Related functions ==
 
*'''<code>GetFollowedEntity()</code>''' returns the parent entity as <code>C_BaseEntity</code>.
*'''<code>IsFollowingEntity()</code>''' returns <code>true</code> if the entity has a parent.
 
[[Category:Functions]][[Category:Programming]]

Latest revision as of 16:56, 22 October 2025

C++ function used to control the parent of the current entity.

Syntax

FollowEntity( CBaseEntity *pBaseEntity, bool bBoneMerge = true )

Values

pBaseEntity
Defines a parent. In doing so:
pBaseEntity = NULL
The entity leaves its parent and moves on its own. StopFollowingEntity() may also be used, but it will not reset the entity's MoveType.
bBoneMerge = false
Prevent the current entity from moving with pBaseEntity's animations. It will move relative to pBaseEntity's origin only.

Bones and Attachments

To find attachment points and bone names, there are several methods: Check modelname.qc(SourceSDK has examples), use hlmv or other model software, use ent_attachments console command, or LookupAttachment() if programming.

Todo: Code calls/console commands related to bones?

Related functions

  • GetFollowedEntity() returns the parent entity as C_BaseEntity.
  • IsFollowingEntity() returns true if the entity has a parent.