Increasing my Soft Body's Bending Resistance using XPBD | Devlog Episode 3

  Рет қаралды 4,757

blackedout01

blackedout01

Күн бұрын

Пікірлер: 33
@old_cd_rom9518
@old_cd_rom9518 Жыл бұрын
That fallen tire at the end is a masterpiece!
@blackedoutk
@blackedoutk Жыл бұрын
Woah thank you!
@delphicdescant
@delphicdescant Жыл бұрын
This is really impressive work. I went and watched the videos put out by one of the author of those papers (Matthias Müller-Fischer) (the ten minute physics guy himself), and don't tell him this, but I think your explanation is both more information-dense and *also* easier to follow at the same time somehow. Great work with this. I think I want to implement this stuff in zig now lol.
@blackedoutk
@blackedoutk Жыл бұрын
Wow thank you! This means alot to me and is also really motivating. You should give it a try! Part of the reason I am making these videos so technical is because I want others to understand so they can implement it themselves. It‘s really strange to me that there is such a lack of explanation videos about these topics like 3d rigid body physics for example
@delphicdescant
@delphicdescant Жыл бұрын
@@blackedoutk Yes, I think it's just like Matthias Müller-Fischer says in one of his videos (can't remember where now), and maybe you've said it too: These topics are presented for the understanding of absolute top-level subject matter experts. There is usually no effort made to explain the math visually, and they just slap some enormous exotic-looking matrix math into their papers and call it a day. So I'm not that surprised that it's a subject which has not yet penetrated into the "normal human dev" space. I'm someone who enjoys writing 3D game engine code. I've implemented my own matrix math library even, for one of my engine attempts, for the purposes of learning (and bragging, let's be honest), but even having that disposition, I've *still* been too afraid to try to implement my own physics engine. I even have a physics degree lol. And I *still* considered it to be too much technical work. I shouldn't have, but I did. Because it's scary. So it's quite an accomplishment you've made here, making it seem less scary.
@blackedoutk
@blackedoutk Жыл бұрын
@@delphicdescant You have a physics degree and can code? Jealous
@poupeuu
@poupeuu 6 ай бұрын
That bunny has experienced horrors beyond human imagination
@blackedoutk
@blackedoutk 5 ай бұрын
:(
@nickludlam
@nickludlam Жыл бұрын
This is great. I love your presentation style and narration. Subscribed!
@blackedoutk
@blackedoutk Жыл бұрын
Thank you :) glad to hear that
@SilverstringsMusings
@SilverstringsMusings Жыл бұрын
Commenting on the new video for the algorithm.
@blackedoutk
@blackedoutk Жыл бұрын
Much appreciated, thank you
@Saesentsessis
@Saesentsessis Жыл бұрын
You are big brain dude
@blackedoutk
@blackedoutk Жыл бұрын
That’d be nice, but I probably just spend too much time trying to understand this stuff
@bartoszstyperek6306
@bartoszstyperek6306 Жыл бұрын
Could we solve the angle constraint as just: diff.ang = rest.angle - current.angle And then just rotate border p2 and p3 points, around axis |p1 p1| , by 0.5 * diff.angle? This would 'flap' these border p2 and p2 verts like a bird :) I know that the issue with using distance constraint ( 10:35 ) as angle constraint is that it is 'weak' at the 180 deg (it makes sense - you would have to have very strong spring to make flat triangles stay flat) . Using angle does not have this issue.
@blackedoutk
@blackedoutk Жыл бұрын
This could indeed solve the problem itself for maximal stiffness, but I am unsure about softer constraints. Additionally, the reason why you would want to use constraints is because of the physical theory behind them. Just modifying the positions of the model might not adhere to the laws of physics
@Reno-1
@Reno-1 Жыл бұрын
Thanks, been wanting to figure out something like this works
@blackedoutk
@blackedoutk Жыл бұрын
Glad you find it helpful
@kodirovsshik
@kodirovsshik Жыл бұрын
Love this channel, so underrated 👀
@blackedoutk
@blackedoutk Жыл бұрын
Haha :)) so happy to hear that. Working on it, will still take a bit of time though
@garydeschaines
@garydeschaines Жыл бұрын
Using divide by zero and mathematical function discontinuity to explode rabbits..., shotguns are so overrated! Seriously though, your use of visualization in developing, testing and demonstrating XPBD algorithms in combination with your presentation style is both educational and entertaining.
@blackedoutk
@blackedoutk Жыл бұрын
Lmao! Thanks, I'm very happy to hear that
@atomictraveller
@atomictraveller Жыл бұрын
i watched this because i'm attempting to discern the core mathematics of projective dynamics since i don't read math well, then i noticed that your other videos are "from scratch" haha i often post on such videos that scratch ain't gonna do you no favours :) i'm old and have a difficult time learning but i've had a lot of fun using primitive methods. can't you treat a tire simply as a series of radial sections and connect them together? it doesn't seem like it would need anything more complicated than mass-springs for each vertex to be satisfying and extensible to abstraction, like comically elongating tires when bounced. but you did say you found a solution :)
@blackedoutk
@blackedoutk Жыл бұрын
That could work too, I'll have to see what works and what doesn't at a later point when I connect the tire to a wheel. Did my videos help you to get an understanding in what you are seeking for? Also you have to tell me, are you pro or contra "from scratch"? After reading your other comment, I am confused :D
@atomictraveller
@atomictraveller Жыл бұрын
@@blackedoutk i can't remember if i found your video or matthias muller's XPBD video first, but one picks up all sorts of things :) i find myself having to discretise "c" over "c++" descriptively as well. unfortunately my comment is difficult to understand, life looks very different if you see ma5ons actually doing evil things to people, from how it looks if you don't. it's a comment i make several times a week to developers who aren't using the "scratch" sdk, so it's not directed at you personally. volumetric pressurised tires with friction do sound like a lot of fun.
@finnvictorsson
@finnvictorsson Жыл бұрын
Do you use manim for the animations?
@blackedoutk
@blackedoutk Жыл бұрын
yes
@atomictraveller
@atomictraveller Жыл бұрын
it's amazing the things that you can do now just by downloading something someone made. but i still, in 2023 (i'm 53) see people wasting too much time working around shortcomings of the sorcerors they employ. i still can't get the common man to understand i don't want a resource, a .dll, a library. i just want a concise statement that says how to do the elementary function. (i've had a career in audio dsp and will tout eg. the cepstral transform as example, fft(log10(fft())) but it's worth money so nobody will tell you for fifteen years. that's all it takes, a description or a code snippet instead of a dependency or a new best friend. i've spent Decades studying eg. ccrma at stanford and translating all that academia to things people can use).
@blackedoutk
@blackedoutk Жыл бұрын
Concise statements would be nice, yeah. But even then I find it hard sometimes to implement algorithms I don't understand because how am I supposed to debug them? And if there is a bug in the description, it's basically game over. So for me it's often a trade of between learning to use something someone else made (including having to deal with their errors) and taking the time to understand and implement the algorithm myself. In this case Delaunay triangulation sounded a bit too much for me to understand and implement.
@Xphy
@Xphy Жыл бұрын
Explain the math behind the constraints Cj i think it looks like Lagrange multipliers isn't it
@blackedoutk
@blackedoutk Жыл бұрын
The lambda variables are the lagrange multiplier. The constraint functions Cj are used to define an energy potential of the system. Just like the distance function for a linear spring. The exact relations are descibed in section 4 of the xpbd paper.
@Xphy
@Xphy Жыл бұрын
@@blackedoutk i wish u do a detailed vid about the math and the implementation of it
@blackedoutk
@blackedoutk Жыл бұрын
@@Xphy I will keep your wish in mind, however it takes quite some time to make a video like this. For now I would recommend you to watch the video "09 Getting ready to simulate the world with XPBD" on the Ten Minute Physics channel.
Creating my first rolling soft body tire (XPBD) | Devlog Episode 4
29:58
Making the Stanford Bunny explode using XPBD | Devlog Episode 2
20:10
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН
小丑女COCO的审判。#天使 #小丑 #超人不会飞
00:53
超人不会飞
Рет қаралды 16 МЛН
黑天使被操控了#short #angel #clown
00:40
Super Beauty team
Рет қаралды 61 МЛН
创建 Swap | 18 小时 Solana 最全教程 - 2024 训练营
1:22:54
Writing a soft body cube in C/C++ using XPBD | Devlog Episode 1
16:15
09 Getting ready to simulate the world with XPBD
15:38
Ten Minute Physics
Рет қаралды 22 М.
Making a particle simulation in C++ (Part 1)
16:11
Keyframe Codes
Рет қаралды 10 М.
10 - Simple and unbreakable simulation of soft bodies
13:53
Ten Minute Physics
Рет қаралды 19 М.
Getting ready to simulate the world with XPBD
15:38
Matthias Müller-Fischer
Рет қаралды 8 М.
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН