I got mine to work but im currently stuck on something i dont know how to fix. the visemes dont go back to the default state after its been used visually, but on the animator layer it says it does when in play mode. when i test it in vrchat the frames get stuck on once they get triggered once. I have write defaults off and exit time off for all of them and so i am stumped as to why its not working properly
OK, so in each of the animations you'll also need to set the other visemes you aren't using to 0. For example in the V1 animation you'll need the corresponding blendshape set to 100 and every other viseme blendshape to 0. At the time I wasn't sure that it was necessary but it sounds like it is seeing your case. Sorry for not mentioning that in the video!
@@radcowboy5985 hmm..well you can use vr chats debug mode to check which visemes are activating when you speak. If all the anis /conditions are set up right it should be returning to the default when you don't speak, etc
When I noticed the view count I was shocked I thought I was watching another real professional informative tutorial with thousands of views this is hidden gem deserves to be seen everywhere
It's actually easier to use the cats plugin to create the visemes from a base 3 viseme and let it auto create the missing blendshapes form the three main ones made. This means you can save a ton of time when redoing the blendshapes. I did this method when creating expressions for a 3D model with hidden planes like you did for one of mine. Good Luck.
This tutorial is exactly what I was looking for!! I figured with how blendshapes only interact with meshes, that it'd require something like replacing the mesh with a separate mesh with a different filter. However I thought it'd look weird when VRChat interpolates the shape keys when someone talks. But by creating animations you resolve that problem!! so cool and useful
This needs more recognition!! This explains it everything perfectly and clearly and is great for Unity beginners such as myself. Can't wait to see what other tutorials you have! :]
you are the only person ive found with a tutorial for this so big thank you! I got a low poly stylized model made so i could have a good fall back but ive been struggling to make blinks work with image blend shapes
Great video for your first attempt. This is the only tutorial I have found that explains how to do 2D lip sync on vrchat. Great work. I've been trying to do this on Pikachu but couldn't get it to look good. Your TV mans lip sync looks great. Thanks for posting this.
Man I always wanted to do this but the lack of information threw me off since I'm not that good at the technical side, so thanks a lot for this tutorial!
For those wondering there IS a better method And it only requires one transition. Simply just use an "any state" for the vismems The setup is pretty much identical to this tutorial, but all you have to do is use any state and only use one transition to the vismems
This has been a very helpful tutorial to figure out how to get low poly and 2d models to work. I can't seem to get Unity to recognize the shape key / blend shape i made in blender though.
Please make another tutorial including the way to make animations and attatch them to the visimes in blender or to even know where to look when applying visimes theres not alot of tutorials on this anywhere on the internet
Loved your video but im having a problem where my visemes dont want to move in game or the in the animation controller and I checked the animations itself and it seemed fine.
brooooooooooooooooooooooooooooooooooo thank you so much I needed this tutorial. I am trying to make a V Tuber/VR Chat avatar and I did not know how to do the face. Will send you a copy of it when I am done.
I'm having a problem that I don't see on your avatar- I was able to get the visemes working, but the transitions are more like switching between the expression, the default and the other expression It's not really that bad because it's so fast, but it doesn't really look the best
@@Sansgame2106 what i did is make the shapekeys i was using for visemes come farther forward than the ones i use for facial expressions. So if a do a finger gun for example, my avatar will smile. If I talk while doing a finger gun, my viseme planes will come in front of my expression's planes and she will appear to be talking while her eyes still make the finger gun's expression
Fantastic video! do you mind if i ask if the individual face planes have bones? This method of animating is pretty new to me so i just want to check :]
I'm having an issue where my animation controller looks like it's working totally fine, but, when testing, my model will only show the v0 animation. Even when I swap states to v1, v2, etc, it's only showing v0's blendshape (because that is what it started on). Any idea?
@@pinkubossHonestly this deserves a pin or something, there were gaps in the tutorial that made me unsure if I missed something or not. Thank you so much!!
When you make a new blendshape it will save whatever changes you made in that blendshape. To see it out of edit mode you need to either set the blendshape value to 1 or press the pin icon and it will preview the shape automatically when selected.
This is an awesome tutorial! It really works as intended! I think I did something wrong, though-- When I get into VRChat, my animations for clapping, waving, etc. are gone. I think it happens when I change the FX node from the default one.
i don't know why but when i place the visemes at 100% they don't appear, they work inside of blender but not inside unity, really weird and idk what to do
It's currently approaching 4:30AM and i have been working on this since around 8:00PM. I followed this tutorial to the letter. the transitions are working flawlessly, and the animations do exactly what they're supposed to when previewed, but in testing and in game the states simply do not do the thing they're explicitly set up to do. i will watch the bars indicate that the controller has began looping on a viseme's state, the transition's preview will show that the avatar should be displaying the correct viseme, but it simply doesn't. i'm losing my goddamned mind.
@@lit_lee the viseme layer weight defaults to 0 for some ungodly reason. means it just ignores everything you put on the layer which in this case is literally everything
I'm trying to make a 2d avatar that can blink and talk, As this was helpful for png inside of a 3d model, i really need to know how to do it for a full png, as i have nothing to put the other planes into, what do i do?
i cannot for the life of my apply a png to a plane and also have the plane be transparent while the png is transparent there's so much you left out why not just do a full tutorial DX
Is there a way to control the timing on when the mouths move? I have a bunch of visemes on my avatar and it looks like im speaking 120 words per minute Any way to slow them down?
Hello! I have done something very simular to this! especially with the mouth plane, I was wondering before I follow with this tutorial, Did you struggle with the separate planes being a different lighting or shadow, than your full body mesh? Please let me know!
It depends on the lighting of the world for sure and whether or not the face normals are correct. As long as the planes are super close to the face in the blendshapes it shouldn't be very noticeable.
@@hydrocosmoI think my problem is that I my mesh used a separate mouth plate that's parented to the bone in order for it to function. I don't think I caught this In the video so I apologize dearly if this is an obvious answer - But was your planes all part of one body mesh? And just used blend shapes instead? So there's no separate mesh, just all in one? (I'm saying this SPECIFICALLY because I noticed the shadows worked better when they was all one mesh)
Is there a way to similarly make the blinking instant, like the mouth? I'm getting a frame of blank eyes when I use the default one I also want to make the mouth simply open and close, no other vismes
I’m actually trying to find a list of the Viseme parameters and what sounds they correspond to. Last time I just popped in myself and took notes. 😮💨 making voice activated magic happen.
the Blendhsapes aren't changing even though i followed exactly what you did, and the animation schtuff is working, it just doesn't change the blendshape, is there any common issues that'd cause this?
I'm still stuck on just one more part! I haven't been able to find much documentation on it but its just the whole process of importing images, turning an image into a separate material, linking them to their blendshape and all that. I have all the materials! Named blendshapes, textures, and a seperate plane, just lost on the steps to take with them to get proper blendshapes up and working.
It sounds like you're stuck on 4:42 I think? Don't forget to make the animator controller. Also, you can't change materials via blendshape, you'll have to record that in the animations too.
@HydroCosmo oh its not the animator you did a great job explaining that! I'm just stuck on how you had it so when you clicked each blend shape in blender it brought out the different mouth viseme on its plane. I'm still very very new to blender 😅
@@espitz930 You just need to select the blendshape you named, find the plane with the texture that correlates to the viseme and move that plane forward. That'll be the blendshape when it's value is at 100. They showed up instantly on my Blender cuz I pressed the pin button at the bottom of the blendshape list which makes it automatically show the blendshape at 100 value when selected. Sorry for getting back to this late!
@HydroCosmo no worries! I was able to figure out how to blendshape with different planes, I made 15 planes for each viseme each with their own material which apparently was wrong, still trying to figure out how to properly material it!
I got mine to work but im currently stuck on something i dont know how to fix. the visemes dont go back to the default state after its been used visually, but on the animator layer it says it does when in play mode. when i test it in vrchat the frames get stuck on once they get triggered once. I have write defaults off and exit time off for all of them and so i am stumped as to why its not working properly
OK, so in each of the animations you'll also need to set the other visemes you aren't using to 0. For example in the V1 animation you'll need the corresponding blendshape set to 100 and every other viseme blendshape to 0. At the time I wasn't sure that it was necessary but it sounds like it is seeing your case. Sorry for not mentioning that in the video!
@@hydrocosmo thats how i did them :(
@@radcowboy5985 hmm..well you can use vr chats debug mode to check which visemes are activating when you speak. If all the anis /conditions are set up right it should be returning to the default when you don't speak, etc
When I noticed the view count I was shocked I thought I was watching another real professional informative tutorial with thousands of views this is hidden gem deserves to be seen everywhere
It's actually easier to use the cats plugin to create the visemes from a base 3 viseme and let it auto create the missing blendshapes form the three main ones made. This means you can save a ton of time when redoing the blendshapes. I did this method when creating expressions for a 3D model with hidden planes like you did for one of mine. Good Luck.
Do you think it's possible to make an example video of this ...? Pls
Thank you!
please never delete this tutorial
This tutorial is exactly what I was looking for!! I figured with how blendshapes only interact with meshes, that it'd require something like replacing the mesh with a separate mesh with a different filter. However I thought it'd look weird when VRChat interpolates the shape keys when someone talks. But by creating animations you resolve that problem!! so cool and useful
This needs more recognition!! This explains it everything perfectly and clearly and is great for Unity beginners such as myself. Can't wait to see what other tutorials you have! :]
you are the only person ive found with a tutorial for this so big thank you! I got a low poly stylized model made so i could have a good fall back but ive been struggling to make blinks work with image blend shapes
Exactly the situation I was hoping to help with, glad you like!
Great video for your first attempt. This is the only tutorial I have found that explains how to do 2D lip sync on vrchat. Great work. I've been trying to do this on Pikachu but couldn't get it to look good. Your TV mans lip sync looks great. Thanks for posting this.
Thank you so much! I also noticed that gap in tutorials for 2d specifically even though the information was out there, so I'm glad it was useful.
thanks so much for this tut very simple and clear!
Great microphone quality. I’ve been putting up with terrible microphones in tutorials
Man I always wanted to do this but the lack of information threw me off since I'm not that good at the technical side, so thanks a lot for this tutorial!
oh my god i have been looking so long for a tutorial like this thank you so much!!
Glad I could help!
Thanks this helps a lot. Been looking for stuff like this for a bit
You are doing amazing bro, JUST DO IT
Great content, I love it 👍🏻👍🏻
For those wondering there IS a better method
And it only requires one transition.
Simply just use an "any state" for the vismems
The setup is pretty much identical to this tutorial, but all you have to do is use any state and only use one transition to the vismems
This has been a very helpful tutorial to figure out how to get low poly and 2d models to work. I can't seem to get Unity to recognize the shape key / blend shape i made in blender though.
thank you howard stern
Please make another tutorial including the way to make animations and attatch them to the visimes in blender or to even know where to look when applying visimes theres not alot of tutorials on this anywhere on the internet
Tysm for your tutorial, It really helped!
Loved your video but im having a problem where my visemes dont want to move in game or the in the animation controller and I checked the animations itself and it seemed fine.
Yeah havin' the same issues here, I got everything working when testing, but they simply... don't work ingame.
Can you do a full tutorial on how you make the visemes stuff? You know to complete this vid.
brooooooooooooooooooooooooooooooooooo thank you so much I needed this tutorial. I am trying to make a V Tuber/VR Chat avatar and I did not know how to do the face. Will send you a copy of it when I am done.
Much appreciated dude, I'd love to see that.
okay now Im on board
I been having a issue trying to do the talking and it keeps on flickering and sometimes Don't work it won't freeze for some reason...
This is super cool! Is this solely restricted to VR chat? Or could I actually use these visemes for something like a PNG tuber?
I'm having a problem that I don't see on your avatar-
I was able to get the visemes working, but the transitions are more like switching between the expression, the default and the other expression
It's not really that bad because it's so fast, but it doesn't really look the best
Is there also a way to apply emotions as well? Like with finger gestures? Or will it overlap the lip-synching, and make it a glitchy face?
Did you manage to find out how that would work?
@@Sansgame2106 what i did is make the shapekeys i was using for visemes come farther forward than the ones i use for facial expressions. So if a do a finger gun for example, my avatar will smile. If I talk while doing a finger gun, my viseme planes will come in front of my expression's planes and she will appear to be talking while her eyes still make the finger gun's expression
@ thank you for this information for it has shown me that there is a way and this that you speak off has been a eye opener thank you.
Fantastic video! do you mind if i ask if the individual face planes have bones? This method of animating is pretty new to me so i just want to check :]
I'm having an issue where my animation controller looks like it's working totally fine, but, when testing, my model will only show the v0 animation. Even when I swap states to v1, v2, etc, it's only showing v0's blendshape (because that is what it started on). Any idea?
Fixed: it's because my "LipSync" layer in the animator had a weight of 0
@@pinkubossHonestly this deserves a pin or something, there were gaps in the tutorial that made me unsure if I missed something or not. Thank you so much!!
@@pinkuboss oh my gosh thank you, i didnt realize my weight was at 0 lol
Bro I'm so glad to have found this
Because I was having the EXACT problem
@@pinkuboss Based
2:10 and it automatically saves it there? didnt happen to me
When you make a new blendshape it will save whatever changes you made in that blendshape. To see it out of edit mode you need to either set the blendshape value to 1 or press the pin icon and it will preview the shape automatically when selected.
@@hydrocosmo i also get a warning in the fx layer stating that the source states have no motion is that bad?
because now the visemes dont work
This is an awesome tutorial! It really works as intended! I think I did something wrong, though-- When I get into VRChat, my animations for clapping, waving, etc. are gone. I think it happens when I change the FX node from the default one.
How do I add my textures to each key shape?
Subscribed!!!
LIFESAVER!!! there really is no list to be found-!!!
i don't know why but when i place the visemes at 100% they don't appear, they work inside of blender but not inside unity, really weird and idk what to do
It's currently approaching 4:30AM and i have been working on this since around 8:00PM. I followed this tutorial to the letter. the transitions are working flawlessly, and the animations do exactly what they're supposed to when previewed, but in testing and in game the states simply do not do the thing they're explicitly set up to do. i will watch the bars indicate that the controller has began looping on a viseme's state, the transition's preview will show that the avatar should be displaying the correct viseme, but it simply doesn't. i'm losing my goddamned mind.
same here, you ever figure this out?
@@lit_lee the viseme layer weight defaults to 0 for some ungodly reason. means it just ignores everything you put on the layer which in this case is literally everything
So since visemes use the FX section of the layers, is there zero way to get gesture based expressions working?
can you make to where it can be affected by face tracking
I'm trying to make a 2d avatar that can blink and talk, As this was helpful for png inside of a 3d model, i really need to know how to do it for a full png, as i have nothing to put the other planes into, what do i do?
i cannot for the life of my apply a png to a plane and also have the plane be transparent while the png is transparent there's so much you left out why not just do a full tutorial DX
Is there a way to control the timing on when the mouths move?
I have a bunch of visemes on my avatar and it looks like im speaking 120 words per minute
Any way to slow them down?
Hello! I have done something very simular to this! especially with the mouth plane, I was wondering before I follow with this tutorial, Did you struggle with the separate planes being a different lighting or shadow, than your full body mesh? Please let me know!
I'm only asking because I did the same thing, but the shading is so off and that mouth plane sticks out because of its incorrect shadow.
It depends on the lighting of the world for sure and whether or not the face normals are correct. As long as the planes are super close to the face in the blendshapes it shouldn't be very noticeable.
@@hydrocosmoI think my problem is that I my mesh used a separate mouth plate that's parented to the bone in order for it to function.
I don't think I caught this In the video so I apologize dearly if this is an obvious answer -
But was your planes all part of one body mesh? And just used blend shapes instead? So there's no separate mesh, just all in one?
(I'm saying this SPECIFICALLY because I noticed the shadows worked better when they was all one mesh)
I love you 😁
Is there a way to similarly make the blinking instant, like the mouth? I'm getting a frame of blank eyes when I use the default one
I also want to make the mouth simply open and close, no other vismes
I know I'm not a professional but maybe the best idea is to have every viseme the same? Except for the sil?
Oh-! I was going to change the texture entirely
I’m actually trying to find a list of the Viseme parameters and what sounds they correspond to. Last time I just popped in myself and took notes. 😮💨 making voice activated magic happen.
5:28 THEYRE IN ORDER-!?? THANKYOUUU
Does this work with vseeface?
FUNFETTY?
@@1abber Yo wassup LOL
Thank you for the tutorial. There is another thing that may warrant another video, that being working visemes for MMD worlds.
the Blendhsapes aren't changing even though i followed exactly what you did, and the animation schtuff is working, it just doesn't change the blendshape, is there any common issues that'd cause this?
nvm, i forgot to enable it l m a o
@@BossKnight where do you go to enable it?
@@infinitekhaos1518 the thing they said at the start with the weight thing
I'm still stuck on just one more part! I haven't been able to find much documentation on it but its just the whole process of importing images, turning an image into a separate material, linking them to their blendshape and all that. I have all the materials! Named blendshapes, textures, and a seperate plane, just lost on the steps to take with them to get proper blendshapes up and working.
It sounds like you're stuck on 4:42 I think? Don't forget to make the animator controller. Also, you can't change materials via blendshape, you'll have to record that in the animations too.
@HydroCosmo oh its not the animator you did a great job explaining that! I'm just stuck on how you had it so when you clicked each blend shape in blender it brought out the different mouth viseme on its plane. I'm still very very new to blender 😅
@@espitz930 You just need to select the blendshape you named, find the plane with the texture that correlates to the viseme and move that plane forward. That'll be the blendshape when it's value is at 100. They showed up instantly on my Blender cuz I pressed the pin button at the bottom of the blendshape list which makes it automatically show the blendshape at 100 value when selected. Sorry for getting back to this late!
@HydroCosmo no worries! I was able to figure out how to blendshape with different planes, I made 15 planes for each viseme each with their own material which apparently was wrong, still trying to figure out how to properly material it!