VRChat
Need help with gestures, not urgent but would be appreceated sooner than later
Basically I need help with animated gestures... I can never seem to get them to work without messing up somehow... does anyone know how to make them work properly?
And FYI the problems I've had were either they take forever to stop the gesture or once you use it it overwrites the other gestures until you change off the avatar and use it again...
Last edited by Brandoman(br_blaze); Jan 16, 2019 @ 3:34pm
< >
Showing 1-5 of 5 comments
QP Jan 16, 2019 @ 5:43pm 
Click on the top blue diamond in your animation timeline at 0:00 (the far left of the timeline), Ctrl C to copy, drag the timeline stop over to 0:01, Ctrl V to paste all into the first frame, and then delete all other diamonds on the timeline not in the first two frames. This will create an animation that runs in a loop that lasts a fraction of a second, so "clearing" the animation will be instant upon the press of another gesture.

If your animation is more than one frame (i.e. "not a facial emote") then the end frame of the animation should be as close to the zero frame as it can be. The further it is from the 0:00 point, the longer it will take the animation to clear upon the press of another gesture. Consider putting any animation over one frame on one of your eight emote keys instead of a gesture. That way, you can still play it on command, but it won't interfere with other facial gestures you might want to include.

If an animation gesture override won't clear, then most likely, it doesn't have an end frame. There is just diamonds at 0:00 and it never ends, thus the animation will play indefiniately. I'm sure there's probably a limit of so many seconds in the system somewhere, but this could be the second problem you describe.
Last edited by QP; Jan 16, 2019 @ 5:44pm
QP Jan 16, 2019 @ 5:59pm 
Just to provide a couple examples, to see what I'm describing and you should try to match:

The first one here is a basic facial expression gesture. When I press the gesture in the game, my hands move to "handgun," and my avatar makes a surprised facial expression. This is what you should try to have your gestures look like.

https://www.dropbox.com/s/8u5impfwa1qw4fx/facial_emote_gesture.png?dl=0

The second one is also a gesture I use to wag the tail of my character. Each of the little diamonds represent where the tail is. At the first diamond (0:00), it's at its "home" point, the second diamond is the left most wagging point, the third is back to "home," the fourth the right most wagging point, and the last diamond is back to "home." As you can see, I've got things compacted down as far as I possibly can. If I put the diamonds any closer, my tail just sort-of vibrates/shakes in place, because the animation is too fast to fully wag the tail.

https://www.dropbox.com/s/ehrhv3kmeoyqemk/wagging_tail_gesture.png?dl=0

When you press a gesture in VRChat, it doesn't automatically stop the animation in the middle, it completes the last loop of the animation. So there are times where I'm wagging my tail and have to wait for the next facial animation to go. It takes roughly two seconds for my tail to stop wagging and the next facial animation to play. I wouldn't go much past two or three seconds. If an animation you want to play is more complex than that, add it to an Emote button instead.
Last edited by QP; Jan 16, 2019 @ 6:00pm
I appreceate it QP but I meant more as in how to make it a long animation and not f up, if it aint possible then fair enough it's not the end of the world... what I'm doing is making my character (which is a robot) to equip some gear in a dramatic way, I could just make it appear but I wanted them to snap on to the character in a sequence, I just dont know how to do that...
Sorry if I made any misunderstandings
Also thanks for the explanation on why it takes a while to stop, that much I didnt know (that and the reasoning of the overides too)
Last edited by Brandoman(br_blaze); Jan 16, 2019 @ 6:41pm
QP Jan 16, 2019 @ 11:24pm 
You'll probably want to use curves then. You'd create a frame of animation of the piece of equipment in its starting position, then copy and paste that frame one bar over in the animation window. Smack the red button, select both frames using Shift + Left Click, and two little bars will appear surrounding the animation in the animation window. Then move/rotate/change the piece of equipment to its new position. Unity will take the beginning frame and move the object to the second frame automatically. If it is too fast, just click and drag the second diamond over a few frames, and this will slow down things.

You can also curve things more than once during the process of the animation. When you make another bracket, it will take the ending frame of the previous frame as the first frame of the new one. So you'll probably want to create key frames for the object to move throughout the process, each one connected by a curve to move to the new location as part of an animation instead of snapping automatically. That way, you won't have things clipping through parts of your body as they move.

Here's what the wagging curves look like. It's a pretty simple animation, I imagine you'd have curves going all over the place. The yellow line is the rotation along the Y-axis.

https://www.dropbox.com/s/hb1sygnqh3awovd/wagging_tail_curves.png?dl=0

Of course, you can also import Mixamo animations and stuff, but I don't know how to animate in Mixamo, just Unity.

Ah ok, thanks! I'll get to trying that at some point, if there are any problems I'll let you know!
< >
Showing 1-5 of 5 comments
Per page: 1530 50

Date Posted: Jan 16, 2019 @ 3:30pm
Posts: 5