So, today I had a great idea for making a custom shader for my VRChat avatar which would make it much easier for me to generate color schemes for my avatar. I called the technique a “Pigment Map,” for lack of a better term; basically I used the four channels of a texture as fuzzy “bits” in a palette lookup, and set things up cleverly so that I could modulate between a bunch of different colors based on surface pigmentation and indirect lookup thereof. The idea is that I wouldn’t need to bake out a bunch of textures for, say, red-and-black plaid, purple plaid, green plaid, etc., and could just have mappings for high-level colorations like plaid, stripes, splotches, and so on. Y'know, as one does.
Someday I’ll write up a collected thing with a bunch of what I’ve learned, but here’s some salient things before I forget.
I hadn’t made much progress on my avatar, as mentioned previously, because I wasn’t feeling all that up on building stuff for VRChat for a number of reasons. But I’ve finally gotten the urge to start working on it again, and I’ve made quite a bit of progress.
The main thing is over the past day or so I’ve set up all of the visemes and some useful configuration shapekeys1 (namely being able to adjust the torso configuration), and have also looked at some plugins that will supposedly make my life easier. In particular, my friend Lagos pointed me to Cat’s Blender Plugin which seems to provide some very nice improvements to the VRChat avatar creation workflow.
I’m at a point where I think the next steps are rigging and UVing, and those require destructively applying my mesh modifiers, which is a point of no return. I think the Cat’s Plugin workflow is set up such that instead of doing that to my base model, I’m supposed to export it as a .fbx and then reimport it into a new project (or as a new object in the same project, I suppose) and then do the next steps from there. Which makes some amount of sense.
Recently a couple of folks have asked me if I’ve made any progress on my VRChat avatar, and no, I haven’t. There’s a bunch of reasons for that, but a big one is that I just don’t really feel like the amount of time/energy it’d take is worth it in the end.
In particular, VRChat’s avatar system requires a lot of fiddly work to go into it, and a lot of very hyper-domain-specific knowledge, because a lot of things in VRC are very shoddy hacks on top of the “expression” system which was clearly built for entirely different purposes than what it’s being used for.
The more I work on modifying the Winterpaw mouse for my needs, the more I learn about just how… weird VRC is, and given that the future of the platform itself is easy to doubt, I’d rather focus on building stuff that’s a bit more transferable between systems. So for now I’m just modifying the mouse.
It seems like I chose a very… interesting time to get into VRChat, and also I’m taking a break from it for reasons not related to the current debacle.
I also have a lot of thoughts about VRChat as a platform, and where we can go from here.
On Sunday I finally broke down and bought a Meta Quest 2. I’m not thrilled with having a Facebook-controlled device strapped to my face, but it’s a pretty decent bit of hardware and is an all-in-one setup that is way cheaper than most headsets, and doesn’t require me to upgrade my PC GPU (which is still a bit too expensive). And on the plus side it can also be used as a tethered headset, when I’m ready to finally upgrade my GPU.
Anyway, with all that out of the way, I’m having a lot of fun. VRChat is a fun experience, at least if you ignore most of the awful people in public spaces. (I’m fluffycritter there if anyone wants to friend me and hang out in non-public spaces.) And I’m thoroughly enjoying Beat Saber as well. It’s a heck of a fun workout, and even though I’ve only been playing for a couple days I’m already holding my own in online play. But then again, I’ve always had an affinity for rhythm games.