Yo this video is actually sick. I was surprised to see it doesn't have more views. You definitely earned a subscriber, I've been looking for a good explanation of this for a long time.
Just came from your sound synthesis video, and I'm only a minute into this one, and I had to stop the video and take the time to say how utterly fantastic this content is. If the quality of the content on this channel continues as it has been, this channel is going to be HUGE. I'm absolutely delighted to have found this channel.
A great introductory video! If you feel like it, I'd appreciate if you made a followup video(s) about the different approaches to soft bodies (and maybe integration techniques) that you mentioned.
Amazing explanation. Even after learning about Hooke's law in high school and at uni, it never clicked with me how I'd actually make a program to simulate it. However this video does. Now I really want to implement it.
As a kid that would like to do some programming stuff as a job later in my life, this is awesome. Currently in class we started to study vectors, but i could still grasp somewhat of an understanding of everything that was said in this video due to the clarity of your explanations. I've learned a lot today. Thank you!
This video really helped me get started in this field, I really thought it to be very difficult to do something like this but after watching this video it really inspired me to venture into this field and learn more about physics simulations in general, Thanks a lot 😁
Its easy to do if you dont need realism, pretty much any haphazard way of connecting together points with velocities will give you a quite good result! complete self contrived baby numerics will work! :)
Just spent the whole day coding this as well as I could from the video - furthest I've ever gone is circle-circle collisions so this was definitely a pretty big challenge to me.
Great video, helped me create my own soft body simulation (in python!) without giving the code. Great explanation overall, really helped me understand the methods behind soft bodies. Definitely earned a subscription and a bell.
@@BrendanGrazianigive each particle a radius. Check collisions between each particle kinda like: #idk how to actually python but example: for i, p1 in enumerate(shape): for j in range(i+1, len(shape): p2 = shape[j] #assuming that in a shape you have each point #get distance (squared) between each point with d = (x2-x1)^2 + (y2-y1)^2 #sum the radius of both particles and square it. If the dist is less than sum of rad squared, then they are colliding #for resolution, take the difference between the position of p1 and p2 #divide the difference by the magnitude of the difference to obtain the separation axis #sum up the radius of both points (not squared) and subtract that by distance (just take the sqrt of previously calculated d) to get penetration depth. #multiply the difference axis by the pen depth (separation vector) divided by 2 (because you apply it to both points). #Add and subtract the Sep Vec to both p1 and p2.
I absolutely love your videos they are just next level quality with incredible animations and editing, along with great informative content, if you ever hit 1M, I won’t even be surprised
Ever run across a channel and think "Wow how have I not seen their videos sooner, this quality must have attracted a huge following" only to be floored when you see the abysmal view and subscriber count!?! Those are rookie numbers (42k views / 7k subscribers as of 4/7/2021) we gotta pump this channel up! Eagerly looking forward to more. Also if you have a Github page where you can share your implementation of these codes that would likely help your viewers as well.
This is SO CLOSE to an advanced Ph.D. level course at a university! Only the quality - higher. Awesome. Though, at university, you get to see all of the different ways to model stiffness, complex geometries of elements, plasticity.... Still, introduction wise - this is amazing work.
Tryna learn all I can about rigid body physics to make my own crude engine in Java (yes, I'm that -sadistic- masochistic. I always mix up those words), so this video is right up my alley of interest. That ray method for detecting collisions is so damn elegant that I feel stupid for not knowing about it sooner lmao. In before your channel blows up...It's well deserved!
Just imagining the limitations and issues these kind of simulations can create(like, example, the spring moving past its maximum extension in a single frame) makes me happy that I'm not going into that field myself.
I waited so long to find somebody alking about Physic simulation this smooth...I mean : I can create a whole Physic system only using this video EVEN IT'S the purpose was only the soft body...You're my Lord now
Nice video! Just wanted to point out what you are doing is a semi implicit Euler integration which is already slightly more stable than the standard Euler method.
That's soo good, I had no idea that that pattern of calculating velocity was called "Euler integration", but I've seen it already in many engines and frameworks. Keep it up
8:35 you can also add a small constant to the denominator to avoid dividing by zero while still being able to compute something (also one branching avoided)
I'm not bright enough to understand what you're talking about, but I now do desire to play squishy Tetris. Great video... I think. I've also subscribed to your channel, so I may someday (in the far future) understand what you're talking about.
4:58 This does not seem fully right to me. F_s would be a scalar according to this formula but shouldn't it be a vector as well? I think you also have to multiply it with the normalized vector between A and B like you did for F_d.
Ideally, we need to find a mathematic formula for determining the exact path that an object will move, then compute the intersection of the two paths, luckily you can add one path to the other to simplify the collision computation to just finding the intersection of a constantly changing shape that's rotating and morphing in seemingly random ways and the origin point 0,0 this still is not great, however given how it's not randomly changing shapes but doing it according to a pattern there is a single way I can think of that would have an O(n^2) time complexity at the least. I am fairly sure it is possible for rigid body collisions, but I think finding the path of a spring would be extremely difficult.
9:50 I'm not sure why you mentioned a tick rate of 60 Hz. Of course one is limited by the available processing power, but there is no reason to limit the tick rate to the framerate. It just seems to me that some people may become confused on that point.
Me at 1:30 am: Oh cool, a video that explains something I mostly understand! This will be good to fall asleep to. Me at 1:40 am: As it turns out, I did not mostly understand the topic, and I am now much more awake.
Wow, that explains a j2me game that i have so impressed how the developer could do that, the game was about a Drop of oil, i have so impressed, i forget the name cause I was younger when i played, but thanks man, the video explains so much than i wanted...
nice. It was very interesting. I don't think damping of a spring comes mainly from air resistance. My guess is that the damping comes from the metal in the spring heating up as it resists deforming. 3:48 If it really was air resistance that caused the main amount of slowing, springs would work much better in a vacuum. Which I'm fairly confident that they work the same, but I haven't tested it. Either way, it's not a major point at all, and since you're just modeling- it doesn't matter. Still a great video
Haha. I guess springs whole function is to damp. So they wouldn't (if you are correct) "work better" in a vacuum if you mean to dampen something. By "work better" I should've said: "they should return to the uncompressed state without losing energy".
You have the potential to become the "3 blue one brown" of game and simulation development.
You already earned my bell, so keep it up!💪🏽
Same!!!
Nice channel for sure
I couldn't have said it better!
He will never be the 3blue1brown of game development.
He leaks the black background lol
Jk, great work🔥 keep it up
@@NHCH "lacks"
this is really some of if not thee best content on math + programming on youtube. keep it up man these are blessed
And physics 😂
homestuck (:
Actually Physics
Soft body physics is made out of rigid body’s
"Thee" means _you._
Yo this video is actually sick. I was surprised to see it doesn't have more views. You definitely earned a subscriber, I've been looking for a good explanation of this for a long time.
Appreciate the support!
You've been looking for a long time, but without bothering to Google it or do a simple search on TH-cam? 😊
Nice, I was googling the other day trying to find a video like this.
Goggleing*
Just came from your sound synthesis video, and I'm only a minute into this one, and I had to stop the video and take the time to say how utterly fantastic this content is. If the quality of the content on this channel continues as it has been, this channel is going to be HUGE. I'm absolutely delighted to have found this channel.
A great introductory video!
If you feel like it, I'd appreciate if you made a followup video(s) about the different approaches to soft bodies (and maybe integration techniques) that you mentioned.
Wow What a content.... you're so underrated may TH-cam algorithm bless you
Yes
It getting recommended randomly to me
sure budlit. AYo zum zum
Amazing explanation. Even after learning about Hooke's law in high school and at uni, it never clicked with me how I'd actually make a program to simulate it. However this video does. Now I really want to implement it.
Thank you, good luck if you try to implement it :)
Incredible content, keep it up! I'm getting vibes of a soon-to-blow-up channel:)
100% Agreed
Same, this is really well made
As a kid that would like to do some programming stuff as a job later in my life, this is awesome. Currently in class we started to study vectors, but i could still grasp somewhat of an understanding of everything that was said in this video due to the clarity of your explanations. I've learned a lot today. Thank you!
wait until you start studying tensors
@@rykehuss3435 i dunno if i should be scared or excited.....
@@thelostsoul9446 scared
@@rykehuss3435 good
This video really helped me get started in this field, I really thought it to be very difficult to do something like this but after watching this video it really inspired me to venture into this field and learn more about physics simulations in general, Thanks a lot 😁
Its easy to do if you dont need realism, pretty much any haphazard way of connecting together points with velocities will give you a quite good result! complete self contrived baby numerics will work! :)
I love this video!
Total Sebastian Lague
vibes, keep on making great videos!
Subscribed in 15 seconds - I can feel the effort that went into this video
Just spent the whole day coding this as well as I could from the video - furthest I've ever gone is circle-circle collisions so this was definitely a pretty big challenge to me.
Great video, helped me create my own soft body simulation (in python!) without giving the code. Great explanation overall, really helped me understand the methods behind soft bodies. Definitely earned a subscription and a bell.
I am having a little trouble implementing self-collision though. Any help would be much appreciated.
@@BrendanGrazianigive each particle a radius. Check collisions between each particle kinda like:
#idk how to actually python but example:
for i, p1 in enumerate(shape):
for j in range(i+1, len(shape):
p2 = shape[j]
#assuming that in a shape you have each point
#get distance (squared) between each point with d = (x2-x1)^2 + (y2-y1)^2
#sum the radius of both particles and square it. If the dist is less than sum of rad squared, then they are colliding
#for resolution, take the difference between the position of p1 and p2
#divide the difference by the magnitude of the difference to obtain the separation axis
#sum up the radius of both points (not squared) and subtract that by distance (just take the sqrt of previously calculated d) to get penetration depth.
#multiply the difference axis by the pen depth (separation vector) divided by 2 (because you apply it to both points).
#Add and subtract the Sep Vec to both p1 and p2.
8:44 "Exclamation mark not factorial sign"
I am SO LUCKY to have found this channel! This is some awesome content, thank you Inspecto!
Now it's gonkee
What an incredibly elegant and easy to understand explanation! I wish I had this when I was trying to figure this stuff out in the past!
This is... refreshingly comprehensive, assuming little to no prior knowledge. Just.. wonderful! I didn't know tutorials could come in this flavor.
TH-cam lacks good explanators in the field of computer science simulations -- I'm sure you will be the best one given a couple of years!
I absolutely love your videos they are just next level quality with incredible animations and editing, along with great informative content, if you ever hit 1M, I won’t even be surprised
The amount of flashbacks I just had to A Level Maths and Physics is insane
whole lot of linear algebra as well
Ever run across a channel and think "Wow how have I not seen their videos sooner, this quality must have attracted a huge following" only to be floored when you see the abysmal view and subscriber count!?!
Those are rookie numbers (42k views / 7k subscribers as of 4/7/2021) we gotta pump this channel up!
Eagerly looking forward to more. Also if you have a Github page where you can share your implementation of these codes that would likely help your viewers as well.
This video is ridiculously practical and easy to understand. I'm beyond impressed!
This is SO CLOSE to an advanced Ph.D. level course at a university! Only the quality - higher. Awesome.
Though, at university, you get to see all of the different ways to model stiffness, complex geometries of elements, plasticity.... Still, introduction wise - this is amazing work.
6:49 is not true in all cases. If the point is off to the side of its closest edge, then its escape vector will not be the same as the surface normal.
The quality of your content is so good, man! Keep it up!
Understanding soft bodies seemed so out of reach until this video. Nice job.
Tryna learn all I can about rigid body physics to make my own crude engine in Java (yes, I'm that -sadistic- masochistic. I always mix up those words), so this video is right up my alley of interest. That ray method for detecting collisions is so damn elegant that I feel stupid for not knowing about it sooner lmao. In before your channel blows up...It's well deserved!
This gives me a whole new level of appreciation for the work C4D4U is doing with his softbody simulations!
Aprectiatcion*
@@AkariInsko Bone apple tea :)
Just imagining the limitations and issues these kind of simulations can create(like, example, the spring moving past its maximum extension in a single frame) makes me happy that I'm not going into that field myself.
This video is actually really good. Well done keep making more.
Very well made, informative video. You have a great speaking cadence and you present your material clearly. Thanks!
Holy, this was exactly what I was looking for. Physics for devs, with visuals and model names. Instantly subbed! Keep it up.
5:47 - You probably want to use an r-tree to store those bounding boxes too.
10:17 DONT FORGET RK4 INTEGRATION
This is by far the best video explaining the introduction to softbodies I have ever seen, kudos to you!
Amazing video. Such nice work from a small content creator. Im amazed!
The visualization is spot on.
where the beamNG fans at?
Here
Aqui
Here
Ima making my own BeamNG Muhahahahahah
Present
I barely understand any of this but your voice is nice, it's nice to relax to in the background☺
Excited to have stumbled upon this gem. Very well produced content sir, can't wait to see your next video!
I waited so long to find somebody alking about Physic simulation this smooth...I mean : I can create a whole Physic system only using this video EVEN IT'S the purpose was only the soft body...You're my Lord now
That's exactly the type of content I was looking for, thanks a lot and keep going !
your videos are very clear and comprehensive ! Thank you !
Love the explanation, i’ve personally obtained the best results in the past using a verlet integration scheme in terms of stability
Nice video! Just wanted to point out what you are doing is a semi implicit Euler integration which is already slightly more stable than the standard Euler method.
That's soo good, I had no idea that that pattern of calculating velocity was called "Euler integration", but I've seen it already in many engines and frameworks. Keep it up
Ruler*
Everything in math/physics is called "Euler ______"
I realy like your Intro and the Style of your Videos!
So glad I found your channel. I do some physic simulation for kids myself, hope to learn a lot on the coding side from you! Keep up the great job!
8:35 you can also add a small constant to the denominator to avoid dividing by zero while still being able to compute something (also one branching avoided)
I'm not bright enough to understand what you're talking about, but I now do desire to play squishy Tetris.
Great video... I think.
I've also subscribed to your channel, so I may someday (in the far future) understand what you're talking about.
Very good tutorial, thanks !
4:58 This does not seem fully right to me. F_s would be a scalar according to this formula but shouldn't it be a vector as well? I think you also have to multiply it with the normalized vector between A and B like you did for F_d.
This channel is gold. Glad I found it
same!
Super cool presentation. Really liked the collision part
Oh, boy. I wish I had known this Gonkee channel before. This content is gold!
The quality of your videos is incredible
This is a concise and informative video-- thank you so much for making this!
Your explanations of physics simulations are just amazing.
Great introduction!
this is super informative! thanks :)
The most underrated channel. You have such knowledge....
Absolutely awesome video, completely perfect! Best explanation yet and maybe ever! Good job
Are you Gonkee ? Pretty owesome explanation o/
5k subs only?? It's the first video I've seen of yours and I already subbed. I love the detail!
Really great video, good work
Please keep uploading videos !!! You are the great
How amazing. I subscribed your channel in the middle of video. Thanks.
This is video is so well-explained that even I could understand.
Nice discussion, thank you. You make me want to try this. So I bookmarked your video.
Man, this video is S tier. God be with you.
This is a really brilliant video, well done!
Absolutely Fantastic video, I was able to implement the whole thing while watching the video
3:50 -> not "air resistance", but mostly loss of energy... as heat for example.
This is such a good analysis of soft bodies. Well done!
I love that I'm seeing this just after studying Hooke's law and a few other things in this video, at school
Ideally, we need to find a mathematic formula for determining the exact path that an object will move, then compute the intersection of the two paths, luckily you can add one path to the other to simplify the collision computation to just finding the intersection of a constantly changing shape that's rotating and morphing in seemingly random ways and the origin point 0,0 this still is not great, however given how it's not randomly changing shapes but doing it according to a pattern there is a single way I can think of that would have an O(n^2) time complexity at the least. I am fairly sure it is possible for rigid body collisions, but I think finding the path of a spring would be extremely difficult.
Why is this in my recommended. And why do I want to watch more of this guy’s work
spring force, the force that melts snow
9:50 I'm not sure why you mentioned a tick rate of 60 Hz. Of course one is limited by the available processing power, but there is no reason to limit the tick rate to the framerate. It just seems to me that some people may become confused on that point.
im still in school half of this is just random gibberish yet i still enjoy watching this
happy this was recommended, really great video
Me at 1:30 am: Oh cool, a video that explains something I mostly understand! This will be good to fall asleep to.
Me at 1:40 am: As it turns out, I did not mostly understand the topic, and I am now much more awake.
Wow, that explains a j2me game that i have so impressed how the developer could do that, the game was about a Drop of oil, i have so impressed, i forget the name cause I was younger when i played, but thanks man, the video explains so much than i wanted...
Wonderful video!!!
This video is great. So glad I got it in my recommendations.
Thanks, amazing tutorial. Will you do the second part?
Great video keep creating and one video will go viral. I just want to know what software do you use for simulation?
I threw the rest of 3d physics modelling in the bin when I saw this!!!! it is way superior in all respects!!!
Interesting and inspiring topic!
Thanks a lot fir this video.. keep making...good luck
Where was this when I had to do a simulation using a soft-body? 😂
Good stuff though!
Yeah I don't know what I was expecting
I don't understand anything but good video!
nice. It was very interesting.
I don't think damping of a spring comes mainly from air resistance. My guess is that the damping comes from the metal in the spring heating up as it resists deforming.
3:48
If it really was air resistance that caused the main amount of slowing, springs would work much better in a vacuum. Which I'm fairly confident that they work the same, but I haven't tested it.
Either way, it's not a major point at all, and since you're just modeling- it doesn't matter.
Still a great video
Haha. I guess springs whole function is to damp. So they wouldn't (if you are correct) "work better" in a vacuum if you mean to dampen something. By "work better" I should've said: "they should return to the uncompressed state without losing energy".
That was a super explanation.
Quick Question: Was the thumbnail meant to say " _Softy_ Bodies" instead of "Soft Bodies"? I like the amusing ring to it!
for one time youtube's algorithm did something good! well done very interesting video
Now would be cool if you explain the simulation of reflection, refraction and diffraction of light.
For the process of raycasting, does 0 count as an even number? I'm assuming it would have to for the process to work for points outside of a polygon.