VRChat - Avatar Dynamics - Sender and Receiver Types (Avatars 3.0)

  Рет қаралды 8,656

Wolfy_527

Wolfy_527

Күн бұрын

SDK DOCUMENTATION: docs.vrchat.com/v2022.1.2/doc...
NETWORK SYNCING PARAMETERS: • VRChat - Avatar Dynami...
WRITE DEFAULTS OFF: • [VRChat Avatars 3.0] A...
Cam's video is a good starting point for converting your avatar to write defaults off, however, I will likely be making a video in the future showing how to do this and explaining why you should do this.
This video is a longer one that is explaining senders and receivers and what the receiver types are, how they work, and ideas on how they can be used on avatars. I want you to not only be able to replicate what might be in a tutorial video, but have enough understanding behind these systems to go and create your own cool animations and effects on your avatars!
If you have any questions or recommendations for what kind of video tutorials you would like to see, just leave them in the comments below!

Пікірлер: 72
@SilverLighting
@SilverLighting 2 жыл бұрын
Thank you so much for this! I'm getting into avatar creation and having someone explain things as they also show it helps me tremendously! You're a saint!
@Wolfy527
@Wolfy527 2 жыл бұрын
Makes me super happy to hear this! I love that more people are getting into avatar creation and I'm hoping to just make that process easier for them! Glad the video helped ya out!
@soundsofapollo
@soundsofapollo Жыл бұрын
Yeeee thank you bro this is all I've wanted.
@Wolfy527
@Wolfy527 Жыл бұрын
No problem!! Glad that the video was helpful!
@krishoshi
@krishoshi 2 жыл бұрын
HI. Very helpful video. My question: How are the "custom tags" used? I know you can use predetermined tags like "head" and "fingers" that others have on their avatars, but will a "custom tag" named "ring" for example be compatible across the network? For example, I have a good friend and we both have a ring on the finger, I want to an animation to activate only when we both touch our rings. Will we need to have the same custom tag name on our senders and receivers? That way only us can activate the animation and not anyone. Is that how custom tags work?
@Wolfy527
@Wolfy527 2 жыл бұрын
Yep, that is exactly how they work! I put a bunch of custom tags on my shield receiver that interacts with "Claws", "Bat", "Sword", etc. and so if people put senders on their objects with those tags then they will interact with my shield and play the animations. Just make sure that your receiver cannot interact with yourself so you don't accidentally trigger your own animation with your own sender!
@ricardo6820
@ricardo6820 2 жыл бұрын
Is it possible to use a contact/receiver to toggle animations? For example: I have a pair of goggles on my avatar that sit on the forehead above the eyes. I'm trying to make it so that when I tap on the side of the goggles, my animation will play and the goggles will slide down to cover my eyes. I can make the animation play when the sender/receiver make contact, but the animation will always revert to the default position when not in contact anymore, but I want them to stay down until the sender/receiver make contact again. Sorry if that's a bad explanation.
@Wolfy527
@Wolfy527 2 жыл бұрын
You can do this, I actually do this myself for some toggles! If you're using write defaults off, all you want to do is create an empty buffer state that catches the animation when it exits your toggle for your goggles. I.e. GogglesToggle = true so it plays your animation to put them up and then make your condition to exit from that animation GogglesToggle = false and put it in an empty state that does nothing and let it sit there. Then to transition back to them being down you just do the exact same thing but to the animation putting them back down. I.e. from your buffer state to the animation with them down you would have the transition be GoggleToggle = true to play that animation, then to exit into a different buffer than the previous one with GogglesToggle = false, and then true again out of that state and into the toggle back up on your head.
@SoulsLorde
@SoulsLorde 2 жыл бұрын
@@Wolfy527 I'm ass when following text will you be making a video on this aswell?
@Wolfy527
@Wolfy527 2 жыл бұрын
@@SoulsLorde I might be able to! It's generally the same as activating a boop face when someone touches your nose though! Instead of making a face you would just play the animation that you want to occur when the receiver is touched. I do have a few videos in the works currently though, so I can look at adding something like that to the list as well!
@MuuToo
@MuuToo 2 жыл бұрын
Question. My receivers are showing "the parameter will be set to 1 while a contact sender is inside the receiver. Otherwise the value defaults to 0." Below parameter where value should be. How do I get the option to put a value so I can use an int instead for multiple toggles?
@Wolfy527
@Wolfy527 2 жыл бұрын
At the time of making this video we were able to set the value of the parameter, but restricted to only floats. Whereas, now we can use bools and floats, but we can no longer set the value. I.e. if you are using a Constant or On Enter receiver, then the value will either be 0 or 1, but if it's a proximity, it will smoothly transition between 0 to 1 based on the sender's proximity to the center of the receiver. We essentially lost the ability to directly set the value of the parameter, but we are able to use bools in place of floats now. You can still manipulate a bool from your receiver to trigger animations in the animator in such a way that it will act as an int, but unfortunately we cannot directly use ints with the contact system properly.
@MuuToo
@MuuToo 2 жыл бұрын
@@Wolfy527 Damn, that blows. Thanks for the answer!
@Wolfy527
@Wolfy527 2 жыл бұрын
@@MuuToo Yeah, it is not ideal at all, but they weren't able to get integers to work properly with the contact system unfortunately.
@naughtykid000
@naughtykid000 Жыл бұрын
is there a way to make a contact toggle on constantly? for e.g. when you press it the first time it says "on" then the next time its pressed it says "off"
@Wolfy527
@Wolfy527 Жыл бұрын
You can do this with your transitions in your animator. Have the "contact on" go into the turning on animation and then have it feed into an idle animation when it goes off (since it won't technically stay on in the receiver), then whenever something comes in contact with it again have it go to an off state and then feed that into an idle/buffer state again, waiting to be turned on once again. It's a big tricky to explain, but just think of it in this way for your transitions that uses the parameter from your constant receiver. Parameter = true --> Turns on animation, Parameter = false --> A buffer state of the animation still being on, Parameter = true --> Turns off animation, Parameter = false --> another buffer state of the animation, but it's off in this one. And you can loop between those 4.
@KaimaiTinsnake
@KaimaiTinsnake Жыл бұрын
I have a problem with testing my contacts in Unity and nothing on google apparently has information on this issue so I've come back here to ask; My receivers and animations work fine ingame, but on Unity's side when testing with a Sphere that has a Sender with the proper values (finger, hand, etc) in it, it simply does not trigger the animation to play that's supposed to, even if the parameter itself changes from 0 to 1 in the inspector of the receiver object. I've tried with blank animator controller and also using the FX animator in the controller field, neither works. This makes testing receivers extremely hard since every time I make a slight change or something doesn't seem to work I have to tweak it, build the whole avatar, go ingame and try to find someone to press my buttons just to try them out. I've had this issue ever since the avatar dynamics update, could never get the sender test sphere to work in my avatar project. Does anyone have any way to fix this or any insights on what might cause this? If you need additional information I'll gladly provide it. Unity version 2019.4.31f1 with SDK ver 3.2.1.
@Wolfy527
@Wolfy527 Жыл бұрын
Hi, sorry I am late to responding to people! You'll want to make sure that your FX Controller is in your animator component when you're testing in Unity, otherwise the receivers' values might change on the components themselves, but if there's not FX Controller for them to affect, then nothing will happen. I have come across a few people having a buggy Unity that their senders / receivers just don't work in Unity, but I haven't been able to nail down why that occurs.
@FestiveRocket
@FestiveRocket 2 жыл бұрын
I'm checking out this guide after the Avatar Dynamics update came out. I'm trying to look into making a constant contact receiver to play a gesture but the "Value" box isn't showing up.
@techfry_vr3782
@techfry_vr3782 2 жыл бұрын
yeah im having the same issue mate :/
@Wolfy527
@Wolfy527 2 жыл бұрын
They took out the value option during a later beta SDK build and now the values are either 0 or 1 unless you use a proximity receiver, then it will use the distance of the sender to the center of the receiver. Otherwise, the default value is 0 and the activated value is 1 which works for bools and also floats.
@techfry_vr3782
@techfry_vr3782 2 жыл бұрын
@@Wolfy527 oh alright man,thx for letting me know👍
@Wolfy527
@Wolfy527 2 жыл бұрын
@@techfry_vr3782 No problem! I might remake some tutorials and explain things a bit more thoroughly now that avatar dynamics are officially out and have gone through quite a few changes. These initial tutorials were mostly meant to get people started and have a general idea of how the new systems work.
@Kellexar
@Kellexar 2 жыл бұрын
I've got some issue where my contact receiver won't output any parameter values in the animator. I thought it was because I had multiple receivers such as shown in the video but changing that around didn't seem to help either. I even made two spheres with completely unused parameter names and tried to make them interact. The component shows the value changing from 0 to 1, but it doesn't seem to trigger the change inside my animator's parameter list.
@Wolfy527
@Wolfy527 2 жыл бұрын
Do you have your FX controller in your animator component that pops up in the inspector when your click your avatar's base in the hierarchy? That might be your problem.
@Kellexar
@Kellexar 2 жыл бұрын
@@Wolfy527 I do. The issue somehow resolved itself, I didn't really change anything. The parameter still doesn't update but the animations are functioning as they should now, it's just not SHOWING the parameter updating in real time. I wish I knew HOW I fixed it so if I have the issue again in the future I could learn, but no dice.
@Wolfy527
@Wolfy527 2 жыл бұрын
@@Kellexar That is incredibly odd. If you do figure it out, I'd be interested to know the solution as well!
@johnathanbouch8175
@johnathanbouch8175 Жыл бұрын
hello, great tutorial. I was just having trouble with toggleing an animation. what i want to do is pull on a bone and toggle an animation after letting go, is this possible?
@Wolfy527
@Wolfy527 Жыл бұрын
Thank ya! I have a video going over using the stretch values on physbones to trigger animations to play! But what you are wanting to do would definitely be possible. The general gist of it would be to use the "IsGrabbed" parameter from that physbone to begin going into a loop that will toggle an animation on and off once it is first grabbed. Something along the lines of it being defaulted to off, then when "IsGrabbed" from that physbone is true the first time it goes into a secondary off animation, then when "IsGrabbed" is false from being released it will go into toggling that animation on. From there I'm not sure what you'd want to do with it, but that idea should kind of get you started with what you're wanting to do from the sounds of it! If ya have any other questions just let me know!
@johnathanbouch8175
@johnathanbouch8175 Жыл бұрын
@@Wolfy527 thank you so much i really appreciate it!
@Wolfy527
@Wolfy527 Жыл бұрын
@@johnathanbouch8175 No problem! Happy to help!
@kucys8238
@kucys8238 2 жыл бұрын
Only thing i don't understand is that how to make my expression back to normal after "boop" My animation just freez in place and i have blush all the time I think that i did it right but maby its that buffer idk...
@Wolfy527
@Wolfy527 2 жыл бұрын
If you're using write defaults on, then in the layer that has your animation for when you're booped you'll want to have your default state be an empty state so that your facial animations can reset when you're not being booped.
@eclipse2273
@eclipse2273 2 жыл бұрын
Hey! how would you go about making a phone that can toggle individual music on and off? I have been setting up empty game objects with small contact receivers in them where the apps would be, but it's not working the way I had hoped, I also made float states that go like this, Music OFF -> Greater than 0 -> Music ON -> Greater than 0 -> Exit, I'm very new to this so it's probably completely wrong. xD EDIT: I have all the songs on the same FX layer but on different parameters, not sure if that's what your supposed to do.
@Wolfy527
@Wolfy527 2 жыл бұрын
How I would probably go about doing something like this now is have X amount of OnEnter or Contact receivers that affect their respective parameters based on the button that is pressed. I.e. Receiver1 changes Button1 parameter (You'll want to use bools instead of floats since they take up less memory if you want to network sync stuff). You'd then just use that to play your song animation.
@eclipse2273
@eclipse2273 2 жыл бұрын
@@Wolfy527 Will give it a try, Thank you. :)
@Wolfy527
@Wolfy527 2 жыл бұрын
@@eclipse2273 No problem, if ya have any more questions just let me know and I'd be happy to help if I can!
@eclipse2273
@eclipse2273 2 жыл бұрын
@@Wolfy527 Will do! ^_^ EDIT: Only issue I'm running into at the moment, Is a yellow error that reads "Animator is not playing an AnimatorController" Which is preventing the contact sender from changing the value of the receiver, ran a few tests and it seems like its coming from the receiver scripts I added onto the empty game objects, when I add more, more errors pop up, and when I delete some, there are less, only issue is there is no animator from what I know of in those scripts... and incase you ask, I double checked all parameters, there are none missing and they are all named correctly. the main reason I know this, is because when I go into the FX and manually set the parameter to 1, it plays the music, It's down to just the sender not changing the value of the receiver. o.o
@Wolfy527
@Wolfy527 2 жыл бұрын
@@eclipse2273 Make sure that your FX controller is in your Animator Component in the inspector on the right when you click your avatar's base in the hierarchy. This will let you test things in unity in your FX layer.
@planetpaddys
@planetpaddys 2 жыл бұрын
how do you create the "slap" effect the test avi had in tester world :P
@Wolfy527
@Wolfy527 2 жыл бұрын
You would just want a receiver on your hand that uses the "on enter" type and set the velocity to like 2 or 3 (maybe a bit more?) and have hands be the tag that triggers the receiver. You then just have the float that the receiver is changing be used for triggering your "slap effects" on and off based on whether or not it's 0 or 1.
@TruExFlame
@TruExFlame 2 жыл бұрын
@@Wolfy527 Does that not require any senders? Like if you have slap receivers on your hands, and you come up to someone and swing at them, it will just play the slap sound that you put in the animation on the float automatically upon colliding with their avatar?
@Wolfy527
@Wolfy527 2 жыл бұрын
@@TruExFlame I mean you have to tell the receiver what to interact with, but every avatar has built in colliders/senders now, so you could put "Head", "Hands", "Torso", etc. into the tags for the receiver and when you hit those spots it will play your animation.
@TruExFlame
@TruExFlame 2 жыл бұрын
@@Wolfy527 Got it, thank you.
@Wolfy527
@Wolfy527 2 жыл бұрын
@@TruExFlame No problem! Enjoy the slapping of anyone that gets in your hands' way haha!
@paulblart5358
@paulblart5358 Жыл бұрын
How do you use this to remove clothes?
@Wolfy527
@Wolfy527 Жыл бұрын
I am out of town for a while, but when I get back I am intending on making more tutorials on things and trying to dive a bit deeper on information for people so that these things can be applied more easily!
@yourmimic1184
@yourmimic1184 2 жыл бұрын
i have an issue where my sound plays when the avatar is loaded. i tried turning off the audio source. but my animation wont turn it back on
@Wolfy527
@Wolfy527 2 жыл бұрын
If you're toggling your audio source component on in your animation, but you toggled off the game object itself then you'll need to modify your animation to toggle the game object on instead of the audio source.
@yourmimic1184
@yourmimic1184 2 жыл бұрын
@@Wolfy527 ah thank you. That would make sense. Lol
@Wolfy527
@Wolfy527 2 жыл бұрын
@@yourmimic1184 No problem!
@saberleaf3659
@saberleaf3659 2 жыл бұрын
where did the Contact thing come from? 11:01
@Wolfy527
@Wolfy527 2 жыл бұрын
That's a parameter that I made in my parameters list! You can do the same with a bool in yours as well and it should work fine for ya!
@amaretoreano9368
@amaretoreano9368 7 ай бұрын
Why my parameter didn't transferred to the animator >:0
@clownfather5184
@clownfather5184 2 жыл бұрын
i may just be dumb but i can't figure out how to get it to properly work im trying to make a sound play when my nose is touched but nothing works for me lmao
@Wolfy527
@Wolfy527 2 жыл бұрын
Double check that your FX controller is in your animator component in the inspector on the right when you click on your avatar's base in the hierarchy. Nothing will happen in unity testing if it isn't in there.
@clownfather5184
@clownfather5184 2 жыл бұрын
@@Wolfy527 ive done that but no sound plays when it makes contact, i may have the animations in the wrong order
@Wolfy527
@Wolfy527 2 жыл бұрын
@@clownfather5184 Ah, yeah if values for parameters are changing in the FX layer then just make sure your transitions are set up properly. If those work, then check that the animations themselves are set up properly too.
@boblong8149
@boblong8149 2 жыл бұрын
dose not work for me sad
@Wolfy527
@Wolfy527 2 жыл бұрын
What doesn't work for you?
Stay on your way 🛤️✨
00:34
A4
Рет қаралды 12 МЛН
Playing hide and seek with my dog 🐶
00:25
Zach King
Рет қаралды 33 МЛН
Эффект Карбонаро и нестандартная коробка
01:00
История одного вокалиста
Рет қаралды 9 МЛН
Alex hid in the closet #shorts
00:14
Mihdens
Рет қаралды 13 МЛН
VRChat - Parent Constraints Part 1 (Avatars 3.0)
5:38
Wolfy_527
Рет қаралды 9 М.
VRChat - Setting Up Gesture Expressions! (Avatars 3.0)
6:38
Wolfy_527
Рет қаралды 10 М.
VRCHAT Avatar Contacts Tutorial - Headpat
10:14
Velvet
Рет қаралды 19 М.
Showing my saves in melon playground
7:52
Justinplayz2
Рет қаралды 1,1 М.
skibidi toilet multiverse 039 (part 4)
6:06
DOM Studio
Рет қаралды 4,7 МЛН