This project was brought on by one of my best friends who does Vtuber streaming, Kudamahou, sharing some of the aspects of her model, specifically the model's base PRISM Customizable Vtuber Model, which requires the use of numeric sliders to dictate the colour as opposed to a colour picker/limited colour selection. She shared how this can cause trouble colour matching when elements are similar and voices wanting some form of solution.
As a result I decided to experiment with how to make a small tool to resolve this, something to take the vector 3 value (RGB) with a colour picker and turn this into a numerical value that Kuda could easily use to fill in the model data.
I wanted to start off small on this project, since Kuda has a relatively complex model, I needed to build my way up to where she is, even if the math is arguably simpler. For this I grabbed a testing model by MOCHIPU Shop - 無料】絵描きLive2Dモデル - which relies on an RGB based system, but lacks a colour picker, to mess with.
The Art Meshes are the different aspects of the body, seperated into different groups, for example ArtMesh41 is the white highlights of the right eye - remember kids naming your files properly is important.
For the purposes of experimenting, im playing with ArtMesh41 which is the back pillow - you can see here we have a more complex, but better user experience selector - ideally this would be what I want Kuda to have, at a minimum the hex code in addition to the HSV sliders.
For my first attempt I was able to get the API to recognize my VS code with the mandatory information needed, this step was surprisingly easy to work through, but I can imaging going out-of VS code may have harder problems waiting for me.
This is the current state of the colour picker, bringing up a basic python menu labeled 'Kuda Colour Picker' with a singular button for 'Pick Colour' this then brings the user to a 'Select Colour' which is the ideal UI at the moment. If this could connect into the VTube Studio API I would consider this step in the process complete.
Troubleshooting
One of the bigger problems with this project is my lack of familiarity with a lot of the python-specific tools. This will be something that fades with time as I get more used to the material and get experience building other tools, however at the current moment its been really difficult to figure out some of the more niche problems - such as what is the entire range of UI I can do with python, when a lot of options are behind plugins or paywalls.
No comments:
Post a Comment