10 mins GameDev tips - Quaternions

  Рет қаралды 111,210

sociamix

sociamix

Күн бұрын

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.c...
Complex numbers on wikipedia: www.wikiwand.c...
3BlueOneBrown Visualizing quaternions: • Visualizing quaternion...
Quaternions for computer graphics - J.Vince: www.amazon.com...
Ken Joy lecture: • Quaternions
Unity Quaternions doc: docs.unity3d.c...
Godot Quaternions doc: docs.godotengi...

Пікірлер: 162
@felipecarlin8540
@felipecarlin8540 4 жыл бұрын
This is by far, the best explanation of quaternions on youtube. I can't believe youtube didn't recommend it to me!
@sociamix
@sociamix 4 жыл бұрын
Thanks :)
@zeyadjy7229
@zeyadjy7229 3 жыл бұрын
me too
@larrystone654
@larrystone654 3 жыл бұрын
+1!
@Chubzdoomer
@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
@Ryan22_7 2 жыл бұрын
.... and I am here to agree with everyone that this is the best explination on KZbin.
@cullsans
@cullsans Ай бұрын
As a visual learner, the teapot example was a perfect way to teach me quaternions. Thank you for the video, you made my day!
@ivan_3578
@ivan_3578 7 ай бұрын
Big thanks! You are the only one who said key thing about the difference between orientation and rotation!
@jabadahut50
@jabadahut50 Жыл бұрын
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.
@JakeSidSmith
@JakeSidSmith 3 жыл бұрын
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
@corryunedited8154 Жыл бұрын
Yeah, I think that is the closest I've come to understanding this concept.
@mikelock6931
@mikelock6931 3 жыл бұрын
Like everyone else has said... this is the best explanation of Quaternions around. The guy is a fantastic tutor. Well done!
@CosmicComputer
@CosmicComputer 3 жыл бұрын
Hands down the best overview of quaternions I’ve ever seen, thank you so much.
@lln6123
@lln6123 4 ай бұрын
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!
@dftpunk
@dftpunk 11 ай бұрын
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!
@purplegoop1247
@purplegoop1247 2 жыл бұрын
the teapot explaination was really good, that alone made quaternions intuitive to understand
@davidmurphy563
@davidmurphy563 3 жыл бұрын
Great video. "Euler" is pronounced "oiler" btw.
@GoddamnSuperhero
@GoddamnSuperhero Жыл бұрын
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.
@rockasstley7917
@rockasstley7917 3 жыл бұрын
I am glad that I found this video! This is really pure gold for us beginners.
@bluemodize7718
@bluemodize7718 Жыл бұрын
I really like how you explained somthing really complicated simply
@pokoro97
@pokoro97 2 жыл бұрын
Knowing that you can multiply quaternions with vectors saved me. Thanks!
@MerkMD
@MerkMD 9 ай бұрын
I watched so many video try to understand Quaternion, this vid is the only one so far that make me understand.
@man9mj
@man9mj 10 ай бұрын
after understanding the math of quaternions, this video cement the concept in a nice visual way. Excellent work!
@DevranUenal
@DevranUenal Жыл бұрын
After so many years, I finally understand it (The Teapot part helped!). Thanks!
@klauskinnunen7404
@klauskinnunen7404 3 жыл бұрын
Finally I feel like I undestand how rotations work, thank you so much, best and clearest video I have ever seen about quaternions
@duskjk1258
@duskjk1258 3 жыл бұрын
Thanks! been working on circular motion for about a month and now I finally found the solution.
@Kaiymu
@Kaiymu Жыл бұрын
Purée merci. Ça fais des années que j'ai du mal à saisir les quaternions ! C'était très clair !
@pegmen3609
@pegmen3609 2 жыл бұрын
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
@p3dee
@p3dee Жыл бұрын
It's simple to understand. Thanks for a great explanation.
@firestorm_2048
@firestorm_2048 2 жыл бұрын
Incredible video! Probably the simplest explanation on youtube
@AC-mw3tz
@AC-mw3tz Жыл бұрын
Finally, and thanks to your explanations, I UNDERSTAND the quaternions. Thanks, man.
@jz9991z
@jz9991z 11 ай бұрын
A extremely well explained video. Honestly this helped a lot
@charlieblank3393
@charlieblank3393 Жыл бұрын
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.
@UnknownUnknown-n3z1j
@UnknownUnknown-n3z1j Жыл бұрын
good explanation, now I know what to expect from quaternions
@mariegrasmeier9499
@mariegrasmeier9499 Жыл бұрын
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 🙈
@womeesoxkwi2689
@womeesoxkwi2689 3 жыл бұрын
Wow very cool video! Quaternions makes sense now
@thewriter3727
@thewriter3727 3 жыл бұрын
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!
@souravdey1227
@souravdey1227 3 жыл бұрын
The best explanation of quaternions till date. Crisp and clear.
@varunaiyar6214
@varunaiyar6214 3 жыл бұрын
Best explanation of Quaternions on KZbin, glad I found it soon :)
@nicks4727
@nicks4727 Жыл бұрын
Great explanation!
@thedebapriyakar
@thedebapriyakar Жыл бұрын
I cried after watching this. Thank you.
@erinlucassen
@erinlucassen 5 ай бұрын
Best video on quaternions ever!
@handysandy5753
@handysandy5753 Ай бұрын
That was an excellent explanation!
2 жыл бұрын
It’s hard for me to understand deeply this concept ( mainly speak French) but this is the most clear video on quaternions over KZbin. 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
@gamedever Жыл бұрын
You definitely can use Unity. Yes I replied one year late. Sorry about that.
@zeyadjy7229
@zeyadjy7229 3 жыл бұрын
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
@denisgoodman4492
@denisgoodman4492 3 жыл бұрын
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* )
@crogersdev
@crogersdev 3 жыл бұрын
Great explanation! Thank you so much. If you're in France, next time I go there I owe you a chilled Orangina.
@aru1814
@aru1814 Жыл бұрын
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!
@xthene
@xthene Жыл бұрын
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?
@HateSonneillon
@HateSonneillon 3 жыл бұрын
Definitely the best explanation I have seen by far.
@alexanderheim9690
@alexanderheim9690 Жыл бұрын
3Blue1Browns interactive videos state that quaternion rotation is double covered. Which would mean that your statement at 5:40 is wrong.
@angeldude101
@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.
@nofacee94
@nofacee94 9 ай бұрын
Finally, a clear explanation.
@jaimetheone9150
@jaimetheone9150 5 ай бұрын
The last one, the quaternion multiplication seems to be the answer to a camera rotating around an object or a point!
@noumankhan167
@noumankhan167 3 жыл бұрын
Amazing Explanation man , you cleared some of my doubts that I had for months
@moheyaldeenalmardiny82
@moheyaldeenalmardiny82 3 жыл бұрын
That's something I really needed thanks a lot man
@bertani6134
@bertani6134 4 жыл бұрын
This is too important man! Thanks for sharing!!!
@AlexandreCoulonOldChannel
@AlexandreCoulonOldChannel 2 жыл бұрын
Merci infiniment, je pensait pas que j'allais si bien comprendre, comme quoi quand on à le bon prof c'est beaucoup plus facile^^
@31618doremi
@31618doremi Жыл бұрын
best explanation ever!
@theman7050
@theman7050 Жыл бұрын
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
@jimbotht1091
@jimbotht1091 4 жыл бұрын
Mais c'est que c'est très intéressant tout ça, merci, j'en redemande
@DevMarco-
@DevMarco- Жыл бұрын
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.
@DubZenStep
@DubZenStep Жыл бұрын
Best explanation out there. Thank you man!
@jacobkamen9265
@jacobkamen9265 2 жыл бұрын
Great video! Thank you
@mz00956
@mz00956 3 жыл бұрын
Thank you so much. I never understood them until now.😅
@sevazakharenko8176
@sevazakharenko8176 Жыл бұрын
Great explanation!!
@허언증완치자
@허언증완치자 Жыл бұрын
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.
@ssojyeti2
@ssojyeti2 2 жыл бұрын
great video. now, time to put this knowledge to work!
@nattherman7321
@nattherman7321 2 жыл бұрын
ima have to save this one, thanks
@chenni8759
@chenni8759 3 жыл бұрын
Amazing! Very well explained, thank you so much!
@akshay3538
@akshay3538 4 жыл бұрын
this is very well explained, Thank you
@sociamix
@sociamix 4 жыл бұрын
Thx :)
@SwayamVaza-qr8vs
@SwayamVaza-qr8vs 4 ай бұрын
Wow that was really cool 👍
@ridespirals
@ridespirals 3 жыл бұрын
great video, thanks a lot. and maybe you know this already, but Euler is pronounced "oiler"/"oy-ler" not "yooler"
@legendfpv
@legendfpv Жыл бұрын
It's an accent.
@alexanderwinn9407
@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."
@emanueol
@emanueol Жыл бұрын
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
@AndresJesse
@AndresJesse 3 жыл бұрын
Excellent! Clear as crystal! thanks!
@Michael-sb1tt
@Michael-sb1tt 2 ай бұрын
I noticed during your inverse function section the arrow was rotating about the bottom point. How do you get the object to rotate about its bottom point instead of its center?
@pleison111
@pleison111 2 жыл бұрын
This is pur gold!!!
@ahmedaghadi8281
@ahmedaghadi8281 3 жыл бұрын
4:03 so what if we always rotate with respect to x,y,z axis and not rotate with respect to object itself.
@sundarakrishnann8242
@sundarakrishnann8242 3 жыл бұрын
Amazing video! Thank you so much!
@agastyavalisetty8620
@agastyavalisetty8620 3 жыл бұрын
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)
@hafizuddinmohdlowhim8426
@hafizuddinmohdlowhim8426 2 жыл бұрын
You are a genius!
@dylantb619
@dylantb619 2 жыл бұрын
This is extremely helpful!
@lukay6230
@lukay6230 3 жыл бұрын
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
@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.
@binhql
@binhql 2 жыл бұрын
Exellent video!
@josephmorales652
@josephmorales652 3 жыл бұрын
Incredible video!
@ctobi707
@ctobi707 3 жыл бұрын
THANK YOU THANK YOU THANK YOU great video i finally understand this witchcraft
@lucasloisance9566
@lucasloisance9566 3 жыл бұрын
Merci beaucoup, tu as illuminé mon esprit :)
@adamabbott2014
@adamabbott2014 Жыл бұрын
Hi, i'm confusing about transform.postion = quaternion.euler(0,90,0)*diretion. how is it working
@CaCriGuz
@CaCriGuz 2 жыл бұрын
Thanks mate!
@FuranA7x
@FuranA7x 6 ай бұрын
Thanks!
@RemiStorms
@RemiStorms 4 жыл бұрын
Excelent video on Quaternions !!!
@sheikhg1900w
@sheikhg1900w 2 жыл бұрын
In short. Thank You very much.
@enjoybro4515
@enjoybro4515 3 жыл бұрын
thanks so much it help me a lot
@Jono1982
@Jono1982 3 жыл бұрын
extremely useful please make more tutorials
@JoostKiens
@JoostKiens 3 жыл бұрын
Really good explanation! 🙏
@oneRella
@oneRella Жыл бұрын
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
@fly7188 Жыл бұрын
that is gimbal lock you effectively only have one axis of rotation at that point instead of 3
@josepgc1183
@josepgc1183 3 жыл бұрын
I owe you my life
@biny_749
@biny_749 4 жыл бұрын
merci beaucoup sociamix 👌👌
@luckyyo7287
@luckyyo7287 3 жыл бұрын
good course!thanks
@f3rn4n2x3str3ll4
@f3rn4n2x3str3ll4 3 жыл бұрын
BEST! Thanks!
@alexmattyou
@alexmattyou 3 жыл бұрын
Thankyou for the video, I know that you're Blender and Panda3d user by your models
@tejasbele1456
@tejasbele1456 3 жыл бұрын
Thank you so much
@graphic-nations
@graphic-nations 3 жыл бұрын
thank you its amazing
@qbytez5006
@qbytez5006 3 жыл бұрын
Thank you!
@graphic-nations
@graphic-nations 3 жыл бұрын
amazing thank you
@guyschill2059
@guyschill2059 Ай бұрын
I love you bro
@runnow2655
@runnow2655 9 ай бұрын
I don't get what you mean by normalizing to not show 4D movement, you know quaternions don't describe 4d movement right? for that, you have to use octonions, a real number and e1, e2, e3, e4, e5, e6, and e7. You need x^n-1 numbers to describe n dimensional space
@runnow2655
@runnow2655 9 ай бұрын
also quaternions are usually described as a+bi+cj+dk where a, b, c, and d are intigers and i^2=j^2=k^2=i*j*k=-1, they aren't typically described with WXYZ as far as I'm aware, but this may be a math community and programming community disconnect where WXYZ is the codding equivilant of r+i+j+k
@Toothless2
@Toothless2 2 ай бұрын
@@runnow2655 If you dont normalize them then it will scale the vector when you multiply
How quaternions produce 3D rotation
11:35
PenguinMaths
Рет қаралды 95 М.
Godot's Quaternion Variant is Beautiful (and misunderstood)
18:52
Good teacher wows kids with practical examples #shorts
00:32
I migliori trucchetti di Fabiosa
Рет қаралды 12 МЛН
VAMPIRE DESTROYED GIRL???? 😱
00:56
INO
Рет қаралды 6 МЛН
ДЕНЬ УЧИТЕЛЯ В ШКОЛЕ
01:00
SIDELNIKOVVV
Рет қаралды 3,9 МЛН
Making Custom Car Physics in Unity (for Very Very Valet)
22:48
Toyful Games
Рет қаралды 130 М.
Fantastic Quaternions - Numberphile
12:25
Numberphile
Рет қаралды 1 МЛН
Better Coding in Unity With Just a Few Lines of Code
15:27
Firemind
Рет қаралды 312 М.
How to think about Quaternions without your brain exploding
10:25
Your Animation is Lying to You | Gimbal Lock Explained
24:30
Sir Wade Neistadt
Рет қаралды 26 М.
Rotations in 3D Graphics With Quaternions
8:23
Manifolds in Maryland
Рет қаралды 12 М.
Вращение, углы Эйлера, Кватернионы в Unity
9:26
Leksay's Development
Рет қаралды 10 М.
Programming portals for my DOOM-style FPS
17:15
jdh
Рет қаралды 217 М.
Watch This to Finally Understand The Zettelkasten Method in Obsidian
37:27
Good teacher wows kids with practical examples #shorts
00:32
I migliori trucchetti di Fabiosa
Рет қаралды 12 МЛН