[SDK 3.8.1-beta.3] Add Lock/Animate/Rename feature to Toon Standard
Mai♡
Currently if you want to animate most of the features on the new Toon Standard shader any other material on the same mesh will also be animated. It would be amazing if you could have a feature like Poiyomi's rename feature where by renaming the specific component of that shader when animated it will only affect that specific material within the mesh.
For example currently if I have an Eye material and a Skin Material on the same mesh and I wanted to have two different floats on my avatar, one for Eye hue, and one for Skin hue using this shader and I animate them accordingly it would not work. Both my Eye and Skin would animate together, and currently the only work around one would have for this is to separate anything that animates the same settings onto separate meshes. I would need an Eye mesh and a Body mesh instead of having them combined on the same mesh in order to have them not affect eachothers animations.
https://gyazo.com/54fc87aa945f3821301077af006e7a7d (Visual Example)
Log In
_
_tau_
This is not possible in the way that community shaders do it, due to how we handle shader loading on mobile platforms. However, the upcoming Avatar Optimizer (teased in our developer updates on the ask forums) will allow you to separate meshes and animate them individually without paying the cost for performance rank. The optimizer will automatically merge the meshes and rewrite animations to only affect the correct parts automatically.
Mai♡
_tau_That sounds awesome thank you!
Melting3D
As Davilos Said the Cool Shader locking poi does is pretty much having a custom shader its not really going to work for a fall back shader as cool as having this on quest would be.
Mai♡
Melting3D Is there not a way to add functionality to animating materials that use the same mesh separately in other ways? My request is using poi's locking feature as an example because it solves that issue, not me saying that it needs to be solved in the exact same way. I am not very knowledgeable about how shaders are made or work but I feel as though VRC could make a system for their shader that makes it so you can animate multiple materials separately while they are on the same mesh. Doesn't need to be the locking or renaming feature that poi has.
Melting3D
Mai♡So when it comes down to it, the problem is wanting more than one hue shift per mesh, and you can already have 2 if you take advantage of the decale hueshift in the exsample you gave you could make your eyes a decal and hue sift them seprately. i know having more would be nice but i think having two for quest is allready pretty good
Mai♡
Melting3D That's great when specifically talking about just hue, but any other material setting that isn't behind a checkbox automatically gets animated on every material on the whole mesh.
You want to animate setting a colour in the box selector? its going to make every material on that mesh that colour.
You want to edit changing a metallic or lighting setting? its going to affect every material.
Any and all material settings that are not behind the check box function can't realistically be used in way that would involve animating them as it will affect the whole mesh, requiring you to separate by mesh for animations which is worse for optimization. IF we are adding cool features to quest why not ADD cool features to quest. Saying its good enough for a quest avi when you have the means to make it great seems like settling, and when we are talking about settling on the functionality and appearance of avatars for what is essentially half the playerbase of this game.. I feel like finding a way to make use of the shader to its fullest is important.
Melting3D
Mai♡ Idealy you only have one material per mesh anyway, like Most shaders work the same way vrchat's does and its not like you cant change setting with matiral swapping like it would be nice to have a decal emission also but i understand that it is a quest/fallback shader the only thing i think is missing is a shadow mask.
Davilos
Just throwing it out there, this is gonna be an impossible request. VRC replaces the shader at runtime on mobile VRC to get around custom shader bypasses and modded SDKs. Locking a shader generates a new version of the shader, one the VRC servers aren't going to have innate access to
Mai♡
Just to add more info to this. This is not a niche example of skin and eye I was just using that as an easy example. Anything you want to animate within this material will affect every material on the mesh if they can animate that.
If you have multiple materials on the mesh that have emission, and you want to hue a specific materials emission, every single material on that mesh that has emission will now hue when that animates.
If you wanted to animate setting the main colour selector to red for a specific material, every single material on that mesh will turn red when you animate.
If you want to animate a change in the lighting or shading, every single material is now set to those settings and stuck with that.
This shader in its current state pretty much only functions for setting a set look and then leaving it at that and not animating it, if you want to be more creative and use these features to make hue shifts, or colour adjustments, ect... You have to unoptimise your quest avatar in order to have that function. You will need to separate every material you want to animate onto its own mesh so that it animates separately, which means if you wanna use the features of this shader for animation on quest you are automatically shoving yourself down Ranks by adding more skinned meshes just for the sake of animating the material for a hue shift or a colour swap.