ShockOSC
ShockOSC copied to clipboard
OSC Application to interact with games implementing OSC like VRChat and ChilloutVR
Setup
Avatar contacts setup for VRC
- Add a new bool parameter to your avatars (animator & params file). Name template
ShockOsc/{GroupName}e.g.ShockOsc/Leg - Configure one or more contact receivers on your avatar
- Set it to constant and have it drive the designated parameter you have just created
- Upload
- Reset & Enable OSC
Avatar PhysBone setup for VRC
You can use physbones to trigger shocks with verifying intensity based on the distance the bone is stretched once it's released.
- Add a new parameter to a physbone component on your avatar with the same name as your shocker, e.g.
ShockOsc/Leg - Add a new float parameter called
ShockOsc/{GroupName}_Stretchto your avatars animator & do NOT add to params file - Add a new bool parameter called
ShockOsc/{ShockerName}_IsGrabbedto your avatars animator & do NOT add to params file - Edit
IntensityRangein the configuration file to your liking
Visual parameters
You can add some optional parameters to your avatar to visualize when the shocker is active or on cooldown. Add these parameters to your avatars animator & params file.
- bool
ShockOsc/{GroupName}_Activeenabled only while the shocker is active - bool
ShockOsc/{GroupName}_Cooldownenabled only while the shocker isn't active and on cooldown - float
ShockOsc/{GroupName}_CooldownPercentage0f = shocker isn't on cooldown, 1f = shocker on cooldown (0f while shocker is active) - float
ShockOsc/{GroupName}_Intensity0..1f percentage value that represents how close the shock was to maximum intensity fromIntensityRange(except for FixedIntensity)
Virtual Groups
You can use the virtual, or pseudo, shockers with the name _Any and _All for some limited actions. Read more below.
_Any
ShockOsc/_Any_Activeis true whenever there is any shocker currently shockingShockOsc/_Any_Cooldownis true whenever there is any shocker currently on cooldown
_All
This one can be used to make all shockers configured go off at the same time or with the same trigger.
This virtual shocker behaves just like another configured shockers, except it relays its actions to all others.
Instant Shocker Action
You may append _IShock to a shocker parameter if u want a shock to trigger instantly when this bool parameter jumps to true.
This is useful when working with an animator setup or have contact receivers trigger immediately.
E.g. ShockOsc/_All_IShock
Credits
Support
You can support the openshock dev team here: Sponsor OpenShock