Это видео недоступно.
Сожалеем об этом.
bepuphysics 2.4: the fastest physics yet!
HTML-код
- Опубликовано: 17 фев 2022
- bepuphysics 2.4 adds a bunch of speediness on top of the speediness already present, producing hyper speediness.
bepuphysics2 is a free and open source physics engine. Main repo with demos: github.com/bep...
Videos recorded on a 3970X. Benchmarks at the end. Note that a 12900K actually beats a 3970X sometimes, you don't need a megabeefy 32 core CPU to be speedy!
All benchmarks in the video can be found at: github.com/Ros...
Music in order of appearance:
Never Heard a Rhyme Like This Before by Scott Altham (c) copyright 2009 Licensed under a Creative Commons Attribution license. dig.ccmixter.or...
Smokey Eyes by Stefan Kartenberg (c) copyright 2017 Licensed under a Creative Commons Attribution (3.0) license. dig.ccmixter.or... Ft: Kidjazz (Lemoneight)
Nightmares by Donnie Drost (c) copyright 2012 Licensed under a Creative Commons Attribution (3.0) license. dig.ccmixter.or... Ft: snowflake
Into the J by Admiral Bob (c) copyright 2020 Licensed under a Creative Commons Attribution (3.0) license. dig.ccmixter.or... Ft: Geoffpeters
I have followed bepu physics since childhood and it makes me so happy to see its continued development
and so shall it continue until the end of time, for some reason
I am indeed very impressed with the 60 substep spinny rope thing. You're welcome.
This is beyond insane. I never thought simulations this massive could work this well in realtime. And this tech is FOSS! You're a legend!
Insane work! I really enjoyed checking out the demo
Hope someday I'll use it in my games
1:41 as a physicist: 🙇 (i'm bowing in deep respect please acknowledge it i'm old and my back now hurts)
I acknowledge and appreciate it.
Insane Physics engine. It can change many things. Thanks for this engine. May God Bless you and Guide you !!
love you man you have a lot of followers. keep it up
The newt strikes back
God, I can't wait until NeosVR adds proper rigidbodies so we can REALLY see BepuV2 shine.
Well be using this in our Game Engine!
Great work!
Those chain/rope physics kind of blew me away. Are you one your way to creating the new industry standard?!
Who knows! Might have to make it easier to use from C/C++/Rust land first... which is actually pretty doable.
@@bepuWhy did you decide to write it in c#?
@@runninggames771 The most direct answer is "because the rest of our projects are."
Other considerations:
-My preferred style is roughly C-with-generics, which C# does very well. Most of my code doesn't rely on the GC, but it's nice to have it in the cases where I can use it.
-Vectorization, hardware intrinsics more generally, and threading are all remarkably ergonomic in C#. I'd rather write a vectorized codebase in C# than Rust/C/C++ at this point.
-C++ is several steps too crunchy for my tastes.
-Build times are very short, and the tooling is good.
-Rust wasn't as mature when I was getting started with bepuphysics2.
-Nowadays, NativeAOT means other languages can consume C# libraries as if they were C libraries.
-Also nowadays, these languages all expose what's needed to achieve ~optimal performance. Porting bepuphysics2 to rust/C/C++ or something would not make it faster.
@@bepu Incredible work, my jaw hit the floor seeing the multi threaded ray cast demo. Most of this stuff is outside of my understanding, i was just curious about why it was written in c# as I have people tell me c# is slow all the time. Thank you for the explanation, and thank you for this incredible project.
I'm happily impressed! Also enjoyed the video as much as the last bepu physics one
this is quite insane
I'm shocked! I start studying.
Even if I can't, you are Geniuses!
Heck yes, Mould effect!
we need a blender port of this for ridged bodies holy crap
Barney: "Damn! Why aren't we using it?"
Wow crazy! Thank you!
Amazing work!
Bro did more than whole roblox corporation.
Looks awesome, going to add bepu2 in my 3d project. :)
This trailer is awesome! :D
I wonder how this would work with realtime destruction/fracturing.
BRO HOW WTF AMAZING
Impressive job!
Genesis of Newts 2.4: Develop a physics engine into anything you see fit. Create a modern society based on an excessive quantity of boxes, take the path of a demonic chain fountain, grow a wild, natural group of dancers in ballcloaks, or empower yourself with an inexplicable hatred for tube buildings. The graphics cards performance is at your command.
🥸
Great work.
This need to be in skyrim as a mod replacing smp or cbpc
Impressive!
does it has soft-body implemented? if so this is awesome
can you tell me how to create it if it exists
Yes*, see the DancerDemo, ClothDemo, PlumpDancerDemo or NewtDemo for examples:
github.com/bepu/bepuphysics2/blob/master/Demos/Demos/Dancers/DancerDemo.cs
github.com/bepu/bepuphysics2/blob/master/Demos/Demos/ClothDemo.cs,
github.com/bepu/bepuphysics2/blob/master/Demos/Demos/Dancers/PlumpDancerDemo.cs,
github.com/bepu/bepuphysics2/blob/master/Demos/Demos/NewtDemo.cs
*: soft bodies and cloth are implemented on top of springs connecting regular bodies, just like any other constraint. VolumeConstraint and AreaConstraint help with local volume/area preservation. There is not currently support for, say, dynamically deforming surface meshes; collision is handled by whatever colliders you specify for the connected bodies. The newt demo has a dense shell of spheres.
@@bepu omg awesome work. thank you so much mate
@@bepu ill star the project and guys you should too
Is data-oriented design used internally?
yup!
This is REALLY impressive.. What are the caveats? Does it handle concave colliders?
Compounds and meshes, yup.
The main thing a new user would hit is how low-level the API is in places. The pose integrator callbacks expose AOSOA formatted data, directly using the CollisionBatcher is awkward because of its submission/callback dataflow required by batching, you can shoot your foot with dangling pointers, that sort of thing. I try to sand off the hard edges where possible (and there's more on the todo list), but not by compromising performance or data accessibility.
@@bepu thanks for the info, I was going to use it with Unity but from what I've seen online Unity doesn't support hardware acceleration for the vectors so I'm probably going with DOTS and unity physics for now
after watching: holy shit, why 3a games studios don't put this in their games?
epic
I want to use this for my game engine... But is there cloth?
2:18
@@damaomiX this simulation is based on atoms, not polygons
I know there was a fork for v1 that used the matrix/vector classes from MonoGame; is there something like that out there already for v2? Doesn't seem like it would be too complicated to do myself, but figured I'd skip the work if it's already done.
There isn't already a version that uses MonoGame types. I wouldn't recommend swapping out the types used internally, though; the System.Numerics types used internally are vectorized by the JIT. Swapping would hurt performance.
@@bepu Ahh ok; so better off just converting from MG types to bepu types as needed...
Off the top of your head, any obvious caveats/pitfalls when using bepu with xna? Are the matrices row major? Does bepu use a right-handed coordinate system?
I apologize if these are dumb questions or should just be default assumptions; this is all pretty new to me!
@@Nebx1989 The matrices are row major, yes, but you won't actually encounter matrices that often in the API (quaternions are far more common). The library itself doesn't define a handedness; it's whatever you want, so long as you're consistent. The demos use an XNA-ish right handed convention (+X right, +Y up, -Z forward).
@@bepu Thanks for the replies, really appreciate it. I'll give it a shot and see how much of a mess I make. Spent a few hours reading some of your blog posts from the last few years and I'm blown away. I write C# all day every day and the thought of touching it in the way you're touching it has never once crossed my mind. Not sure if you're some sort of deviant or genius, but either way I'm very thankful you've created this engine and made it freely available!