10 mins GameDev tips - Quaternions
In this 10 mins GameDev tips we are going to explore Quaternions in an intuitive way. Don't expect deep math derivations. However after watching this video you should have a good mental picture on how they could help you dealing with rotations and orientations in your game projects. I will start by describing euler angles and their issues following by a visual example of how quaternions works (using blender). Then we are going to see different applications of them in C# using unity.
Quaternions on wikipedia: www.wikiwand.com/en/Quaternion
Complex numbers on wikipedia: www.wikiwand.com/en/Complex_n...
3BlueOneBrown Visualizing quaternions: • Visualizing quaternion...
Quaternions for computer graphics - J.Vince: www.amazon.com/Quaternions-Co...
Ken Joy lecture: • Quaternions
Unity Quaternions doc: docs.unity3d.com/ScriptRefere...
Godot Quaternions doc: docs.godotengine.org/en/stabl...
Пікірлер: 155
This is by far, the best explanation of quaternions on youtube. I can't believe youtube didn't recommend it to me!
@sociamix
3 жыл бұрын
Thanks :)
@zeyadjy7229
3 жыл бұрын
me too
@larrystone654
2 жыл бұрын
+1!
@Chubzdoomer
2 жыл бұрын
Came down here to say the exact same thing. No other video has broken them down as "gently" and intuitively as this one!
@Ryan22_7
Жыл бұрын
.... and I am here to agree with everyone that this is the best explination on KZread.
THE BEST EXPLANATION, I WAS TRYING TO UNDERSTAND THIS FOR SO LONG, AND NOW I ALREADY FEEL LIKE A MASTER, THANK YOU
I watched it 3 times today, to really get everything you say. After reading the chapter in "Game Engine Architectures" I was a little depressed, because it got complicated very quickly through all the detailed mathmatical examples. But I think, now I can try to read it again! You have made a great introduction, with many visual examples, great job!
I have read so many articles, and watched so many videos about quaternions, and nothing has helped me quite like this video. No crazy math equations or single letter/Latin variable names, just simple visual examples. Amazing stuff! There was something about the images/example at 5:00 that just suddenly made me get it. Thank you.
@corryunedited8154
Жыл бұрын
Yeah, I think that is the closest I've come to understanding this concept.
Hands down the best overview of quaternions I’ve ever seen, thank you so much.
Did not understand Quaternions at all until I found this video, and now I totally get it. Why no one figured out how to explain them as weights of other rotations till now is beyond me. This makes so much more sense than all the other math of how it's supposed to work.
I am glad that I found this video! This is really pure gold for us beginners.
Like everyone else has said... this is the best explanation of Quaternions around. The guy is a fantastic tutor. Well done!
Finally I feel like I undestand how rotations work, thank you so much, best and clearest video I have ever seen about quaternions
The best explanation of quaternions till date. Crisp and clear.
Can't believe I was struggling with quaternions and rotations for 2 weeks a month ago and have just got this video as proposed. Anyway, watch from the beginning till the end. Nice work. Thanks!
Thanks! been working on circular motion for about a month and now I finally found the solution.
Other people have said it, but yes this is the most intuitive explanation of quaternions I've ever seen. Very impressed. I've used quaternions without fully understanding what any one value truly meant, knowing roughly the scaling of spheres example from 3 blue 1 brown. Appreciate the insight.
after understanding the math of quaternions, this video cement the concept in a nice visual way. Excellent work!
Amazing Explanation man , you cleared some of my doubts that I had for months
Finally, and thanks to your explanations, I UNDERSTAND the quaternions. Thanks, man.
the teapot explaination was really good, that alone made quaternions intuitive to understand
I found what I was looking for at 9:14's example I like this, in the Unity answers and forum stuff, it's hard to tell where to put the code. With this example, it works basically anywhere, which is what I was wanting. I'm glad you made this video, it's really helpful. I'm going to edit this comment to see if it worked later. Have a good day! Edit: It worked! All I had to do was remove the asterisk, change the if condition to the event I wanted, and change the rotation to what I was wanting. Thank you so much for helping!
Big thanks! You are the only one who said key thing about the difference between orientation and rotation!
After so many years, I finally understand it (The Teapot part helped!). Thanks!
Best explanation of Quaternions on KZread, glad I found it soon :)
Incredible video! Probably the simplest explanation on youtube
A extremely well explained video. Honestly this helped a lot
Definitely the best explanation I have seen by far.
It's simple to understand. Thanks for a great explanation.
This is too important man! Thanks for sharing!!!
I really like how you explained somthing really complicated simply
Amazing! Very well explained, thank you so much!
Wow very cool video! Quaternions makes sense now
Knowing that you can multiply quaternions with vectors saved me. Thanks!
good explanation, now I know what to expect from quaternions
That's something I really needed thanks a lot man
I watched so many video try to understand Quaternion, this vid is the only one so far that make me understand.
Purée merci. Ça fais des années que j'ai du mal à saisir les quaternions ! C'était très clair !
Excellent! Clear as crystal! thanks!
Great explanation!
Best explanation out there. Thank you man!
Great explanation! Thank you so much. If you're in France, next time I go there I owe you a chilled Orangina.
Finally, a clear explanation.
Great video! Thank you
Amazing video! Thank you so much!
Excellent explanation!
Great explanation!!
Excelent video on Quaternions !!!
great video. now, time to put this knowledge to work!
Best video on quaternions ever!
Mais c'est que c'est très intéressant tout ça, merci, j'en redemande
Great video. "Euler" is pronounced "oiler" btw.
Merci infiniment, je pensait pas que j'allais si bien comprendre, comme quoi quand on à le bon prof c'est beaucoup plus facile^^
This is extremely helpful!
Really good explanation! 🙏
I cried after watching this. Thank you.
Incredible video!
Merci beaucoup, tu as illuminé mon esprit :)
Thank you so much. I never understood them until now.😅
best explanation ever!
Thank you so much. Still not getting my head around it completely but have the feeling to understand much more than ever before now. Want to understand this since I tried to simulate a crane in unity and totally messed it up using Eulers 🙈
Exellent video!
ima have to save this one, thanks
THANK YOU THANK YOU THANK YOU great video i finally understand this witchcraft
This is pur gold!!!
Thanks mate!
amazing..other quaternion explanations are nonsense until you watch this video....its shows how they must have been derived from a real world application..not the other way around
thanks so much it help me a lot
good course!thanks
extremely useful please make more tutorials
thank you its amazing
The last one, the quaternion multiplication seems to be the answer to a camera rotating around an object or a point!
You are a genius!
merci beaucoup sociamix 👌👌
I searched for basically this EXACT video for ages and NOW it pops up in my recommended and I don't even need a degree in physics? Crazy.
amazing thank you
I really lost the passion for game dev because I don't understand how quaternions work and how to use them, thanks a lot I hope u do more examples on quaternions use cases in unity
this is very well explained, Thank you
@sociamix
3 жыл бұрын
Thx :)
Thank you!
Thank you so much
Thanks!
BEST! Thanks!
thank you) best French English ever)
Very Good explanation, But in last slide will be good to add that qB*qA*VectorA qA*qB*VectorA AND qB*qA*VectorA that means - the VectorA rotate on qA and after rotate on qB PS> !!! The relation between length Video and Volume of information is the Best (... and very good links *3BlueOneBrown* )
It’s hard for me to understand deeply this concept ( mainly speak French) but this is the most clear video on quaternions over KZread. For a school project, we want to simulate the rotation of the moon around the Earth by using Python, quaternions and maybe Blender but idk if it’s gonna work. Do you think it could be achievable?
@gamedever
11 ай бұрын
You definitely can use Unity. Yes I replied one year late. Sorry about that.
Thank you very m7ch for making sense and not making just another rocket science video about euler and quart. I wonder why other tubers lack this basic IQ that If you are "teaching" something technical on youtube, you have to begin from the ground up and treat your audience like 5 year olds and I am sure a majority of viewers are changing profession and dont have scientific background. Goshh
great video, thanks a lot. and maybe you know this already, but Euler is pronounced "oiler"/"oy-ler" not "yooler"
@legendfpv
Жыл бұрын
It's an accent.
@alexanderwinn9407
Жыл бұрын
@@legendfpv It's a common mispronunciation, among people of all accents. "Euler" looks like it should be "yoo-ler," similar to "Ferris Bueller." But it's actually "oiler," like "someone who oils."
I owe you my life
a good video always comes after i complete a project on that topic, your video would have saved me at least 10 daysand also all the frustration, that how da frik was unity so smooth and not arduino (arduino was stoopid, I still don't know the solution, it works tho)
3Blue1Browns interactive videos state that quaternion rotation is double covered. Which would mean that your statement at 5:40 is wrong.
@angeldude101
Жыл бұрын
You are correct. There are two ways to reach any given orientation: clockwise or counterclockwise. Ultimately there's not really a difference when just doing the full rotation, but the difference matters a lot when interpolating, since the choice of target quaternion determines whether you take the short route or the long route. It's also important in quantum mechanics since as strange as spin-1/2 particles are claimed to be, quaternions themselves are also effectively spin-1/2 themselves.
Coming from Euler rotation like many others I guess the hardest part to get in my head is that xyz are not representing an axis. If quaternions would use abcd instead it might be easier to grasp from the start.
I wonder that, When match two random coordinate system, it is needed to maximum two normal rotation with two axis vector. but some quaternion (especially multiplication of two rotation quaternion made from each axis/angle) can do match them. I think and wonder combined quaternion has ability that apply two rotation to vector in parallel. it is like spinning top in axis is rotated in axis.
great video. Im wondering how to code flight simulator where player can Pitch (rotation on X), can Roll (rotation on Z) and can also Yawn (rotation on Y) .. imagining XY as screen axis and Z axis perpendicular to screen). Imagine if player simultaneous press key to Pitchdown (10 deg) and also press key to roll (30 deg), my understanding is to have simple a orientation quaternion (initially player looking into z with no roll and no yawn so initial Orientation = Quaternion Euler( 0,0,0); now my struggle is how to represent the 2 movements since order maters right ? thanks so much
Thank you) Make more content, you have great videos , but long delay between videos :) Good luck
the euler rotation system is based on a parenting structure , e.g. X > y > z ....this is the part i don't understand: why a child - parent structure is necessary in euler system? why can't the 3 axes be able to rotate independently in euler system? what's the catch?
Nice
other tutorials were overwhelming me with 4th dimension, but based on this, I think its simply vector XYZ and W is resting vector "importance"? I may not undertsand it well, but I understand it more after this video
@angeldude101
Жыл бұрын
Pretty much. The w component is a weighted scalar 1, which just says how much to _not_ rotate. 4 dimensional visualization is absolutely not required. Once you accept that quaternions are fundamentally 3D objects despite having 4 components, then you can begin to understand how they relate to complex numbers as well as other hypercomplex systems (like the dual-quaternions, which have 8 components, but still ultimately represent 3D rotations in addition to translations). In the complex number a + bi, a is just how much to not rotate, and b is how much to rotate around the origin. It's not really a vector at all much like how a quaternion isn't really a 4D vector.
In short. Thank You very much.
4:03 so what if we always rotate with respect to x,y,z axis and not rotate with respect to object itself.
Hi, i'm confusing about transform.postion = quaternion.euler(0,90,0)*diretion. how is it working
Thankyou for the video, I know that you're Blender and Panda3d user by your models
I have two irrelevant questions: 1. What is the name of the bgm song? 2. Where I can find the open source of arrow prefab? Btw, thank you very much for the easy explanation!
How to set rotation to desired x y z values by code
What I don't understand about gimbal lock: Why don't we just fix all rings to each other like a ball and rotate the whole array?
@fly7188
Жыл бұрын
that is gimbal lock you effectively only have one axis of rotation at that point instead of 3