GithubHelp home page GithubHelp logo

ikenichiro / chutvrc-hubs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pf-hubs/chutvrc-hubs

0.0 0.0 0.0 187.53 MB

License: Mozilla Public License 2.0

Shell 0.45% JavaScript 68.37% TypeScript 20.13% CSS 0.07% HTML 2.82% GLSL 0.53% SCSS 7.64%

chutvrc-hubs's Introduction

chutvrc

License: MPL 2.0

The client-side code for chutvrc, forked from Mozilla Hubs, an online 3D collaboration platform that works for desktop, mobile, and VR platforms.

chutvrc features

Full-body avatars

  • Currently, only humanoid avatars made by ReadyPlayerMe or VRoid (with filename extension changed from .vrm to .glb) were confirmed to be compatible to this feature.
  • Avatars made with other tool may not behave normally for now, and we will keep trying to improve the implementation to accommodate more kinds of full-body humanoid avatars.
  • There may also be problems in Inverse Kinematics(IK) for full-body avatars, especially around wrists. We are planning for improvements.
  • Currently tests are mainly done using Meta Quest 3, using controller or bare hand. Hand tracking implementation from other devices are planned for further development.

BitECS implementation

  • Management of avatars to BitECS were implemented independent from Mozilla Hubs' official BitECS implementation.
  • Migration of implementation with the Mozilla Hubs' BitECS implementation is planned.

Alternative WebRTC SFU

  • Feature for third-party WebRTC SFU solutions for environments hard to host and maintain performance with Dialog (Dialog is set as the default preference)
  • chutvrc has implementation of Sora, a proprietary service provided by Shiguredou inc., currently available only for customers in Japan (Check their website for details)

How to use Sora

  • Please register on your own and fill in the value of your Sora project id and Sora bearer token at the Server Settings in the admin page

  • You can also set them in Reticulum's secret file (e.g. config/dev.secret.exs) as follows:

    use Mix.Config
    
    config :ret, Ret.SoraChannelResolver,
      bearer_token: "YOUR_SORA_CLOUD_BEARER_TOKEN",
      project_id: "YOUR_SORA_CLOUD_PROJECT_ID"
    
  • If it is enabled at the admin page, Room manager can choose which WebRTC SFU to use for each room at room edit menu.

  • At the Server Settings in the admin page, admin can set the default SFU for all newly created rooms and the availability to switching SFU for every room.

Synchronizing avatar transform with WebRTC DataChannel

  • This feature is adapted to both Dialog and Sora.
  • With this feature enabled, avatar transforms will be transmitted through DataChannel no matter you are using Dialog or Sora as the SFU.
  • It is an experimental implementation considering it is logical to have body language and voice real-time communication transmitted within the same protocol.

Instruction for local build

Chutvrc is tested using the following repositories.

For Apple Mac (tested with M1 Mac)

Please check this gist for local build / development.

For Ubuntu

Build instruction are planned to be released soon.

Until that, you can refer to this instruction by albirrkarim.

Funding and Sponsor

  • chutvrc is sponsored and developed for CHANGE Project, by a research team at the Virtual Reality Educational Research Center, The University of Tokyo.
  • You can support this development through the GitHub Sponsor button which is linked to the UTokyo Foundation.
  • If you want to support this project only, please write in the donation purpose "For Virtual Reality Educational Research Center, chutvrc related research/educational purpose."
    • Please be aware that 30% of the amount of donation will be used by the university administration office even if you write the donation purpose.

Below is the original README for Mozilla Hubs, which most information are also useful for chutvrc.

It will be updated to migration information considering the current status of Mozilla Hubs, which is planned to shutdown at the end of May 2024.


Getting Started

If you would like to run Hubs on your own servers, check out Hubs Cloud.

If you would like to deploy a custom client to your existing Hubs Cloud instance please refer to this guide.

If you would like to contribute to the main fork of the Hubs client please see the contributor guide.

If you just want to check out how Hubs works and make your own modifications continue on to our Quick Start Guide.

Quick Start

Install NodeJS if you haven't already. We use 16.16.0 on our build servers. If you work on multiple javascript projects it may be useful to use something like NVM to manage multiple versions of node for you.

Run the following commands:

git clone https://github.com/mozilla/hubs.git
cd hubs
# nvm use v16.16.0 # if using NVM
npm ci
npm run dev

The backend dev server is configured with CORS to only accept connections from "localhost:8080", so you will need to access it from that host. To do this, you likely want to add "localhost" and "hubs-proxy.local" to the local "hosts" file on your computer:

127.0.0.1	localhost
127.0.0.1	hubs-proxy.local

Then visit https://localhost:8080 (note: HTTPS is required, you'll need to accept the warning for the self-signed SSL certificate)

Note: When running the Hubs client locally, you will still connect to the development versions of our Janus WebRTC and reticulum servers. These servers do not allow being accessed outside of localhost. If you want to host your own Hubs servers, please check out Hubs Cloud.

Documentation

The Hubs documentation can be found here.

Community

Join us on our Discord Server or follow us on Twitter.

Contributing

Read our contributor guide to learn how you can submit bug reports, feature requests, and pull requests.

We're also looking for help with localization. The Hubs redesign has a lot of new text and we need help from people like you to translate it. Follow the localization docs to get started.

Contributors are expected to abide by the project's Code of Conduct and to be respectful of the project and people working on it.

Additional Resources

Privacy

Mozilla and Hubs believe that privacy is fundamental to a healthy internet. Read our privacy policy for more info.

License

Hubs is licensed with the Mozilla Public License 2.0

chutvrc-hubs's People

Contributors

gfodor avatar johnshaughnessy avatar netpro2k avatar brianpeiris avatar robertlong avatar keianhzo avatar infinitelee avatar mqp avatar takahirox avatar nikk15 avatar robinkwilson avatar yhhaoareyou avatar matthewbcool avatar tanfarming avatar vincentfretin avatar ssm2017 avatar tony056 avatar rawnsley avatar misslivirose avatar emclaren avatar cvan avatar juunini avatar traccccychen avatar pattersonbl2 avatar yakyouk avatar ikenichiro avatar dependabot[bot] avatar lavender-snow avatar bryanenders avatar j-conrad avatar

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.