VTube in VRChat: Unity tool to generate components for head-source, IK-driven avatar motion in desktop VRChat
neri_demo_0.5.mp4
Stream Usage Example
stream_clip_example.mp4
Uses proposed head tracking parameters in VRCFaceTracking (Head Parameters PR)
- Make sure your VRC Avatar Project is up to date
- Add VRCFury to your project
- Add VRLabs' Final-IK-Stub to your project
- Alternatively, you can use the actual Final IK from RootMotion ($$$). YOU DO NOT NEED FINAL IK TO USE DESKYMODE. The stub works perfectly fine for VRC.
- Add DeskyMode to your project
- Download the latest
.unitypackage
from the Releases tab and import it into your project - Download the Package zip, unzip it, and add the package via Unity Editor's Package manager
- Download the latest
- Import the updated package, or unzip the package zip contents over the original install, or pull this GitHub repo if that's how you downloaded the package
- In your Unity Editor top toolbar:
Tools -> DeskyMode -> Refresh Scripts
DeskyMode can be added to any humanoid avatar that has been set up for VRChat.
- Make sure your humanoid avatar is properly set up for VRChat (with a VRCAvatarDescriptor)
- Open the DeskyMode tool menu in the top toolbar (
Tools -> DeskyMode -> DeskyMode Window
)
- Drag your avatar into the Avatar slot
- (Optional) Avatar Scale is set automatically based on your avatar's height. You should only set this manually if the motion of the targets seem too small/large for your avatar. Generally, you should not need to modify this value!
- (Optional) Check the "Debug" checkbox to see the transforms DeskyMode uses in generating the FIK components (Avatar References and IK Targets)
- (Optional) Check the "Add Mesh Renderers" checkbox if you would like mesh primitive debug visualizers on the IK targets
- The default VRCFury prefab uses the synced parameters asset. Note that it will occupy 56 bits of synced avatar parameters space. You can drop in the other prefab (without the "Sync" suffix) that takes no synced parameters, but remote users will not see DeskyMode movement if you enter poses via stations or avatar animations or do anything that disables avatar IK Sync.
- Click the "Apply All" button to apply DeskyMode to your avatar
- Massive code refactor because it's a mess
-
Workaround the import compilation issueFind another hack for Package distribution - Better window UI
- Add settings for control of certain FIK properties
- Spine stiffness
- Different "presets"
- ...
- VCC package?
By overriding VRC IK, you lose on avatar IK Sync, thus causing weird remote-only issues with things like Gogoloco (and no synced movement to remote users who don't have your animations shown). Overriding VRC IK is useful to keep your head origin aligned with your mouse cursor (when standing only, as this does not apply when crouching/prone). DeskyMode now has checks in the default animator to disable the VRC IK Override if in any state that isn't "standing", including Gogoloco poses.
There will be some "adjustment" movement if you enable/disable DeskyMode as the head/body snaps to DeskyMode animated/regular position. This also happens if deskymode enable is cycled due to Auto Toggle (i.e. crouching). Part of the delay between the toggle and adjustment is due to what seems like some fixed time used by the Tracking Control state behavior, and another part is the recommended transition time.
Entering GogoLoco poses with "Hand Lock" toggle enabled may sometimes cause the hands to lock in odd positions for remote users. This is because GogoLoco poses are updated by IK Sync, not animation for remote users. Thus, the timing of the pose update for remote users is not always consistent.
Be wary of avatar optimizers such as d4rkAvatarOptimizer that can unintentially remove the Final IK components. Since the Final IK components are disabled and stay disabled as they're used by IK Execution Order components instead, optimizers like d4rk's will remove the IK components during the build for upload with its default settings!
All of the source assets and all generated assets from DeskyMode fall under the MIT License.
-
Titatitanium for streaming with early versions and being DeskyMode's #1 sales-gote
-
Azmidi's OSCmooth
-
VRLabs for Final IK Stub
-
VRCFT Discord for constantly asking for desktop headtracking to be added to VRCFT
-
Video credit (Avatar): Neri by Graelyth
-
Video credit (World): Deep Blue by Fins
-
Video credit (Pose Animations): GoGo Loco by Franada