Update: now has an auto-find-start-of-beat feature in settings!
This scene features a girl dancing infinitely, with smooth transitions between all moves. Legs and arms are animated separately, each with distinct transitions. Note that the girl in the video below is not the one actually in the scene. To keep the file size small, I included a generic female model in the var package. If you decide to change the model, make sure to adjust the height of the Slate and the Invisible Plane to ensure the new model stands firmly on the ground.
The background music is "Meizong - Phate," which is licensed for free use. You can also upload your own music to the scene. Click on "SET_BPM_AND_MUSIC_HERE" to select your music and set the BPM. After that, go to settings and click on "Find Beat Start." This will automatically find the exact millisecond where the music starts and sync the dance to it. Disclaimer: This only works with tracks that start on a beat (which is 99% of the tracks).
This project is a work in progress. Honestly, I have spent more than a year developing this scene through many iterations. Eventually, I wrote my own Python script to generate all the necessary state machine code. If you delve into this file, you'll grasp the complexity of its creation. I'm considering another overhaul of this scene using AcidBubbles Scripter, which was recently released. This upgrade would give me greater control over the animations.
Additionally, there is a settings menu that allows you to choose passthrough, enabling her to dance in your room—a really cool feature. If you don't use VR to view behind the girl, you can turn off the backlight to save some FPS. There's also an option to display the animation names, which I mainly use to identify suboptimal transitions. The animation workbench lets you debug specific arm animation transitions by overwriting the source and target animation numbers.
Please let me know what you think about this scene; your feedback keeps me motivated to continue working on it.
For future updates, which will probably take some time to implement, I am considering:
This scene features a girl dancing infinitely, with smooth transitions between all moves. Legs and arms are animated separately, each with distinct transitions. Note that the girl in the video below is not the one actually in the scene. To keep the file size small, I included a generic female model in the var package. If you decide to change the model, make sure to adjust the height of the Slate and the Invisible Plane to ensure the new model stands firmly on the ground.
The background music is "Meizong - Phate," which is licensed for free use. You can also upload your own music to the scene. Click on "SET_BPM_AND_MUSIC_HERE" to select your music and set the BPM. After that, go to settings and click on "Find Beat Start." This will automatically find the exact millisecond where the music starts and sync the dance to it. Disclaimer: This only works with tracks that start on a beat (which is 99% of the tracks).
This project is a work in progress. Honestly, I have spent more than a year developing this scene through many iterations. Eventually, I wrote my own Python script to generate all the necessary state machine code. If you delve into this file, you'll grasp the complexity of its creation. I'm considering another overhaul of this scene using AcidBubbles Scripter, which was recently released. This upgrade would give me greater control over the animations.
Additionally, there is a settings menu that allows you to choose passthrough, enabling her to dance in your room—a really cool feature. If you don't use VR to view behind the girl, you can turn off the backlight to save some FPS. There's also an option to display the animation names, which I mainly use to identify suboptimal transitions. The animation workbench lets you debug specific arm animation transitions by overwriting the source and target animation numbers.
Please let me know what you think about this scene; your feedback keeps me motivated to continue working on it.
For future updates, which will probably take some time to implement, I am considering:
- An automatic height scaler for the floor
An automatic "start of music" checker which automatically delays the animation start to match the music- An automatic BPM checker
- Adding thoughts to the girl that depend on her state
- Allowing the player to compliment the girl, which changes her state
- Allowing the player to scold the girl, which changes her state
- This would change the scene into some kind of "trainer" game
- Enabling the girl to turn around