Animate like a Programmer

  Рет қаралды 224,725

Tarodev

Tarodev

Күн бұрын

Пікірлер: 704
@Norbingel
@Norbingel 2 жыл бұрын
I wasn't convinced until I saw I could bypass trying to line up the animator arrows in the grid
@ShinichiKudoQatnip
@ShinichiKudoQatnip 2 жыл бұрын
Exactly!
@blameyourm8519
@blameyourm8519 2 жыл бұрын
hahaha
@11sveden12
@11sveden12 2 жыл бұрын
I'm comforted knowing I'm not the only one driven crazy by this. I also spend way more time in Shader Graph lining up nodes than I do making actual shaders...
@LeeTwentyThree
@LeeTwentyThree 2 жыл бұрын
this saves me soooooo muuuuuuuchhhh tiiiime i love this video
@mariyamrifa406
@mariyamrifa406 Жыл бұрын
​@@blameyourm8519😊p . ;blue🔵 h😊) gF/+0=°Phl de₹
@spectralshark
@spectralshark 2 жыл бұрын
As a programmer learning game making in Unity I really like this. Now, if only there was a "How to create art/animations as a programmer"
@Tarodev
@Tarodev 2 жыл бұрын
Oh mate... If you find it, let me know
@neintonine
@neintonine 2 жыл бұрын
You can add StateMaschineBehaviours to your Animator states. That way you can programmatically create animations. It is a bit finiky tho. f.E. the duration of the animation is set by the animation set in the state. There is a default duration you can just repeat or you just add a empty animation with your desired duration or you just use your animation and use it to spice up that animation. Plus there is no transitioning, what makes the creation of good animations hard. Transforms, you want to change, must not have any data in the animation you set. In general I would use this feature for simple animations like idle bobing or for stuff that has the same start and end point like firing a weapon. I personally believe it wasn't really designed for that. Sadly I haven't found a good package, that adds new features for such an use-case.
@progress_games
@progress_games 2 жыл бұрын
Program a bot to scrape assess from pre existing games
@kazukixe
@kazukixe 2 жыл бұрын
Asset store?
@jasondads9509
@jasondads9509 2 жыл бұрын
Dalle 2?
@lvlGhostlylvl
@lvlGhostlylvl 2 жыл бұрын
I love how this video is under 2 minutes. Quick and straight to the point. Personally, I prefer the tree and have spent a great amount of time mastering it, but for quick prototypes and game jams this would be WAY faster to set up compared to messing with the tree.
@Tarodev
@Tarodev 2 жыл бұрын
Glad you enjoyed the short form content brother 🙏
@Glooberloob
@Glooberloob 2 жыл бұрын
What do you prefer about the graph/tree? I've only made a couple small projects in Unity, but this approach seems much more convenient to me. Would it be a problem with scale?
@KeybiKeyboard
@KeybiKeyboard 2 жыл бұрын
@@Glooberloob The strength of the graph/tree I believe would be helpful for 3D games such as combo-ing and whatnot. Also, the Finite State Machine Behavior can be more easily used in conjunction with the graph/tree (I think, correct me if I'm wrong but I find it easier to fix there especially with AI)
@spicyshotz
@spicyshotz 2 жыл бұрын
I've only found your channel yesterday but already you are in my top 5, short and to the point. Keep up the good work!
@Tarodev
@Tarodev 2 жыл бұрын
Aiming for that #1 spot
@spicyshotz
@spicyshotz 2 жыл бұрын
@@Tarodev Im sure you'll get there in no time 😉
@leukk_
@leukk_ 2 жыл бұрын
@@Tarodev You'll get there for sure, i love the fact that you cover "intermediate" / "advanced" topics as well that don't necessarily bring you as many views but are much more useful than having 1000 + 1 character controller tutorials
@natickgames1821
@natickgames1821 2 жыл бұрын
Come hang out in his discord!
@GameDeveloperTR
@GameDeveloperTR Жыл бұрын
Which channels are currently in the top 5?
@kozinskiandrzej4
@kozinskiandrzej4 2 жыл бұрын
I am working on animations literally this second. God sent you
@freezeboy13
@freezeboy13 2 жыл бұрын
More tutorials need to be like this, immediately explaining what you want to show off without fluff. Amazing vid
@darkfafi
@darkfafi 2 жыл бұрын
Have been programming in Unity for over 6 years and always wrote my own animation system to avoid the issues addressed in this video. I never heard of CrossFade, this would have solved everything I solved writing my own systems while keeping it connected to the tools Unity Provided. Thank you for showing this! To return the favor, let me address the following thing I noticed about the video: About the animation states. I categorize finite state machines into 3 categories: Level 1: Tracking state by multiple booleans Level 2: Tracking state by an enum Level 3: Tracking state / having the logics of states in separate classes. You were using a Level 1 Finite State Machine. I highly recommend going for a Level 2 or Level 3 Finite State Machine. The nice thing about having it in separate classes is that you can do simple things such as: * WalkingStateClass (holds logics of walking) * FreezeStateClass (changes color when entered, and back when exited) And to have the player freeze when hit by an object, you only have to: CurrentState.Exit(); CurrentState = new FreezeStateClass(); CurrentState.Enter(); Because WalkingStateClass is no longer CurrentState, it no longer is being updated so no walking logics is available anymore. Keeping your behaviour simple and preventing complicated bugs.
@Tarodev
@Tarodev 2 жыл бұрын
Very interesting. Thanks for the write up 🙏
@maxnibler6090
@maxnibler6090 Жыл бұрын
Im getting into unity with some friends. Im a professional programmer but this is my first real foray into game dev. My friends are all artists so I handle all the code. This channel is everything I want. I can figure out how to do nearly everything from the docs but never really know if Im following good practice. Most tutorials have been worthless because theyre not written for or by programmers. Loving you channel because its exactly what Ive been looking for
@Tarodev
@Tarodev Жыл бұрын
I'm here for you 🙏 enjoy your journey
@TheDoomLordd
@TheDoomLordd 2 жыл бұрын
Bookmarking this for the future as i think ill never use the built in animator window ever again
@MarkRiverbank
@MarkRiverbank 2 жыл бұрын
+1 for Animancer Pro, it makes working with animations programmatically so much easier. And, even solves some awful blendtree glitchiness by letting you disable foot IK on a per-animation basis. Technically, another option is directly implementing the somewhat abandoned Playables API which Animancer uses behind the scenes.
@syroin123
@syroin123 2 жыл бұрын
"Tell me anything" you say? Well, the mitochondria is the powerhouse of the cell.
@Tarodev
@Tarodev 2 жыл бұрын
CELLS AT WORK!!
@LostRelicGames
@LostRelicGames 2 жыл бұрын
Great video! I'm glad to see more devs promoting this approach. The mechanim is a clunky and unessessary system (for coders).
@Tarodev
@Tarodev 2 жыл бұрын
You know, I've watched most of your videos, but somehow missed the one on this topic. Another commenter mentioned they originally learned it from you, so I went and watched it swiftly 😂 Love your stuff man!
@ALX3
@ALX3 4 ай бұрын
Finally found a channel with 0 BS, straight to the point, non-trivial dev advice. Thank you!
@Tarodev
@Tarodev 4 ай бұрын
... and maybe I'll get off my butt and make some content
@susanollington5257
@susanollington5257 2 жыл бұрын
Thank you so much for posting videos for intermediate level coding, it’s just what I need!
@lDominicl
@lDominicl 2 жыл бұрын
"I read every single one of them." WELL THEN, I HAVE SOMETHING TO SAY TO YOU. that's a very well done video and I appreciate the time and effort that it must have taken to make it.
@Tarodev
@Tarodev 2 жыл бұрын
Oh... Well thank you sir
@synchaoz
@synchaoz 2 жыл бұрын
I switched to code-driven animation almost from day 1 of learning Unity after seeing LRG's tutorial on how to avoid Mekanim spiderweb madness. I barely even know how to use the Unity animator at this point. Your string hash to int trick is something I have not been doing though, until now! Thanks!
@gamedevteacher7065
@gamedevteacher7065 2 жыл бұрын
Got a link to that video?
@synchaoz
@synchaoz 2 жыл бұрын
@@gamedevteacher7065 kzbin.info/www/bejne/pHPOmoaAat9gnqc&ab_channel=LostRelicGames Simple little string based animator state machine. I've extended it a bit for personal use and even implemented parts of yours, but John's does a fine job even just out-of-the-box
@gunhann
@gunhann Жыл бұрын
I'm relieved that I'm not alone to align horizontally the animator connection lines :D
@cr4zyhand581
@cr4zyhand581 2 жыл бұрын
You can take this a step further by using Scriptable Objects to create states and then having a State Machine Monobehaviour. This way you can link up states to different animations which is particularly handy for games with multiple playable characters and generally works better as a more modular methodology than the firewall
@Tarodev
@Tarodev 2 жыл бұрын
I actually love that!
@simonwahlstrom1296
@simonwahlstrom1296 2 жыл бұрын
I work as a software developer and I'm just starting to get into game development in my free time. This was perfect for me as I prefer to use code over Unity tools if it makes the process simpler, which this really does. Thank you!
@SalehGfx
@SalehGfx Жыл бұрын
Good job making this video, I feel the YT algorithm read me my mind and showed me this when I needed it.
@conedome6845
@conedome6845 2 жыл бұрын
I really love your videos man, short and to the point. I’m a little confused on 3D animation but honestly the more I think about how to implement it the more I think I can
@Tarodev
@Tarodev 2 жыл бұрын
If anything 3D animation is a bit easier as you can interpolate frames between two animations (this is handled automatically) to create smooth transitions. You can do it brother!
@mishaslizhov1056
@mishaslizhov1056 2 жыл бұрын
Yo, that was extremely helpful, I saw a video from lost relic games talking about the concept of coding animations, but you took it to the next level
@uhohwhy
@uhohwhy 2 жыл бұрын
im gonna ughh.. im cooomiiin AAAhhhHh
@mufelo
@mufelo 2 жыл бұрын
Beware the trigger, the animator, the Mecanim. Love the Animancer shoutout! Preach, brother!
@ofa44332
@ofa44332 2 жыл бұрын
This is so helpful. As someone coming to Unity from GameMaker Studio, this is really similar to how animation is done there. So much easier for sprite work!
@Tarodev
@Tarodev 2 жыл бұрын
I wasn't aware of that, interesting
@hmzaelmkd
@hmzaelmkd 2 жыл бұрын
this looks a lot easier than working with unity animator, it would be great to see a full tutorial on this!
@Conor_Tuohy
@Conor_Tuohy 2 жыл бұрын
Yes - an explanation of your full code, and what connects to what components, what terms or commands actually do, why you use the techniques and code you use, etc - that'd be very useful to us folk just starting out!
@getintheoven
@getintheoven 9 ай бұрын
had to come back with a new channel because the game i was working on last year uses your character controller... thank you for existing btw! hope you're overcoming any stress you're dealing with at this current point in time and that this year goes great for you :)
@stevennassef
@stevennassef 2 жыл бұрын
I really love your videos, they always have interesting topics actually.
@ZaneBastian
@ZaneBastian 2 жыл бұрын
"...as I read every single one of them". Hah.. Taroboi's in for a load of spam... *checks comments* Wow, now that's a fine, civil crowd right there if I ever saw one...
@Tarodev
@Tarodev 2 жыл бұрын
Tarobois are good bois
@iHeartGameDev
@iHeartGameDev 2 жыл бұрын
So much information condensed into a video that's under 2 minutes. Beautiful Taro! And now it feel like a ton of my videos should be refactored to use this method of animating XD
@pedrinkss
@pedrinkss 2 жыл бұрын
Combining this with the state machine that you showed us = gold!
@glassmarble996
@glassmarble996 2 жыл бұрын
maybe you make a video about this.would be good.
@hegworks
@hegworks 2 жыл бұрын
I always appreciate seeing new approaches to the same repetitive things I've been doing all the time. Thanks mate🐦
@matthewsmith2682
@matthewsmith2682 2 жыл бұрын
I'd like to understand ANYTHING you just said. Well done mate.
@ThisProgram
@ThisProgram 2 жыл бұрын
This is amazing! Getting rid of transitions and blend trees is a god send. I work exclusively with pixel art games and this is a perfect solution to the spider web woes I continue to deal with. This method is simple and intuitive. As a newb to game dev, a more detailed video doing a deep dive into creating the script and going through some different interactions of the code with various actions like attacking, jumping, et cetera, would be great. Thanks for the code and the quick video on how it all works.
@Tarodev
@Tarodev 2 жыл бұрын
I'd love to hear how you go with it. Reply here when you've had a play 😊 I have a pretty fleshed out version on my patreon if you're ever interested
@ProdigiaGames
@ProdigiaGames 2 жыл бұрын
Good stuff! My current game is a track- based music game so all of my character animating is being done on the timeline for this one, but I'll definitely keep this in my bag of tricks for future projects. The more you can calculate programatically, the better!
@Tarodev
@Tarodev 2 жыл бұрын
This strategy seems ideal for that type of game, so long as you have events being fired for the beats
@ProdigiaGames
@ProdigiaGames 2 жыл бұрын
@@Tarodev Actually, that makes sense. I was just going to make manually animated segments with timeline triggers to branch/loop, but that could potentially help automate at least some of the animation setup. I'll have to weigh my options!
@sapientunderground
@sapientunderground 2 жыл бұрын
Good stuff, I use a very similar system for a 2.5D platformer project, the level of control is very good to have, and no animation/transition setup overhead.
@francescagreetham1804
@francescagreetham1804 2 жыл бұрын
This is sooo handy! Definitely going to play around with this. Thank you!
@646AWESOME
@646AWESOME 2 жыл бұрын
I highly recommend using Playables graphs for 3d animation. It's built into unity (but with little documentation) and offers even more programmer centric design. For instance, you can use animation clips as serialized fields and reuse animation graphs just like you reuse code. There is extra work needed to get it set up but it gives you so much more control. It also let's you customize transitions so they're not linear!
@mufelo
@mufelo 2 жыл бұрын
Animancer takes away most of the extra work and uses playables in the backend.
@MujjMujj
@MujjMujj 2 жыл бұрын
What an amazing video, this is so much better than trying to fiddle with the unity ui
@eliphillips4392
@eliphillips4392 2 жыл бұрын
What an effective, quick video. Humour, bit size and taught well.
@Tarodev
@Tarodev 2 жыл бұрын
Thanks Eli
@MidasButSilver
@MidasButSilver 2 жыл бұрын
This Channels like finding a hidden gem, informative and quick to the point. Nice content
@fmproductions913
@fmproductions913 2 жыл бұрын
Really like this idea tbh. In the past years, for a few of my games were animation transitions aren't that relevant, I always just made a state machine that is used in the MonoBehaviour and just play and adjust animation state in the logical states, kinda like you showed in the video. It prevents a lot of the pains of having to deal with the Animator and having to maintain 2 different state machines. More recently I also worked on a small editor script that basically generates the hashes of the animator state names and parameters as static variables into a file, that's pretty useful as well ^^
@ilikesnow
@ilikesnow 2 жыл бұрын
It's like you were sitting across the "office" from me today! I've been struggling the past week with this exact scenario but 3D. Thank you so much sir.
@Tarodev
@Tarodev 2 жыл бұрын
Here to help 😉
@AetherXIV
@AetherXIV 2 жыл бұрын
Always love your stuff. Best unity tut tuber
@Tarodev
@Tarodev 2 жыл бұрын
Thanks Caleb 😘
@WeenieWalkerGames
@WeenieWalkerGames 2 жыл бұрын
Wow, that looks a lot easier to follow than the spider-webs with parameters that you can't tell apart. I'll also have to look into that string hash thing you used; never heard of that one.
@williamhiciano394
@williamhiciano394 Жыл бұрын
this is absolutely awesome did not know about this, thanks !
@AlexBlackfrost
@AlexBlackfrost 2 жыл бұрын
I've tried this approach myself for 3D characters in the past after watching LostRelicGames video, and honestly, I didn't like how it turned out. I'm going to share the pitfalls I encountered using this approach just in case someone is curious about it: In 2D spritesheet animation this approach sounds good because you don't need to blend between animations or to handle animation transitions offset, but that's something you need to do in 3D or 2d skeletal animation (most of the time). While you can store the transition duration and the timeOffset parameters outside the animator and pass them to CrossFade() or CrossFadeInFixedTime(), this approach makes it harder to tweak the animation transitions. In Unity's animator you can easily tweak the transition duration and time offset parameters with some sliders and textfields and see the results immediately. However, using this approach I had to execute the game every time I wanted to tweak those parameters. I also tried creating the transitions in the animator window, tweak those parameters in the animator and then copy/paste them into my code so that I could get the best of both worlds, but then you'd be working twice as much, it felt like re-iventing the wheel to me. I also tried to just use the animator to store and tweak the transition duration and transition time offset parameters and then read those parameters using scripts, but the classes that store that information (like AnimatorStateTransition) are editor only, so it didn't work in builds. Another problem I faced was detecting when an animation has ended. Sometimes I wanted to trigger an action right after an animation ended without having to use a timer or re-inventing the wheel (like switching from attack state to idle state after playing an attack animation ). I tried to use Unity's OnStateExit() method from StateMachineBehaviour classes, but that method only gets called after a transition to a new Unity's animator state happens, something that doesn't happen if you are using CrossFade() and don't have transitions in your animator. It felt like working against Unity's animator rather using its tools. I also considered using Animancer back in the day, since it expands on this concept as you mentioned, but I didn't feel like using an asset that replaces such a core component of a game engine (the animator system) would be a good idea, it felt like re-inventing the wheel again. If someone finds an alternative to any of the problems I've faced I would be very glad to hear it. Now, while I didn't succeed in implementing this architecture into my game it doesn't mean it won't be good for yours, I'm just sharing the problems I faced making a smashbros-like game. If I had to make a 2D game with sprite animations I would try this approach again. That being said, thanks for making this video, it's a very interesting topic that only a few people like LostRelicGames have covered on youtube. Also, looking forward to see the quaternions video👀
@Tarodev
@Tarodev 2 жыл бұрын
You touched on the solution to your problem... Animancer. It is always a good idea to reduce third party plugins, but it really does fill the gap well. The visualiser is a great addition to the workflow. Nice writeup mate!
@rjnebrja1599
@rjnebrja1599 2 жыл бұрын
For your second problem you can always use Animation events and put one at the last frame of your animation and hook that event up somewhere else in your codebase. No need to use a timer or OnStateExit.
@AlexBlackfrost
@AlexBlackfrost 2 жыл бұрын
@@rjnebrja1599 Thanks for your suggestion. I also tried what you mentioned and I think it's a bad approach, specially when your are developing something bigger than a game jam game. The first problem is having to create an animation event for every single animation in your game. It's very time-consuming, specially if you have to re-import animations or you modify the animation speed of an animation. Another problem is Unity's Animation Event function selector. It doesn't escalate well: the dropdown function selector doesn't have any kind of filter to select the function you're looking for, and the list of functions grows very fast as your game grows and your character has more components and thus, more functions that show up in the function selector. As far as I know, the only way to quickly scroll through the list of functions is to use the arrow keys, the mouse wheel doesn't event work (using unity 2020). Finally, a last, but not least important problem is to tweak the transition crossfade duration parameter and the animation event frame so that your animation event is fired before the transition ends (otherwise it won't be executed). Yes, you can get it working with animation events, but it's very time-consuming and doesn't escalate very well, in my opinion.
@rjnebrja1599
@rjnebrja1599 2 жыл бұрын
@@AlexBlackfrost Oh I'm not saying there aren't any drawbacks with AnimEvents. I just wanted to suggest that there is an alternative to using timers as a way to check for the end of an animation. Especially for cases where there are varying animation lengths and you have to account for them each time you set up a timer waiting for one to end. Using AnimEvents, you can just attach them on the near end of the animation and you're done for now. Though I agree with your with your opinion that it can be time consuming, I just consider it to be part of the animating process and it helps with the psychological part. Anyways, I guess it's all up to preference and working around the kinks of the features Unity gives us. Goodluck with your game!
@AlexBlackfrost
@AlexBlackfrost 2 жыл бұрын
@@rjnebrja1599 maybe my reply sounded a little harsh (sorry about that). I have to say that it was actually a pretty good suggestion! Back in the day I tried it because I thought it was a really good solution and even used it for a long time (that's why I was able to make such a long reply about my experience using this approach haha). You're right, it has its advantages and disadvantages. I found it very time consuming for my game (3D fighting game), but it may be a good solution for another type of game, like a 2D game. And it's not like I know a better solution, so it's definitely an approach to be considered. Thanks! Wish you the best in your gamedev journey.
@Glooberloob
@Glooberloob 2 жыл бұрын
thank you so much for sharing this. it seems like a much easier way to animate considering i always just set up animation triggers and call them one by one. and great presentation too!
@Tarodev
@Tarodev 2 жыл бұрын
Enjoy your new power
@RedCabinGames
@RedCabinGames 2 жыл бұрын
Thank you! I didn't know about this feature! I already have a state machine in code to manage transitions and trying to match the Unity animator with it was painful. This just works with basically one line of code! I think about this video almost daily and feel thankful for it :)
@luisrosado7050
@luisrosado7050 2 жыл бұрын
The shear anount of happyness, anger, gratitude and shock i feel after learning this is astounding, im subscribing for my foolishness
@DePistolero
@DePistolero 2 жыл бұрын
Incredible content!!! Feel like a beginner watching your videos!!! Grow that channel!! Grow like crazy!!!
@Tarodev
@Tarodev 2 жыл бұрын
I'm tryyyyyyiiiinnnnngggg 😂
@pliniomourao
@pliniomourao 2 жыл бұрын
Simple, objective and precise. Thank you Tarodev!
@lamarhoward8478
@lamarhoward8478 2 жыл бұрын
Yoooo 🤯 this is literally exactly what I need after just deciding today to make my platformer 2.5D with models instead of 2D with the same models baked as sprites. Nice 🤝🏾
@Tarodev
@Tarodev 2 жыл бұрын
I love 2.5D. Good luck with your project!
@lamarhoward8478
@lamarhoward8478 2 жыл бұрын
@@Tarodev Thanks, good luck with your projects as well 👍🏾
@JimPlaysGames
@JimPlaysGames 2 жыл бұрын
Damn. I wrote my own animation script because I found the cumbersome web of nonsense in the Unity animator not worth the effort for 2D stuff. This seems like it cuts down on that problem though and still allows making the animations in the animation editor. Excellent stuff!
@Tarodev
@Tarodev 2 жыл бұрын
When you say you created your own, do you mean you manually looped through subsets of sprites?
@JimPlaysGames
@JimPlaysGames 2 жыл бұрын
@@Tarodev yeah I tracked time elapsed in the update function and then changed the sprite to the next one in the array when it reaches the duration of a frame. It's pretty basic but it works for the project I'm using it on right now. If I need something more complex though like for a platformer character I will refer back to this video.
@obo7172
@obo7172 2 жыл бұрын
Amazing idea. Animated transitions have not been relevant for some of my games over the past few years. I just created a state machine for the MonoBehaviour and just played and adjusted the animation state in the logic state like you showed in the video. It avoids many of the problems of dealing with animators and having to maintain two different state machines.
@NickMaltbie
@NickMaltbie 2 жыл бұрын
This is marvelous
@Tarodev
@Tarodev 2 жыл бұрын
Good luck brother! Remember, the provided script is still basic. You can deck it out with some advanced features like OnFinish and OnStart events
@NickMaltbie
@NickMaltbie 2 жыл бұрын
@@Tarodev I have a state machine based character controller so I already have all the transitions mapped out! Thinking of switching it to coyote based state machines so I can decorate the states with attributes on what animation to switch to when loaded!
@mrstruijk
@mrstruijk 2 жыл бұрын
This is super useful! More of this please :)
@stevencraeynest7729
@stevencraeynest7729 2 жыл бұрын
with a title like that, I expected a comedy video :p
@mrcroco5121
@mrcroco5121 Жыл бұрын
this channel is a blessing ..honestly. superb content.
@Tarodev
@Tarodev Жыл бұрын
Thank you ❤️
@eerongal
@eerongal 2 жыл бұрын
Probably outside of the scope of a quick vid like this, but if you're using a state machine pattern within your own code, changing animations like this can easily be handled more elegantly than a block of if statements, ESPECIALLY if your animation is tied to state. Just have some sort of "onStateEnter" function on your states where you set your animation.
@Tarodev
@Tarodev 2 жыл бұрын
I use state machines all the time, but I like my current approach more. Way (way) less boilerplate, exact same result.
@Mickplouffe
@Mickplouffe 2 жыл бұрын
Anything I want? - The video on Quaternions ;P. (Take your time) - Also you replacing Brackeys on YT. - ACTUAL IDEA: I would like a revisit of your Ultimate 2D Platformer Controller in Unity, but 3D 3rd Person. - Lastly, I want you to be happy and loving what you do. Same for all fellow devs!
@theonlycatonice
@theonlycatonice 2 жыл бұрын
LockState is probably what I needed. I followed LostRelics version of this in a lil endless runner I made and I noticed animations being overridden. So in the animator I linked necessary ones back to idle, also turning off the autoloop, and then in my if statement checking player states, I stop/prevent the state changing unless it's not one of those animation states. E.g. player is landing from a jump, even if they are grounded, I don't want idle to play since I want the jump animation to finish, if not jumping play idle but when jump is finished in the animator it will go back to idle. Your LockState example essentially does what I wanted 👌 Also I wish beginners knew of this because Unitys spider web is a nightmare and I can't see an advantage over just coding it.
@noodle-eater
@noodle-eater 2 жыл бұрын
I just know this API after a few years working with unity, thank you this is looks awesome.
@smokedsalmon665
@smokedsalmon665 2 жыл бұрын
This video just gave me a "goddamn!" moment and reminds me again of why I love programming in the first place. Thank you!
@Tarodev
@Tarodev 2 жыл бұрын
Program all the things
@firstvf
@firstvf 10 ай бұрын
Didn't expect that 2 minutes video could be so useful.. You are genius, thanks!🙂
@matteomanicone5717
@matteomanicone5717 2 жыл бұрын
Thank you. I converting the state to hash looks like a good idea and it could be used for an enum. Can't wait to test it out.
@Tarodev
@Tarodev 2 жыл бұрын
Just ensure you're still sending the hash to the animator as it's significantly more efficient
@atmegaphil
@atmegaphil 2 жыл бұрын
thank you! This reminded me of a tutorial i watched last summer from Kiwicoder but in 3D. Programming animations this way seems the cleanest way.
@xena-spectrale
@xena-spectrale Жыл бұрын
This tip is so simple yet so effective. It just pulled me out of a full half-day unity animator nightmare. Thanks Tarodev 💙
@jaylahouse5100
@jaylahouse5100 2 жыл бұрын
Omg this is everything I ever needed as a programmer. Thank you
@Tarodev
@Tarodev 2 жыл бұрын
Enjoooooy
@PitiITNet
@PitiITNet 2 жыл бұрын
Mr Taro, that is fantastic video! Thank you so much for it :D. I had no idea this method exists!
@Tarodev
@Tarodev 2 жыл бұрын
Thanks buddy :)
@viramyar4259
@viramyar4259 2 жыл бұрын
Hey TaroDev! Great video, honestly struggled with animations and the damn spider webs way too much. Actually checked you out after the blackthornprod 3d game dev video, you were a complete machine in that! Thanks for the video mate, have a good one!
@Tarodev
@Tarodev 2 жыл бұрын
Welcome aboard mate 😊 I've had a bunch of complaints that I threw out too many previous dev implementation in that video, lol. Woops.
@viramyar4259
@viramyar4259 2 жыл бұрын
@@Tarodev all good mate, p.s I liked your changes
@Analyzer_Games
@Analyzer_Games 2 жыл бұрын
just one word THANKS
@newarteest
@newarteest 2 жыл бұрын
This is the most useful Unity tip I've seen in a while. Mecanim is a very useful tool for 3D characters, but so much annoying overkill in many other situations.
@Tarodev
@Tarodev 2 жыл бұрын
Glad you liked it
@bumbowo
@bumbowo 2 жыл бұрын
YOU MY MAN ARE SPEAKING MY LANGUAGE
@bruggles1135
@bruggles1135 2 жыл бұрын
This is absolutely fantastic, thank you so much! I love doing things through scripting, it just makes so much more sense in my head, and I feel like I have so much more control over how I do things. Never going back to spaghetti trees lol.
@the3rdr0b0t
@the3rdr0b0t 2 жыл бұрын
I thought this was an asset you made and wanted to show off but no, this is straight up base unity functions. How has this evaded me for so long?!?!
@Tarodev
@Tarodev 2 жыл бұрын
It evaded many of us... But we now have the power.
@the3rdr0b0t
@the3rdr0b0t 2 жыл бұрын
@@Tarodev I will follow you to the ends of the earth, finder of ancient treasures
@emailforsomething5286
@emailforsomething5286 2 жыл бұрын
very nice and looks interesting
@skymanito
@skymanito 2 жыл бұрын
you are a fooking legend!
@mehmedcavas3069
@mehmedcavas3069 2 жыл бұрын
wow thought this is a tool or something like that, but the animator itself has it. how did I not see this for all these years :D
@mattkaiser8984
@mattkaiser8984 Жыл бұрын
😭 the line… you just touched my heart. That line drove me insane for so long. I hate it.
@M4nichean
@M4nichean 2 жыл бұрын
You had me at OCD, really enjoying your vids man keep it up PLEASE. Learning lots even started making my own space shooter!
@Tarodev
@Tarodev 2 жыл бұрын
Hell yeah brother!! Good luck with the shooter
@calebgilbertyt
@calebgilbertyt 2 жыл бұрын
This was really helpful, I'm just not a big fan of the unity animator, and my brain works very logically, so I will be using this method a lot more, thanks so much!
@JamesMakesGamesYT
@JamesMakesGamesYT 2 жыл бұрын
Great video Taro! Never heard of CrossFade or the firewall pattern before this, definitely have to try them out
@Tarodev
@Tarodev 2 жыл бұрын
You've never heard of the firewall pattern as I coined it while writing the script :D
@JamesMakesGamesYT
@JamesMakesGamesYT 2 жыл бұрын
@@Tarodev Well now I don't feel too out of the loop :D
@gogokowai
@gogokowai 2 жыл бұрын
The standard name for the "firewall pattern" is "guard clauses". It normally refers to returning after checking function parameters for valid values, but can also refer to a string of conditionals and return statements. Firewall pattern sounds cooler, but it might be a confusing term if you're writing network code.
@lp-games
@lp-games 2 жыл бұрын
Oh man! Thank you so much... I love this!
@ezphantom
@ezphantom 2 жыл бұрын
FSM is all you need. Good day
@TurboMakesGames
@TurboMakesGames 2 жыл бұрын
Crossfade is new to me, this seems right up my alley. Great video man 👊👊
@StarshipJais
@StarshipJais 2 жыл бұрын
This was helpful and motivating, thanks.
@TegridyMadeGames
@TegridyMadeGames 2 жыл бұрын
animancer is great i always use it
@Tarodev
@Tarodev 2 жыл бұрын
It's truly amazing. Possibly overkill for sprite sheet animation, but amazing for everything else
@unbroken-hunter
@unbroken-hunter 2 жыл бұрын
Your awesome m8
@Morphexe
@Morphexe 2 жыл бұрын
Animancer was one of the best assets I ever purchased in Unity.
@voodoo5191
@voodoo5191 2 жыл бұрын
I always had so much trouble with animator in unity. This video is great!
@captainjet-pack
@captainjet-pack 2 жыл бұрын
I know nothing about animation or programming. 10/10 video very helpful!
@Tarodev
@Tarodev 2 жыл бұрын
Thanks Captain!
@Димас-ТвойРазработчикИгр
@Димас-ТвойРазработчикИгр 2 жыл бұрын
Amazing work, bro !
@antijulius
@antijulius 2 жыл бұрын
Thank you for acknowledging the most important reason; animator tree OCD. It just taunts you with its awkwardly connected different-sized boxes. Been using Crossfade for a few months now. Never going back.
@Keanine
@Keanine 2 жыл бұрын
I recently started doing this after getting frustrated with the animator for years, funny that its popped up in my recommended now! I'd highly recommend this method, it doesn't have many downsides if you've already implemented your own state machine anyway
@bike_n_fish
@bike_n_fish 2 жыл бұрын
you would be proud of me taro kun
@Tarodev
@Tarodev 2 жыл бұрын
Tell me
@FakeMelon
@FakeMelon 2 жыл бұрын
I love your videos, you just get the point so efficiently. thanks.
@rutchjohnson
@rutchjohnson 2 жыл бұрын
Nice editing, Tarodev! Very useful animation. I hate that animation window. Ugh
@mariocamspam72
@mariocamspam72 Жыл бұрын
Ah the wonders of concise unity content. love it
@BrainDeadSlime
@BrainDeadSlime Жыл бұрын
That's an easy sub for sure. Gonna try this sometime soon
@omerpasa3328
@omerpasa3328 2 жыл бұрын
aaa learned this from Lost Relic Channel in detail so I know already but your flow and his flow is kinda different...
How to setup Global Matchmaking for Unity
12:27
Tarodev
Рет қаралды 76 М.
10 Things You NEED to Be Doing in Unity
11:40
Tarodev
Рет қаралды 136 М.
Lamborghini vs Smoke 😱
00:38
Topper Guild
Рет қаралды 55 МЛН
From Small To Giant 0%🍫 VS 100%🍫 #katebrush #shorts #gummy
00:19
One day.. 🙌
00:33
Celine Dept
Рет қаралды 65 МЛН
Escaping Unity Animator HELL
18:18
Lost Relic Games
Рет қаралды 516 М.
It's not hard to make games in C++
6:23
Low Level Game Dev
Рет қаралды 22 М.
Pixel Art Animation. Reinvented - Astortion Devlog
4:41
aarthificial
Рет қаралды 2,1 МЛН
Unity Code Optimization - Do you know them all?
15:49
Tarodev
Рет қаралды 198 М.
Running "Hello World!" in 10 FORBIDDEN Programming Languages
18:07
Giving Personality to Procedural Animations using Math
15:30
t3ssel8r
Рет қаралды 2,6 МЛН
Can I remake those SH*TTY mobile games in 1 HOUR?
23:13
Code Bullet
Рет қаралды 2,2 МЛН
Unity Collision Cheat-Sheet - Discrete vs Continuous
2:45
Tarodev
Рет қаралды 40 М.
Professional animator works on subscribers' Unity games for free.
22:20
Lamborghini vs Smoke 😱
00:38
Topper Guild
Рет қаралды 55 МЛН