What's crazy is that I started watching Sethbling when I was very young. Now I'm an engineering student and I can actually understand the math he's talking about now! How time flies.
"Hope you learned something new". In fact, there was nothing in this video that I already knew, everything was new to me. And it was very nicely explained to, so while I definitely understand the basics of what was said. Nice video 😊
This 5 minute video just taught me more about 3d physics and collision detection than any of my college game dev courses so far lmfao SethBling can't be stopped
Nice. I've been getting into game development in the Godot engine, and this has helped me understand why concave collisions don't work as well as convex ones.
Sethbling using advanced calculus and differential equations in redstone. This man has ascended to new levels. From making computers in mc to full physics engines. If mumbo is redstone jesus, sethbling is the redstone god.
HOLY SHIT! quick and simple explanation of collision detection between blocks for easy implementation And you prefectly demonstrated how well you know this subject!
Neat! I've only ever learned about aligned axis cuboids, general squares, and fully general 3D (convex but you can stitch multiple together for concave) shapes (via GJK - Gilbert-Johnson-Keerthi algorithm)
Hi, physics engine dev here: GJK, especially with the augmentations done to it in 2017, tends to converge faster than SAT for larger polyhedra and can be more numerically stable. Would love to see you look into it and hear your take on it.
For those curious, this theorem generalizes to any n-dimensional euclidean space, where if two convex subsets are disjoint, there exists an (n-1)-dimensional hyperplane separating them
wow I had no idea it was that easy once you lay it out like that. Just 2x 3x2 plane projections for the face -> corners and 2x 3x3 for the edge collisions. The dot is then the distance.
how exactly do you determine the length of each axis for each cube? do you just take the vertices, place them on the line of the axis and interpolate between?
if you were to generalize your physics engine to include different shapes (like tetrahedrons or icosahedrons, maybe), could the separating axis theorem be used the same way?
The math works out fine, but you end up with an extremely large number of cross product axes, which makes it impractical. There are other, more efficient algorithms for more complex convex shapes.
One such algorithm is GJK (Gilbert-Johnson-Keerthi) for convex shapes/hulls, the ingeniousness of this is by using the shape's Minkowski difference for comparison.
Yeah, my physics engine uses bounding sphere checks before doing any SAT calculations between colliders (but no BSP). For world geometry, it's an AABB, and no BSP is necessary because I can directly query voxel coordinates via /execute if block.
Question: You mentioned that there are only two types of collisions. Corner-face collisions, and Edge-Edge collisions. Why can't there be other collisions? Why can't there be corner-edge, face-face, or edge-face collisions?
All of those cases are either degenerate cases that are extremely likely to come up and don't last for more than a single frame with moving objects, or they're handled sufficiently by corner-face + edge-edge cases.
I didn't know the SAT could be applied to 3D objects, neat. Does it work for convex hulls too? I suppose it should, but idk what the axes to check would be
What's crazy is that I started watching Sethbling when I was very young. Now I'm an engineering student and I can actually understand the math he's talking about now! How time flies.
How do you feel now that you understand the math?
Same 😂❤
bro sethblings return has fed my need for these videos
If you want more videos that are kinda like this I recommend WhiteStoneJazz specially his video about why mobs tend to go up and the pattern series.
i have never encountered this subject in my life but now i feel like i understand it completely, this was very well explained
I have and this is the best explanation ive seen
Huh, rotated cuboid collision detection is exactly the sort of thing I've been trying to learn recently.
Maybe this will help!
Very nice visualization of projections and the Separating Axis Theorem. Well done!
ChatGPT ass comment
"Hope you learned something new".
In fact, there was nothing in this video that I already knew, everything was new to me. And it was very nicely explained to, so while I definitely understand the basics of what was said.
Nice video 😊
I miss watching sethbling videos i barely comprehend, feels like old times
Ikr. Man this guy is singlehandedly responsible for me getting into IT
interesting, there's barely any videos on youtube covering collision detection with this so thank you for making this
How cool that the math just works out like that
That's what makes it math :]
You're encouraged to dig into it and find out *why* it works out like that :D
For those of us who began our engineering journey with Redstone, I acknowledge Sethbling as my first professor and Etho as my second.
This 5 minute video just taught me more about 3d physics and collision detection than any of my college game dev courses so far lmfao
SethBling can't be stopped
Insane how you explained this in an actually understandable manner
Minecraft + physics + math + programming. Love it
Nice. I've been getting into game development in the Godot engine, and this has helped me understand why concave collisions don't work as well as convex ones.
The return of the return of the king
thank you for incidentally giving me the clearest, most concise definition of cross product i've ever heard
This is the first time I understand the separating axis theorem. That's so useful!
Sethbling using advanced calculus and differential equations in redstone. This man has ascended to new levels. From making computers in mc to full physics engines. If mumbo is redstone jesus, sethbling is the redstone god.
I knew that datapacks would make him too powerful
Wow this was surprisingly easy to understand and really clear.
Well done!! Physics engines are incredibly fascinating.
These have been banger videos breaking down parts of the engine. Super cool.
I had no idea how much I needed Sethbling to come back until now
I love how much you are enjoying making these
HE'S REALLY BACK
THIS IS THE BEST THING TO EVER HAPPEN TO TH-cam
Nice video, good explanation! My master thesis dealt with this problem but for general concave shapes, which makes everything way harder.
HOLY SHIT! quick and simple explanation of collision detection between blocks for easy implementation
And you prefectly demonstrated how well you know this subject!
Excellent explanation and visualization!
PS. The outro was so comforting, probably thanks to the added nostalgia.
This is amazing
I never thought i would see something this complicated in minecraft before today but here we are
I'm so glad I took linear algebra, this video makes so much sense now.
Great video as always!
First sethbling video ive watched in literal years and i immediately learn something new. You never changed, brother. ❤
is this the sethbling renaissance???? im HERE for it!!
Do I understand any of these videos that he has recently posted? No. Do I care? No. I'm interested and happy that this guy has come back to youtube.
Never thought I’d see the day. My childhood returns. Keep up the work Seth!!!
The visuals are just the best I have ever seen to explain collision axes
one of the best explanations of SAT i’ve seen
Thanks Seth. I have only ever used AABB before, this was new to me.
SETHBLING KEEP UPLOADING!!!!
I forgot this guy existed! Welcome back.
That's a super cool trick! They must've been very pleased with themselves when they created it!
I'm glad you're back
Thanks for the awesome visuals!
Made it so much easier to grasp the concept.
watching this comeback is so much fun!!
I love this kind of physics solutions, thank you for the showcase!
Really well explained. I was surprised that the 15 axes can also give the smallest possible movement to separate the cubes.
yessss, there isn't much stuff about physics in TH-cam than there should be ❤
Congrats on 2m subs!!
Finally another educational video from the goat himself!! , thank you so much for these types of content!!
you make me cry tears of nostalgia
This comment section fills me with so much love and joy! So many peers having the same nostalgic experiences
Thx for the video, it was very interesting !
Eager to see the next ones !
Keep it up Seth, love it
im so happy youre back
I am learning. Thanks mr. bling.
Congratulations on 2m subs 🎉
I don't have notifs for you, how the hell did I know you posted.
woo more sethbling
"welcome back, sethbling here" BOY DOES THAT FEEL GOOD
So cool to see the math underlying game development!
ooh! i was wondering about the separating axis theorem, honestly thank you!
Congrats on 2m btw 🎉
Sethbling living 25 updates ahead as usual
Glad to know that this never changed
I love vectors, they are just so cool
Neat! I've only ever learned about aligned axis cuboids, general squares, and fully general 3D (convex but you can stitch multiple together for concave) shapes (via GJK - Gilbert-Johnson-Keerthi algorithm)
Hi, physics engine dev here: GJK, especially with the augmentations done to it in 2017, tends to converge faster than SAT for larger polyhedra and can be more numerically stable. Would love to see you look into it and hear your take on it.
i love vectors, geometric algebra, and physics engine stuff: this is so cool! thanks for explanation!
2024 and SethBling is still breaking the laws of Minecraft.
Sethbling, Man, myth, Legend, Minecraft god.
This is achely really helpful have trying to figur out how to do this and this video helps
We are witnessing an era of Thomas Edison, Nikola Tesla, Benjamin Franklin of Minecraft.
Math sure is magical
For those curious, this theorem generalizes to any n-dimensional euclidean space, where if two convex subsets are disjoint, there exists an (n-1)-dimensional hyperplane separating them
This is insanely imformative. Thanks!!!
sethbling i love you
looks, amazing!
I would be interested in the proof for the separated axis theorem, perhaps another video idea?
This is the best resource I've found for SAT in 3D so far 😂
same outro and everything 😭 i might cry from happiness
When your math teacher tells you you'll need this later in life, this is that moment.
This definitely went over my head
Very well explained, thank you for the video!
wow I had no idea it was that easy once you lay it out like that. Just 2x 3x2 plane projections for the face -> corners and 2x 3x3 for the edge collisions. The dot is then the distance.
I wonder if there will be a C.S project or something involving this creation.
that outro song gives me NOSTAGIA.
YO....
Just learned more in 5 minutes than I did during my 4 year CS degree.
sethbling the goat
I love the separating axis theorem
Sheesh why learn physics from school when you can learn physics from Sethbling
how exactly do you determine the length of each axis for each cube? do you just take the vertices, place them on the line of the axis and interpolate between?
if you were to generalize your physics engine to include different shapes (like tetrahedrons or icosahedrons, maybe), could the separating axis theorem be used the same way?
The math works out fine, but you end up with an extremely large number of cross product axes, which makes it impractical. There are other, more efficient algorithms for more complex convex shapes.
One such algorithm is GJK (Gilbert-Johnson-Keerthi) for convex shapes/hulls, the ingeniousness of this is by using the shape's Minkowski difference for comparison.
@SethBling Are you performing any sort of optimizations like binary space partitioning or using spherical bounding boxes?
Yeah, my physics engine uses bounding sphere checks before doing any SAT calculations between colliders (but no BSP). For world geometry, it's an AABB, and no BSP is necessary because I can directly query voxel coordinates via /execute if block.
thanks for making math cool seth.
Question: You mentioned that there are only two types of collisions. Corner-face collisions, and Edge-Edge collisions.
Why can't there be other collisions? Why can't there be corner-edge, face-face, or edge-face collisions?
All of those cases are either degenerate cases that are extremely likely to come up and don't last for more than a single frame with moving objects, or they're handled sufficiently by corner-face + edge-edge cases.
My engineering classes actually coming in handy
Thanks, this might come useful sometime!
I didn't know the SAT could be applied to 3D objects, neat. Does it work for convex hulls too? I suppose it should, but idk what the axes to check would be
Bros is so back
This is brilliant
This would be so much easier to explain if we could see in 4 dimensions
thank you, seth "macfarlane" bling
Watching these videos makes me feel like I’m in middle school again
That's neat, but I assume there are limitations if multiple overlaps occur? It seems they'd want to push in different directions.