Hey Everyone! We have a new video that covers how to Animate Object Visibility using Geometry Nodes here: th-cam.com/video/-ONw053FlV0/w-d-xo.html It makes Method 3 significantly easier, and you might find it helpful! Thanks for watching!
Thank you allot for making this video! I am currently using your node setups to animate my faces as well. However, when the face textures in the first method have an alpha value, said alpha is shown as black in the end result. Can you please come up with a solution for that as well? So that it cuts the alpha of each individual face correctly?
This tutorial needs to be an essential tutorial for all animators and anime creators that use Blender. This will help me a lot, because I am doing an animation and the character´s eyelid are just an image, it can´t have a separated geometry from the eyes geometry. I found this tutorial randomly and it saves my animation! It was destiny lol
i commented this on the last video but i want to let everyone reading these comments to know just how truly powerful the method 1 texture switching setup is, not just for animation but blender in general. Say you are constructing a shader and want to switch between multiple presets or options on the fly. There is no simple way to do this within blender but if you construct the method 1 node group you can easily apply that logic to any situation. I now have several shaders using multiple of these groups in various situations, allowing me to have much more versatility built right in. The robustness of such a simple concept is incredible, thank you again for your help !
I've been working with Pokémon models for over 6 years, and I never realized that such a convenient keyframing option like Method 2 existed for animating eye/mouth textures. Thank you so much for not only bringing this to my attention, but for sharing it with the rest of the world. I'm sure it will come in handy for all of us out there who wish to optimize their model setups for animations. :)
FINALLY, a 2D face rig tutorial that works for me!!! I pretty much stopped when the part came to add it to the rig, but I can still key it nonetheless!!! This helped me so much with changing the expressions on my ripped Katamari cousin rigs, thank you!!
If you end up with a grayscale texture, be sure to change the setting on the mix node from "Float" (what it was by default for me) to "Color" It took me way longer than it should have for me to figure this out. I'm using Blender 3.4.1 for reference
This is by far one of the most stylish and useful pipeline time savers I ever found. It's so simple and clean I don't know why I never though of researching for this before... Amazing Tutorial!
This may be a year old, but it had EXACTALLY what I needed. I am working on a gift for a friend (a little dog loaf of their character) and I didn't want to get too complex with the face of it. I remembered that one rig I downloaded and messed around with had the eyes not be 3d objects and just a texture that could be shifted and moved around, which led my mind to remember that other blender animators had made roughly what is shown here. Though they made them they didn't show how they did it. A rabbit hole of looking later and I run into this updated video with all the parts I was hoping for! Thank you and whatever crew you have helping you!
This video is super helpful, Im designing a toon style character for a friend and tying the 2d textures to bones helps so much. Especially setting up pose libraries. Now that it is tied to bones I can just follow my normal workflow like before instead of messing with values and trying to pose all at the same time
Been toying around with this One Texture-Multiple Poses method, and may have found a method to do it with a re-usable node, so you can just enter the picture, enter how many frames there are on the x- and y-axis, and go from there. The starting point is an Image Texture with a simple mapping node and a coordinate node connected by the UVs, all pretty standard. You do need to have your UV's set up so you're seeing one frame off your grid, so this is more appropriate if you're drawing it from scratch: just duplicate the rectangles around each drawing and snap them together to expand the grid. For already existing grids, I'm assuming this works, too, but not sure how to set it up aside from minding your UV layout. Starting from that base setup, add a 'Settings/Dimensions' node, which is a Vector Math:Multiply node with all 1s up top and your dimensions (say, 3 x and 2 y) at the bottom. There might be a simpler way, you just need a single vector for that one, but that's what popped up first. Anyway, run that through the bottom of a Vector Math:Divide node which has all 1s at the top. Run that through the Scale of the Mapping node. Then add the animating node, which is a Vector Math:Snap node with increment set to 1. The increment is what lets you navigate from one frame to the other in a 'snappy' fashion, so you don't see the texture moving in between, gives it that Flash animation feel. The Vector in this node is what'll be animated, and set up with drivers. Add a Vector Math:Multiply node, and connect this animating node to the Divide node from before. The output of this last Multiply node goes into the Location of the Mapping node. The end result is a single shader that can be set to accomodate a 3 by 3, 2 by 6, whatever sprite sheet grid, without further setting up aside from linking the image, tweaking numbers and setting up drivers. Not sure if this has been posted elsewhere already, pretty sure I'm not the first person to think of this, but it seems like a useful method to mention anyway. Haven't fully tested it yet, so there may be issues, but it's functional so far, and might save some time in the long run.
Hey! I loved your tutorial and I love your work! But is there a way to make the rig like instead of up in down I’d be like be able too move around freely example: [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] Instead of [] [] [] [] [] The squares would be the different face options and I don’t really know how to explain it but it’s just that my character has a lot of different faces so maybe instead of an arrow it’s just like a dot that could move around the squares? If u don’t understand then okay I know its difficult to understand what I’m tryna say but if you do I’d really appreciate help on this! Thanks anyways!
I couldn't get the previous version of this to work, so now I'm trying this video and my textures aren't showing up when I put them in the mixed node. My eyes are round objects and I made an open, half-closed and closed texture for them, but when I import them and put them in the mixer (around 0:56 ) , the only thing the slider is doing is changing the eye a white and slightly grayer white, with no pupil or eyelid to be found.
Now that's what i'm looking for :D I tried to add a driver on the animate texture but it is almost not working for me until it works because of this tutorial ^^ thank you so much
hey awesome video! pro tip from not a pro. if you have node wrangler enabled, you can just select all your image nodes, press Ctrl + Alt + Numpad 0 to auto Mix all your selected nodes! also work with other mix types like press * for multiply, etc. so handy and saves a few seconds. cheers!
Thank you very much! We used the Sonic model from Super Smash Bros Ultimate! You can find it here: www.models-resource.com/nintendo_switch/supersmashbrosultimate/model/38496/ Thanks for watching!
8:30 What I didn't understand is that when multiplying by -7 inside the node group, how the values of the threshold still exceed 1 or 2, etc. ty for video so appreciated♥
idk jack about blender, those little node square things scare the crap out of me. a friend of mine made me a model (since idk jack about blender), and i decided i wanted to add expressions to it. this tutorial was really intimidating but worked wonderfully :D
Keyframe the location of the selector bone in order to animate texture swaps! We don't currently have a tutorial covering keyframing in depth, however we touch on it during our Paper Mario Tutorial here: th-cam.com/video/-3ZXUknOCTA/w-d-xo.html Let me know if this helps! Thank you for watching 😄
These methods all looks amazing! I was wondering if there is possibly anyway to make method 1 (or any of these really) work outside of Blender, such as maybe with Unity. I was thinking of maybe trying to see if there's a way to make this stuff work with shape keys, but I'm unsure myself.
I've looked at Unreal a bit, and I feel like you could make something similar in there. I haven't had a chance to look at Unity yet, so I'm unsure. As far as how to set it all up, I'm still in the process of trying to learn Unreal. So...I'm not much help outside of blender 😅 If I figure it out, I'll definitely make a video on it! Thank you for watching 😄
Thats so amazing! Finaly I found that knoledge! Thanks so much! I´m searching for how to do that on Unity, but the videos I find are super over complicated and my mind shuts down before I understand. Any possibility you do this take on Unity?
That could possibly mean that you've duplicated your Bones in Object mode instead of Edit mode. Which would be making multiple armatures, instead of bones within an armature. Check your outliner in the top right and see if you have multiple armatures! Let me know if this helps 😄
@@TheObservatoryShow that was exactly right .and i made relations by the list but the string connection is not shown in viewport and i think there is another problem
@@shabrangadmin4202 Select all of your bones, hit Ctrl+J to join them together, then redo the Parenting in the Bone Relations if you need to! Let me know if this solves anything!
So say I do method 1 and I have each integer change a mouth texture. 1 is Smile, 2 is Frown, and 3 is AH, etc. Is it possible to use whatever in Blender that is keyable to select each of these values but as names instead? In Maya, I would've made a dropped down attribute that can select through a list of names. I could select Frown, and it would change to that second value. Changing the mouth texture to Frown as it's assigned to 2. I like that you showed that we can use an arrow and slide through different names or images, but I'm curious to know if it's possible to do something like that, not in the viewport. One way I tried was using the UV Project modifier, and creating pose shapes for the bone. Each pose was named Smile, Frown, etc. And I would key on those. But I have a bone flying all over the face to get those poses. I don't want that.
Its very possible that the geometry node system might be able to do something like this. At best it'd probably be a weird workaround that'd cause people to rage. However I love weird workarounds, so I'll see if I can make it work! Otherwise I'm sure you could use a script to make it work.
this worked for making the eyes transparent which was my biggest problem, but now the texture stretches? I've tried taking a texture coordinate and mapping node to fix it but it doesn't work. I'm gonna try one more thing and hope it works!
I have an issue. around 6:44 you add a bone to the shaders. But when ever I do this the bone feature doesn't even show up. no matter what form of body part i select it doesn't show up.
I got textures that use the Alpha to make the background of the image opaque. When I try using this tutorial it only works for one image at a time due the one currently showing needing to have it's Alpha of the Image linked to the Alpha of the Principled BSDF. Is there a way to make an image set like this work? Or do I have to give it a background the same colour as the skin of my character? If so, how do I make an image that makes that match up perfectly with the character?
Amazing video! Do you think any of these methods could be adapted to work if you've got all of your expressions on the same texture as the rest of the model like in classic games, or do you think sorting that out is a whole other can of worms?
Do you know of a method that would work well if you want to be able to add new expressions as you animate? Like, say you're in the middle of animating a scene, and you realize the character needs to be able to make a new expression that it doesn't already have. It seems like with these methods, you'd have to dig into the nodes and make changes, and it would mess up everything you've already animated.
I think what I would do is duplicate your head/face object, and within that new head object create a copy of the material in question. Add the additional poses to the new material and attempt to keep the numerical location of all of your previous poses the same. If everything works smoothly on the new object, problem solved! If not, keep the original head for the first part of your scene and then swap them by animating both of their render visibilities. Then you can just use the new head for anything you use your model for in the future! the best part is when you duplicate an object is keeps all of its vertex groups and modifiers etc., so it should be rigged and ready to go immediately!
Hi! Thanks for the tutorial :) Is there anyway I can do method one but with an alpha texture? Because in my character I'm using the expressions on a duplicated face in the mesh...
Hello! Super informative video with a metric _ton_ of applications. -Though whatever reason though, I can't seem to get the texture to change beyond the second texture option. It _does_ change correctly after passing the first Greater Than threshold (at 1.000,) then just like.. refuses to change after passing the second Greater Than threshold (at 2.000.) I opened a fresh project and tried it again with simpler materials and set up on a cube, and it still doesn't work. Which doesn't make any sense, logically speaking it should work, it is so straight forward. I tried it on multiple fresh blender versions (2.92 and 2.93) and no dice. Not sure what I could possibly be doing wrong, I'm confident I'm following your setup exactly. I feel crazy. lol -Is it possible there's some setting somewhere I have to enable, or something else bugging it out? Like I said it works when switching between 0.000 and 1.000, ..but nothing above that, ..which is so odd. One thing I will say that does appear different are your "image files," as they appear as quote "base color" instead of the file name. Don't think that would affect anything. Even still I tried with simple rgb color values, and still the problem remains the same; it doesn't advance past the second texture/color option. Thanks in advance for any help!
This does sound odd, one possible thing is you could have Clamp enabled on your greater than nodes. Other than that though, if you'd like to Email us a couple screenshots of your node setup or even your .blend file, it'd help us troubleshoot potential issues!
@@TheObservatoryShow -Sorry, I figured it out! I am, suuper dumb. lol What happened was I had each Greater Than node output value plugging into the _next_ Greater Than node input (top,) when I was supposed to have the _Add Node_ output plugged directly into each Greater Than input (top.) Don't know how I got that so confused, wow. Thanks though for that lightning quick response!
ok so i am using some mouths texture with a transparent background, i did what i had to do and it work but not entierly, at first i could not see the black line of the mouth, so i did the thing for transparency, now i can completly see the mouth but the background is still black .
i went into the material setting and change the blend mode, it's finally transparent but the skin color is darker around the mouth, it's obviously not the shadow, it's so annoying everytime i find a solution, another problem appears.
Troubleshooting can be a process! Without seeing it, it's hard to visualize/figure out what could be happening. If you're comfortable with it, you can Email us your .Blend file and I'll take a look at it! If you decide to send it, since its dealing with textures you need to pack those into your file first. To do that >File >External Data >Select Automatically Pack into .Blend. Let me know! Thank you for watching 😀
Hi great video, In first method you have not transparent expressions in case if I want to change skin tone it will look weird... Is there any royalty free mouth shape you used or you made yourself having tutorial here?
There are a couple ways you could go about it. You could put the textures with alpha on planes slightly in front of your face! You could also set it up like the Paper Mario example, except add a mix node before the color input of the BSDF shader. Use the alpha output of the node group as the factor, and connect your head texture to the other color input of the node group. Let me know if this helps!
Thanks for sharing. If I want to make animation for mouth, should I repeat all the the same step? Let say I want to use the same texture to another character, can I reuse the already made texture?
I've run into a problem that is boggling my brain. Have you ever used more than 14 textures in a material like this? Every time I add a 15th texture the whole material turns bright pink. I know that usually means Blender can't find the image BUT the same texture works if I assign it to the 14th node.. so the texture isn't missing or corrupt.. all textures work fine on nodes 1-14 but if I assign ANY texture to the 15th node everything turns pink. If I unassign a texture from 1-14 then I can add a texture to 15 and it works fine.. and I can plug a previously used textures to the 15th node and it works fine.. I just can't assign more than 15 unique textures. Bah!
I've run into this as well! It seems that Eevee has a texture per material cap, I believe its 24 textures. If you're using cycles it shouldn't be an issue, but within Eevee perhaps organizing your poses onto one sheet more like method 2 from the video will be a better solution. I Hope this helps! Thanks for watching!
Hi, can anyone help. Let say i keyframed from expression 1.0 to expression 5.0. how could i animate it so it jumps straight to expression 5.0 without going through the other face expressions (2.0, 3.0, 4.0)?
In the Timeline, or where you're doing your keyframes hit "A" to select all your keyframes then hit "T" and set the interpolation to constant! Let me know if this helps! Thank you for watching 😁
Great tutorial! though I'm running into a problem with method 2 in that when I try to use the mapping node, the UVs wont move. I'm a beginner to all of this so I wouldn't be surprised if I'm missing something here
There's quite a few things that could be going on! Make sure its the Texture coordinates UV socket connected to the Mapping nodes vector input. Also make sure that your working on your active eye texture in the Shader editor. These would be the most simple answers, let me know if they help! Thanks for watching!
@@TheObservatoryShow thx for the advice! turns out I forgot to put it into viewport shading, rookie mistake I know. now I'm experimenting ways to turn these into shape keys for unity and VRChat
although makes me wonder if this is incorperable into vrchat which is something id want, from what i know vrchat uses shape keys so ugh, i dont wanna use planes with transparent textures either, just think itd look wrong
@@TheObservatoryShow essentially vrchat runs on unity, facial animations etc run on animations which use shape keys or bones, so im pretty sure itd have to run on shape/blend keys
Hi. Сool tutorial. I am new to blender. I saw this video because I myself was just trying to learn how to switch textures. only it turned out differently for me. I inserted a sequence in the image texture and switched it with an offset. I wanted to know if it can be used like that? or there will be advantages with a mix shader and many image texture nodes?
That's one of the more common ways I've seen it done, it definitely works! The only disadvantage is there is no way to turn off the auto animation of the Image sequence, so you've got to do a lot of messing around with the offset and interpolation! However we're actually working on a video to help solve this issue, which should be out soon hopefully 😆 Thanks for watching!
Hi, i've been learning method 2 and yeah it's best method for my model so far. Thanks ! 😁 But i have a problem here, when i keyframing using I (insert keyframe on mapping nodes). The keyframe is showing in the Dopesheet but it didn't show up in Action Editor. Do you have any idea why ? I've tried to mess anything but still zero
Material keyframes will show up in the dopesheet, NLA editor and even the graph editor. However they don't show up in the Action editor. If you use the driver setup, the selector bone should show up in the action editor. There is a way to get them to show up, but it involves changing data properties which I wouldn't recommend, and could potentially mess up some other stuff!
@@TheObservatoryShow i see.. thought i did wrong in the first place. Oh and 1 more bro, my mapping nodes couldn't connected with combine xyz node because there is no connector in Location in mapping node (im using Blender 2.8, im sorry). Is there any other way to connect combine xyz node and mapping ? ✌😂
Its possible to use a series of Mapping nodes in place of the Combine XYZ nodes! Then just combine them all with Mix nodes like you would've the XYZ node. Let me know if this works, I don't currently have access to 2.8, but In my head it sounds like it would work! 😁
this video is amazing! helped so much thank you! was wondering tho if anyone has the same issue as me I wanted to do this so I can add it too an unreal project im doing but for my main charactar but am pretty new to everything so sorry if it seems like a stupid question but exporting FBX doesn't export texture would need to UV, bake then export seperetly then animating just exports the skeleton mesh but say I wanna do a Idle pose and the eyes sway then look left then right would the texture after baking and exporting animate as well? any help would be amazing
When using method one, are you able to cross fade between animations or will that cause the face texture to cycle between the intermediate faces as you change from one animation to another?
I have a question teacher .. my texture animation works well in blender but when I try to export it as an fbx it does not get exported..only the body, hand, leg, boots, buckle, hat textures and body animation gets exported..seems that texture node animation does not work in exporting??
Texture nodes are unfortunately blender specific! As far as I know, there is no way to export the node groups yet, so you have to build similar systems in the engine that you're using.
If its working in the viewport, but not in the Render, make to copy and paste the drivers over to the render visibility of each object! It looks like a little camera! Let me know if this helps 😁
Hello! Awesome tutorial as always! I got a question, when I link the rig it into another blend file . . . the rig works and changes the texture but the changes doesn't render? Is it complicated to link and override materials with drivers?
I haven't had a chance to use library overrides much yet, so I'm not entirely sure what could all be going on. As far as I know it hasn't been fully implemented yet, so that might be why it's not working! When I get a chance I'll look into it!
@@TheObservatoryShow True true, after a lot of googling. Hope someone's pointed it out to the Blender devs. But for now I just append my rigs and your drivers work perfectly.
I haven't personally used Sketchfab, but I'm going to assume the material nodes from blender cant be imported. It looks like there might be a way to achieve somewhat animated textures. If you create a separate head object and material for each eye pose within Blender, you can swap between them in Sketchfab by including a sketchfab.timeframe text file. Here's the help center link: help.sketchfab.com/hc/en-us/articles/203058018-Animations Let me know if this helps!
Do you know how to make an image changed in an model while I start talking in vrchat? I seen a model that can do that but I'm not sure on how to do that. I seen the image have a close mouth when mute but when talking it just shows the character in the image change with a image of them with their mouth open.
I really only use blender, so when it comes to setting up models for export and use in games my knowledge is pretty limited. However I know how you can roughly mimic the effect for an animation using audio in blender, but I don't know if that'd help you too much. Thank you for watching!
In edit mode you select the faces that encompass where the eye texture will lay> Hit U to Unwrap them > Then line the UVs up with the eye texture. We cover this process in Episode 8 of Mario in detail: th-cam.com/video/koZYMOO1XPQ/w-d-xo.html Let me know if this helps!
@@TheObservatoryShow I have problem where when i make the seam for the eye area, it mess the the seams for the texture and mess up the overall model textures. I was wondering if there a way for me to get around this with out mess up my textures.
Under Object Data properties you can add an additional UV Map and unwrap the eye faces to the new UV map. Use a UV map node in your eye texture, then select the eyes UV map on the UV map node and connect the output of that node to the vector input of your eye image texture. Let me know if this is confusing, or helps at all. It's definitely a potential topic for a future video!
@@TheObservatoryShow Thank you , but it there a way for me to get rid of the of parts of the model because once I made the new UV map and and seam up the eye part to unwrap, once i did it the eye section is there but the other parts of the model is under it. Wondering if there is a way to solve that
Is there actual object geometry under the new eye UV, or textures? I'm having difficulty picturing what you're explaining without seeing it, if you want you can Email us a screenshot or a .blend file and we can take a look at it!
Recently tried the Basic Method One, but for some reason it defaults the textures to be black and white. Long Shot asking about it here, but there's literally nothing out there to help me out.
The faces on the head that contain the eyes are using a separate material from the rest of the head. So make sure you've applied your materials accordingly! There are other ways to set up the materials, but its a lot easier to just use multiple in most cases! Let me know if this helps!
Currently there isn't a way that I know of. You have to use the engine to recreate something similar. If I figure it out, I'll definitely make a video on it! Thanks for watching 😀
Hey Everyone! We have a new video that covers how to Animate Object Visibility using Geometry Nodes here: th-cam.com/video/-ONw053FlV0/w-d-xo.html It makes Method 3 significantly easier, and you might find it helpful! Thanks for watching!
Thank you allot for making this video! I am currently using your node setups to animate my faces as well. However, when the face textures in the first method have an alpha value, said alpha is shown as black in the end result. Can you please come up with a solution for that as well? So that it cuts the alpha of each individual face correctly?
This tutorial needs to be an essential tutorial for all animators and anime creators that use Blender. This will help me a lot, because I am doing an animation and the character´s eyelid are just an image, it can´t have a separated geometry from the eyes geometry. I found this tutorial randomly and it saves my animation! It was destiny lol
I'm glad you found it helpful! Thank you very much for watching 😄
i commented this on the last video but i want to let everyone reading these comments to know just how truly powerful the method 1 texture switching setup is, not just for animation but blender in general. Say you are constructing a shader and want to switch between multiple presets or options on the fly. There is no simple way to do this within blender but if you construct the method 1 node group you can easily apply that logic to any situation. I now have several shaders using multiple of these groups in various situations, allowing me to have much more versatility built right in. The robustness of such a simple concept is incredible, thank you again for your help !
😄 I'm glad you found it useful! There are a ton of cool ways to utilize these systems! Thank you very much for watching!
It also makes key-framing several materials easier!
I've been working with Pokémon models for over 6 years, and I never realized that such a convenient keyframing option like Method 2 existed for animating eye/mouth textures. Thank you so much for not only bringing this to my attention, but for sharing it with the rest of the world. I'm sure it will come in handy for all of us out there who wish to optimize their model setups for animations. :)
I hope it helps make creating things easier! Thank you for watching 😁
FINALLY, a 2D face rig tutorial that works for me!!! I pretty much stopped when the part came to add it to the rig, but I can still key it nonetheless!!! This helped me so much with changing the expressions on my ripped Katamari cousin rigs, thank you!!
I'm glad you found it useful! Thank you very much for watching!
If you end up with a grayscale texture, be sure to change the setting on the mix node from "Float" (what it was by default for me) to "Color"
It took me way longer than it should have for me to figure this out. I'm using Blender 3.4.1 for reference
So to get sync with audio , will i have to animate only in constant interpolation mode ?
That's it! I officially love you. I finally had the time to watch this updated version, going to test method 1 today, thank you again!
I hope it goes well! Let me know if you have any questions!
This is by far one of the most stylish and useful pipeline time savers I ever found. It's so simple and clean I don't know why I never though of researching for this before...
Amazing Tutorial!
Thank you very much! I'm glad you found it useful! Thank you for watching 😄
This may be a year old, but it had EXACTALLY what I needed. I am working on a gift for a friend (a little dog loaf of their character) and I didn't want to get too complex with the face of it. I remembered that one rig I downloaded and messed around with had the eyes not be 3d objects and just a texture that could be shifted and moved around, which led my mind to remember that other blender animators had made roughly what is shown here. Though they made them they didn't show how they did it.
A rabbit hole of looking later and I run into this updated video with all the parts I was hoping for! Thank you and whatever crew you have helping you!
This video is super helpful, Im designing a toon style character for a friend and tying the 2d textures to bones helps so much. Especially setting up pose libraries. Now that it is tied to bones I can just follow my normal workflow like before instead of messing with values and trying to pose all at the same time
I'm glad you found it useful! Thank you for watching 😁
This answered just about all the problems I’m currently having figuring out. Thanks so much for being so helpful!!
I'm glad it was helpful! Thank you for watching 😄
Been toying around with this One Texture-Multiple Poses method, and may have found a method to do it with a re-usable node, so you can just enter the picture, enter how many frames there are on the x- and y-axis, and go from there. The starting point is an Image Texture with a simple mapping node and a coordinate node connected by the UVs, all pretty standard. You do need to have your UV's set up so you're seeing one frame off your grid, so this is more appropriate if you're drawing it from scratch: just duplicate the rectangles around each drawing and snap them together to expand the grid. For already existing grids, I'm assuming this works, too, but not sure how to set it up aside from minding your UV layout.
Starting from that base setup, add a 'Settings/Dimensions' node, which is a Vector Math:Multiply node with all 1s up top and your dimensions (say, 3 x and 2 y) at the bottom. There might be a simpler way, you just need a single vector for that one, but that's what popped up first. Anyway, run that through the bottom of a Vector Math:Divide node which has all 1s at the top. Run that through the Scale of the Mapping node. Then add the animating node, which is a Vector Math:Snap node with increment set to 1. The increment is what lets you navigate from one frame to the other in a 'snappy' fashion, so you don't see the texture moving in between, gives it that Flash animation feel. The Vector in this node is what'll be animated, and set up with drivers. Add a Vector Math:Multiply node, and connect this animating node to the Divide node from before. The output of this last Multiply node goes into the Location of the Mapping node.
The end result is a single shader that can be set to accomodate a 3 by 3, 2 by 6, whatever sprite sheet grid, without further setting up aside from linking the image, tweaking numbers and setting up drivers. Not sure if this has been posted elsewhere already, pretty sure I'm not the first person to think of this, but it seems like a useful method to mention anyway. Haven't fully tested it yet, so there may be issues, but it's functional so far, and might save some time in the long run.
This was amazing! Thank you, this video really deserves more attention
😃 Glad you like it! Thank you for watching!
Hey Everyone! Hope you're doing well! Let us know if you have any questions, comments, or suggestions!
Psst you forgot to add the link in the description. Thanks for the video, really useful as always!
😅 Thank you 😁
Hey! I loved your tutorial and I love your work! But is there a way to make the rig like instead of up in down I’d be like be able too move around freely example:
[] [] [] [] []
[] [] [] [] []
[] [] [] [] []
Instead of
[]
[]
[]
[]
[]
The squares would be the different face options and I don’t really know how to explain it but it’s just that my character has a lot of different faces so maybe instead of an arrow it’s just like a dot that could move around the squares? If u don’t understand then okay I know its difficult to understand what I’m tryna say but if you do I’d really appreciate help on this!
Thanks anyways!
I'm so glad I found this channel!!!
Me too! Thank you for watching 😁
Man, thank you for this tutorial! Simple and right to the point and very informative.
Thanks for the tutorial! Hope you have a wonderful rest of the day and weekend.
Thank you very much! You too! 😃
Worked like a charm. Exactly what I was looking for.
Thank you.
I hope it was helpful! Thank you very much for watching 😁
Your tutorial was exactly what I needed and straight to the point. Thank you!
Thank you for watching!
Just made a very cool Steve Minecraft rig thanks to this tutorial, thanks for the great clean cut content friend! :D
Glad you found it useful! Thank you for watching 😄
I couldn't get the previous version of this to work, so now I'm trying this video and my textures aren't showing up when I put them in the mixed node. My eyes are round objects and I made an open, half-closed and closed texture for them, but when I import them and put them in the mixer (around 0:56 ) , the only thing the slider is doing is changing the eye a white and slightly grayer white, with no pupil or eyelid to be found.
I was looking for this just 3 days ago, thanks very much
I hope it helps! Thank you for watching 😀
wow man, i watched a lots of tutorials, and your video is the best. thanks.
Now that's what i'm looking for :D I tried to add a driver on the animate texture but it is almost not working for me until it works because of this tutorial ^^ thank you so much
Glad I could help! 😁 Thanks for watching!
3 amazing tutorials in 1 video.
You're very helpful.
Glad you found it useful! Thank you for watching 😄
hey awesome video! pro tip from not a pro. if you have node wrangler enabled, you can just select all your image nodes, press Ctrl + Alt + Numpad 0 to auto Mix all your selected nodes! also work with other mix types like press * for multiply, etc. so handy and saves a few seconds. cheers!
same with math nodes. Ctrl + Shift + > for greater than, + for add, etc
That's actually extreme handy, thank you for the tip! Thanks for watching 😁
So helpful! Thank you. Also sonic looks sooo good. :D
Thank you very much! We used the Sonic model from Super Smash Bros Ultimate! You can find it here: www.models-resource.com/nintendo_switch/supersmashbrosultimate/model/38496/ Thanks for watching!
Thanks so much! I was having trouble changing expressions for my Pokemon animation!
God I love this channel!
😁 Thank you for watching ♥
8:30
What I didn't understand is that when multiplying by -7 inside the node group, how the values of the threshold still exceed 1 or 2, etc.
ty for video so appreciated♥
idk jack about blender, those little node square things scare the crap out of me. a friend of mine made me a model (since idk jack about blender), and i decided i wanted to add expressions to it. this tutorial was really intimidating but worked wonderfully :D
This answers my question from the last video. Great tutorial and a really great method for doing this! Zank you good sir~!
Thank you so much teacher!! now i finally learned how to do this..hopefully i can put this on my animation and transfer this to unreal engine :)
I'm glad it was helpful! Thank you for watching!
Thank you so much! I've been looking for specifically this for a while!!
Could you make a video about how to animate 2d eyes like sonic ones?
Definitely! I'll add it to the list!
cool and amazing tutorial this give me easy to my college work :D
did you have tutorial to lock that textures as a keyframes?
Keyframe the location of the selector bone in order to animate texture swaps! We don't currently have a tutorial covering keyframing in depth, however we touch on it during our Paper Mario Tutorial here: th-cam.com/video/-3ZXUknOCTA/w-d-xo.html Let me know if this helps! Thank you for watching 😄
Super Useful!!!
♥ Glad you found it useful!😄
Great! This really helped with my models. Thank you!!
Glad to hear! 😁 Thank you for watching!
your videos are so helpful and i love the bio you have for your channel lol!
This tutorial is super-useful, thank you so much!
Glad it helped! Thank you for watching 😄
These methods all looks amazing! I was wondering if there is possibly anyway to make method 1 (or any of these really) work outside of Blender, such as maybe with Unity. I was thinking of maybe trying to see if there's a way to make this stuff work with shape keys, but I'm unsure myself.
I've looked at Unreal a bit, and I feel like you could make something similar in there. I haven't had a chance to look at Unity yet, so I'm unsure. As far as how to set it all up, I'm still in the process of trying to learn Unreal. So...I'm not much help outside of blender 😅 If I figure it out, I'll definitely make a video on it! Thank you for watching 😄
Amazing as always 👍
😄 Thanks for watching!
Thats so amazing! Finaly I found that knoledge! Thanks so much!
I´m searching for how to do that on Unity, but the videos I find are super over complicated and my mind shuts down before I understand.
Any possibility you do this take on Unity?
Please do a tutorial on how to make custom models with animatable textures like in the examples of their video!
Yes! That's definitely something I'd like to do at some point! Thank you for watching!
@@TheObservatoryShow I hope to see it soon!
thanks for the great tut . but i have problem with bone relation list at 12:00 .there is nothing in the list! i used crtl+p to parent but didn`t work.
That could possibly mean that you've duplicated your Bones in Object mode instead of Edit mode. Which would be making multiple armatures, instead of bones within an armature. Check your outliner in the top right and see if you have multiple armatures! Let me know if this helps 😄
@@TheObservatoryShow that was exactly right .and i made relations by the list but the string connection is not shown in viewport and i think there is another problem
@@shabrangadmin4202 Select all of your bones, hit Ctrl+J to join them together, then redo the Parenting in the Bone Relations if you need to! Let me know if this solves anything!
@@TheObservatoryShow please watch this video . sorry for my bad english
drive.google.com/file/d/1SN_3EL6hvDGx0jP__f1dSCwhFy_QL0si/view?usp=sharing
math =.= I have no aptitude for math, =.= I feel stupid. But I'm so grateful for teaching me how to do it, what a great tutorial, I'm so happy
I hope it helps! Thank you for watching 😄
Brilliant Man
😊 Thank you very much! I hope it helps!
Amazing technique! Thank you this was so helpful!
That was an awesome idea!
Subscribed 🙂
So say I do method 1 and I have each integer change a mouth texture. 1 is Smile, 2 is Frown, and 3 is AH, etc. Is it possible to use whatever in Blender that is keyable to select each of these values but as names instead? In Maya, I would've made a dropped down attribute that can select through a list of names. I could select Frown, and it would change to that second value. Changing the mouth texture to Frown as it's assigned to 2. I like that you showed that we can use an arrow and slide through different names or images, but I'm curious to know if it's possible to do something like that, not in the viewport. One way I tried was using the UV Project modifier, and creating pose shapes for the bone. Each pose was named Smile, Frown, etc. And I would key on those. But I have a bone flying all over the face to get those poses. I don't want that.
Its very possible that the geometry node system might be able to do something like this. At best it'd probably be a weird workaround that'd cause people to rage. However I love weird workarounds, so I'll see if I can make it work! Otherwise I'm sure you could use a script to make it work.
Jesus Christ I learned so much about blender from this video!!! I play it again and again in 0.25x speed 😂. Channeling a little Ian Hubert…
You're amazing! Thank you for these great tutorials!
this worked for making the eyes transparent which was my biggest problem, but now the texture stretches? I've tried taking a texture coordinate and mapping node to fix it but it doesn't work. I'm gonna try one more thing and hope it works!
I think I fixed it, I had to manually adjust them to not be stretched!
😁 Glad you figured it out! Let me know if you run into any other issues!
Thank you!!! Exactly what I was looking for!
Super, thanks !! 👌😍
Hope it helps 😀Thanks for watching!
this helped me a lot
I'm glad to hear that! Thanks for watching 😄
I have an issue. around 6:44 you add a bone to the shaders. But when ever I do this the bone feature doesn't even show up. no matter what form of body part i select it doesn't show up.
I got textures that use the Alpha to make the background of the image opaque. When I try using this tutorial it only works for one image at a time due the one currently showing needing to have it's Alpha of the Image linked to the Alpha of the Principled BSDF. Is there a way to make an image set like this work? Or do I have to give it a background the same colour as the skin of my character? If so, how do I make an image that makes that match up perfectly with the character?
love U man kkkkkkkkkkkkkkkkkkkk thank you so much for this tutorial!
Thank you very much for watching!
Amazing video! Do you think any of these methods could be adapted to work if you've got all of your expressions on the same texture as the rest of the model like in classic games, or do you think sorting that out is a whole other can of worms?
Very helpful Thank you 😊
You’re welcome 😊 Thank you for watching!
Do you know of a method that would work well if you want to be able to add new expressions as you animate?
Like, say you're in the middle of animating a scene, and you realize the character needs to be able to make a new expression that it doesn't already have. It seems like with these methods, you'd have to dig into the nodes and make changes, and it would mess up everything you've already animated.
I think what I would do is duplicate your head/face object, and within that new head object create a copy of the material in question. Add the additional poses to the new material and attempt to keep the numerical location of all of your previous poses the same. If everything works smoothly on the new object, problem solved! If not, keep the original head for the first part of your scene and then swap them by animating both of their render visibilities. Then you can just use the new head for anything you use your model for in the future! the best part is when you duplicate an object is keeps all of its vertex groups and modifiers etc., so it should be rigged and ready to go immediately!
completely goated
😁 Thanks for watching!
I love this video
😁 Thank you for watching!
Hi! Thanks for the tutorial :)
Is there anyway I can do method one but with an alpha texture? Because in my character I'm using the expressions on a duplicated face in the mesh...
Hello! Super informative video with a metric _ton_ of applications. -Though whatever reason though, I can't seem to get the texture to change beyond the second texture option. It _does_ change correctly after passing the first Greater Than threshold (at 1.000,) then just like.. refuses to change after passing the second Greater Than threshold (at 2.000.) I opened a fresh project and tried it again with simpler materials and set up on a cube, and it still doesn't work. Which doesn't make any sense, logically speaking it should work, it is so straight forward. I tried it on multiple fresh blender versions (2.92 and 2.93) and no dice.
Not sure what I could possibly be doing wrong, I'm confident I'm following your setup exactly. I feel crazy. lol -Is it possible there's some setting somewhere I have to enable, or something else bugging it out? Like I said it works when switching between 0.000 and 1.000, ..but nothing above that, ..which is so odd.
One thing I will say that does appear different are your "image files," as they appear as quote "base color" instead of the file name. Don't think that would affect anything. Even still I tried with simple rgb color values, and still the problem remains the same; it doesn't advance past the second texture/color option. Thanks in advance for any help!
This does sound odd, one possible thing is you could have Clamp enabled on your greater than nodes. Other than that though, if you'd like to Email us a couple screenshots of your node setup or even your .blend file, it'd help us troubleshoot potential issues!
@@TheObservatoryShow -Sorry, I figured it out! I am, suuper dumb. lol
What happened was I had each Greater Than node output value plugging into the _next_ Greater Than node input (top,) when I was supposed to have the _Add Node_ output plugged directly into each Greater Than input (top.) Don't know how I got that so confused, wow. Thanks though for that lightning quick response!
@@LanceBerylDev Glad you figured it out! If you have any other questions feel free to ask! 😁
ok so i am using some mouths texture with a transparent background, i did what i had to do and it work but not entierly, at first i could not see the black line of the mouth, so i did the thing for transparency, now i can completly see the mouth but the background is still black .
i went into the material setting and change the blend mode, it's finally transparent but the skin color is darker around the mouth, it's obviously not the shadow, it's so annoying everytime i find a solution, another problem appears.
Troubleshooting can be a process! Without seeing it, it's hard to visualize/figure out what could be happening. If you're comfortable with it, you can Email us your .Blend file and I'll take a look at it! If you decide to send it, since its dealing with textures you need to pack those into your file first. To do that >File >External Data >Select Automatically Pack into .Blend. Let me know! Thank you for watching 😀
Hi great video, In first method you have not transparent expressions in case if I want to change skin tone it will look weird... Is there any royalty free mouth shape you used or you made yourself having tutorial here?
How did you get the face textures to be transparent without having to plug in the image texture to the BSDF alpha?
if not, is there a simpler way to do Method 1 with alpha?
There are a couple ways you could go about it. You could put the textures with alpha on planes slightly in front of your face! You could also set it up like the Paper Mario example, except add a mix node before the color input of the BSDF shader. Use the alpha output of the node group as the factor, and connect your head texture to the other color input of the node group. Let me know if this helps!
Thanks for sharing. If I want to make animation for mouth, should I repeat all the the same step? Let say I want to use the same texture to another character, can I reuse the already made texture?
Hey man!!! It's amazing!!!! Woow!
I've run into a problem that is boggling my brain. Have you ever used more than 14 textures in a material like this? Every time I add a 15th texture the whole material turns bright pink. I know that usually means Blender can't find the image BUT the same texture works if I assign it to the 14th node.. so the texture isn't missing or corrupt.. all textures work fine on nodes 1-14 but if I assign ANY texture to the 15th node everything turns pink. If I unassign a texture from 1-14 then I can add a texture to 15 and it works fine.. and I can plug a previously used textures to the 15th node and it works fine.. I just can't assign more than 15 unique textures. Bah!
I've run into this as well! It seems that Eevee has a texture per material cap, I believe its 24 textures. If you're using cycles it shouldn't be an issue, but within Eevee perhaps organizing your poses onto one sheet more like method 2 from the video will be a better solution. I Hope this helps! Thanks for watching!
THANK YOU SO MUCH :D
I hope it helps! Thanks for watching!
Hi, can anyone help. Let say i keyframed from expression 1.0 to expression 5.0. how could i animate it so it jumps straight to expression 5.0 without going through the other face expressions (2.0, 3.0, 4.0)?
In the Timeline, or where you're doing your keyframes hit "A" to select all your keyframes then hit "T" and set the interpolation to constant! Let me know if this helps! Thank you for watching 😁
@@TheObservatoryShow oh god, the solution was that simple😆 thank you so much. Love your sharing🙏🙏🙏
Great tutorial! though I'm running into a problem with method 2 in that when I try to use the mapping node, the UVs wont move. I'm a beginner to all of this so I wouldn't be surprised if I'm missing something here
There's quite a few things that could be going on! Make sure its the Texture coordinates UV socket connected to the Mapping nodes vector input. Also make sure that your working on your active eye texture in the Shader editor. These would be the most simple answers, let me know if they help! Thanks for watching!
@@TheObservatoryShow thx for the advice! turns out I forgot to put it into viewport shading, rookie mistake I know. now I'm experimenting ways to turn these into shape keys for unity and VRChat
Is method 1 usable with transparent faces? I have a skin material beneath my model's face so that faces can be used between characters interchangeably
even better
although makes me wonder if this is incorperable into vrchat which is something id want, from what i know vrchat uses shape keys so ugh, i dont wanna use planes with transparent textures either, just think itd look wrong
I have very little experience when it comes to other engines, but I'll be sure to share the info if I ever figure anything out!
@@TheObservatoryShow essentially vrchat runs on unity, facial animations etc run on animations which use shape keys or bones, so im pretty sure itd have to run on shape/blend keys
Hi. Сool tutorial. I am new to blender. I saw this video because I myself was just trying to learn how to switch textures. only it turned out differently for me. I inserted a sequence in the image texture and switched it with an offset.
I wanted to know if it can be used like that? or there will be advantages with a mix shader and many image texture nodes?
That's one of the more common ways I've seen it done, it definitely works! The only disadvantage is there is no way to turn off the auto animation of the Image sequence, so you've got to do a lot of messing around with the offset and interpolation! However we're actually working on a video to help solve this issue, which should be out soon hopefully 😆 Thanks for watching!
Hi, i think u could make something like this just using the image texture on image secuence mode and adding a driver to the offset
Yes, you definitely can! Nodes are the best! Thanks for watching 😄
Hi, i've been learning method 2 and yeah it's best method for my model so far. Thanks ! 😁
But i have a problem here, when i keyframing using I (insert keyframe on mapping nodes). The keyframe is showing in the Dopesheet but it didn't show up in Action Editor. Do you have any idea why ? I've tried to mess anything but still zero
Material keyframes will show up in the dopesheet, NLA editor and even the graph editor. However they don't show up in the Action editor. If you use the driver setup, the selector bone should show up in the action editor. There is a way to get them to show up, but it involves changing data properties which I wouldn't recommend, and could potentially mess up some other stuff!
@@TheObservatoryShow i see.. thought i did wrong in the first place. Oh and 1 more bro, my mapping nodes couldn't connected with combine xyz node because there is no connector in Location in mapping node (im using Blender 2.8, im sorry). Is there any other way to connect combine xyz node and mapping ? ✌😂
Its possible to use a series of Mapping nodes in place of the Combine XYZ nodes! Then just combine them all with Mix nodes like you would've the XYZ node. Let me know if this works, I don't currently have access to 2.8, but In my head it sounds like it would work! 😁
tengo una pregunta, como puedo hacer el metodo 3 pero en el lado opuesto?
this video is amazing! helped so much thank you! was wondering tho if anyone has the same issue as me I wanted to do this so I can add it too an unreal project im doing but for my main charactar but am pretty new to everything so sorry if it seems like a stupid question but exporting FBX doesn't export texture would need to UV, bake then export seperetly then animating just exports the skeleton mesh but say I wanna do a Idle pose and the eyes sway then look left then right would the texture after baking and exporting animate as well? any help would be amazing
When using method one, are you able to cross fade between animations or will that cause the face texture to cycle between the intermediate faces as you change from one animation to another?
excellent tutorial it helped me a lot thank you very much
I have a question teacher .. my texture animation works well in blender but when I try to export it as an fbx it does not get exported..only the body, hand, leg, boots, buckle, hat textures and body animation gets exported..seems that texture node animation does not work in exporting??
Texture nodes are unfortunately blender specific! As far as I know, there is no way to export the node groups yet, so you have to build similar systems in the engine that you're using.
@@TheObservatoryShow got it :)
Wow!
😄 Thanks for watching!
Dope. Thans!
😎 Thank you for watching!
I have used ur method 3 for my character, it's working fine in the viewport but in render view, it's not working. I don't find any solution :(
If its working in the viewport, but not in the Render, make to copy and paste the drivers over to the render visibility of each object! It looks like a little camera! Let me know if this helps 😁
It's work!! Thanks mate. 😃😃
Hello! Awesome tutorial as always! I got a question, when I link the rig it into another blend file . . . the rig works and changes the texture but the changes doesn't render? Is it complicated to link and override materials with drivers?
I haven't had a chance to use library overrides much yet, so I'm not entirely sure what could all be going on. As far as I know it hasn't been fully implemented yet, so that might be why it's not working! When I get a chance I'll look into it!
@@TheObservatoryShow True true, after a lot of googling. Hope someone's pointed it out to the Blender devs. But for now I just append my rigs and your drivers work perfectly.
Question is there any way to import these methods to Sketchfab with the blinking textures??
I haven't personally used Sketchfab, but I'm going to assume the material nodes from blender cant be imported. It looks like there might be a way to achieve somewhat animated textures. If you create a separate head object and material for each eye pose within Blender, you can swap between them in Sketchfab by including a sketchfab.timeframe text file. Here's the help center link: help.sketchfab.com/hc/en-us/articles/203058018-Animations Let me know if this helps!
Do you know how to make an image changed in an model while I start talking in vrchat? I seen a model that can do that but I'm not sure on how to do that. I seen the image have a close mouth when mute but when talking it just shows the character in the image change with a image of them with their mouth open.
I really only use blender, so when it comes to setting up models for export and use in games my knowledge is pretty limited. However I know how you can roughly mimic the effect for an animation using audio in blender, but I don't know if that'd help you too much. Thank you for watching!
@@TheObservatoryShow thank you, I was able to figure it out in unity
Hey! the model I'm using just has a giant square of faces and not individual textures, is there any tutorial for how to swap between those??
Is it like Method 2 at 09:48 ? Or how is it laid out?
Is there a way to do this with textures that have alpha? The mix node doesn't accept the alpha channel
Nvm I immediately figured it out after posting. (second mix node controls the alphas)
For method 1 how do you set up the texture to be on the model? Like use a shrinkwrap for the texture to be on model it self or something.
In edit mode you select the faces that encompass where the eye texture will lay> Hit U to Unwrap them > Then line the UVs up with the eye texture. We cover this process in Episode 8 of Mario in detail: th-cam.com/video/koZYMOO1XPQ/w-d-xo.html Let me know if this helps!
@@TheObservatoryShow I have problem where when i make the seam for the eye area, it mess the the seams for the texture and mess up the overall model textures. I was wondering if there a way for me to get around this with out mess up my textures.
Under Object Data properties you can add an additional UV Map and unwrap the eye faces to the new UV map. Use a UV map node in your eye texture, then select the eyes UV map on the UV map node and connect the output of that node to the vector input of your eye image texture. Let me know if this is confusing, or helps at all. It's definitely a potential topic for a future video!
@@TheObservatoryShow Thank you , but it there a way for me to get rid of the of parts of the model because once I made the new UV map and and seam up the eye part to unwrap, once i did it the eye section is there but the other parts of the model is under it. Wondering if there is a way to solve that
Is there actual object geometry under the new eye UV, or textures? I'm having difficulty picturing what you're explaining without seeing it, if you want you can Email us a screenshot or a .blend file and we can take a look at it!
Recently tried the Basic Method One, but for some reason it defaults the textures to be black and white. Long Shot asking about it here, but there's literally nothing out there to help me out.
What if the texture for the face doesn't show up? I'm using the 2nd method.
The faces on the head that contain the eyes are using a separate material from the rest of the head. So make sure you've applied your materials accordingly! There are other ways to set up the materials, but its a lot easier to just use multiple in most cases! Let me know if this helps!
Is it possible to move the character around with the controls following. But not move sonic up and accidentally change his face at the same time
I'm curious about something. How do we export this in to a Game engine since we can't simply export nodes?
Currently there isn't a way that I know of. You have to use the engine to recreate something similar. If I figure it out, I'll definitely make a video on it! Thanks for watching 😀
uh I have a problem with the slider in shader editor whenever I slide it back and forth it doesn't do anything can some help me please?
Which method are you using? By slider do you mean the input value, or the selector in the 3D viewport? Thank you for watching 😄
THANK YOU!!!
Thank you for watching 😀