# ProjectTX - IK-Less Control, WHY and HOW I'm not using IK! (9IDhcrzJtY4, 612s) [Music] me name Sony welcome back to another video of project TX this video is not actually about the project itself but rather about the IKEA system so bunch of comments on the last video in regards to what I meant exactly by no ika is involved with this character model here so obviously people assume you know this is pretty much an IKEA based calculation right and I mentioned obviously it's not an IKEA calculation so I'm just gonna explain exactly what the difference is in terms of what I'm doing as opposed to a sort of standard I okay and to do that obviously I need to explain what I K is so imagine the following scenario you've got an arm here which is lodged over here this is actually just a physics joint it's literally a standard object that I can just move around and it sort of looks like an hour and I've got an invisibly movable object here and I can just sort of float about but ignore that for a moment imagine this all now the way to control this arm if we were moving it in in using either physics or animation or whatever is we would rotate this to move this arm or the foot of the first part of the on the upper arm into position to where we want to go and then we'd rotate this you get the forearm to do whatever we want to do that but what if we know where we're standing and we want to get the hand point which is the end of the forearm here to actually match up with a certain position so let's say this position here well then we're gonna need to do some calculations because the problem with this is the only inputs we have is the angle here and the angle here or the other rotations are those two points though that little bit of information does not get as this point here I'd have to just sort of guess this and then guess that and guess this again and guess that and as you can see that I can get close to it but that's all just eyeballing it that we're just guessing we're just guessing if we want to get it to this actual position here we need to control this point and tell the system where that point is and then using that go backwards instead of forwards because remember we rotate this that moves the whole thing then we rotate this to get the hand point wherever the heck it wants to go inverse kinematics there's a backwards we decide where we want to be and then we move it we calculate backwards essentially so we've got a connect a kinematic object something that moves and then we do the inverse to calculate the angles that we need to rotate the object to the end result of course is this so we have a point which is the actual arm point and then we have a hand point which decide where where the end result is and of course it can limit itself based on the length of the arm and then we have a helper now the helper simply just rotates that part on the opposite on the sort of axis pointing inwards which decides which way to go now you'll notice this one is not a physics object so I'm not able to push it around right and that's because this is just purely I K so this is how inverse kinematics works you take one position there you take one position there you do some clever maths and the end result is you get the arm that it gives the system the rotations it calculates those rotations and the hand is always at the correct position as a result that's exactly what we want in terms of control but obviously we have a problem you see if we have a physics based system like I have here as I've shown in the last video if you haven't seen it please do check it out that project TX is the name if we have a physics based system we now want to decide what happens when a physics object is here so what you'd expect to happen is either pushes in it pushes to the side or it pushes to the other side that's what we expect to happen but how do we calculate them so I'm gonna put my hand here what you'd imagine to happen either we have it moving to the side this way we have it moving to the side that way all and this is the worst case we have the whole thing moving up which means we are going to have to control these two points we're gonna have to do a bunch of calculations it it doesn't really work out very well in terms of how we want to control things in an easy way over to this side now this side it may look like the same thing as you can see very similar thing happens I move this it rotates the a central part I move this it sort of car gets that position however the thing with this it purely physics there's actually no inverse kinematic calculation going on so this is very similar to the way I'm doing my arms here except this is without these soft fist trackers so it's a little bit hovering as you can see look everything just sort of floats in place so that's without all of my physics training but you can see now with this I can't push the elbow I can push the elbow exactly where I want it to go and that's precisely the reason that I wanted to use this type of logic there is absolutely no I care going on here there's no inverse kinematic calculation I don't care what that rotation is and I don't care what that rotation is but the physics engine simulates it regardless and of course those limits so if we push this pin those limits this arm limit here no matter what we do the arm limit is always respected by the I K that's the same thing here except rather than being having it respected by an a mathematical calculation the physics simulation respects it instead so when we do this and we rotate around obviously the road things around but if we do this if we push it through you can see it's trying to get there but it's not able to it's not able to bend that way because the physics itself actually has that sort of muscle structure limit and you can see how that's actually working out on my arms here as well so obviously I can control my elbow just by yourself twisting my hand a little bit of a clever calculation going on there it's not that clever it's a pretty simple one anyway and you can see now when my elbow touches the wall my hand is exactly where I want it to be so let me do this and you can see as I rotate my hand the elbow gets stuck there because of the wall but my hand is still exactly where my tracking says it should be and the same thing happens the other way around deciding on de dura through I K is a very difficult task like I mentioned on it and short over there but thanks to having no I K handling that and instead having a physics system handling that that that's all just done for me it's the easiest way to handle it and it's all gives you this much more natural motion because everything is accelerating and moving with actual physics so the actual forces that are being applied to the elbow or being applied to the elbow you don't have to do any clever calculations on the ik2 too much what is physically happening because of course if you imagine this gets pushed upwards your ITA now has to do the correct position here to animate it correctly and you you start having even more calculations than what I've already shown it becomes a little bit messy it becomes very difficult on the development side to even get that to work and then of course that as a result is is even more process heavy in terms of how you do animation this is the way that I'm handling it and I hope that does explain to you what I meant right there is no ika involved in this character system here that you're seeing in the shadow even in all the walking and everything there's no ika involved because I'm using physics but because the whole character is built off a rag doll i I've already got those joints I've already got the muscle limitations the structural limitations of a bone your elbow can't bend backwards your upper arm is a certain limit across from the shoulder it's not able to go in certain ways so it rotate the elbows and everything accordingly using the physics simulation rather than faking it with some mathematical like a that I have to figure out hopefully that explains it all that's the end of this video I just wanted a very short and quick explanation of what's going on I might give you some explanations of other things just to describe what's going on and why why is it better this way or why is it easier in in a certain way or whatever hopefully that explains it anyway thanks very much for watching if it has any other questions I will answer the questions of course in the comments alternatively I might make a video if it's really confusing a lot of people and I mainly made this one because I did end up accidentally having an argument with someone it wasn't intentional I do apologize to you if I did argue with you about anything like this I wanted to showcase how it works just so that you could really understand and appreciate what's actually different than why matters to me as the developer and to the player in the end thanks very much for watching goodbye [Music]