prop_handpose

From Valve Developer Community
Jump to navigation Jump to search

prop_handpose is a point entity available in Half-Life: Alyx 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 theEnableinput).
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.
  • 0 - Blunt
  • 1 - Sharp
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.pngNote: 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.pngNote: 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.