C# Inverse Kinematics in Unity 🎓

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 มิ.ย. 2024
  • Woha! We are going deeper. With the last episode of mine, I demonstrated how to use inverse kinematics if the script is already set up for you. But many of you want to look under the hood and want to have a deeper understanding of it.
    I will use the FABRIK IK Algorithm that is used in Roblox for example. We will go step by step through the code. The best thing is, that the code is already available on github:
    github.com/ditzel/SimpleIK
    And of course ready to go on the asset store:
    assetstore.unity.com/packages...
    If you want to know what you can do with it, i will recommend you the first part:
    • Free Inverse Kinematic...
    On the time of this video release I will have my espousal. Wish me Luck!
    Become a patreon: / ditzelgames
    #ditzelgames #unity #gamedev

ความคิดเห็น • 197

  • @Danidev
    @Danidev 4 ปีที่แล้ว +786

    Awesome tutorial, this is really good stuff!

    • @mojoplayer8915
      @mojoplayer8915 4 ปีที่แล้ว +24

      so you are making advanced 3d games now?

    • @calebstevens8269
      @calebstevens8269 4 ปีที่แล้ว +16

      and now it's in your new vid! nice

    • @viper26k
      @viper26k 4 ปีที่แล้ว +13

      Came here after your video. I hope I will be able to apply this to my project.

    • @Officialjadenwilliams
      @Officialjadenwilliams 4 ปีที่แล้ว +9

      so THIS is how you made the robot. AHAGH! Now I understand.

    • @Garwinium
      @Garwinium 4 ปีที่แล้ว +1

      hold up only 7 replys to a dani comment (also i got no milk rn D: )

  • @FilletDev
    @FilletDev 3 ปีที่แล้ว +73

    Basically kinematics... *BUT INVERSE*
    -Dani 2020

  • @happychuckprogramming6048
    @happychuckprogramming6048 3 ปีที่แล้ว +17

    Thank you for this tutorial. I was able to apply this with my active ragdoll.

  • @ozanurkmez8788
    @ozanurkmez8788 3 ปีที่แล้ว +2

    Absolutely gorgeous! We need more tutorials like this :)

  • @anthonyfudd6040
    @anthonyfudd6040 3 ปีที่แล้ว +2

    This was a really great tutorial! Thank you very much!
    This is a complex subject, but I thought you did a great job of explaining it, and your code is very easy to read.

  • @Snaog
    @Snaog 3 ปีที่แล้ว

    Started out a little sceptical because of how little I understood the gizmo code, but you actually did a really great job of explaining the algorithm! Awesome work!

  • @PixelWitch
    @PixelWitch 3 ปีที่แล้ว +2

    This is very complicated but you explained it so well I feel like I actually understand, thank you!

  • @anaelcorbe8289
    @anaelcorbe8289 ปีที่แล้ว +1

    Thanks ! Really simple to understand, it helps me to understand more things about Quaternions so now i can do IK and a lot of other things

  • @garbagescript
    @garbagescript 4 ปีที่แล้ว +3

    It is one of the greatest unity tutorials, thanks.

  • @3Doode
    @3Doode 3 ปีที่แล้ว +1

    Thanks alot man! It really helped me to solve my rotation Issue. I did a few things different because I dont calculate the Plane rotation stuff because I only correct ground alighnment with it.so I could assume alot of calculations and save a few things.

  • @no_0nehere_875
    @no_0nehere_875 3 ปีที่แล้ว +5

    Thanks a Lot....Made my day after I was trying to figure it out for a month.....or even more

  • @Pruegelkram
    @Pruegelkram 3 ปีที่แล้ว +1

    thanks a ton! Couldn´t really wrap my head around IK.

  • @jamawahid9408
    @jamawahid9408 3 ปีที่แล้ว

    Danke fürs Zeigen!! Super Tutorial :) Weiter so!

  • @hogoromootsutsuki4079
    @hogoromootsutsuki4079 2 หลายเดือนก่อน

    this process is pretty simple. I tried a method where I took three points - root bone pos, pole, and target pos, and had each bone rotate to a point on the curve, using boneIndex+1/boneCount. It worked, but with overshoot, then I tried inverse kinematics, but could not make it work. Your video helped solve my problem, thank you for the video.

  • @leonida-sabiri4716
    @leonida-sabiri4716 3 ปีที่แล้ว +1

    Well i think am gonna have a hard time trying to implement it in my own way and my own code , this tutorial really helped me to understand IK ...thanks !!!

  • @Frank_G_Finster
    @Frank_G_Finster 4 ปีที่แล้ว

    Excellent tutorial with easy to follow explanation. I learned a lot and will definitely put it to use!

    • @Frank_G_Finster
      @Frank_G_Finster 4 ปีที่แล้ว

      And excuse my manners... thank you very much for sharing :)

  • @VisualShortStories
    @VisualShortStories 2 ปีที่แล้ว

    thank you! it was a very informative and great tutorial.

  • @dev-menon
    @dev-menon 2 ปีที่แล้ว

    Thanks man this is a great tutorial!

  • @aleksanderbaszkiewicz536
    @aleksanderbaszkiewicz536 4 ปีที่แล้ว +2

    Dude it's just perfect. You've explained such hard task (for me it's hard) in such a simple way. I've understood everything.

  • @ev-tech2050
    @ev-tech2050 3 ปีที่แล้ว +7

    Nice tutorial! I used to do IK in 2D by using rotations in a similar way, but using positions is way easier it seems. However, is there an easy way to limit rotations? I have some ideas but that would require a lot more maths in the forward and backward iterations.

  • @raam1211
    @raam1211 3 ปีที่แล้ว

    Amazing tutorial, thanks so much

  • @ChaosCain4
    @ChaosCain4 4 ปีที่แล้ว

    Thanks so much for this, it's such fun to be able to pet things

  • @amba451
    @amba451 2 ปีที่แล้ว

    i wish i could like this tutorial more than once , thank you sir for this amazing tutorial

  • @thanos_n9s145
    @thanos_n9s145 5 ปีที่แล้ว +1

    That looks really awesome..

  • @DerAua
    @DerAua 5 ปีที่แล้ว

    Wow. Thank you soooo, all much!

  • @seei200
    @seei200 4 หลายเดือนก่อน

    amazing video!

  • @Makingblah71
    @Makingblah71 4 ปีที่แล้ว

    Great tutorial, thank you.

  • @catafest
    @catafest 5 ปีที่แล้ว +1

    Wow the Fast IK is free! Good tutorial.

  • @Lord2225
    @Lord2225 4 ปีที่แล้ว +1

    How nice that the plane class exists.

  • @hoax5347
    @hoax5347 2 ปีที่แล้ว +1

    took about an hr and a half to finish but worth it :)

  • @gustavberndtzen1623
    @gustavberndtzen1623 3 ปีที่แล้ว

    10 out of 10 would watch again!

  • @mathantasticproductions4992
    @mathantasticproductions4992 3 ปีที่แล้ว

    Dam, very good tutorial man

  • @vexedev
    @vexedev 4 ปีที่แล้ว

    Thanks great work! One question, why do you work in Root space instead of world space? is it to make some math calculations easier?

  • @kevindesilva4577
    @kevindesilva4577 3 ปีที่แล้ว

    This is exactly what I need

  • @benaffeyofficial
    @benaffeyofficial 3 ปีที่แล้ว

    Greeting my tschörmän companion. Nice vid!

  • @animatedreality9345
    @animatedreality9345 4 ปีที่แล้ว

    You are a life saver 100%

  • @ChrisLocke1969
    @ChrisLocke1969 4 ปีที่แล้ว +2

    I learned so much from watching your excellent video and explanations, that I need to ask, after looking at your github repository... could I some how adapt your simpleIK framework for use in an Arduino robotics project? And if so, any feedback on how I can pull that off would be greatly appreciated, please & thank you!

  • @jompan7612
    @jompan7612 3 ปีที่แล้ว

    THANK YOU MAY GUY!!!

  • @V4C38
    @V4C38 4 ปีที่แล้ว +3

    Hey thanks for the nice tutorial!
    I want to setup my chain so that the Bones are connected via Hinge Joints. How would you addvice to approach this?

    • @kurtisgibson2929
      @kurtisgibson2929 3 ปีที่แล้ว +2

      you could use parent constraint compoinents

  • @hovhannesvardanyan2223
    @hovhannesvardanyan2223 3 ปีที่แล้ว

    Thank You very much sir

  • @giists5197
    @giists5197 3 ปีที่แล้ว

    hi, i have a question. is it intended that the script very slightly moves the leg even when the target is not moving? i have this weird behavior where the legs move by 0.0001 every frame almost randomly and it causes problems when trying to get the average leg y position. can you help me out?

  • @kirillnovik8661
    @kirillnovik8661 3 ปีที่แล้ว

    Mensch, das ist toll!

  • @Skyvastern
    @Skyvastern 4 ปีที่แล้ว +2

    How can I have a weight parameter so that I can control the influence of IK ? Say if it is 0, then the normal animation will play, while if it is 1 then the IK will override the animations. I tried to create a lerp when setting the position and rotation to the actual bones via a public weight variable to control the influence of the IK. But dunno why it doesn't work. I have checked the entire code and I can see that only two functions are responsible for setting the position and rotation so I directly added the lerp there. But it doesn't seem to work and instead gives a weird shape. Though if I just change the weight from 1 to 0 and vice versa directly then all works fine. I am not sure what I am doing wrong.
    Additionally, Fabrik algorithm itself isn't hard, but the actual hard thing to understand is how to rotate the mesh with respect to the calculated positions. I see there's a heavy math going on when trying to set position and rotation of the bones. And perhaps it's there that I am missing out something. Stuff like multiplying quaternion with a vector then assigning that to a vector3 makes no sense to me how that happens lol. I guess this is a great opportunity for me to revisit and learn more about trignometry, linear algebra etc.
    I think the ability to control weight can be a great addition to your asset. Also I must say that the asset is very well made and the fact that you showed and explained us how you did all this is just fantastic. I liked the way you optimized your code and those crazy calculations with rotations are well thought of. Because the mesh translates perfectly with the IK target, which I was finding really really hard to do myself earlier. A great video and a great tool you made. Helps a lot for generic rigs :D

  • @hogoromootsutsuki4079
    @hogoromootsutsuki4079 2 หลายเดือนก่อน

    I have created a bone rig, and I am almost done an entire animation system, the last thing I need, is to do inverse kinematics. I am working on a program called World Seed. It is a bone rig, that is threaded. The entire animaton system I created is threaded. this is the last step in my process.

  • @ezydenias8505
    @ezydenias8505 3 ปีที่แล้ว +8

    19:45 "Es Gibt" ich wußte ich kenne diesen Akzent.^^ Da haste ja geil gedanglished, aber ich denke die meisten checken das schon.

    • @Valvex_
      @Valvex_ 3 ปีที่แล้ว +1

      Er sagt aber "I skipped the index 0" und nicht "Es gibt the index 0", passt auch eher zum Kontext^^

  • @stanferrolino12
    @stanferrolino12 3 ปีที่แล้ว

    Good tutorial, very cool.
    I have one problem, though. Somehow, even after writing all the code from scratch, the joints don't rotate at all, meaning that any parented limbs just stay in their normal rotation. Any help fixing this?

  • @THE_ONLY_GOD
    @THE_ONLY_GOD ปีที่แล้ว

    Thanks!

  • @fulongfromthegrave
    @fulongfromthegrave 2 ปีที่แล้ว

    This is exactly what i ve beenlooking for but i wonder how would you make the bones stretch within boundaries?

  • @fookustudios3279
    @fookustudios3279 2 ปีที่แล้ว +1

    Thank you for the very useful tutorial. One thing I might add.
    I'd suggest calling the Init() method from Start rather than Awake();
    Otherwise, you can get strange behavior if you try to change the Target at runtime even if the script is disabled in the editor before you hit play.

    • @anonymoussloth6687
      @anonymoussloth6687 2 ปีที่แล้ว

      I am new to unity so could you explain why this is the case?

    • @fookustudios3279
      @fookustudios3279 2 ปีที่แล้ว +1

      @@anonymoussloth6687 Sure, In Unity all components have a start and awake function. Awak always gets called first for all components in the scence, then start gets called for every component in the scence. Moving his Init() method to the start function vs the awake function will allow you to change the IK target while the game is playing. Otherwise if you leave Init() inside of awake it will cause problems. However, If you don't plan on changing the IK target while playing the game you won't have any issues.Hope that helps.

    • @anonymoussloth6687
      @anonymoussloth6687 2 ปีที่แล้ว

      ​@@fookustudios3279 Thanks! But I am still confused why a dynamic IK target will be an issue if it is in awake. As I understand, awake is called for all components when the scene is loaded. Then start is called one by one for each component. right? And this leads me to another question: if both awake and start are called in the beginning (with awake being first) arent they basically the same? First all awake functions are called for all objects, then all start functions are called for all objects right?

    • @fookustudios3279
      @fookustudios3279 2 ปีที่แล้ว +1

      ​@@anonymoussloth6687 Start and Awake are the same in the sense that they will both get called before the object "comes to life" in a scene. However because all Awake methods get called first, then all start method get called next, developers typically use the Awake method to iniaitalize all variables local to the component itself, then use the start method to setup references to other objects within the scene if needed. For example. Component A has a variable that references another object in your scene(Object B). It that case you'd want to setup that reference in the start method, because if you used the awake, that variable you created may not be able to create the reference to the other object B because Object B hasn't called it's Awake function yet. So instead you'd have component A establish the reference to Object B in its Start method. That way you know that Object B has fully initialized because it's Awake method is garunteed to have been called that this point. I'd suggest doing some experiments. First , use the code as is, and change the IK target while the game is running, although I haven't looked at it recently, if memory serves, it will throw an exception or cause strange behavior. Then comment out that Init() in the awake, and add it to Start(). Compile, change the IK target at runtime and see what happens. If you can step through the code as it executes and you can watch everything in action. Still confused, just respond. Cheers.

    • @anonymoussloth6687
      @anonymoussloth6687 2 ปีที่แล้ว

      @@fookustudios3279 Thanks so much for your detailed reply! I will try it out like you suggested

  • @connorkasarda
    @connorkasarda 5 ปีที่แล้ว +4

    Is there a way to have the chains/bones rotate so that the mesh also rotates with it?

    • @Alex-ir3wr
      @Alex-ir3wr 3 ปีที่แล้ว +4

      if you assign the bones to the mesh in a modelling software such as blender, when you import it back into unity it should work

  • @ZR-eq2hl
    @ZR-eq2hl 2 ปีที่แล้ว

    4 sure it is gold. Thanks.

  • @BluePhantomGames
    @BluePhantomGames 3 ปีที่แล้ว

    Sir i am confused. If you are making a target? Then how will I make my player feet bend when o. Slope stair or anything that is not flat

  • @zunuku4165
    @zunuku4165 3 ปีที่แล้ว

    how did u cut it in blender also how did u duplicate the bone without duplicating the armature

  • @TheAdventuresOfMontuMiah
    @TheAdventuresOfMontuMiah 4 ปีที่แล้ว

    Nice! Would you create a timeline type of thing for runtime use? We can have an animation software!!! 😀😀😀

  • @ezydenias8505
    @ezydenias8505 3 ปีที่แล้ว

    5:48 the first one can't be null because so you don't need to check it and if the parrent is null than the current won't become the parrent so the current can never become null. Your check is redundant. Or am I missing something?

  • @rafaelskiarteportfolio1098
    @rafaelskiarteportfolio1098 4 ปีที่แล้ว

    P E R F E C T !!!!!

  • @tobymdev
    @tobymdev 5 ปีที่แล้ว +1

    Omg yes!!

  • @marcospaulo6697
    @marcospaulo6697 3 ปีที่แล้ว

    so can i use this to make weapon contact in a fighting game?

  • @calebstevens8269
    @calebstevens8269 4 ปีที่แล้ว +34

    man no matter what i do i can not get this to work at all. my mesh will not move at all even with the correct ik edit: didnt realise you had to press play

    • @sigorharaldsson4067
      @sigorharaldsson4067 4 ปีที่แล้ว +25

      sorry but that is one of the funniest edits I've ever seen haha

    • @Nervniyak
      @Nervniyak 4 ปีที่แล้ว +3

      @@sigorharaldsson4067 +1, loled so hard

    • @supernectar5022
      @supernectar5022 4 ปีที่แล้ว +9

      You can actually make this script run in edit mode by adding the following attribute *before* declaring your class: [ExecuteInEditMode]

    • @sigorharaldsson4067
      @sigorharaldsson4067 4 ปีที่แล้ว +1

      @@supernectar5022 that's actually pretty cool, will use that sometime

    • @madscience6283
      @madscience6283 3 ปีที่แล้ว +1

      @@sigorharaldsson4067 Careful though, I only use it after I know everything works, and you have to handle special cases like runtime parenting for ex
      bool safeToParent = true;
      if(Application.isEditor && !Application.isPlaying) safeToParent = false;
      pistonExtensionTransform = transform.parent.Find("Piston Extension");
      if (parentMe && safeToParent)
      {
      Transform jointTransform = transform.parent.Find("Joint");
      if (jointTransform) jointTransform.parent = parentMe;
      Transform jointATransform = transform.parent.Find("Joint_a");
      if (jointATransform) jointATransform.parent = parentMe;

      if (pistonExtensionTransform) pistonExtensionTransform.parent = parentMe;
      transform.parent = parentMe;
      }

  • @raymond1161
    @raymond1161 5 ปีที่แล้ว

    you are fucking awesome man

  • @sword111000
    @sword111000 3 ปีที่แล้ว

    Hi could I use this Ik to make a bendable sword that bends like a fencing blade against a target in real time physics ?

    • @kurtisgibson2929
      @kurtisgibson2929 3 ปีที่แล้ว +1

      yes you can

    • @sword111000
      @sword111000 3 ปีที่แล้ว

      @@kurtisgibson2929 Hi Kurtis i have spent hours trying to recreate that ik actin on my sword but cant get it to work any ideas ? Hugo th-cam.com/video/3ViP0cwIyPE/w-d-xo.html

  • @ezydenias8505
    @ezydenias8505 3 ปีที่แล้ว

    6:33 the distance between current and current.parent is the same as the distance between current.parent and current. What you sshould have done is new Vector3(scale,scale*10,scale) which would again safe on performance.

    • @juanp4446
      @juanp4446 2 ปีที่แล้ว

      se nota que sabes mucho, me puedes enseñar?

  • @calebstevens8269
    @calebstevens8269 4 ปีที่แล้ว

    How am i supposed to animate if i can view it in the editor>

  • @ezydenias8505
    @ezydenias8505 3 ปีที่แล้ว +1

    10:06 instead of using an if statement to check if you are in the first bone you should do the first bone before the loop to have NOT an redundant if statement, as if statements are one of the most taxing statements on the CPU.

    • @ezydenias8505
      @ezydenias8505 3 ปีที่แล้ว

      18:32 again! same thing! Only now it is really bad to do it that way.

    • @ezydenias8505
      @ezydenias8505 3 ปีที่แล้ว

      28:55 and here again only now we need to do the statmenet inside the if statement after the for loop instead of infront of it.

    • @dubble_cuppachino
      @dubble_cuppachino 27 วันที่ผ่านมา

      This is true and a good point, but LLVM exists and will move the if outside of the loop.

  • @risingmermo
    @risingmermo 4 ปีที่แล้ว +1

    I can't get the cube to rotate with the bones in unity

  • @jojikYT
    @jojikYT 3 ปีที่แล้ว

    Made a Spider with the help of this video :)

  • @FenyEro
    @FenyEro 2 ปีที่แล้ว

    THX

  • @elitegamestudio3836
    @elitegamestudio3836 4 ปีที่แล้ว

    Thx Dude Now by Getting Yur Inverae kinematic i mean Wathcing the Full tutorial I can create a Balance Character

  • @alexandreamiel1865
    @alexandreamiel1865 3 ปีที่แล้ว

    Thank you !!!!!! I would like to give you a donation

  • @Fangh44
    @Fangh44 4 ปีที่แล้ว

    Thank you ! It was very helpful ! I recoded it from scratch, by listening to your instructions and explaination without copy paste your code. It was hard but it was doable.
    But the rotation part was too complicated to understand :<
    I wish to add some constraint to each bones to make some elbow or etc...
    Thank you !

  • @Digitt6
    @Digitt6 2 ปีที่แล้ว

    What is the advantage of doing it here in unity in c# rather than in blender or other animation software?

    • @ramiztudio3208
      @ramiztudio3208 2 ปีที่แล้ว

      I think because the ik system in unity is different than in other animation software imo

  • @ezydenias8505
    @ezydenias8505 3 ปีที่แล้ว

    12:10 cool thing explaining why sqrMagnitude.

    • @ezydenias8505
      @ezydenias8505 3 ปีที่แล้ว

      btw. I just are done for the today and must leave, I will critize your code furhter down the line. So far all my improvments worked just fine. But I still like your tutorial, pretty quick and clear stuff.

  • @KenGames45
    @KenGames45 4 ปีที่แล้ว

    Just wondering if it would be ok if I can modify your code?

  • @aminedev_
    @aminedev_ 2 ปีที่แล้ว

    the amount of ads in this video is getting to a point where it is very annoying,
    yet helpful vid

  • @gianlucaanostini5818
    @gianlucaanostini5818 3 ปีที่แล้ว

    where the influence come at play i dont want the influence to be always at 1 but im dumb so i dont understand where to use to smothly go to the ik target

    • @daanvanleeuwen8435
      @daanvanleeuwen8435 3 ปีที่แล้ว

      Maybe look in to 'easing movement' through code? that might be what you are looking for

    • @gianlucaanostini5818
      @gianlucaanostini5818 3 ปีที่แล้ว

      @@daanvanleeuwen8435 i solved by using a linear interpolation (vector3.lerp) between the actual transform of the foot and the target position of the ik with a variabile that increase or decrease following a curve in the animation. so with the foot is up its at zero when the foot goes down it increase to assigning the target position. it works not perfect but it works

  • @Wolfie5309
    @Wolfie5309 2 ปีที่แล้ว

    good info, but only have one gripe. Using 'var' all over your code and not using explicit declarations leave your code unreadable. Mainly a style choice, but it helps to have explicit variable declarations when you go back to your code later.

    • @doekewartena5729
      @doekewartena5729 2 ปีที่แล้ว

      I was thinking that with `for (var i = 0;`

    • @Tarodev
      @Tarodev 2 ปีที่แล้ว

      var is something that comes with experience. Very rarely can you not tell what a variable is by its declaration. Also it makes it MORE readable IMO, not less. Take a dictionary for example:
      Dictionary myDic = new Dictionary();
      vs
      var myDic = new Dictionary();

  • @anathi_1
    @anathi_1 2 ปีที่แล้ว

    ngl this tutorial is long but it is epik

  • @_denzy_6310
    @_denzy_6310 3 ปีที่แล้ว

    Can this work for rope physics?

  • @abuDA-bt6ei
    @abuDA-bt6ei 3 ปีที่แล้ว

    When I look around in game, the arm keeps twisting with it

  • @hoax5347
    @hoax5347 2 ปีที่แล้ว +1

    just found an issue where when i play an animation with it attached to the object with the animator or its children the bones shift and eventually the mesh of the arm deforms :\

    • @hoax5347
      @hoax5347 2 ปีที่แล้ว

      turns out it wasnt ur code it was mine so i just ended up using urs ;-;

    • @SSleepyMorning
      @SSleepyMorning ปีที่แล้ว

      @@hoax5347 I'm having the same issue. Do you mind sharing what was the problem with the code?

    • @hoax5347
      @hoax5347 ปีที่แล้ว

      @@SSleepyMorning i dont actually know, i just ended up downloading the persons code from somewhere

  • @nguyenlongh2275
    @nguyenlongh2275 2 ปีที่แล้ว

    Do you know how we can import file robot arm solidwork 3d into unity ?

  • @h3Xh3Xh3X
    @h3Xh3Xh3X 3 ปีที่แล้ว

    But why are you talking about shadows for an ik solver?

  • @Marc142000
    @Marc142000 4 ปีที่แล้ว +3

    Wait. Your forward axis in Blender is also Z? HOW??

  • @robloxstoryz3131
    @robloxstoryz3131 3 ปีที่แล้ว

    this is cool but his is one of my first times using blender and i have no idea what to do

  • @susantakumarbehera9933
    @susantakumarbehera9933 4 ปีที่แล้ว

    How to use it on top of an existing animation;
    Like, use leg ik in waking animation

    • @IdeaToGame
      @IdeaToGame 2 ปีที่แล้ว

      there's a package from unity that does that, it's called animation rigging

  • @obemenko
    @obemenko 3 ปีที่แล้ว

    "I was looking for copper but I found gold"

  • @v.037
    @v.037 3 ปีที่แล้ว

    Noice

  • @justkenji911
    @justkenji911 2 ปีที่แล้ว

    i cant add amature i mean i can add it but not single bone

  • @noodleplexium5953
    @noodleplexium5953 3 ปีที่แล้ว

    yES

  • @HiHi-iu8gf
    @HiHi-iu8gf 4 ปีที่แล้ว

    hnnnggggg my brain

  • @tim_developer
    @tim_developer 3 ปีที่แล้ว +1

    IT WAS REALLY NICE TUTORIAL! But I'm russian so I didn't understand much....

  • @mahmoudshalabi8613
    @mahmoudshalabi8613 4 ปีที่แล้ว +1

    What i dont understand is how will this make my enemy walk? what do i have to move to make it walk. Im so lost lmao

    • @mahmoudshalabi8613
      @mahmoudshalabi8613 3 ปีที่แล้ว

      @@littledumpling5614 Let me know if u ever figure it out haha

    • @mahmoudshalabi8613
      @mahmoudshalabi8613 3 ปีที่แล้ว

      @@littledumpling5614 Yea I really have no clue how this can make things walk...

    • @koyinproductions9053
      @koyinproductions9053 3 ปีที่แล้ว

      th-cam.com/video/e6Gjhr1IP6w/w-d-xo.html

  • @johnlime1469
    @johnlime1469 4 ปีที่แล้ว

    Oh wow. Inverse kinematics doesn't seem so intimidating anymore. It's pretty much just calculating the normal between the target position of the end effectors and the joint that you want to move, and maintaining the distance of the joints.

  • @kalpolproductions8558
    @kalpolproductions8558 2 ปีที่แล้ว

    cant wrap my hed around it

  • @mike_o7874
    @mike_o7874 4 ปีที่แล้ว

    Yo man awesome job, btw i was able to twick alil bit the code,
    and made it run at least for now (without a pole) 4 times as fast.
    hmm like per 10k runs, the code dropped from 300ms, to about 80 ms , with 4 chain length.

  • @Peak_Stone
    @Peak_Stone 4 ปีที่แล้ว

    This looks awesome, but because I am dyslexic, it will take me 4 weeks to understand whats going on here. Can someone explain the difference between this and the Animation Rigging Package?

    • @Tarodev
      @Tarodev 2 ปีที่แล้ว

      The animation rigging package is very broad and includes lots of restraints, one of them being a chain IK like this one (fabrik). Although this one gives better results than the rigging package chain IK IMO.

  • @papapf8883
    @papapf8883 3 ปีที่แล้ว

    13:09 (notes for me)

  • @sinanermis
    @sinanermis 3 ปีที่แล้ว

    dude rotation part was so fast and i coldn't understand what you doing :(

    • @sinanermis
      @sinanermis 3 ปีที่แล้ว

      and you just skipped the back strength stuff, can anyone explain why we lerp with back strength thing

  • @PerfectlyNormalBeast
    @PerfectlyNormalBeast 3 ปีที่แล้ว +1

    Every time someone does something in blender, they fly around and I'm completely lost. I have to pause every couple seconds, research how he did each step
    Powerful tool, but very unintuitive

    • @PerfectlyNormalBeast
      @PerfectlyNormalBeast 3 ปีที่แล้ว

      Here's a good one for creating / working with bones
      th-cam.com/video/ZmiZ6VkSJBE/w-d-xo.html

    • @madscience6283
      @madscience6283 3 ปีที่แล้ว

      Hey watch these videos lol (~22min total)
      th-cam.com/video/U1f6NDCttUY/w-d-xo.html

  • @BlackteaBEEF
    @BlackteaBEEF 3 ปีที่แล้ว

    Your tutorial is interesting but I don't know use Blender LOL