Saying Goodbye to Animation State Machines

  Рет қаралды 132,501

aarthificial

aarthificial

Күн бұрын

Пікірлер: 179
@marr_cel
@marr_cel 3 жыл бұрын
i like how throughout the devlog you slowly get more and more confident about it
@eftorq
@eftorq 3 жыл бұрын
I felt the same way. I'm so excited where this is going!
@linkunarre
@linkunarre 3 жыл бұрын
*start* -soo... I finally made it public... *End* -I LOVE THIS PROJECT ITS REALLY SIMPLE AND INTERESTING
@Rhino1004
@Rhino1004 3 жыл бұрын
From what I've taken from the explanation: Fundamentally, it performs the same task as a typical state machine animator, complete with functional keyframes and alternative sprite sets. One difference is that it's presented as a tree, though I would argue that you can arrange the FSM nodes to look like a tree anyways. Still infinitely better than my terrible If-Else scripts when I used to make Flash games (RIP). I can imagine people working well with this in a Game Jam over Unity's built-in animator.
@aarthificial
@aarthificial 3 жыл бұрын
Well, my main reason to create Reanimator was to keep a consistent animation frame rate. Which is something that blend trees can't do. Different representation is more of a side effect
@IPODsify
@IPODsify 3 жыл бұрын
I think this type of animator is something unity legitimately needs because a lot of games have animation cancelling as a core mechanic and doing that with the current unity animator is hellish
@mingyenwu9621
@mingyenwu9621 3 жыл бұрын
The idea of turning animation state machine into a tree structure is very inspiring, thank you for sharing!
@igrb
@igrb 3 жыл бұрын
I love how tight and well thought your projects look even at early stages, nice work man. also, looking at that tree like structure, this will probably be the next animator in my heart when it gets a visual interface just by the fact that there will be no dozens of lines crossing each other
@janmagtoast
@janmagtoast 3 жыл бұрын
Interesting. Today I was working with godot thinking about writing a similar system (for 3d in my case). Using Statemachines for animations is just really horrible when you already have a hardcoded statemachine for your character movement. Thanks a lot for sharing this. This gave me a lot of new ideas on how to implement a similar thing in my beloved godot.
@aarthificial
@aarthificial 3 жыл бұрын
Glad to help!
@blueberrygames321
@blueberrygames321 3 жыл бұрын
Hey man, I'm currently taking several Udemy courses so I can learn how to make games, my eventual goal is to get into 2D game development. This tool appeared at what feels like the perfect moment; as one of the things I was warned about was the transition hell you describe here. Thank you for the informative video and I really hope to see your channel grow and I hope to learn from what you provide.
@aarthificial
@aarthificial 3 жыл бұрын
Thank you so much and good luck on your gamedev journey!
@tiredko-hi-
@tiredko-hi- 3 жыл бұрын
Beautiful... I will definitely use this if I start a new project
@IgorKaratayev
@IgorKaratayev 3 жыл бұрын
I see it as basically a different presentation of an animator state machine. And that is great, because it is much cleaner way to navigate it. And it can be quite possible to make a different Animation State machine visualizer for unity.
@VuVuuInc
@VuVuuInc 3 жыл бұрын
unity animator kinda dog, so I shall say this IS the next animator. good job, very pog!
@Jacob-ux2ni
@Jacob-ux2ni 3 жыл бұрын
Taking all of the little lines out of the REANIMATOR logo spells PEPAINPTOP.
@WuchtaArt
@WuchtaArt 3 жыл бұрын
Im not using Unity, but this approach to animating is very interesting
@DockFrankenstein
@DockFrankenstein 3 жыл бұрын
When I worked in 2d first thing I always did was to code my own animator, since the unity one was always messy and not cooperative. Now I work mostly in 3d but cool tool my fellow stranger
@nankinink
@nankinink 3 жыл бұрын
Looks pretty solid for a 0.0.1 version! Definitely gonna try it in my next jam in june!
@rougenaxela
@rougenaxela 2 жыл бұрын
I'm reminded of how I once built a simple little animation system, where my solution to avoid state machine hell was to just have a small list of "base" animations, and then have a list of "animation modifiers" that could be applied, in priority order. The object being animated could have tags for any number of modifiers set. Each modifier consisted of simple a list of frame substitutions that would be made. This didn't have the flexibility to let your modifiers change the length of an animation, but due to how the modifiers were processed in priority order, they did kinda make somewhat of a tree like this.
@hyeve2114
@hyeve2114 2 жыл бұрын
Not sure why I ended up here, but it's a really interesting tool. I feel like you overlook the power of the built in animator somewhat, though - transition hell is only what happens if you attempt to handle your state logic inside the animator. One easy and effective way of dealing with it, is to simply refactor the different animation transitions into a much simpler tree, or even just a list, and control it with a small set of parameters. Instead of each animation needing a transition to each other animation, make each animation accessible from the "Any State" node, either directly or via a tree of parent nodes (make sure to disable "Can transition to self"!), and bam, you can have precise and simple control over your animations, via your actual in-code state machine. This system absolutely still has some advantages in some ways, and it's a really interesting way of handling it, but the built-in animator can be pretty good too, as long as you know how to tame it :)
@aarondcmedia9585
@aarondcmedia9585 3 жыл бұрын
Good luck with your exam! Maybe I am naive, but it looks to me like you created an animation state machine with a different facade. It doesn't _look_ like a state machine, but under the hood, that's exactly what it is. Regardless, what you have produced looks efficient.
@aarthificial
@aarthificial 3 жыл бұрын
Thank you! My grasp of the subject is really poor, but I suspect that reanimator may not only be a state machine but also some higher class of automata? Given the fact that its memory is technically unlimited (maybe it's even turing-complete?) Still, I sure hope that it is at least a state machine cause that would mean that any animation system made with the builtin animator could be migrated to it!
@LukePlaysGames
@LukePlaysGames 3 жыл бұрын
“Not gonna lie, it’s a chunky boi” ...oh my
@BrokenPuzzle03
@BrokenPuzzle03 3 жыл бұрын
You are amazing. Wish you the best in all of your projects!
@aarthificial
@aarthificial 3 жыл бұрын
Thank you so much!
@konstantinkh
@konstantinkh 3 жыл бұрын
It really looks more like a different way to store and traverse the FSM than something conceptually different, but sometimes that's all you need to go from a very messy visualization to a neat one. Kind of like behavior trees aren't really that different from FSM AI, but can be way easier for designers to work with. I can definitely see this working for keyframe animations as well with some minor modifications. Neat approach all in all. 👍
@monad_tcp
@monad_tcp 3 жыл бұрын
But this is a FSM, actually, what he made is more FSM than what unity has. just go look for VFSM and read some of the original papers that are as old as me, from the 1990s. FSM can be hierarchial. Virtual Finite State Machine
@konstantinkh
@konstantinkh 3 жыл бұрын
@@monad_tcp If it runs on a computer, it's technically an FSM. I think it's useful to separate out what we conventionally think of as FSM in game design, which is essentially a graph of states and transitions, vs other representations which are all still, technically, FSMs, but have some unique characteristics. Again, there's a reason why we specify behavior tree AI vs FSM AI, even though both, technically, are finite state machines.
@monad_tcp
@monad_tcp 3 жыл бұрын
​@@konstantinkh yes, what I was trying to say is that what people think of FSMs, even in game design, is more restrict than the actual mathematical formalism. I don't know who simplified it too much that it became too trivial. For ex, things you can do with FSM, you can cascade them, a single state of a FSM can be an entire another FSM, you don't need to use all your application state for the FSM, you can have "virtual FSMs" that only deal with part of the application. It doesn't break the formalism. If you are interested, search for xstate js, its for javascript, but don't worry, it covers the concepts very well. As with anything, a tool is good for some things, not everything. But FSM is more useful than what people think, if used proper, ironically, with less arbitrary restriction.
@konstantinkh
@konstantinkh 3 жыл бұрын
@@monad_tcp In my experience working with designers, sometimes restrictions are a good thing. It's kind of a mixed bag. Like, a more traditional anim graph gives you ability to have more control over transitions. It doesn't matter for simple anims like in this presentation, but for more complex games, if I go into a jump anim, it matters, at least for a few frames, if I was standing still, walking, or running before. And so the anim graph is meant to address that with a more complex FSM, but the downside is that now designers use that graph layout for everything and you end up with a nightmare. Having a setup that forces you into a cascade limits what you can do with it, but prevents these nightmare scenarios from developing, and if you don't need complexity for your game... But ultimately, we need something better. I mean, there's the high tech solution of motion matching or even deep learning, but that has limitations as well. We kind of need a different paradigm for laying out animations, so I'm glad examples like the one presented in video are showing up. Even if all they are doing is limiting scope of FSM to try and clean up the flow. This isn't a solution that will work for all games, but maybe it will help someone to think of something better.
@monad_tcp
@monad_tcp 3 жыл бұрын
@@konstantinkh Restriction is a good thing, its a balancing act, that's for sure.
@FireNLightnin
@FireNLightnin 3 жыл бұрын
You're probably the most innovative game developer I've ever seen.
@DecrareOld
@DecrareOld 3 жыл бұрын
That's neat! I might even be able to use it in one of my projects
@frasercurry7819
@frasercurry7819 3 жыл бұрын
The animator controller is quaking in its boots
@Ziboo30
@Ziboo30 3 жыл бұрын
That looks great ! One note, might be good to have drivers as empty ScriptableObject and not strings. Beyond the scene you could still use string if needed, but at least in the inspector the user will reference a SO and not write a string which is error prone. It's also more data driven :)
@aarthificial
@aarthificial 3 жыл бұрын
Thanks! Totally agree, I hate the fact that drivers are referenced using strings. I really like the idea of using SOs, reminds me of timeline signals. I'll try to roll this out together with the visual editor since it requires some breaking changes anyway
@PiyPowKachou
@PiyPowKachou 3 жыл бұрын
@@aarthificial By the way, it might help you with organization, I do not totally understand how this system works yet, but you can make SO a child of another SO, so called sub-asset. It's just an organisational thing for the project files, sometimes there are too many SO in folders and this helps to organise them. Anyway, not sure if it will be any help or if it applies to this situation, but just sharing info that this thing exists. I want to do a metroidvania game in the jam next time and I am planning to use this :) Hopefully I can get how it works. Great job!
@aarthificial
@aarthificial 3 жыл бұрын
​@@PiyPowKachou Thanks! Of course, it will be a help. I actually used sub-assets in the past, in my passage system: kzbin.info/www/bejne/kJvJmXp7r854e80 They will play an important role when introducing a visual editor since I want the entire graph to be represented by a single asset, with nodes and drivers being stored within. Thanks again and good luck with your game!
@PiyPowKachou
@PiyPowKachou 3 жыл бұрын
@@aarthificial That is awesome, I have used them before, but I had some weird bug with first SO interchanging with main SO asset for some reason, hopefully it was fixed, it was a year ago, ha :) Looking forward to it!
@powerzox8326
@powerzox8326 3 жыл бұрын
Dang your videos are high quality! Thanks btw :)
@aarthificial
@aarthificial 3 жыл бұрын
Thank you, too!
@hakler
@hakler 3 жыл бұрын
Such a nice system :D Thank you for the explenation
@LutennantLongshot
@LutennantLongshot 3 жыл бұрын
Its super cool you made this into a tool. I'll defs look to test this out in my own projects as I was facing similar issues you had with Astortion
@bantinggamer4962
@bantinggamer4962 3 жыл бұрын
very very neat! i cant wait to play around with it. thank you so much for making it available.
@pranavbadrinathan6693
@pranavbadrinathan6693 3 жыл бұрын
I have been searching for this video for a while now, as I really wanted to use this in a game jam. It looks great!
@marrubium8559
@marrubium8559 2 жыл бұрын
Okay not going to lie this is actually exacly what I was looking for.
@SK83RJOSH
@SK83RJOSH 3 жыл бұрын
So, essentially behavior trees, but for animation? This is definitely interesting but it's definitely more useful for the pixel art use case than anything else. I also think you'll find plenty of games are already using this to drive animators in larger games -- indirectly anyway -- since they use it for AI state. Very cool though, thanks for sharing!
@windbreaker17
@windbreaker17 10 ай бұрын
Very cool idea! It looks amazing before you try to use it, and unfortuatelly it's super hard.
@FyresGames
@FyresGames 2 жыл бұрын
Well seeing that project just gave you a new subscriber. I will definitly test it.
@arnerademacker
@arnerademacker 3 жыл бұрын
I was just yesterday struggling animating a sprite using unity's state machine. This might be a better approach for the simple use case I have :) Interesting either way.
@tauheedgamedev2388
@tauheedgamedev2388 3 жыл бұрын
Very nice tool, Iv had my fair share of issues with the conventional animator so may have a look.
@MichaelGGarry
@MichaelGGarry 3 жыл бұрын
"Its a chunky boy, 300 lines" Laughs in professional game developer who has seen many things! I think my personal record that I have seen (NOTE: I didn't write) was 14,000 lines. In one class. One. I can't say what it was, but its in a *very* famous product.
@briantellstales
@briantellstales 3 жыл бұрын
@Richard Müller I doubt it. That game is mega small code-wise.
@iMakeOnionsCry
@iMakeOnionsCry 3 жыл бұрын
Sounds like a Yandere dev thing to do lmao
@mdo
@mdo 3 жыл бұрын
One of the products I'm working on has over 12k lines of code as code-behind in a single WinForms form. Intellisense is disabled for that file for obvious reasons.
@MichaelGGarry
@MichaelGGarry 3 жыл бұрын
@@mdo Oh the days of watching intelligence die and take most of the system resources with it!
@charlesselrachski34
@charlesselrachski34 3 жыл бұрын
half-life 3
@hiiambarney4489
@hiiambarney4489 3 жыл бұрын
I mean... To be honest, you are very humble about this, but if this was done in Unreal, I'd say you'd have a reasonable chance at getting an Epic Mega Grant for that one... So Unity better see this as "oh we kinda ducked up" and give you Unity Pro for free or something...
@eboatwright_
@eboatwright_ 3 жыл бұрын
I love the animation on the platformer character!!
@brooksli4296
@brooksli4296 3 жыл бұрын
It feels like a behavior tree? This is a really good animator!
@steveramage7674
@steveramage7674 Жыл бұрын
This is very cool, you might want to check out the Godot engine it has animation player and animation tree node objects natively built in to the engine that use a very similar pattern. The animation player is a visual tool that allows you to build a bunch of frame based variable timed animations that connect sounds, property changes, apply shaders, fire event, move hit/hurt boxes to be in line with the animation and more on each frame. The animation tree node is where you can visually setup state or blend based animation trees that can control which tagged animations play and what parameters in the scene or events cause them to transition. (as an added bonus if you use aesprite to draw your cell/frame based animations there is a wizard add-on which will allow you to import/re-import your tagged aesprite file into a set of tagged animations directly into an Animation Player node so you can change tweak your animations in aseprite and then re-import)
@goodfacej4313
@goodfacej4313 3 жыл бұрын
well idk why youtube brought me here but cool vid man!
@AhmadHamdaniazure
@AhmadHamdaniazure 3 жыл бұрын
Waw this is awesome, recently I always get problem with unity animator, awesome solution love to learn more from you :D
@squirre1_m4ster22
@squirre1_m4ster22 Жыл бұрын
I love all ur vids it they are all really interesting and dont get boring yet they are super conplex and cool
@arrtemfly
@arrtemfly 3 жыл бұрын
thanks for doing FOSS stuff!
@rasulseidagul
@rasulseidagul 3 жыл бұрын
Hey, this is a cool tool. I think it would be even better if drivers would be referenced as scriptable object not a string. In this case, it will be easy to: rename driver, delete driver and remove it from animation references. Otherwise, it could lead to the "strings" hell 😅 (e.g. string typo)
@aarthificial
@aarthificial 3 жыл бұрын
Totally agree! With the visual editor I wanna make it so that you define drivers in one place and then everywhere else you just have a dropdown with all the possible drivers. Similarly to how it's done in the built-in animator. Of course, under the hood it will be just scriptable objects stored as subassets
@rasulseidagul
@rasulseidagul 3 жыл бұрын
@@aarthificial Awesome 👌
@ricardorios9258
@ricardorios9258 3 жыл бұрын
really cool you do all of this just for the hate of the state machine. I just use a blend tree and my suffering go away, but cool to know there is an alternative
@aarthificial
@aarthificial 3 жыл бұрын
Thanks! Although I actually don't hate the state machine, it's a really useful pattern but the way it's implemented in Unity is really clunky. The main reason to create Reanimator, however, is to achieve what I call "frame rate synchronization". I talk about this a little more here: kzbin.info/www/bejne/pHKVenaeq96Sh7c
@FlummoxTheMagnificent
@FlummoxTheMagnificent Жыл бұрын
Can you make a tutorial/basic guide to how you went about programming this?
@spikerthedragonbear
@spikerthedragonbear 2 жыл бұрын
im surprised this wasnt done already
@pup4301
@pup4301 3 жыл бұрын
More please if you don't mind.
@simon-olivierdesautels2619
@simon-olivierdesautels2619 3 жыл бұрын
YOU DID IT! Thanks a lot!
@agostres
@agostres 3 жыл бұрын
this makes me happy
@BastianTop
@BastianTop 3 жыл бұрын
Dayum! Next level stuff!
@Samwow
@Samwow 3 жыл бұрын
Cool stuff!
@editdev
@editdev 3 жыл бұрын
pog championship
@papermartin879
@papermartin879 3 жыл бұрын
might wanna look into xNode if you wanna make a graph animator for this, seems like it'd be a perfect fit it's designed mainly for this kind of "function" graph
@ehrenmurdick
@ehrenmurdick 2 жыл бұрын
This is still just a normal FA -- DFA, hopefully -- but conceptually, it's still the same thing, right? At the end of the idle animation, it jumps back to the first animation state again, so that's just a hidden invisible edge. I would like to hear back after you've been using it for a while to see if it really improves anything... I suspect you can get into the same (and maybe worse) SM hell as the older method. I could see how just the visualization part of this could help keep things organized; though, I also suspect the same thing could be said about the same visualization for an SM.
@ziccodx
@ziccodx 3 жыл бұрын
yees, custom editors!
@04tmoodyscratch24
@04tmoodyscratch24 3 жыл бұрын
Awesome!
@aarthificial
@aarthificial 3 жыл бұрын
Thanks!!
@Guitoon
@Guitoon 3 жыл бұрын
Nice idea of animation structure ! It would be a very cool upgrade if it will be editable in a unity graph view editor window. ^^
@DiauloXD
@DiauloXD 3 жыл бұрын
very green, but with a lot of potential
@vvortex157
@vvortex157 3 жыл бұрын
cool, keep it on
@FireyDeath4
@FireyDeath4 2 жыл бұрын
Yeah...I just flew through this video understanding maybe 2 things. Gonna stick to learning crap myself, thank you very much.
@sinus4784
@sinus4784 3 жыл бұрын
Love your videos!
@jz9991z
@jz9991z 3 жыл бұрын
Reminds me of behaviour tree
@relt_
@relt_ 3 жыл бұрын
when you do the thing 0:00
@DaydreamStudios_Official
@DaydreamStudios_Official 2 жыл бұрын
💖
@stevenunderwood9935
@stevenunderwood9935 Жыл бұрын
👏👏👏 This is so cool.
@Balawi28
@Balawi28 3 жыл бұрын
I'm proud of you.
@ALX3
@ALX3 3 жыл бұрын
Great job! Is it possible to make a tool that converts your Graph to a Unity State Machine? like a wrapper or something; so people work with intuitive graphs and the tool handles the conversion to complex state transitions.
@aarthificial
@aarthificial 3 жыл бұрын
Thanks! It may be possible but I'm not sure. I don't think everything would work since Unity State Machine can't really modify its own state in a way Reanimator can. Perhaps if you were to generate both a state machine and some additional C# script
@Exerionius-old
@Exerionius-old 3 жыл бұрын
Ever heard of xNode for Unity? It can help turn the infographics used in this video to an actual process of setting up your reanimator.
@aarthificial
@aarthificial 3 жыл бұрын
Thanks! I'll check it out. I was also considering using Unity's GraphView
@Exerionius-old
@Exerionius-old 3 жыл бұрын
@@aarthificial Can't say anything about GraphView, never used it. But xNode is just a bare-bones framework that gives you an ability to visually represent nodes, define ports and connect them, that's it. It does not evaluate the tree, does not pass any data between nodes, nothing. Because of that you can turn graphs built with it into anything, like AI decision tool, state machine, shader graph, dialog system, tree evaluation, etc.
@idoaharon2943
@idoaharon2943 2 жыл бұрын
you are amazing
@mmheti
@mmheti 2 жыл бұрын
I love the concept. My only concern is: magic strings everywhere :o Why not make a drivers ScriptableObject and add a dropdown drawer to pick them from the list? You wouldn't need to remember how tey are named and would eliminate any typo related errors.
@agostres
@agostres 3 жыл бұрын
O.O solid bell
@sadsadsad5000
@sadsadsad5000 Жыл бұрын
what if i want to edit a property at a certain frame, like the boxCollider size for example?
@konakonaxiong7621
@konakonaxiong7621 3 жыл бұрын
跑步的姿势好奔放……好魔性……
@lechu2a
@lechu2a Жыл бұрын
How would you handle this for a Topdown game, where you have multiple directions (most commonly 4 or 8). Would you make different animations for each direction and use a switch node and a driver for it? Transitions are truly complicated, would love to see how you would solve that in the future by creating a transition node that handles the complexity automatically. All your content is excellent, hope you are well and we get to see more from you on the future. Good luck with Astortion!
@alvarogimenez7683
@alvarogimenez7683 3 жыл бұрын
Genio!
@AlmantasKli
@AlmantasKli 3 жыл бұрын
neat!
@beanmr8643
@beanmr8643 3 жыл бұрын
👍
@teamjoy1968
@teamjoy1968 3 жыл бұрын
N1ce
@ektorz
@ektorz 3 жыл бұрын
Interesting video and nice choice of music, what song did you use?
@aarthificial
@aarthificial 3 жыл бұрын
Thanks, it's: Stationary Sign - Not Sure What You Mean kzbin.info/www/bejne/n17ZcqpuqMShnpY But just the bass line
@ektorz
@ektorz 3 жыл бұрын
@@aarthificial Great, thanks!
@ibpositive757
@ibpositive757 3 жыл бұрын
Did anyone else have trouble with trying out the unity project? (version 2020.2.0f1) The PNGs were all giving me errors and the references were all unlinked in the editor.
@aarthificial
@aarthificial 3 жыл бұрын
PNGs are stored using Git LFS so you would have to clone the project with it installed. I didn't realize it would cause the zip file to be broken :(
@ibpositive757
@ibpositive757 3 жыл бұрын
@@aarthificial that did fix it for me, thank you!
@MarcosSilva-il2cm
@MarcosSilva-il2cm 3 жыл бұрын
How a transition work in a 2D frame for frame game? For me the state machine help to create transitions between 3d bones and 2d tween animations
@aarthificial
@aarthificial 3 жыл бұрын
With traditional animations there's really no concept of transitions. You just instantly start playing another animation. You can use transitional animations that I've shown at the end, though. But these need to be hand-drawn. When it comes to tweening and blending skeletal poses, Reanimator is not the best choice
@nickheyer
@nickheyer 2 жыл бұрын
Interesting, but also a bit over my head at the same time.
@HaxorBird
@HaxorBird 3 жыл бұрын
I am working on a game with player customization. The built-in animator just doesn't work with my game. I am also making an animator for this purpose. Your animator will influence it a little but I think the same result can be achieved by other methods. I don't fully get the driver thing. It will be good if you can create a documentation for it. Overall an interesting take.
@jdigi78
@jdigi78 3 жыл бұрын
Really interesting concept and well presented, but I don't see what this system can do that unity's default system can't. You mentioned how it avoids a web of transitions by using a tree system but that's almost exactly how blend trees work, the states are like the root of the tree. Syncing things with animations like footsteps can be done with parameters baked into the animation as well
@aarthificial
@aarthificial 3 жыл бұрын
Interesting. Have you tried to actually modify the provided example so that it uses blend trees?
@pilhamre9182
@pilhamre9182 3 жыл бұрын
Hey, do you know if you could reanimator working with Mirror, the multiplayer extension? To make the animations sync between clients, I can’t get it working.
@aarthificial
@aarthificial 3 жыл бұрын
Hi! I don't know, unfortunately. I haven't thought about networking yet :(
@josejimenez-wd5rw
@josejimenez-wd5rw 3 жыл бұрын
Cool
@Saalach-Spiele
@Saalach-Spiele 3 жыл бұрын
This animator is so very amazing!! So glad to have found you. I'll definitly use this as I've been thinking about how to implement something like it ever since I saw the hardcoded solution by Lost Relic Games here: kzbin.info/www/bejne/pHPOmoaAat9gnqc
@sadsadsad5000
@sadsadsad5000 2 жыл бұрын
are you still updating this? a visual editor would be awesome
@vedrane0
@vedrane0 3 жыл бұрын
No way he actually did it
@RandomGuyStr
@RandomGuyStr 3 жыл бұрын
L e g e n d
@LuneDeRafal
@LuneDeRafal 2 жыл бұрын
I want to use the mirrored but it doesn"t work TT, it play it like a simple animation
@Yipper64
@Yipper64 3 жыл бұрын
0:30 wait unity doesnt do that automatically... and before this there wasnt an easy way to do this....? Fricken, im kinda glad ive been using GMS ngl.
@aarthificial
@aarthificial 3 жыл бұрын
Yeah, Unity's animator isn't really 2D oriented. Could you point me to some GMS documentation that describes how it works over there?
@Yipper64
@Yipper64 3 жыл бұрын
@@aarthificial manual.yoyogames.com/ is the manual, idk if there's proper documentation but you just put in a spritesheet and it creates a "sprite" file with all the separate sub images. You attach the sprite to an "object" and it plays it. Or you do a "draw_sprite" command that takes the image index as an argument.
@monad_tcp
@monad_tcp 3 жыл бұрын
300line is chunk ? the irony is that I just finished rewriting 2000lines of code mutable spaguetti imperative code to be 1000 lines of beautiful state machines ! some say it was a waste of 10h of work, but it was easier than finding the deadlock
@arsenbabaev1022
@arsenbabaev1022 3 жыл бұрын
Can this kind of custom animators be faster then unity animator component? I feel like unity animator has a lot useless featured for 2d sprite animations
@arsenbabaev1022
@arsenbabaev1022 3 жыл бұрын
Why use animator when i can swap sprites myself)
@aarthificial
@aarthificial 3 жыл бұрын
Interesting question. Haven't tested that unfortunately. It could be the case, but Animator is implemented on the C++ side so it probably doesn't need a transition from managed code to change the sprite. Unlike changing it via C#. So that could be a huge performance benefit for Animator. I'll try to test this in my free time.
@B1aQQ
@B1aQQ 2 жыл бұрын
I also keep my important stuff in a Jeff folder.
@Edyremoh
@Edyremoh 9 ай бұрын
me, watching without knowing the first thing about game development: interesting.
@Haapavuo
@Haapavuo 3 жыл бұрын
Could this be modded to support 3D animations?
Reimagining Astortion | Devlog 0
7:22
aarthificial
Рет қаралды 100 М.
Deferred Lights - Pixel Renderer Devlog #1
8:41
aarthificial
Рет қаралды 399 М.
Can You Find Hulk's True Love? Real vs Fake Girlfriend Challenge | Roblox 3D
00:24
快乐总是短暂的!😂 #搞笑夫妻 #爱美食爱生活 #搞笑达人
00:14
朱大帅and依美姐
Рет қаралды 11 МЛН
小路飞还不知道他把路飞给擦没有了 #路飞#海贼王
00:32
路飞与唐舞桐
Рет қаралды 85 МЛН
Pixel Art Animation. Reinvented - Astortion Devlog
4:41
aarthificial
Рет қаралды 2,1 МЛН
Giving Personality to Procedural Animations using Math
15:30
t3ssel8r
Рет қаралды 2,6 МЛН
Programming a BETTER state machine
10:16
iHeartGameDev
Рет қаралды 81 М.
Code Class - Build your own State Machines!
36:42
AdamCYounis
Рет қаралды 55 М.
The secrets to good Pixel Art animation! (Animation tutorial)
6:50
Pixel Overload
Рет қаралды 745 М.
10 Gamedev Libraries For 10 Needs (used by AAA companies)
11:33
Oskar Schramm
Рет қаралды 10 М.
I Made a 32-bit Computer Inside Terraria
15:26
From Scratch
Рет қаралды 3,9 МЛН
So I Built that State Machine Visualiser...
24:44
AdamCYounis
Рет қаралды 28 М.