Math for Game Devs [2022, part 2] solutions for assignments 1-3
2022 ж. 25 Қаз.
110 162 Рет қаралды
Primarily for my students at FutureGames - I will only read chat/superchats during breaks!
Find out more about the school at futuregames.se/
❓ FAQ ❱ acegikmo.notion.site/FAQ-8b62...
💖 Support me on Patreon ❱ / acegikmo
📺 I usually stream on twitch ❱ / acegikmo
💬 Join my discord ❱ / discord
🐦 Follow me on twitter ❱ / freyaholmer
My rough timestamps: 7:36 Assignment 1, Radial Trigger 43:07 Assignment 2, Bouncing Lazer/Reflecting Vectors 1:57:39 Rendering Normals that aren't Normalized 2:07:55 Assignment 3a, Transforming Local Space to World Space 2:29:03 Assignment 3b, Transforming World Space to Local Space 2:49:05 Questions
Thanks!
This is underrated, you are making tutorials helpful enough to give people a good understanding of a subject while also showing good applications of the concepts, hidden gem.
thank You for this content Freya!! ❤️
Thank you so much for this great series.
Thank you very much Freya! You are the best
I managed to do all of them, took all day can't wait to see how you did it.
nice series :)
1:17:45 1:22:35 (how to reflect a vector)
Where can i download the psd file (or image) of the calculations? I want to use it as a reference. btw It's a pity that Futuregames' educations are not online. It is impossible for me to go to Sweden to follow the training. Otherwise I would have signed up right away.
Gems, the game changer!
3rd assignment were easier than the second.
The only reason 3b was easier for me was because they are quite similar probablems and solving 3a quite manually, gave me enough insight to be able to solve 3b with trial and error. The issue here is that I still don't have good intuition on these things. I feel like sllolving more vector problems will help me with that.
Hey Freya, for question 3a and 3b, I just subtracted the world space position of one point from its parent to get the local space, and added the parent's coordinates to the local space to get the world space. I did that since it's a simple offset calculation. Is my understanding of the problem not correct?
hi You can't make a patch for Uncharted game that runs on old graphics
2:16:47 I wonder if this something specific to game development as i'm not that (I'm just learning math for animations), but I can not figure out what does multiplying the basis vector by the coordinate means
idk if I got it right . imagine we have 1 box object in world space , that box has own coordinate (x,y) but in unity we has transform.right for x axis of object itself and transform.up for y axis of itself. both are basis vector and normalized. somehow those has built-in calculate for rotation already (so we dont talk about rotation here) that's mean any number that you want (like your own coordinate value x,y aka. your imagine vector2 )split x and y and pair to basis vector from box space then multiply for each basis vector x and y axis then sum up to get local point in box space instead of world space. if you still catch up with me. now we can move the box to any position along with custom vector2 but relate to box space // p.s. my English skill is kinda suckass ´ //p.s.2 i could miss the point and out of line
Thanks again for sharing knowledge! How many cats you got?
three cats! thor, salad and toast
@@acegikmo great ! I have 2 : Henri Bourrachat and Djinny. Happy new year from Québec !
why is neccecery to calculate Dot product in worldToLocal function while rel's x and y is already same as local vector ?
the interactive website doesn't work on the interactive part anymore 😭 i'm using firefox
Wow! Wait a minute. It's not fair approach to convert from local to world space. I was wondering how is this possible to do with only knowledge of vectors, without matrices. Freya is using Transform position, right, up properties. This properties should use localToWorld matrices under the hood. This is not pure math solution.
Yes, I also thought that was too easy. I did it on raylib with pure vectors and the hardest part was finding out the right direction of my points direction. I'm guessing this explains how many people said 3a was harder, they must've not used transforms?
@@xhivo97 Excuse me, how/where did you learned how to get the direction vectors from the rotation?
luvv the catttttttzzzz :3
good player
COuld you please share your Notepad++ theme? Either link or a name is good
She is using Rider IDE which is a paid IDE not Notepad++
@@supertenchoo4271 thanks
honestly freya's life is my dream life: Game development and math, all while surrounded by adorable cats :3
Cool video. Thank you for sharing your knowledge. I love Mathematics. The beauty of Math, (in my personal opinion), is that it shows you how everything fits, numerically... Existence itself is governed by thousands of variables, equations (Quantum Physics, etc), that are changing and evolving every fraction of second (or frame). When I see something as beautiful as the Sunset, with all its colors... and also I remember that there is a Mathematical Truth like this behind all that, I can't help but believe that God has to exist, because this Work of Art didn't write itself alone, there must be a super Geek Artist behind this... sort of... Amazing & Beautiful Matrix... we live in.
yep im offically stupid cause i didnt get assignment 2
Should have given timesamps
this is the path of heaven !!
Aaaaz,
LOL CAT
1:27:00
WHY AM I HERE ?
in formula r = d - 2(d.n)n, Why are we doing orignalDirection - vectorProjection
i think that was probably to reflecting the direction after reach the normal surface
the out keyword is kinda hot ngl
Not a c# user but idk how I feel about the scope being outside the if block.
@@xhivo97 I think technically the if block is only between the { } and the condition is not part of it :P
@@lievenpetersen Yes, but here's where the confusion comes for me: since most languages allow you to define new variable in for loops' (/*here*/), that variable has local scope inside that for loop only. There are other languages that have syntactic sugar to do something like this pseudo code here: if (int flag = getFlag(); flag == true) { // flag has local scope in the if } Odin does that, but I wrote it in C like syntax in the above example. But the out keyword is syntactically quite different and I'm sure there's advantages and disadvantages to having it scope outside.
To add to this, I feel like if it has local scope it's a unique feature, as it is not the same as defining it before the if statement and might lower the chances for mistakes in some cases; while the out keyword seems to me it's equivalent to declaring it on top of the if statement without the added advantage scope minimization.
hay qua ban oi