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.
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.
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.
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.
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! :)
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!
Nice video. Regarding the integration algorithms you could check out verlet-integration (or variations thereof like leap-frog integration). It is only slightly more complicated than euler integration but fixes a lot of its problems. Also it is probably possible to implement a multistep-integration scheme, where you integrate the external forces on the point-masses with different timesteps than the springs, thus reducing the required computational power. If you do so, you can further optimize the integration of the springs, as they are harmonic, thus exactly integratable with terms, that can be precomputed.
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.
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!
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.
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.
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.
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
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.
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.
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
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...
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)
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
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.
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.
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.
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.
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._
Wow What a content.... you're so underrated may RUclips algorithm bless you
Yes
It getting recommended randomly to me
sure budlit. AYo zum zum
Nice, I was googling the other day trying to find a video like this.
Goggleing*
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 RUclips? 😊
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.
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.
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
where the beamNG fans at?
Here
Aqui
Here
Ima making my own BeamNG Muhahahahahah
Present
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! :)
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
I love this video!
Total Sebastian Lague
vibes, keep on making great videos!
Nice video. Regarding the integration algorithms you could check out verlet-integration (or variations thereof like leap-frog integration). It is only slightly more complicated than euler integration but fixes a lot of its problems. Also it is probably possible to implement a multistep-integration scheme, where you integrate the external forces on the point-masses with different timesteps than the springs, thus reducing the required computational power. If you do so, you can further optimize the integration of the springs, as they are harmonic, thus exactly integratable with terms, that can be precomputed.
8:44 "Exclamation mark not factorial sign"
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.
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!
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.
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.
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.
I am SO LUCKY to have found this channel! This is some awesome content, thank you Inspecto!
Now it's gonkee
The amount of flashbacks I just had to A Level Maths and Physics is insane
whole lot of linear algebra as well
This gives me a whole new level of appreciation for the work C4D4U is doing with his softbody simulations!
Aprectiatcion*
@@AkariInsko Bone apple tea :)
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
RUclips lacks good explanators in the field of computer science simulations -- I'm sure you will be the best one given a couple of years!
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!
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.
Understanding soft bodies seemed so out of reach until this video. Nice job.
Are you Gonkee ? Pretty owesome explanation o/
This is... refreshingly comprehensive, assuming little to no prior knowledge. Just.. wonderful! I didn't know tutorials could come in this flavor.
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.
Holy, this was exactly what I was looking for. Physics for devs, with visuals and model names. Instantly subbed! Keep it up.
Very well made, informative video. You have a great speaking cadence and you present your material clearly. Thanks!
The quality of your content is so good, man! Keep it up!
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
Very good tutorial, thanks !
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...
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)
This video is ridiculously practical and easy to understand. I'm beyond impressed!
This video is actually really good. Well done keep making more.
The visualization is spot on.
Wonderful video!!!
Great introduction!
This is by far the best video explaining the introduction to softbodies I have ever seen, kudos to you!
I barely understand any of this but your voice is nice, it's nice to relax to in the background☺
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!
this is super informative! thanks :)
Oh, boy. I wish I had known this Gonkee channel before. This content is gold!
Man, this video is S tier. God be with you.
5k subs only?? It's the first video I've seen of yours and I already subbed. I love the detail!
Excited to have stumbled upon this gem. Very well produced content sir, can't wait to see your next video!
That's exactly the type of content I was looking for, thanks a lot and keep going !
Amazing video. Such nice work from a small content creator. Im amazed!
5:47 - You probably want to use an r-tree to store those bounding boxes too.
This channel is gold. Glad I found it
same!
Really great video, good work
The quality of your videos is incredible
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 ______"
Your explanations of physics simulations are just amazing.
The most underrated channel. You have such knowledge....
Quick Question: Was the thumbnail meant to say " _Softy_ Bodies" instead of "Soft Bodies"? I like the amusing ring to it!
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
This is such a good analysis of soft bodies. Well done!
Super cool presentation. Really liked the collision part
I realy like your Intro and the Style of your Videos!
This is a concise and informative video-- thank you so much for making this!
Absolutely awesome video, completely perfect! Best explanation yet and maybe ever! Good job
Where was this when I had to do a simulation using a soft-body? 😂
Good stuff though!
Please keep uploading videos !!! You are the great
I threw the rest of 3d physics modelling in the bin when I saw this!!!! it is way superior in all respects!!!
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.
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.
I love that I'm seeing this just after studying Hooke's law and a few other things in this video, at school
This is video is so well-explained that even I could understand.
Absolutely Fantastic video, I was able to implement the whole thing while watching the video
spring force, the force that melts snow
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.
How amazing. I subscribed your channel in the middle of video. Thanks.
10:17 DONT FORGET RK4 INTEGRATION
Great video keep creating and one video will go viral. I just want to know what software do you use for simulation?
Thanks, amazing tutorial. Will you do the second part?
Woah are you Gonkee? Great information by the way!
Yeah I don't know what I was expecting
I don't understand anything but good video!
Nice discussion, thank you. You make me want to try this. So I bookmarked your video.
im still in school half of this is just random gibberish yet i still enjoy watching this
3:50 -> not "air resistance", but mostly loss of energy... as heat for example.
Why is this in my recommended. And why do I want to watch more of this guy’s work
Great video! Keep up the awesome work, your channel is very promising
happy this was recommended, really great video
Love the video, great explanation! Thank you!
Just one ask: please drop the background music. I find it distracting… just IMHO of course.
This is a really brilliant video, well done!
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.
Interesting and inspiring topic!
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.
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.
This video is great. So glad I got it in my recommendations.
first video I've seen from you, subbed in 20 seconds