VRDancing

The main VRDancing studio where all of our dance sessions are held. Features an advanced choreography database, videography tools and many Quality of Life features.

Go

VRDancing - FX Studio

Experimental effects studio. Explore different ways to dance in Virtual Reality by combining a variety of effects modules including: particles, spotlights, trails and more.

Go
Mixie Mixie

UPDATE #4

Hi everyone! There's been great progress in the past two weeks. The world is now finally in a state that is consistently usable. I would like to thank everybody for wanting to stress test my world even though it was unstable at times @Chatmans and I would like to release a link to everyone in this discord so you can start your own Friends+ instance. The world will still remain private for a bit but we want to allow more people to test the world or use it whenever they want!

Thanks again for all the appreciation, the response has been very motivating to me and I'm glad people enjoy the systems I've developed.

- Database entries now load/unload dynamically while scrolling, no more than 20 entries are loaded at a time which ensures that performance remains good as the database continues to grow.

- Filters now apply faster with barely any lag.

- @Chatmans made a lobby/lounge area for the world. Its really gaining character but still WIP!

- Added custom URL support.

- Added volume slider

- Added video progress bar

- Added jump toggle

- Added lines on the floor for positioning the dancers (can be toggled off)

- Added a more lenient and a more stricter syncing mode

- Added pens

- Added a clock

- UI is now only enabled when the player approaches the database menu

- Improved video player stability again with a self-recovery system

- 1049 database entries!

Read More
Mixie Mixie

UPDATE #3

Hi there! The past week I have spent a lot of time on fixing stability issues with the videoplayer, improving UI/database performance and adding a few new features.

For the optimisations I had to make some sacrifices in terms of code quality. Udon is extremely limited and I was required do some really hacky stuff in order to improve performance. But the performance is all that matters so I'm happy with these changes in the end.

Once the upcoming goals are completed and @Chatmans has finished a first default environment then I believe we will have a really stable and functional world.

Progress

- Videoplayer should be more stable (I sincerely hope it is haha)

- There is now a cooldown on how quickly videos can be changed to improve stability. It is a global cooldown and this is a similar solution to what pypy uses. The classic windows error sound will play when you cannot select a video yet, there will be visual UI feedback for this later.

- When the videoplayer errors it attempts to recover automatically.

- Lots of UI optimisations lowered CPU frametime from 20ms to 4ms, which is enough for 144 fps.

- Optimised the way in which the database is loaded, it now filters in 50ms instead of 800ms so it should no longer freeze your game.

- Added a system to immediately jump to a certain letter in the alphabet when looking for songs, instead of having to scroll there manually.

- Created a system that creates indices for the database to allow everything to be filtered/loaded quicker.

- Reworked how tags are stored in the database for quicker checks whether a video has a specific tag.

- We now have all marshall videos in the database, and a total of 467 videos thanks to @Silvan @ri and @Pika

Difficulties

- There are lots of known instabilities with SDK3 videoplayers. Its difficult to work around these but I think it is way better now.

- Udon is just so limited, as mentioned before, I am required to do some really funky tricks to get some features to work.

- The custom environments that @Chatmans is making for specific marshall songs are certainly doable but we learned a lot about optimising performance for VRChat. He is also having issues with baking lighting consistently. But I believe that we did learn a lot from our builds the past week so we know how to do more interesting environments while keeping performance good.

Goals

- Search function: I hope I'll be able to implement this without freezing games temporarily when searching. But it will be a very expensive operation.

- Visual indicator of song-select cooldown

- UI that displays the song that is currently playing

- A simple default world made by @Chatmans

Read More
Mixie Mixie

UPDATE #2

Hi again! I made lots of progress and we are finally at the point where we can start to populate the database!

The world is uploaded privately, if you catch me online and want to see it then I can drop a portal!

Progress

- Dances can now be loaded/filtered/displayed at runtime which gives a lot of flexibility for search functionality + categories in the future.

- Dances can have multiple tags, in a separate menu you can select tags, only the dances that have the selected tags will be displayed.

- Created a Google Sheet with custom scripts for input validation, retrieving data from the YouTube API, and dropdown selection for certain parameters so adding to the database should be as easy as possible.

- Added a custom script to the Google Sheet that exports the database to json format.

- The Google Sheet is automatically backed up to my Google Drive every night, in case someone with an edit link decides to grief it.

- Added a custom menu to the Unity Editor that imports the database from said json format, updating the world with a new database should take around 10 minutes.

- Added a button for selecting a random song.

- Added a lower quality mirror that only displays the screen and the players.

Difficulties

Working for the first time with GoogleScript was uhmm interesting, but it worked out and im happy with the results.

Goals

The largest task ahead is to populate the database.

Additionally, I need to make some stability improvements to the videoplayer and add some missing features such as custom URLs.

Meanwhile @Chatmans works on the environment in the world. He is planning to create different environments for different marshall songs. Marshall uses a selection of specific locations in his videos, we aim to transport the dancers to a representation of that location.

Read More
Mixie Mixie

UPDATE #1

Hi all! I recently started working on the world. There isn't a lot of progress yet but I thought I'd share it anyway!

Progress

Currently I have a small box with videoplayer, mirror and some basic UI for selecting two test songs/configuration of the world. Furthermore, its been a lot of experimenting with the code to determine how I could best implement the song database, so not a lot of visual progress.

Difficulties

I had some issues with the standard videoplayer prefab but apparently there have been a lot of issues with that specific video player since a few updates. So I switched to the USharpVideoPlayer which has been much more stable. It also took some getting used to working with Udon but together with USharp its been doable.

Goals

Next up I'll be creating a mockup of the song selection UI to determine how we could best store all the song data.

Read More