Giter Club home page Giter Club logo

shockosc's Introduction

ShockOsc

Release Version Downloads Discord

ShockOsc

Used as an interface for OpenShock to communicate with applications that support OSC and OscQuery like VRChat.

Setup

Wiki

Avatar contacts setup for VRC

  1. Add a new bool parameter to your avatars (animator & params file). Name template ShockOsc/{GroupName} e.g. ShockOsc/Leg
  2. Configure one or more contact receivers on your avatar
  3. Set it to constant and have it drive the designated parameter you have just created
  4. Upload
  5. 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.

  1. Add a new parameter to a physbone component on your avatar with the same name as your shocker, e.g. ShockOsc/Leg
  2. Add a new float parameter called ShockOsc/{GroupName}_Stretch to your avatars animator & do NOT add to params file
  3. Add a new bool parameter called ShockOsc/{ShockerName}_IsGrabbed to your avatars animator & do NOT add to params file
  4. Edit IntensityRange in 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}_Active enabled only while the shocker is active
  • bool ShockOsc/{GroupName}_Cooldown enabled only while the shocker isn't active and on cooldown
  • float ShockOsc/{GroupName}_CooldownPercentage 0f = shocker isn't on cooldown, 1f = shocker on cooldown (0f while shocker is active)
  • float ShockOsc/{GroupName}_Intensity 0..1f percentage value that represents how close the shock was to maximum intensity from IntensityRange (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_Active is true whenever there is any shocker currently shocking
  • ShockOsc/_Any_Cooldown is 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

ShockOsc Contributors

shockosc's People

Contributors

dependabot[bot] avatar lucheart avatar natsumi-sama avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

shockosc's Issues

Decaying chatbox messages

Being able to timeout chatbox messages after a given time interval, so the disappear quicker for everyone.

Support remote shockers

Instead of only triggering local shockers it would be amazing to also support remote shockers via share links.

Think having a button that says "Shock everyone" ingame and on interact it would transmit to shockers of multiple people.

OpenShock branding

I see lots of ShockLink branding remaining and I've only looked at the README so far

Support stateful intensity management

  • Remember the current intensity (let's say it starts at 5, configurable).
  • Add triggers for increasing and decresing said intensity (let's say by +/-5, configurable)
  • Add output variable for current intensity
  • Add ability to use this stateful intensity configuration when shocking/vibrating/beeping
  • Should be compatible with #12

UI

A general ui to configure, monitor and test shockosc

[Feature request] Auto delete VRC OSC Files

Please add an auto deletion feature for the files in C:\Users\%USERPROFILE%\AppData\LocalLow\VRChat\VRChat\OSC

Make it configurable to turn it of or on that it can auto deletes these files every time ShockOSC starts.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.