Rapier Physics Engine Showcase: Rust Physics Engine for Bevy

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 มิ.ย. 2024
  • This video is a broad overview of some of the core features and organization of the Rapier physics engine's Bevy plugin. This library is a 100% Rust physics engine which offers collisions and physics simulations for you bevy games.
    Discord Invite: / discord
    Patreon: / logicprojects
    Resources:
    Bevy: bevyengine.org/
    Rapier Home: rapier.rs/
    Rapier Guide: rapier.rs/docs/user_guides/be...
    0:00 Intro
    0:23 Project Setup
    1:45 Bouncing Ball
    3:36 Internals and Magic
    5:00 Character Controller
    7:09 Rapier Context
    7:32 Docs Structure
    8:47 Joints
    9:45 Outro
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 27

  • @beemstream
    @beemstream ปีที่แล้ว +7

    I've always been confused about game physics, this is such an amazing resource. Thanks as always for the high quality tutorial, really appreciate this!

  • @rotteegher39
    @rotteegher39 ปีที่แล้ว +1

    This is so cool! I would like to see a use of that in more detailed video! Good Job!
    I'm currently working on Bevy project with use of Rapier. Your video really got in handy.

  • @wojciech3094
    @wojciech3094 ปีที่แล้ว +2

    Your tutorials are great and update to bevy 0.9 is something I appreciate a lot!. Thank you!

  • @PhaestusFox
    @PhaestusFox ปีที่แล้ว +4

    love the work. really nice to see more people making bevy tutorials really helps spread the word about some cool plugins

    • @logicprojects
      @logicprojects  ปีที่แล้ว

      Thank you! I'm glad to see your still working on Bevy Basics as well, bevy is super cool and more people need to learn about it and have ways to figure out how to use it :)

  • @klirmio21
    @klirmio21 5 หลายเดือนก่อน

    Thank you for this overview and tutorial!

  • @ivanstepanovftw
    @ivanstepanovftw ปีที่แล้ว +5

    Thank you. It is better to use an already done physics than reimplementing it from scratch

    • @logicprojects
      @logicprojects  ปีที่แล้ว +5

      It's often better to use the existing engine but I wouldn't always recommend it. Some games have very limited needs or special properties where a simple hand done system might be better suited. Physics engines add a lot to the feel of the game.

  • @IMPOSING-NOOB2233
    @IMPOSING-NOOB2233 ปีที่แล้ว +3

    been floating the idea of trying rapier for over a year.... thanks so much

    • @logicprojects
      @logicprojects  ปีที่แล้ว +3

      It's gotten much better in the past year! Highly recommend giving it a chance

  • @TheNOLAnuffsaid
    @TheNOLAnuffsaid ปีที่แล้ว

    i love this video! thank you for the time you put in to make this video. Will you consider making an advanced Rapier video?

    • @logicprojects
      @logicprojects  ปีที่แล้ว +1

      I would consider it. The problem is it branches out in many directions and it would be hard to tie it all together. If you join the discord (in description) and pitch me what the demo would look like or what you'd want to see we can discuss it there.

    • @TheNOLAnuffsaid
      @TheNOLAnuffsaid ปีที่แล้ว

      @@logicprojects sounds I'll join tomorrow ☺️ thanks

  • @EpicDavi
    @EpicDavi ปีที่แล้ว

    Good video but some of the dark code text on the dark background is hard to read

  • @jeffg4686
    @jeffg4686 ปีที่แล้ว

    by default, sensors will block your characters movement.
    I'm kind of thinking that shouldn't be a default.
    I wonder if this is a way to force people to know (or remind them) that these settings are there ...

  • @jeffg4686
    @jeffg4686 ปีที่แล้ว

    I was thinking through a scenario of having a car drive through a wall, or something similar.
    Would you make all the "pieces" as "static rigid bodies" until the collider of the aggregate parent object is hit, then change all the pieces to dynamic so that the physics can take over? Does that sound reasonable.
    Also, do you happen to know the relationship between "instances" and physic settings for that instance? (Do all instances have to have the same physics settings?) thanks for any thoughts

    • @milckshakebeans8356
      @milckshakebeans8356 ปีที่แล้ว

      I guess you want them as dynamic all the time because the engine will make them sleep when not interacted with.

  • @milckshakebeans8356
    @milckshakebeans8356 ปีที่แล้ว +2

    I have a major problem with the engine collision system, because I don't have direct access to the collision system I can't order the collision confinement system to be after the movement system for my player. This makes my player to momentarily go through the collider and then bounce back in this weird artifacting when running continuously into a wall.

    • @logicprojects
      @logicprojects  ปีที่แล้ว +2

      Yeah ordering plugins is something I wish we could do in bevy. I usually work around this by using the rapier character controller (which has improved) or their movement methods. Otherwise you can move your character controller earlier in the schedule but that is also suboptimal

    • @milckshakebeans8356
      @milckshakebeans8356 ปีที่แล้ว

      @@logicprojects Is the only way to "work around" this is by making my own collision system?

    • @logicprojects
      @logicprojects  ปีที่แล้ว +1

      No if you use rapiers movement functions you can pretest the movements and only apply the part of your target movement that doesn't collide. I think you should look into the rapier context resource

    • @milckshakebeans8356
      @milckshakebeans8356 ปีที่แล้ว

      @@logicprojects Ok thank you, I really didn't want to delve into that (:

  • @ivanstepanovftw
    @ivanstepanovftw ปีที่แล้ว

    Could you please review Lapce? It is a text editor written in Rust

    • @logicprojects
      @logicprojects  ปีที่แล้ว +1

      I haven't heard of it before but I'll look into it!

  • @ningtao7682
    @ningtao7682 ปีที่แล้ว

    How is the performance of Rapier? How many instances can it support at most. I tested it before and felt that the performance was not very good, so I switched to the physics engine.

    • @logicprojects
      @logicprojects  ปีที่แล้ว +1

      That is a delicate question, I have notice it preforms well on my machine but I have seen it start to tank in certain situations running in wasm. It is designed in a modern way and uses simd/parallel processing so I would assume it is comparable to any modern physics engine (sparing it being relatively young). The constraints on what it can support will be very machine specific and you would need to profile it on the target platform with the load you are expecting to really get a clear idea what it's performance would be. What physics engine did you swap to?

  • @pushqrdx
    @pushqrdx ปีที่แล้ว

    Rapies