stride3d / stride3d/stride

[Feature Request] Soft Body Physics Support

Open
#445 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

area-Physics enhancement
Dominant language
C#
Stars
7.8k
Forks
1.2k
Avg merge
2d 17h
Merged PRs (30d)
49

Description

Is your feature request related to a problem? Please describe.
Bullet physics supports soft body physics, however, Xenko currently has not exposed any of this functionality in code or in the editor. From the documentation: "The SoftBodySupport, MultiThreaded, and UseHardwareWhenPossible flags are currently disabled.".

Describe the solution you'd like

  • Soft body simulation functionality exposed in code
  • Editor modifications to make using soft body physics easier

Describe alternatives you've considered
There are probably ways to imitate this for certain game mechanics using animations, but for a lot of cases I'd imagine that true physics support is the only way to get the desired behavior.

Additional context

  • This enhancement probably depends upon #289
  • I'm not very familiar with Godot, but it looks like they've successfully implemented soft body support (also using Bullet), so it may be worthwhile to look at their editor interface for it. See https://docs.godotengine.org/en/3.1/tutorials/physics/soft_body.html for details.
  • Depending on the state of the multi-threading and hardware acceleration features within Bullet, it may be worth adding issues and implementing the functionality of the other two placeholder physics flags (MultiThreaded and UseHardwareWhenPossible).
  • This would be a nice feature to have that would help Xenko stand out (as far as I can tell neither Unity nor Unreal support soft body physics out of the box). However, I'm guessing that not many projects actually require it, so this issue should probably be considered low priority.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the linked Xenko physics documentation and the dependency issue #289 to understand which Bullet flags are currently disabled. Compare Godot's soft-body editor documentation for possible workflow ideas; done would require exposing soft-body simulation in code and adding editor support, with any multithreading or hardware-acceleration work treated as separate scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.