Skip to content

NovaVoidHowl/CVRFury

Repository files navigation

Contributors Forks Stargazers Issues LGPL2 License


Table of Contents
  1. Warnings
  2. About The Project
  3. Getting Started
  4. Feature Support
  5. Roadmap
  6. Contributing
  7. License
  8. Contact
  9. Acknowledgments
  10. Project tools

⚠️ Warnings ⚠️

Currently this software is only compatible with versions of VRC Fury older than 1.744, as that version introduced a breaking change in the components and this will need new stubs creating for them before they can be supported

⏳ Long Running Tasks

If you have animations with large numbers of armature bones being animated in them, then expect long run times on the ArmatureLink module as it will have to re-write them all. TLDR: If its still showing as processing and you can see disk activity, then it is not hung as it may appear to be, just let it run, and come back to it in a few minutes

(back to top)

About The Project

The aim of this project is to create a tool kit that can process VRCFury supported content for use in ChilloutVR.

Note this project is in a alpha state and not ready for any use yet (though functions listed as such should work now).


See the VRCFury Webpage for more info on the project that inspired this one.

(back to top)

Getting Started

TBC

Prerequisites

Note the following should be auto installed to the project by adding this package

  • com.unity.nuget.newtonsoft-json: 3.0.2
  • com.unity.vectorgraphics: 2.0.0-preview.21

Installation

  1. In unity open the Package Manager window
  2. Click the plus button in the top left of that window and choose the Add packages from git URL option
  3. Paste in the git url of this repo https://github.com/NovaVoidHowl/CVRFury.git
  4. Click the add button

The script should then be ready to use.

(back to top)

Feature Support

Icon Key:

✔️ = Feature active/supported.
⚙️ = Implementation/review in progress
❌ = Feature pending implementation.
🔼 = High priority.
🔽 = Low priority.
❔ = Feature pending review.
🚫 = Feature will not be supported.

The following table gives a breakdown of what features are supported for import/install.
Note at this time there is no native config UI for CVRFury modules (save the dev debug interface)

Feature Data Import Supported Install Supported Notes
ObjectToggleAction ✔️ ✔️
MaterialAction ✔️ ✔️
BlendShapeAction ✔️
FxFloatAction ✔️ ❌🔽
AnimationClipAction ❔🔽 ❔🔽
ShaderInventoryAction ❔🔽 ❔🔽
PoiyomiUVTileAction ❔🔽 ❔🔽
MaterialPropertyAction ❔🔽 ❔🔽
ScaleAction ✔️
BlockBlinkingAction ✔️ ✔️
BlockVisemesAction ✔️ ✔️
FlipBookBuilderAction
Blinking
Breathing
FullController ✔️ ✔️ Note: no support for menu section triggered toggles (CVR menu is flat not tree)
Toggle ❌🔽 ❌🔽
Puppet
SecurityLock ❌🔽 ❌🔽
Talking ❌🔽 ❌🔽
Toes Puppet ❌🔽 ❌🔽
Advanced Visemes
ArmatureLink ✔️ ✔️ Note: There is currently no support for mesh vertex rewrite
BoundingBoxFix ❔🔽 ❔🔽
FixWriteDefaults ❔🔽 ❔🔽
RemoveHandGestures ❌🔽 ❌🔽
AnchorOverrideFix ❔🔽 ❔🔽
MoveMenuItem ❔🔽 ❔🔽
GestureDriver ❔🔽 ❔🔽
Gizmo ❌🔽 ❌🔽
DeleteDuringUpload ✔️ ✔️
BlendShapeLink ❔🔽 ❔🔽
SetIcon 🚫 🚫 There are no icons on CVR menus
OverrideMenuSettings 🚫 🚫 Related to VRC menu structure only
BlendshapeOptimizer ❔🔽 ❔🔽
Slot4Fix
DirectTreeOptimizer ❔🔽 ❔🔽
ShowInFirstPerson ✔️ ✔️
MmdCompatibility ❔🔽 ❔🔽
Parameter Stream 🚫 ✔️ VRC does not have Parameter stream equivalent

Things that are not included

The following are not features of this project, you will need to handle the following conversions by hand, or find a tool that can do them.

  • PhysBone to Dynamic Bone conversion
  • PhysBone to Magica Cloth (1 or 2) conversion

(back to top)

Roadmap

  • VRCExpressionParameters Converter and Stub

  • VRCExpressionMenu Converter and Stub

  • PhysBone Stubber - (just stubs them NOT a converter)

  • VRCFury stubs - pre version 1.744

  • VRCFury stubs - version and on 1.744

  • VRCFury to CVRFury data porter

  • CVRFury VRCStub to VRC Converter (potential)

  • More to come ......

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are appreciated. Please see CONTRIBUTING.md for more details.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Please see LICENSE.md for information.

(back to top)

Contact

@NovaVoidHowl

Project Link: https://repo.cvrfury.uk

(back to top)

Acknowledgments

VRCFury

This repo contains stub components (in the folder VRCFury_stub), that are derivative of the VRCFury codebase, please see https://github.com/VRCFury/VRCFury, unlike the rest of the code in this repo the VRCFury stubs are licensed under CC BY-NC 4.0

Avatars-3.0-Manager

This project makes use of the Animator Controller copying/merging logic. Please see https://github.com/VRLabs/Avatars-3.0-Manager/tree/main for details Licence MIT

(back to top)

Project tools

  • VS Code, ide
  • Pre-Commit, linting and error detection
  • Github Copilot, Code error/issue analysis

(back to top)