Giter VIP home page Giter VIP logo

vrc-owo-suit's Introduction

Disclaimer

This application is not affiliated with VRChat or OWO. By using this software you agree to not sue or get upsetti spaghetti with me if it breaks something. Use at your own risk.

Table of Contents

Installation

Head over to the Releases page to get the latest release.

  1. Download the executable.

  2. Download the Unity Package.

  3. Open your Unity Project, open the provided Unity package, and setup your avatar (More Instructions on this below)

  4. Run the executable

  5. Open the OWO app and head to Games > Scan Game

  6. Click connect in the application

  7. Click connect in the OWO app

  8. If everything works, both applications should say that they are connected!

Settings

  1. OWO Suit IP Address

    You should leave this empty and leave the checkbox below checked, the OWO app can detect your suit fairly easily. I'm not sure what their usecase is for an IP address, maybe multiple suits on one machine?

  2. Server Port Number

    Leave this at 9001, only change if you know what you're doing!

  3. Frequency Settings

    I keep this at 100, I think it's for how abrupt the sensation is?

  4. Intensity Settings

    When calibrating your suit with the OWO app you will set some limitations for each muscle group, to prevent from shocking yourself too much.

    When you enter VRChat, you'll realize that you have a higher tolerance for some muscles rather than others.

    You can adjust the intensity settings in real time, and when you are done, you can click Save Settings to keep the app's settings for the next time you start it.

    Also, if you're having trouble telling which muscle is active when you're feeling them, the intensity settings labels will change when your muscles are being interacted with.

    In other words, if your Left Pectoral is touched, it will update in the UI as [Left Pectoral]

Contributing

Requirements

  • Python 3.10.9
  • Windows 10
  • OWO Suit or Visualizer
  1. Clone the repository

    git clone [email protected]:uzair-ashraf/vrc-owo-suit.git
    cd vrc-owo-suit
  2. Install Dependencies

    pip install -r requirements.txt
  3. Run

    python main.py
  4. Build a standalone executable

    This repository is setup with a Github action to compile the standalone executable. If you would like to compile it on your local machine you can read the action for the command via pyinstaller here.

Setting up your avatar

If this your first time working with OSC head over to the VRChat docs to learn more.

This doc assumes you have a Unity Package with an avatar already set up to be published to VRChat along with some knowledge of how to use Unity.

  1. Head over to the releases page and download the unity package from the latest release.

  2. Open your Unity Project with your avatar.

  3. Import the unity package from the latest release.

  4. In the toolbar click Shadoki > OWOSuit, add your avatar to the field, and click add.

  5. Place the newly generated game objects in the armature of your avatar. In a future update I expect to automatically place them in the generation, but for the initial release you will have to do it manually. Keep in mind the names of your bones may differ, but their placements should just match where they would be on your body.

    • Place both owo_suit_Lumbar_R and owo_suit_Lumbar_L into your Hip Bone.

    • Place owo_suit_Abdominal_R, owo_suit_Abdominal_L, owo_suit_Dorsal_R, and owo_suit_Dorsal_L into your Spine Bone.

    • Place owo_suit_Pectoral_L and owo_suit_Pectoral_R into your corresponding Breast bones. If you do not have Breast bones, then your Chest bone will suffice.

    • Place owo_suit_Arm_R and owo_suit_Arm_L into your corresponding UpperArm bones.

    • (OPTIONAL) Add a parameter called "owo_intensity" to the avatar parameters and also add it to the menu with a radial control.

  6. Every avatar is different in size therefore every avatar's collissions will be different. Go through each game object starting with owo_suit and adjust the VRC Contact Receiver script to change the size of the capsule collider. This is where the detection will occur, so you can make the area for each collision bigger or smaller if you'd like.

    In the example below you can see that this contact is for the right abdomen. I adjusted the capsule size to map out the right portion of the abdomen.

  7. If you are having trouble getting the OSC program to communicate with VRChat, checkout this troubleshooting doc that Wizard wrote for their TTS App: https://github.com/VRCWizard/TTS-Voice-Wizard/wiki/OSC-Troubleshooting

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.