10 mins GameDev tips - Quaternions

Поділитися
Вставка
  • Опубліковано 25 лис 2024
  • 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...

КОМЕНТАРІ • 164

  • @felipecarlin8540
    @felipecarlin8540 4 роки тому +263

    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 роки тому +9

      Thanks :)

    • @zeyadjy7229
      @zeyadjy7229 4 роки тому +1

      me too

    • @larrystone654
      @larrystone654 3 роки тому +1

      +1!

    • @Chubzdoomer
      @Chubzdoomer 2 роки тому +1

      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 роки тому +1

      .... and I am here to agree with everyone that this is the best explination on UA-cam.

  • @cullsans
    @cullsans 3 місяці тому +4

    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 9 місяців тому +5

    Big thanks! You are the only one who said key thing about the difference between orientation and rotation!

  • @jabadahut50
    @jabadahut50 Рік тому +4

    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 4 роки тому +37

    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 роки тому +7

    Like everyone else has said... this is the best explanation of Quaternions around. The guy is a fantastic tutor. Well done!

  • @CosmicComputer
    @CosmicComputer 3 роки тому +9

    Hands down the best overview of quaternions I’ve ever seen, thank you so much.

  • @GoddamnSuperhero
    @GoddamnSuperhero Рік тому +1

    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.

  • @lln6123
    @lln6123 6 місяців тому

    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!

  • @purplegoop1247
    @purplegoop1247 2 роки тому

    the teapot explaination was really good, that alone made quaternions intuitive to understand

  • @dftpunk
    @dftpunk Рік тому

    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!

  • @rockasstley7917
    @rockasstley7917 4 роки тому +6

    I am glad that I found this video! This is really pure gold for us beginners.

  • @davidmurphy563
    @davidmurphy563 3 роки тому +16

    Great video.
    "Euler" is pronounced "oiler" btw.

  • @pokoro97
    @pokoro97 2 роки тому

    Knowing that you can multiply quaternions with vectors saved me. Thanks!

  • @MerkMD
    @MerkMD 11 місяців тому

    I watched so many video try to understand Quaternion, this vid is the only one so far that make me understand.

  • @bluemodize7718
    @bluemodize7718 Рік тому

    I really like how you explained somthing really complicated simply

  • @klauskinnunen7404
    @klauskinnunen7404 3 роки тому +1

    Finally I feel like I undestand how rotations work, thank you so much, best and clearest video I have ever seen about quaternions

  • @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 3 роки тому

    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

  • @man9mj
    @man9mj Рік тому

    after understanding the math of quaternions, this video cement the concept in a nice visual way. Excellent work!

  • @duskjk1258
    @duskjk1258 3 роки тому +1

    Thanks! been working on circular motion for about a month and now I finally found the solution.

  • @DevranUenal
    @DevranUenal Рік тому

    After so many years, I finally understand it (The Teapot part helped!). Thanks!

  • @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!

  • @AC-mw3tz
    @AC-mw3tz 2 роки тому

    Finally, and thanks to your explanations, I UNDERSTAND the quaternions. Thanks, man.

  • @souravdey1227
    @souravdey1227 3 роки тому

    The best explanation of quaternions till date. Crisp and clear.

  • @firestorm_2048
    @firestorm_2048 2 роки тому +1

    Incredible video! Probably the simplest explanation on youtube

  • @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.

  • @varunaiyar6214
    @varunaiyar6214 3 роки тому +1

    Best explanation of Quaternions on UA-cam, glad I found it soon :)

  • @womeesoxkwi2689
    @womeesoxkwi2689 3 роки тому +2

    Wow very cool video! Quaternions makes sense now

  • @jz9991z
    @jz9991z Рік тому

    A extremely well explained video. Honestly this helped a lot

  • @UnknownUnknown-n3z1j
    @UnknownUnknown-n3z1j Рік тому

    good explanation, now I know what to expect from quaternions

  • @p3dee
    @p3dee Рік тому

    It's simple to understand. Thanks for a great explanation.

  • @nofacee94
    @nofacee94 11 місяців тому

    Finally, a clear explanation.

  • @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^^

  • @thedebapriyakar
    @thedebapriyakar Рік тому

    I cried after watching this. Thank you.

  • @zeyadjy7229
    @zeyadjy7229 4 роки тому +1

    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

  • @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 🙈

  • @HateSonneillon
    @HateSonneillon 3 роки тому

    Definitely the best explanation I have seen by far.

  • @jimbotht1091
    @jimbotht1091 4 роки тому +3

    Mais c'est que c'est très intéressant tout ça, merci, j'en redemande

  • @bertani6134
    @bertani6134 4 роки тому +2

    This is too important man! Thanks for sharing!!!

  • @erinlucassen
    @erinlucassen 6 місяців тому

    Best video on quaternions ever!

  • @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.

  • @noumankhan167
    @noumankhan167 3 роки тому

    Amazing Explanation man , you cleared some of my doubts that I had for months

  • @moheyaldeenalmardiny82
    @moheyaldeenalmardiny82 3 роки тому +1

    That's something I really needed thanks a lot man

  • @mz00956
    @mz00956 3 роки тому

    Thank you so much. I never understood them until now.😅

  • @handysandy5753
    @handysandy5753 3 місяці тому

    That was an excellent explanation!

  • @DubZenStep
    @DubZenStep Рік тому

    Best explanation out there. Thank you man!

  • @ssojyeti2
    @ssojyeti2 3 роки тому

    great video. now, time to put this knowledge to work!

  • @akshay3538
    @akshay3538 4 роки тому +7

    this is very well explained, Thank you

  • @AndresJesse
    @AndresJesse 3 роки тому

    Excellent! Clear as crystal! thanks!

  • @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* )

  • @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

  • @jaimetheone9150
    @jaimetheone9150 6 місяців тому

    The last one, the quaternion multiplication seems to be the answer to a camera rotating around an object or a point!

  • @chenni8759
    @chenni8759 3 роки тому

    Amazing! Very well explained, thank you so much!

  • @nattherman7321
    @nattherman7321 2 роки тому

    ima have to save this one, thanks

  • @chrisharden7033
    @chrisharden7033 2 роки тому

    Excellent explanation!

  • @31618doremi
    @31618doremi Рік тому

    best explanation ever!

  • @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 :)

  • @sevazakharenko8176
    @sevazakharenko8176 Рік тому

    Great explanation!!

  • @RemiStorms
    @RemiStorms 4 роки тому

    Excelent video on Quaternions !!!

  • @jacobkamen9265
    @jacobkamen9265 2 роки тому

    Great video! Thank you

  • @dylantb619
    @dylantb619 2 роки тому

    This is extremely helpful!

  • @sundarakrishnann8242
    @sundarakrishnann8242 3 роки тому

    Amazing video! Thank you so much!

  • @josephmorales652
    @josephmorales652 3 роки тому

    Incredible video!

  • @recker7017
    @recker7017 Рік тому +4

    you pronounce "euler" as "oiler"

  • @DevMarco-
    @DevMarco- 2 роки тому +1

    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.

  • @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)

  • @pleison111
    @pleison111 2 роки тому

    This is pur gold!!!

  • @SwayamVaza-qr8vs
    @SwayamVaza-qr8vs 5 місяців тому

    Wow that was really cool 👍

  • @josepgc1183
    @josepgc1183 3 роки тому

    I owe you my life

  • @Jono1982
    @Jono1982 3 роки тому

    extremely useful please make more tutorials

  • @biny_749
    @biny_749 4 роки тому +2

    merci beaucoup sociamix 👌👌

  • @hafizuddinmohdlowhim8426
    @hafizuddinmohdlowhim8426 2 роки тому

    You are a genius!

  • @binhql
    @binhql 2 роки тому

    Exellent video!

  • @JoostKiens
    @JoostKiens 4 роки тому

    Really good explanation! 🙏

  • @enjoybro4515
    @enjoybro4515 3 роки тому

    thanks so much it help me a lot

  • @CaCriGuz
    @CaCriGuz 2 роки тому

    Thanks mate!

  • @f3rn4n2x3str3ll4
    @f3rn4n2x3str3ll4 3 роки тому

    BEST! Thanks!

  • @ridespirals
    @ridespirals 3 роки тому +20

    great video, thanks a lot. and maybe you know this already, but Euler is pronounced "oiler"/"oy-ler" not "yooler"

    • @legendfpv
      @legendfpv Рік тому +1

      It's an accent.

    • @alexanderwinn9407
      @alexanderwinn9407 Рік тому +1

      @@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."

  • @alexmattyou
    @alexmattyou 3 роки тому

    Thankyou for the video, I know that you're Blender and Panda3d user by your models

  • @alexanderheim9690
    @alexanderheim9690 2 роки тому

    3Blue1Browns interactive videos state that quaternion rotation is double covered. Which would mean that your statement at 5:40 is wrong.

    • @angeldude101
      @angeldude101 2 роки тому

      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.

  • @luckyyo7287
    @luckyyo7287 3 роки тому

    good course!thanks

  • @FuranA7x
    @FuranA7x 7 місяців тому

    Thanks!

  • @graphic-nations
    @graphic-nations 3 роки тому

    thank you its amazing

  • @tejasbele1456
    @tejasbele1456 3 роки тому

    Thank you so much

  • @qbytez5006
    @qbytez5006 3 роки тому

    Thank you!

  •  2 роки тому +2

    It’s hard for me to understand deeply this concept ( mainly speak French) but this is the most clear video on quaternions over UA-cam. 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 Рік тому +1

      You definitely can use Unity. Yes I replied one year late. Sorry about that.

  • @sheikhg1900w
    @sheikhg1900w 2 роки тому

    In short. Thank You very much.

  • @graphic-nations
    @graphic-nations 3 роки тому

    amazing thank you

  • @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?

  • @Vespa-s9t
    @Vespa-s9t 4 роки тому

    thank you) best French English ever)

  • @cxob2134
    @cxob2134 2 роки тому

    Very good video.
    I though i was being smart to get around gimbals lock by defining 2 Quaternions that rotate around x and y axis and multiply them together. But if i remember matrix math i would know that multiplication order matters and i am back in gimbal lock depending on multiplication order.

  • @허언증완치자
    @허언증완치자 Рік тому

    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.

  • @ahmedaghadi8281
    @ahmedaghadi8281 3 роки тому +1

    4:03 so what if we always rotate with respect to x,y,z axis and not rotate with respect to object itself.

  • @guyschill2059
    @guyschill2059 2 місяці тому

    I love you bro

  • @alicewithalex
    @alicewithalex 4 роки тому +1

    Thank you) Make more content, you have great videos , but long delay between videos :) Good luck

  • @destroyerofstreaks
    @destroyerofstreaks 3 роки тому +2

    I'm just a 12-year-old trying to understand quaternions because its helpful in unity for making games

  • @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 2 роки тому

      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.

  • @danielhancock4992
    @danielhancock4992 3 роки тому

    Nice