VRChat
LyumaLyuma

Lyuma Av3Emulator VPM [includes OSC&Dynamics]

Lyuma's Avatars 3.0 Emulator ## New versions: 3.4.1: * Custom inspector! Special thanks to Dreadrith for the implementation, and to jellejurre for the integration. * Implementation of VRCHeadChop and VRCAnimatorPlayAudio. Thanks, jellejurre * Convert negative values to true bool when casting parameter types. 3.3.1: * Compatibility with VRCFury and Modular Avatar by starting on Start (thanks jellejurre) * Fix parent constraint scale, bool copy parameter mismatch and generic support. 3.3.0: - Minimum support for `IsOnFriendsList`, false for local (thanks anatawa12) - Implement preference for changing clones IsOnFriendsList - Support latest Unity 2022 compatible version of SDK (thanks jellejurre) * Av3Emulator is updated to latest SDK 3.5.0. 3.2.x: * Add head bone scale caching * Enable avatar scaling by default * Stop OSC from setting builtin params * Enable parameter setting with OSC * Add Parent Constraint scaling fix to follow VRC * Include hidden parent constraints * Av3Emulator is available in curated packages in VCC! * Implement Settings page to save Default Settings. * Perform conversion of DynamicBone for legacy avatars * **If you import this package, it will import to the Packages folder. If you have the old (Assets folder) version, delete it or you won't have access to the new features.** * You can also copy the created lyuma.av3emulator folder to another location, add that folder to the VCC in the settings menu, and install the emulator with a single click for any of your other projects. 2.9.12: **Last Non-VCC version** (Includes GestureManager version 3.7) * Implement parameter mismatch, so parameters can be coerced into floats * Added rich text support for VRCExpressionMenus in the simple parameter menu. ### About the Avatar 3.0 Emulator: This is an emulator for Avatars 3.0 reimplemented in the unity editor on top the the unity PlayableGraph API, using the AnimationControllerPlayable and AnimationLayerMixerPlayable APIs. Lyuma's emulator is designed to accurately simulate the animator system as close as possible to in-game, with MIT License. ### Avatar Dynamics integration **NOTE**: To test Avatar Dynamics, you must have a **Camera** in your scene **tagged as "Main Camera"** (top of the inspector next to the layer dropdown), and be in **Game View**. _GameObject menu -> Align With View (Ctrl+Shift+F)_ allows using your scene camera transform. **OSC Now works in the emulator (opt-in)**: Supports sending and receiving OSC messages for your avatar. Off by default. Simply tick "**Enable Avatar OSC**" to turn it on. Supports generating, loading and saving JSON config files for OSC for use in VRChat. **Compatible with VRCFaceTracking**. Avatar switch messages are now implemented! Messages are sent without bundles for compatibility. ## Features: * Should emulate most features of Avatar3. * Attempt to emulate the uninitialized state for remote players. * An "update interval" to simulate network delay when sending parameters. * Test non-local syncing by duplicating or clicking the "Create Non Local Clone" checkbox. * Gesture left/right weight to test analog Fist gesture strength. * Supports viewing and editing float and int parameters, view the Expression Menu, via Parameters tab of the Animator window, via the blend tree input, via Parameter Driver, or manually, by alt-clicking the ▶Floats and ▶Ints headers at the bottom * Visemes for both parameters and testing builtin blend shapes ## How to use the Av3 Emulator: Go to the **Tools** menu, and select **Avatar 3.0 Emulator**. This will add an object to your scene: you can always remove it if you don't want it to run. Use this object to set default VR mode, tracking type or Animator to Debug settings. Let me know if other settings would be useful here. To emulate walking and movement, click the avatar and scroll down the inspector to the bottom section with Lyuma Av3 Runtime component. Here you can change stuff. It also supports live interacting with the animator controller. To use this, first click your avatar (even if it was already selected), and then open up **Windows** -> **Animation** -> **Animator** ; and pick the controller using "**Animator To Debug**" dropdown. You can also change parameters from inside the controller, for example moving the red dot in the 2D Blend Tree for Standing. Crouch/Prone by changing the Upright slider; or test Sitting or AFK. If you wish to emulate walking, you can also do this by selecting Base layer, opening up the Locmotion controller with your avatar selected, and going to the Standing blendtree and dragging around the red dot. ## NOTE: about viewing animator state from layers other than Base/locomotion: The avatar should behave correctly when "Animator to Debug" is set to Base. When you pick another layer, for example FX, the *output* of the animator may differ slightly. For example, Direct BlendTrees with non-zero initial outputs may produce different results. Also, the whole playable weight may be forced to 1 on the debugged animator. ## Other known issues: The `proxy_` animations included in the SDK are incomplete. Unless you override them, do not expect your avatar to have a full walking cycle, and it is normal for backflip (VRCEmote=6) to stop halfway. If you're having unexplained issues, they might happen in game too. The most common cause is due to Write Defaults being turned on in one or more states, in any layer, in any controller. You must have Write Defaults OFF **everywhere** to ensure proper operation 100% of the time. Please see the guide below. ## Finally Free, Open-source software under the MIT license. Fork it on GitHub here! https://github.com/lyuma/Av3Emulator LyumaAv3Emulator includes a Radial menu made by BlackStartx under the MIT license. ( https://github.com/BlackStartx/VRC-Gesture-Manager ) Also includes contributions by Haï~ and 3 and bd_.

Lyuma's Avatars 3.0 Emulator ## New versions: 3.4.1: * Custom inspector! Special thanks to Dreadrith for the implementation, and to jellejurre for the integration. * Implementation of VRCHeadChop and VRCAnimatorPlayAudio. Thanks, jellejurre * Convert negative values to true bool when casting parameter types. 3.3.1: * Compatibility with VRCFury and Modular Avatar by starting on Start (thanks jellejurre) * Fix parent constraint scale, bool copy parameter mismatch and generic support. 3.3.0: - Minimum support for `IsOnFriendsList`, false for local (thanks anatawa12) - Implement preference for changing clones IsOnFriendsList - Support latest Unity 2022 compatible version of SDK (thanks jellejurre) * Av3Emulator is updated to latest SDK 3.5.0. 3.2.x: * Add head bone scale caching * Enable avatar scaling by default * Stop OSC from setting builtin params * Enable parameter setting with OSC * Add Parent Constraint scaling fix to follow VRC * Include hidden parent constraints * Av3Emulator is available in curated packages in VCC! * Implement Settings page to save Default Settings. * Perform conversion of DynamicBone for legacy avatars * **If you import this package, it will import to the Packages folder. If you have the old (Assets folder) version, delete it or you won't have access to the new features.** * You can also copy the created lyuma.av3emulator folder to another location, add that folder to the VCC in the settings menu, and install the emulator with a single click for any of your other projects. 2.9.12: **Last Non-VCC version** (Includes GestureManager version 3.7) * Implement parameter mismatch, so parameters can be coerced into floats * Added rich text support for VRCExpressionMenus in the simple parameter menu. ### About the Avatar 3.0 Emulator: This is an emulator for Avatars 3.0 reimplemented in the unity editor on top the the unity PlayableGraph API, using the AnimationControllerPlayable and AnimationLayerMixerPlayable APIs. Lyuma's emulator is designed to accurately simulate the animator system as close as possible to in-game, with MIT License. ### Avatar Dynamics integration **NOTE**: To test Avatar Dynamics, you must have a **Camera** in your scene **tagged as "Main Camera"** (top of the inspector next to the layer dropdown), and be in **Game View**. _GameObject menu -> Align With View (Ctrl+Shift+F)_ allows using your scene camera transform. **OSC Now works in the emulator (opt-in)**: Supports sending and receiving OSC messages for your avatar. Off by default. Simply tick "**Enable Avatar OSC**" to turn it on. Supports generating, loading and saving JSON config files for OSC for use in VRChat. **Compatible with VRCFaceTracking**. Avatar switch messages are now implemented! Messages are sent without bundles for compatibility. ## Features: * Should emulate most features of Avatar3. * Attempt to emulate the uninitialized state for remote players. * An "update interval" to simulate network delay when sending parameters. * Test non-local syncing by duplicating or clicking the "Create Non Local Clone" checkbox. * Gesture left/right weight to test analog Fist gesture strength. * Supports viewing and editing float and int parameters, view the Expression Menu, via Parameters tab of the Animator window, via the blend tree input, via Parameter Driver, or manually, by alt-clicking the ▶Floats and ▶Ints headers at the bottom * Visemes for both parameters and testing builtin blend shapes ## How to use the Av3 Emulator: Go to the **Tools** menu, and select **Avatar 3.0 Emulator**. This will add an object to your scene: you can always remove it if you don't want it to run. Use this object to set default VR mode, tracking type or Animator to Debug settings. Let me know if other settings would be useful here. To emulate walking and movement, click the avatar and scroll down the inspector to the bottom section with Lyuma Av3 Runtime component. Here you can change stuff. It also supports live interacting with the animator controller. To use this, first click your avatar (even if it was already selected), and then open up **Windows** -> **Animation** -> **Animator** ; and pick the controller using "**Animator To Debug**" dropdown. You can also change parameters from inside the controller, for example moving the red dot in the 2D Blend Tree for Standing. Crouch/Prone by changing the Upright slider; or test Sitting or AFK. If you wish to emulate walking, you can also do this by selecting Base layer, opening up the Locmotion controller with your avatar selected, and going to the Standing blendtree and dragging around the red dot. ## NOTE: about viewing animator state from layers other than Base/locomotion: The avatar should behave correctly when "Animator to Debug" is set to Base. When you pick another layer, for example FX, the *output* of the animator may differ slightly. For example, Direct BlendTrees with non-zero initial outputs may produce different results. Also, the whole playable weight may be forced to 1 on the debugged animator. ## Other known issues: The `proxy_` animations included in the SDK are incomplete. Unless you override them, do not expect your avatar to have a full walking cycle, and it is normal for backflip (VRCEmote=6) to stop halfway. If you're having unexplained issues, they might happen in game too. The most common cause is due to Write Defaults being turned on in one or more states, in any layer, in any controller. You must have Write Defaults OFF **everywhere** to ensure proper operation 100% of the time. Please see the guide below. ## Finally Free, Open-source software under the MIT license. Fork it on GitHub here! https://github.com/lyuma/Av3Emulator LyumaAv3Emulator includes a Radial menu made by BlackStartx under the MIT license. ( https://github.com/BlackStartx/VRC-Gesture-Manager ) Also includes contributions by Haï~ and 3 and bd_.