haptic_relay
haptic_relay
is a point entity available in Half-Life: Alyx.
Entity description
The haptic_relay is an entity which ostensibly has the power to trigger force-feedback in VR controllers based on its properties being similar to env_shake. It appears to share some attributes with logic_relay but requires additional testing for use.
Todo: Test this entity for its intended uses and update this page with use-cases
Investigate: .hpt files in scripts/haptics, audio2haptic_inputkv.txt, and OnHandEvent input.
Properties
Source 2 Transform:
- origin <coordinates>
- The world space origin of the entity.
- angles <angles>
- The pitch, yaw, roll orientation of the entity.
- scales <vector>
- The x, y, z scales of the entity. Not all entities can use this.
- Transform Locked <boolean>
- Lock the transform at its current value, preveting the transform of the node from being modified.
- Force Hidden <boolean>
- Visually hides the entity from the viewports. The Outliner pane will still list hidden entities.
- Editor Only <boolean>
- Entity is only displayed in Hammer and will not appear in game.
- Name <string>
- The name that other entities refer to this entity by.
- Misc Entity Scripts <string>
- Name(s) of script files that are executed after all entities have spawned.
- Frequency <integer>
- Frequency of the haptic pulse (0 - 100) Default (50)
- Amplitude <float>
- Amplitude of haptic pulse (0.0 - 1.0) Default (0.5)
- Duration <float>
- Duration of the haptic pulse in seconds Default (0.1)
Outputs
OnUser1
- Fired in response to FireUser1 input
OnUser2
- Fired in response to FireUser2 input
OnUser3
- Fired in response to FireUser3 input
OnUser4
- Fired in response to FireUser4 input
OnKilled
- Fire when the entity is killed and removed from the game.
Inputs
AlyxTargetName:
RunScriptFile
- Execute a VScript file from disk, without file extension. The script contents are merged with the script scope of the receiving entity.
RunScriptCode
- 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
- Execute a VScript function in the scope of the receiving entity.
CallPrivateScriptFunction
- Execute a VScript function from this entity's private script scope
CallGlobalScriptFunction
- Execute a VScript function from the global script scope
Kill
- Removes this entity from the world.
KillHierarchy
- Removes this entity and 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
<string>- Adds a keyvalue/output to 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
toFireUser4
- Fire the
OnUser
outputs; see User Inputs and Outputs.
OnHandEvent
- Trigger the relay with an input that has the player as activator and HandID as value