Effects - sync1211/owoskin-vrc GitHub Wiki
Effects are modules which trigger sensations.
Each effect can enabled or disabled without stopping the connection to VRChat.
Additionally, each effect has a configurable priority value which is assigned to each sensation generated by that effect. The priority setting is used to resolve conflicts between two or more simultaneous sensations.
A higher priority value will result in the sensation being favored and conflicting sensations to be ignored.
(In most cases, the sensation builder will attempt to merge compatible sensations to prevent sensations from overwriting each other.)
Colliders
The Colliders effect uses colliders on avatars to trigger sensations. This effect is based on Shadoki's Avatar Integration and is compatible with all avatars using this system.
Refer to the VRChat Avatar Setup Tutorial for instructions on how to set up the required colliders for your avatar.
Settings
Intensity
This dialog allows for the configuration of the maximum intensity applied to each muscle.
Frequency
This setting controls the frequency of the sensation triggered by the colliders. This settings is identical to the frequency setting in the OWO Sensations Creator.
Velocity-Based
Enabled
Enables / Disables velocity-based intensity scaling. To determine the velocity of a collision, the distance between the center of the collider and the colliding object is used.
Continuous sensation when idle
Generate a consistent sensation as long as a game object intersects with a collider. If this setting is disabled, sensations will only be created when the intersecting object is moving.
Min intensity
The minimum intensity for velocity-based intensity scaling. This intensity is used for the continuous sensation when idle.
Speed multiplier
How much the speed of a collision should impact the intensity of the generated sensation.
Decay time
How many milliseconds it takes for the collision sensation to return to the rest/idle intensity. The rest intensity is either the value set in "Min intensity" or 0 if "Continuous sensation when idle" is disabled. If disabled, the collider sensation will return to the rest intensity after one calculation cycle (100ms)
Velocity
The Velocity effect triggers wind and impact sensations based on the player's in-game speed and movement direction. (e.g. falling, flings, flying, etc)
This effect works with any avatar without additional setup.
(This is done by reading the VelocityX
, VelocityY
, VelocityZ
and VelocityMagnitude
properties present on all avatars by default)
NOTE: This effect does not work with most vehicles implementations as they have their own internal speed property.
Settings
Min. velocity
The minimum velocity at which to start triggering the wind sensation. The intensity at Min. velocity will be 0% and increases for any value higher than Min. velocity.
Max. velocity
The velocity at which the wind sensation should be at 100%.
Ignore when grounded & Ignore when seated
Disables the wind sensation if the player is standing on the ground/sitting. These settings can be useful in worlds which move the player. This setting may not work in every world / vehicle as most vehicles do not update the player's speed.
Impact sensation
If this setting is enabled, it plays a short impact/hit sensation when the player experiences a rapid deceleration. (e.g. when hitting the ground after a fall)
Min. impact velocity
The minimum velocity for the player to reach before the impact sensation to play upon deceleration.
World / WorldIntegrator (OWI)
The World effect works as a client for the OWO World Integrator by RevoForge & SonoVR.
This effect requires a world to use OWO World Integrator. Documentation for setting up World Integrator for world creators can be found in the OWO World Integrator Repository.
Additionally, debug logging has to be enabled in the VRChat client, as OWI uses the VRChat debug log (Located at %userprofile%\AppData\LocalLow\VRChat\VRChat
) for sending sensations.
Settings
Log scan interval
The number of milliseconds to wait between checking the VRChat debug log for new sensations.
Intensity
The global intensity value for this effect.
Per-Sensation intensity
This dialog allows for configuration of the intensity of every sensation received from Worlds.
If a new sensation is received, it will automatically be added to the list.
The configured intensity of each sensation is based on the configured Intensity setting for this effect.
Presets
The Presets effect enables avatar creators to trigger custom sensations via OSC.
Please refer to the VRChat Avatar Setup Tutorial for instructions on setting up and triggering custom sensations.
Importing presets
Presets can be imported from files created by the OWO Sensations Creator or from a OWOVRC presets configuration file (oscPresets.json
within the application directory)
Preset options
Name
The name used to trigger the preset. See Triggering presets for more information.
Priority
The priority for the sensations launched by the preset.
Intensity
The intensity scale of the sensations launched by the preset.
(Allows amplification up to 200%)
Loop
Whether to loop the preset until a stop signal is received.
To stop a looping preset, send an OSC message with a value of 0
or false
.
Interrupt
Configures the stop behavior of presets.
If this option is enabled, sensations of a preset will be interrupted as soon as a stop signal is received instead of waiting for the sensation to finish.
When disabled, looping sensations will be stopped by the end of the loop.
Audio
The Audio effect reacts to the system audio to play sensations in real time.
This program currently supports Sub-Bass, Bass and Treble as input channels.
As the sensations of each audio input channel cannot be played at the same time, they are ranked by priority. As a result, the program will always play the sensation of the channel with the highest priority. However, only channels with meet their minimum threshold are considered in this check. For example:
- If Bass has a higher priority than Sub-Bass, the sensation of the Bass channel will be played
- However, if the minimum threshold of Bass is not met, the sensation of Sub-Bass will be played instead.
Each sensation is scaled using the minimum and maximum decibel thresholds. A lower Max DB threshold results in a faster increase in intensity.
To find the correct decibel values for your use case, you can use the build-in audio monitor.
The audio device can be changed via the "Select Device" button.
NOTE: The audio source is processed as stereo. Mono audio devices may result in inaccurate results!
Similar to other effects, the affected muscles and their maximum intensity for each channel can be adjusted via the "Configure" button.