Spaces & Cross Product • Math for Game Devs [Part 2]

Поділитися
Вставка
  • Опубліковано 9 тра 2024
  • Part two! let's talk about space
    If you are enjoying this series, please consider supporting me on Patreon!
    🧡 / acegikmo
    00:00:00 - Quick recap
    00:01:01 - Dot product recap
    00:06:51 - Asgmt. 1 solution (Radial trigger)
    00:18:16 - Asgmt. 2 solution (Look-at trigger)
    00:35:07 - Questions
    00:42:24 - Spaces
    00:53:26 - Asgmt. 3 solution (Space transformation)
    01:18:43 - World to local
    01:34:14 - Matrices
    02:15:20 - Cross product
    Assignments:
    Asgmt. 4 (Bouncing laser)
    Asgmt. 5 (Mesh surface area)
    Asgmt. 6 (The turret)
    docs.google.com/document/d/1N...
    Originally streamed as a course for students at futuregames.se/, who were super kind to let me both stream this live as well as upload it here! so massive thanks to the people at FutureGames!!
    💖 Patreon ❱ / acegikmo
    🐦 Twitter ❱ / freyaholmer
    📺 Twitch ❱ / acegikmo
    💬 Discord ❱ / discord
    🌸 Instagram ❱ / freya_holmer
    ✫ Video Production by Higher Vision:
    ➥ / highervision1
    ➤ Edited by Stelly: / stelly47050876
  • Наука та технологія

КОМЕНТАРІ • 133

  • @mauriciopartnoy2789
    @mauriciopartnoy2789 2 роки тому +9

    I found these classes a couple of days ago, awesome stuff! I really like how you present practical use cases for the things you are teaching.

  • @Chris_t0
    @Chris_t0 2 роки тому +5

    You are a legend I never understood this at uni, so i just moved on and used things, did things but didnt understand it enough to do anything without googling it and seeing someone elses solution, this just made everything super easy in that i can finally work things out myself saving some time!

  • @th3lazyguy
    @th3lazyguy 3 роки тому +6

    Thank you so much for this series! :)

  • @usoppgod8107
    @usoppgod8107 3 роки тому +27

    This is very informational. Specially the 3D stuff around cross products and how we use them in the games. Thank you Freya

  • @TimRex.
    @TimRex. 3 роки тому +47

    I think I've finally had an "aha!" moment around transformations between coordinate spaces... The key that I was missing was in visualising the basis vectors of each coordinate space as having the same origin, then the transform for "each individual axis" is nothing more than a scaling factor!! Particularly so, since they're unit length.
    I had trouble previously understanding exactly why we could multiply a point by the basis vectors of the transform, and for that to somehow manifest as a rotation. (It's wierd, I've learned so much beyond this fundamental principle and only just now "getting" it).

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

      Thanks @Tim, I feel similar; your shared insight was the last piece I needed! "aha"!

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

      When you get that, all the things you thought you knew about GPUs and parallelism come into sharp focus.

    • @im-Anarchy
      @im-Anarchy 6 місяців тому +1

      3b1b

    • @badrakhariunchimeg1031
      @badrakhariunchimeg1031 5 місяців тому

      not importand so thankyou

  • @movgto3392
    @movgto3392 2 місяці тому +1

    I've learned more in two days watching these videos than 6 months taking math classes

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

    Thank you so much for the course!

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

    very nice material, thanks for the effort

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

    For those having trouble undeerstanding how the "orientation" and "scale"(the 3x3 part) frorm the matrix change our vector I recommend the first3 videos from "three blue one brown" channel's Essence of linear algebra"(if youre very lazy just watch the 3rd one,but I really recommend all of them) where he has a really nice visualization for this where any vector on the plane is defined as being made up of basis vectors(normal x, y, z vector aka our transform.right/up/forward - except they get normalized in unity) and so if you change basis vectors - you "warp" all defined vectors(space itself!).
    This is actually where doing exercise 3 helps a bit as well, as its a good example of this.
    The TL;DR version of it is: every vector can be defined as made up of scaled up basis vectors, so for example: a vector (2;3) is actually 2 * transform.right(gives us (2;0) normally) + 3 * transform.up ( gives us (0;3) normally) and if you change the basis vectors to be something else you "warp" all vecots with it.Very hard to explain in words,the animation in that video makes this 100x easier to understand.
    Edit: do beware that I think he orientates the basis vector definitions into a column as opposed to the rows we see here, which can confuse people(like me).
    Edit2: Nevermind,it was changed in this video as well.(I still find it harder to understand with basis vectors being columns for some reason, cant seem to multiply in my head)

  • @sergio2692
    @sergio2692 3 роки тому +3

    thank you, you are saving my life

  • @MJano79
    @MJano79 3 роки тому +13

    Before the video starts, I’m already pushing like! You give us a lot of value! Ever since I found your channel, the concept of online teaching has given me a whole new meaning! Thank you very much! :)

  • @exe.m1dn1ght
    @exe.m1dn1ght 2 роки тому

    man i just love that ,,aha! i finally got it ! ,, feeling !! that's why i like programming.. at first its complicated , but then you have that amazing aha moment where you feel the power in your veins mixed with happines and a feeling of satisfaction

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

    Great stuff!

  • @jadejaparth6686
    @jadejaparth6686 3 роки тому +11

    Hey, many many thanks for this series! Where can I find more assignments or problems to practice this kind of gameplay development? I would like to practice gameplay which includes more math stuff.

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

    Learned a lot. Thank you

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

    Your channel is amazing! Thanks a lot for sharing your knowledge :)

  • @bxbvxbv
    @bxbvxbv 3 роки тому +8

    when u started explaining world to local it was so confusing I suddenly forgot all the vector stuff from last video. 🤣

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

    After being confused and banging my head for 4 hours, finally got what Freya did with the space transformations exercise. Thank you.

  • @barabanus
    @barabanus 3 роки тому +3

    1:46:56 You're wrong about the forth row of 4x4 transformation matrix as needed for "matrix multiplication to work". You may multiply 3x4 matrix by 4x1 [augmented] vectors without a problem, getting correct 3x1 vectors as result. The reason to have the fourth row is to map points in 3D space to vectors in projective 4D space, so every point on a vector in 4D space corresponds to the same point in 3D space. So for linear transformations you need 3x4 matrix, for projection transformation you need 4x4 matrix.

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

    Your teaching is amazing, love from India

  • @crazy-boy6143
    @crazy-boy6143 3 роки тому +1

    1:31:26 and now I draw tow vectors to visualize the view horizontal of the enemy/player. Instead of just a circle it's now just a part of the circle which can be easily adjusted by the viewAngle. I have been learning those stuff for 2 years, tho I didn't figure that out. it looks like we human need to use more time on thinking of how to use what we learned lol. Btw thanks for those videos. I'll probably watch them all hopefully you have many of them

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

    Freya, you're a very good teacher. That's rare.

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

    really nice videos for people that want an introduction to math in game dev, very cool seeing someone actually explain the math using geometry aswell instead of just numerical representations, altou;
    3:34 there is a way to compute the "projection vector" of "a onto b", namelly; "vector v", no nesesity for unit vectors with this projection formula:
    (b.a / b.b) . b = v
    That formula will give u the projection vector "a onto b" (vector v), where vector "v" is in the direction of vector "b", and the lenght of "v" is independent of the lenght of "b", for example:
    if b is scaled by a factor of 3, then the formula would look like this;
    (3b . a / 3b . 3b) . 3b = v
    if we factor the 3´s we get:
    [3 * 3 * (b . a) / 3 * 3*(b . b)] . b
    so, as u can see, all the 3´s asosiated to the b´s get canceled and we get the previous formula (b.a / b.b) . b = v
    "v" will be dependent on the lenght of "a" sinse thats the vector we are projecting onto b.
    This formula is used when u dont know the angle teta.

  • @tojynick
    @tojynick 3 роки тому +24

    Thank you, best math teacher~

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

    Hi Freya, thanks for sharing your knowledge, you are awesome!
    I got the same results on converting local position to world position with a different approach.
    I made a V2 desiredWorldPosition -> V2 parentToChildPosition = desiredWorldPosition - parent.position -> child.position = parent position + parentToChildPosition.

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

    Amazing video, thank you very much.

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

    Thanks for the great video I would love to see more cross-product videos with practice like how to make hot seekers missile in unity

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

    Watching your vids befor emy calc 3 exam lmao. Super super helpful.

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

    Math with disgruntled cat noises in the background is best math! Thank you so much for doing this, it is so super helpful!!

    • @jull1234
      @jull1234 6 місяців тому +1

      disagree wholeheartedly about the cat noises .

    • @zekrinealfa1113
      @zekrinealfa1113 16 днів тому

      @@jull1234 Yeah, I've come to hate the cat with a passion during the lectures, so damn annoying.

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

    Thank you learned a lot

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

    Thanks! Useful!

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

    thanks, very useful!

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

    Thank You!

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

    Thank you!

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

    Really good

  • @synth32
    @synth32 3 роки тому +3

    Really love your series! I tested the transform.Direction function and it doesn't return a normalized Vector, so be aware of that.

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

      ah yeah, looks like the defining feature of it is that it ignores scale, unlike vector, so it keeps the same vector length as the input
      I personally never use it because I never have a use case for it, and when I want normalized directions I usually use TransformVector anyway

  • @TimothyRHuertas
    @TimothyRHuertas 4 місяці тому

    Thanks!

  • @MrGhoulie
    @MrGhoulie 9 місяців тому

    I fell asleep watching product review videos and woke up to this playing

  • @ericabaez3033
    @ericabaez3033 4 місяці тому

    I love your videos

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

    Insanely smart

  • @jesperpersson9388
    @jesperpersson9388 День тому

    Correction: at 1:42:00 Freya says that the x basis is the first row. That's not true. It's the first column. Unity uses column major matrices so that's maybe why it might be easy to make the mistake.

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

    please make a video about field of view effects I really want a depth video about that from you

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

    Just discovered your vids, watched your vid on bezier curves, then went looking for more and found math for games part 1....
    ive been doing low level, realtime embedded control applications for donkeys years with NO MATH. I SUCK at math lol... because every time i try learn it i fall asleep listening to someone speak in a language I do not understand.
    not only are you very beautiful

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

    "So we don't have to press the play button.. cause that's gross!" :D - love it.

  • @LiveWire937
    @LiveWire937 11 місяців тому +1

    I have to watch these videos with headphones on now because Thor convinced my cat that there's a poor neglected cat friend trapped in my bookshelf speakers, and she keeps trying to bust him out of there.

  • @isay685
    @isay685 3 роки тому +12

    I just love the way you teach...

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

    Thor's meows really adds a certain "Je nes sais quoi" to game development.

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

    The 3.c assingment could be to transform a local space of an object to the local space of another object.

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

    You use the 4th row and column of the matrix because translation isn't actually a linear equation, so you do a shear in 4 dimensions instead.
    Ed: I just deleted part of this that was ridiculously wrong. My apologies to anyone who read it.

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

    Fantastic videos Freya! . Did you thought on use a 3d app to explain math? ( Blender for example). I always thought that way, would be more visual and less abstract.

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

      I find that they are more clunky and harder to draw freehand in! but I do use Unity when I have to visualize something accurately in 3D

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

    An addendum regarding the optimization in regards to spaces @ ca. 53:11. Instead of just doing everything in local space, it's often better to just pre-multiply all the space transforms into a single transform and uploading that to the GPU in a uniform buffer. Then you just need to compute a 4x4 MVP projection matrix once per frame per rendered object, then this matrix can be used for all its vertices or whatever you need it for. And IMO, this characteristic of linear algebra is its biggest strength; e.g. if you need need to perform a complex chain of transforms (lerping between animation key frames in object space, applying local space transforms, applying world space transforms, etc; then you just need to do the calculation once and then you can re-use the resulting transformation as a single matrix operation millions of times in a massively parallel manner. And this also explains why GPU designs and graphics pipelines are the way that they are and why linear algebra is so ubiquitous in scientific simulations, machine learning, etc. And as a small tangent, this is also one of the benefits with tessellation for rigged meshes since you can apply the more "individual" and complex animation transforms while its in its low poly state and then do the tessellation step afterwards to reap the benefit of not having to do the costlier transforms on a magnitudes greater number of vertices (and instead just have to do much cheaper and more scalable transforms during the tessellation stage of the render pipeline). Of course, there are some less positive trade-offs as well which is why tessellation is slowly being phased out in cutting edge engines like UE in favour of more modern alternatives.

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

    Left hand coordinate system rule
    Cross product AxB,
    - use left hand, point all fingers in direction of A, orient hand to be able to curl fingers towards closest way to B, extended thumb will be the resultant direction of cross product.

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

    28:47"lookness" was exactly the name I would use. Good choice. ;]

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

    2:04:08 so what u are doin is basically a change of basis?

  • @NipunDavid
    @NipunDavid 2 роки тому +5

    The fucn which is LocalToWorld...shouldn't it be renamed WorldToLocal?? as we are converting wold coordinates to local space

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

      Yeah I got really confused about this as well??

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

      Exactly. I think that too. I think correct one is WorldToLocal.

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

    Wouldn't the 4th row in the basis matrix affect the result only if you use the w coordinate after the matrix multiply ?

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

    What I dont understant at 3:20 regarding the dot product is, since B is projecting on to a normalized A (Which is extended to infinity) And A's length is 1 due to normalization. Wont the dot product be greater than one according to the graph you drew?

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

    40:50 the closer humanity have got to time travel

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

    I was about to comment on Task 2 reminding me about Amnesia Dark Decent and looking at mob/lights and next phrase is pretty much "..in a horror game..." (Just finished it again, great game)

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

    "it's also a good gang sign. if u'r left-hand crew or right-hand crew u can do yr gizmos" LOL 2:24:44

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

    NEAT

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

    Nice video!
    Where can I the real axis? :D I loved it

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

    Great we can use Vectors to present data from the energy feedback from sensors: gyroscopes, accelerometers, magnotometers to the Kalman Filter matrix vector complex equations to be solved by a computer to solve a real world control systems engineering such as a US Navy Military Drones as well as those used by Robotics manufactured by Boston Robotics... etc... etc... :)

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

    Your cat makes me think there's a cat in my ceiling, i'm paranoid

  • @malekekko8449
    @malekekko8449 5 місяців тому

    Is the math concrete weather we disagree on the topography?

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

    how did you achieve the alpha blend on your webcam? i coded my own using bitwise operations on GDI bitmaps but it was never as smooth as it should be, suffered numerous aborations and artifacts.
    This is a problem i sunk over 100 hours in, shamefully.

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

    Hi Freya, which smart pen do you use?

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

    I can't code for the life of me so I did the assignments in Excel and used diagrams for visualization (that one year studying civil engineering did pay off). All vectors were simply two numbers written next to each other.

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

      If you can do it in excel, you'll be able to learn coding in no time. It's really not that different.
      Pick up a programming book and you'll be able to do it :D

  • @jordan.rushing
    @jordan.rushing 8 місяців тому

    I'm halfway through, so forgive me if it's answered later on but I wanted to understand, if the basis is always 1 for x and 1 for y... why even multiply the vector? Isn't it just the vector's points already? What's the point that I'm missing and how does that multiplication translate it to global space

    • @jordan.rushing
      @jordan.rushing 8 місяців тому

      Ok, I think I understand when going through matrix section. Seems like it's really not 1, it's the dot product to apply the rotation.

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

    I am a bit confused. So, is the result of cross-product defined by the handedness of the coordinate system? Because in Unity we use the left-handed rule, as the coordinate system is left-handed, and in pure math, we use the right-handed rule (as in Source Engine, Blender, Maya.. etc)

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

      the cross product is independent of handedness! handedness is only a matter of how we display it all

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

    1:57:54. Pygame developer: Fine! I'll do it by myself

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

    I am 0....everything vectors out from this Dot. What will trigger events? Me? Self is playing along. BUT, who wrote the program? Need more information.

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

    Long Story short for Dot Product.
    1. You need at least 1 normalized Vector to project into another. A common use is to project a not normalized one into a normal surface.
    2. You ends up with two possibilities:
    Not-Normalized x Normalized & Normalized by Normalized.
    Normalized x Normalized: Exclude the length of the vector and end up with only a direction:
    1 (same direction),
    0 ( perpendicular ),
    -1 (Opposite).
    Not-Normalized x Normalized: dot returns a length in a scalar.
    This scalar represents how far the direction projected along the distance axis
    == values -> Same direction
    - values -> Towards opposite direction
    + values -> Towards Same Direction
    Scalar length : How far it projected

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

    What tablet are you using? Please asnwer me

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

    you should be teaching in my uni lol

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

    @2:20:36 anyone know where I can get one of these models of the axis origin cursor thing?

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

      not sure, I 3D-printed and painted my own!

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

      @@acegikmo I figured it was something like that :) It looks so good btw!

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

    noice

  • @BlackOps78321
    @BlackOps78321 3 роки тому +3

    Basically this shows understanding 3d vectors, view transformation, etc. is vastly more important in the real world (infact you might not even need that last part, many things just set up 3d/2d for you). If you ever got a degree from some university, they probably tried to ruin your mind with stuff you won't remember like memorizing derivatives and integrals, yet it's only important to know what those are and not the memorization. I agree with how to use these concepts, and as self-taught it's always been easier to understand what things like lines, rays, shapes, etc. are doing. Redoing the math isn't needed because many renderers can just do it for you already. Memorizing things like laws of SIN/COS and shapes doesn't even matter because those are referencable, just like everything when you make a real application of math in programming. I even find myself looking up references even in common things like web programming. However if someone were to just not know these concepts here, they'd have some trouble with C++ and getting things to work how they want because vectors, magnitude, and those things need to be understood at least.

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

    🙏🙏🙏🙏

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

    shouldnt 4x4 matrix be used to encode 4d space and 3x3 to encode 3d? in order to transform 2d space you only need to multiply it by a 2x2 matrix. am i missing smth here?

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

      3x3 is only enough to encode 3D rotation, but not translation. similarly, a 2x2 can only encode 2D rotation, but not a 2D position in addition to that

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

      @@acegikmo ah, got it, thanks a lot!

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

    미모와 지성을 갖춘 개발 여신이 나타났다

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

    About Asgmt. 3 solution (Space transformation):
    I've had to take some time to figure out where the coordinates of the local space origin were coming from, as I'm new to programming, and Unity, Godot, and all this all environment.
    After a while I've noticed that it was given by the transform.position of the object the script is attached to, right?
    So I've got confused by variables' naming:
    What I think should be named "worldOffset" is the transform.position of the object itself, isn't it?
    What you've called "worldOffset" is in fact the Vector2 value we want to be drawn in the local space, the one we give the coordinates in the Public Vector2, am I correct?
    I think it would be better for understanding if this Vector2 was named something like finalPt or resultPt. What do you think?
    That's just a kind of a suggestion, as I'm just learning this through your amazing courses and could've gotten it all wrong, haha.
    Thank you for the amazing classes. The course is very exciting and fun to watch. :D

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

      She called it worldOffset because it is the difference between the object and the point in question expressed in world-space coordinates. What I mean is that the coordinates of the worldOffset vector describe a certain combination of the world-space basis vectors. The process of transforming the point from world-space into local-space is just the process of expressing that worldOffset vector in terms of the local-space basis vectors rather than the world-space basis vectors. Conceptually, the worldOffset vector and what you might call the localOffset vector are the same vector, it's just that they are stored in the computer differently because one describes a combination of the world-space basis vectors and the other describes a combination of the local-space basis vectors.

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

    Example? If you're making an AoE and you want the Aoe to align with a sloped ground when a player casts it.
    Edit: Not even 5 miniutes later. @ 2:30 Lol, I know where this is going.

  • @Seanmcfarlane115
    @Seanmcfarlane115 3 роки тому +22

    Great stuff but the cat's really distracting. Give Thor some kibble or something to keep him busy 😛

    • @exlpt2234
      @exlpt2234 Рік тому +2

      He’s just a bean

    • @JonathanAnima
      @JonathanAnima 8 місяців тому

      Perhaps with a little bit of catnip...hahah

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

    If the basis vector is always 1 then why ever even multiply by it... it will always come out the same as the local space point... I hope you understand what I mean ... you still ended up with the same vector (2,1)

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

      the basis vector has a length of 1, but it's pointing in a specific world space direction

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

      @@acegikmo but for that step particularly I’m having a hard time wrapping my head around how multiplying the local space point by 1 ever does anything but give back the same local space point...so if the local space point was (500,300) you already have the vector... I’m hope I don’t sound too stupid because maybe I missed where direction factored in here

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

      @@bradbland9307 because you're it just multiplying by one, you're multiplying by a direction vector with the length of 1, which could point in any direction
      so effectively what you're doing is getting the basis vector (in world space) scaled by the corresponding local space coordinate, to get a world space offset

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

      @@acegikmo I think where I get confused a lot is thinking that the values in a direction vector are 1 but it’s the length of that vector that’s 1 unit in relation to the units in the space your working with ... Is that correct?.... Btw thanks for your response

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

      @@bradbland9307 kinda yeah, though in reality it's a little more complicated, but, kinda yes~ (hard to elaborate on my phone in UA-cam comments, but you're welcome to join my discord and ask in there!)

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

    Meow on 1:48:21 :)

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

    wow this could have been shortened to 20min, super tedious for my taste, even from a beginner's perspective

  • @ibrahimokur4169
    @ibrahimokur4169 9 місяців тому

    Matrices and cross product to complicated

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

    Wtf i thought i hated math

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

    you are so cuteeeee

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

    This is called 'Spaces & Cross Product: Math for Game Devs' but you don't provide the math for the cross product?

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

      because 99% of people watching this will use an engine that has a cross() function built in, so it's not exactly necessary
      but if people want the math you can totally look it up! it's everywhere on the internet~

  • @Haapavuo
    @Haapavuo Рік тому +2

    Great video, thanks, but dang your cat is annoying 😅

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

    Is she shy to look straight into the camera lol. I was making sure she isn’t talking to my chair.

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

      she's looking at her screen. you know, where she actually draws the matrixes and numbers, which is hard to do when you're looking at the cam instead >.>

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

      @@quinndelcarmen1384 still even when she wasn’t doing anything

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

      @@saiyanpridezbudokitenkaich3444 lol....the camera is on an angle so why would she turn around and face it? thats so random dude. this isnt a news broadcast. When shes not "doing anything" shes probably looking at the diagram and figuring out what to explain/draw next.

  • @user-vl7mi3dx9j
    @user-vl7mi3dx9j Рік тому

    She is so cute

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

    omg ur so smart.. please will you marry me? 💍😂

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

    i want to put that cat in a bag and play football with it

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

    pdf file