prop_handpose is a point entity available in
Half-Life: Alyx.
It is used to change the player's VR hand into a specific pose when it moves nearby the prop_handpose.
Todo: Usage examples.
Usage
The prop_handpose entity can be used for all sorts of things, the main usage in the Campaign is for Ladders.
Keyvalues
- Model (model) <model path>
- Distance Min (DistanceMin) <float>
- Full pose within this radius
- Distance Max (DistanceMax) <float>
- Zero pose outside this radius
- Distance Bias (DistanceBias) <float>
- Pose weight distance bias
- Disengage Distance (DisengageDistance) <float>
- Distance at which the hand pose will disengage entirely
- Use Proximity Bones (UseProximityBone) <boolean>
- Measure interaction range via authored bone positions instead of origins.
- Add To Spatial Partition (AddToSpatialPartition) <boolean>
- Set to true if the pose is static or has a small move bounds (doors, levers)
- Convert to Hand Conform Data (DeleteAfterSpawn) <boolean>
- Convert pose to conform data and delete the entity
- Auto Grip (AutoGrip) <boolean>
- Force grip when fully posed, even if the player isn't gripping
- Extent (Extent) <vector>
- Defines a range over which the handpose can be located.
- Ignore Hand (IgnoreHand) <choices>
- This hand will not active the hand pose
- -1: None
- 0: Right hand
- 1: Left hand
- Start Disabled (StartDisabled) <boolean>
- Stay dormant until activated (with the
Enableinput).
Source 2 BasePropPhysics
- Min Damage to Hurt (minhealthdmg) <integer>
- The prop will ignore any damage events if the damage is less than this amount.
- Shadow Cast Distance (shadowcastdist) <integer>
- Physics Impact Damage Scale (physdamagescale) <float>
- Scales damage energy when this object is hit by a physics object. NOTE: 0 means this feature is disabled for backwards compatibility.
Set to 1.0 for materials as strong as flesh, smaller numbers indicate stronger materials.
- Impact damage type (Damagetype) <choices>
- If true (1), damage type is sharp and the object can slice others.
- Damaging it Doesn't Push It (nodamageforces) <boolean>
- Whether damaging the entity applies force to it.
- Accept damage from player held objects (acceptdamagefromheldobjects) <boolean>
- Set to true so the player can bash this with held props.
- Scale Factor For Inertia (inertiaScale) <float>
- Scales the angular mass of an object. Used to hack angular damage and collision response.
- Mass Scale (massScale) <float>
- A scale multiplier for the object's mass.
- Health Level to Override Motion (damagetoenablemotion) <integer>
- Health Level to Override Motion" : 0 : "If specified, this object will start motion disabled. Once its health has dropped below this specified amount, it will enable motion.
- Physics Impact Force to Override Motion (forcetoenablemotion) <float>
- If specified, this object will start motion disabled. Any impact that imparts a force greater than this value on the physbox will enable motion.
- Sound to make when punted (puntsound) <sound>
- AI AddOn (addon) <string>
- If specified this object will use this addon behavior when installed in a composite AI
- interactAs (interactAs) <string>
- comma-separated list of interaction layers
- Force Nav Ignore (forcenavignore) <boolean>
- If set, NPCs will ignore this prop when navigating.
- Force NPC Exclude (forcenpcexclude) <boolean>
- If set, NPC movement will ignore this prop
- Auto Convert back from Debris (auto_convert_back_from_debris) <boolean>
- If set, this prop will automatically convert back to interactive debris after coming to rest as Debris.
|
Source 2 Targetname
- Name (targetname) <string>
- The targetname that other entities refer to this entity by.
- Entity Scripts (vscripts) <scriptlist>
- Space delimited list of VScript files (without file extension) that are executed after all entities have spawned. The scripts are all executed in the same script scope, later ones overwriting any identical variables and functions.
- Create Client-Only Entity (clientSideEntity) <choices>
|
Source 2 Hierarchy
- Parent (parentname) <targetname>
- Specifies a movement parent. An entity will maintain its initial offset from its parent.
- Parent Model Bone/Attachment Name (parentAttachmentName) <string>
- The name of the bone or attachment to attach to on the entity's parent in the movement hierarchy. Use !bonemerge to use bone-merge style attachment.
- Model Attachment position offset (local.origin) <coordinates>
- Offset in the local space of the parent model's attachment/bone to use in hierarchy. Not used if you are not using parent attachment.
- Model Attachment angular offset (local.angles) <angles>
- Angular offset in the local space of the parent model's attachment/bone to use in hierarchy. Not used if you are not using parent attachment.
- Model Attachment scale (local.scales) <vector>
- Scale in the local space of the parent model's attachment/bone to use in hierarchy. Not used if you are not using parent attachment.
- Use Model Attachment Offset (useLocalOffset) <boolean>
- Whether to respect the specified local offset when doing the initial hierarchical attachment to its parent.
|
Source 2 Transform
Note: These are "Embedded Properties" which are hard-coded to appear on every entity in Hammer, regardless of their presence in any FGD files.
- Origin (origin) <coordinates>
- The world space origin of the entity.
- Angles (angles) <angles>
- The pitch, yaw, roll orientation of the entity.
- Scale (scales) <vector>
- The x, y, z scales of the entity. Not all entities can use this.
- Transform Locked (transformLocked) <boolean>
- Lock the transform at its current value, preventing the transform of the node from being modified. Only applies within Hammer.
- Force Hidden (force_hidden) <boolean>
- Visually hides the entity from the viewports. The Outliner pane will still list hidden entities.
- Editor Only (editorOnly) <boolean>
- Entity is only displayed in Hammer and will not appear in game.
|
Inputs
- SetAutoGrip <booleanRedirectInput/boolean>
- Toggle Auto-Grip
EnableDisable:
- Enable / Disable <void>
- Enable/disable this entity from performing its task. It might also disappear from view.
Source 2 BasePropPhysics
- Wake
- Wake up this physics object, if it is sleeping.
- Sleep
- Put this physics object to sleep. It will wake if given the Wake input, or if force is applied to it. Note that physics objects go to sleep automatically after coming to rest for a while, so you don't really need to use this.
- EnableMotion
- Enable physics motion/collision response.
- DisableMotion
- Disable physics motion/collision response.
- EnablePickup
- Enable player pickup of this prop.
- DisablePickup
- Disable player pickup of this prop.
- DisableFloating
- Disable fluid/floating simulation to reduce cost.
- SetBodyGroup <stringRedirectInput/string>
- Sets bodygroup. Format is <BodygroupName,index>
- physdamagescale <floatRedirectInput/float>
- Set the Physics Impact Damage Scale for this character. NOTE: 0 means this feature is disabled for backwards compatibility.
- EnableDamageForces
- Damaging the entity applies physics forces to it.
- DisableDamageForces
- Damaging the entity does *not* apply physics forces to it.
- EnablePuntSound
- Allow this prop to play its own sound when punted.
- DisablePuntSound
- Prevent this prop from playing its own sound when punted.
- SetAutoConvertBackFromDebris <booleanRedirectInput/boolean>
- Set whether or not this prop should automatically convert back to interactive debris after it comes to rest as debris.
- AddAttribute <stringRedirectInput/string>
- Add an attribute with a value of 1.
- RemoveAttribute <stringRedirectInput/string>
- Remove an attribute.
|
Source 2 Targetname
- Kill
- Removes this entity from the world.
- KillHierarchy
- Removes this entity and all its children from the world.
Note: Entities already remove orphaned children upon being removed, but this input removes all children on the same frame, being marginally faster than Kill.
- AddOutput <stringRedirectInput/string>
- Evaluates a keyvalue/output on this entity. It can be potentially very dangerous, use with care.
KV Format: <key> <value> I/O Format: <output name> <targetname>:<inputname>:<parameter>:<delay>:<max times to fire, -1 means infinite>
- FireUser1 to FireUser4
- Fire the
OnUser outputs; see User Inputs and Outputs.
- RunScriptFile <stringRedirectInput/string>
- Execute a VScript file from disk, without file extension. The script contents are merged with the script scope of the receiving entity.
- RunScriptCode <stringRedirectInput/string>
- Execute a string of VScript source code in the scope of the entity receiving the input. String quotation may be needed when fired via console.
- CallScriptFunction <stringRedirectInput/string>
- Execute a VScript function in the scope of the receiving entity.
- CallPrivateScriptFunction <stringRedirectInput/string>
- Calls a script function from this entity's private script scope.
- CallGlobalScriptFunction <stringRedirectInput/string>
- Calls a script function in the global script scope.
|
Source 2 Hierarchy
- SetParent <stringRedirectInput/string>
- Changes the entity's parent in the movement hierarchy.
- SetParentAttachment <stringRedirectInput/string>
- Change this entity to attach to a specific attachment point on its parent. Entities must be parented before being sent this input. The parameter passed in should be the name of the attachment.
- SetParentAttachmentMaintainOffset <stringRedirectInput/string>
- Change this entity to attach to a specific attachment point on it's parent. Entities must be parented before being sent this input. The parameter passed in should be the name of the attachment. The entity will maintain it's position relative to the parent at the time it is attached.
- ClearParent
- Removes this entity from the the movement hierarchy, leaving it free to move independently.
|
Outputs
- OnHandPosed
- Fires when the hand is closer than DistanceMin
- OnHandUnPosed
- Fires when the hand is no longer closer than DistanceMin
Source 2 BasePropPhysics
- OnMotionEnabled
- Fired when motion is enabled on this prop, either via 'Health Level to Override Motion' or from the EnableMotion input.
- OnAwakened
- Fired when this entity becomes awake (collision/force is applied to it while it's asleep).
- OnPhysGunPickup
- Fired when the player picks up the prop with the physcannon or +USE.
- OnPhysGunPunt
- Fired when a player punts this object with the physgun.
- OnPhysGunOnlyPickup
- Fired when a player picks this object up WITH THE PHYSGUN. +USE pickups do not fire this output.
- OnPhysGunDrop
- Fired when the player drops the prop with the physcannon or USE.
- OnPlayerUse
- Fired when the player tries to +USE the prop. This output will fire only if the Generate output on +USE spawnflag is set.
- OnPlayerPickup
- Fired whenever the player picks up this prop (with the physcannon or with +USE).
- OnOutOfWorld
- Fired whenever the prop is out of the allowed world bounds.
|
Source 2 Targetname
- OnUser1 to OnUser4
- These Outputs each fire in response to the firing of the like-numbered
FireUser1 to FireUser4 Input; see User Inputs and Outputs.
- OnKilled
- This Output fires when the entity is killed and removed from the game.
|