Hello! I checked out some other posts about similar topics but couldn’t find anything that really helped. I wanted to create a nice and neat intro system for my avatar and utilized the VRC Avatar Parameter Driver to basically set a bool to true. Unfortunately I cannot get it working. I am unsure as to why though :c
I have a unsynced parameter called ‘IntroPlayed’ on my FX controller and have a animation layer called Intro that this is all in. The weight of the layer is set to 1 and all the transitions times are above 0.02 which is recommended in the Avatar Parameter Driver documentation.
I am testing very basic stuff right now so it just a box moving up out of the ground, covering the avatar, enabling the avatar, and then moving the box down. That is the Intro Animation. The Intro Done state has the Avatar Parameter Driver on it.
But when clicking play (and in vrchat when uploaded) it plays the intro and then goes to ‘IntroDone’ and then Idle but does not change the parameter so it just plays the animation again. The transition from Idle to Intro Animation has a condition of ‘IntroPlayed = Flase’
Make sure your parameter is your parameter list for your avatar.
Also please make sure your state has exit time turned on and just for backup safety make an empty animation named ‘Empty’ with no key frames in it and place it onto the parameter driver.
It may be worth mentioning that I also have a problem where the Intro Animation isnt fully being played. Just for a simple test there is a box that moves from below ground up, enables the avatar, and then goes back down and disables the box. The problem is that when it moves back down it doesnt disable the box. I’ll upload a streamable link that should be valid for 2 days.
So ya, I am not sure the Avatar Parameter Driver problem because it seems so straight forward but as for the animation not playing near the end I’ll try and mess around with the exit time maybe? perhaps that’s doing it.
Thank you so much for your help! and anyone else along the way :)
I copied your setup in unity and got the same results in play mode, but when i tried using gesture manager to simulate being in vrc, everything works as programmed.
Thank you :) I added Gesture Manager but am not seeing any changes. The parameter remains unchanged and the animation doesnt seem to finish still. I couldnt figure out how to make my animation play all the way through i messed around a bit with exit times but couldnt get it right. When testing the animation with Gesture Manager though it seems to be fine.
Hey, I attempted to label everything as best i could.
This is every setting i have for all my transitions and such.
This is how it works in play mode, it didnt show buy it does freeze at intro done if i dont go to gesture manager.
If you want to add me on discord: sleepivrc so you can stream this and we can fix it faster and post the solution to it afterwards. This is extremely odd.
Wow!! This is crazy haha I wasn’t expecting so much help you are amazing!! <3 I am so sorry this is being so troubling. I went ahead and added you, you’ll see me as ‘Sincere’. I set everything up just as you have and what is really odd is that without gesture manager it does get stuck at the Anime Stop and with gesture manager it continues to Idle and stays at idle BUT it does not show the parameter bool being true in the Animator window. Though I am not sure if that’s just a silly little visual bug for me.
To finish this post up, for some odd reason the parameter bool box did not update when in play mode for me even though I got the VRC Avatar Parameter Driver working and enabling the bool to true.
I just followed the lovely person Sleepy here’s instructions exactly with the exit times, transition durations, and empty animation. The animation itself that I was playing generated specific times for exit time and transition duration. For some reason the generated exit time was too short and caused my animation to not fully end. It was something like ‘0.988301’. So i set it to 1 and everything worked fine. It also generate the transition duration to something like ‘0.201284’ which i changed to 0.2 but didn’t need to necessarily. Setting this to 0 cause the animation not fully play out as well.