Search found 711 matches

by drleviathan
Thu Jul 22, 2021 4:14 pm
Forum: General Bullet Physics Support and Feedback
Topic: Showing PyBullet GUI in PyQt5 Window/Widget
Replies: 1
Views: 41

Re: Showing PyBullet GUI in PyQt5 Window/Widget

You might get more help if you were to post your questions in the PyBullet Support and Feedback channel. This channel is more about the C++ Bullet library wrapped by the PyBullet module.
by drleviathan
Tue Jul 20, 2021 9:27 pm
Forum: General Bullet Physics Support and Feedback
Topic: Units of Pybullet
Replies: 7
Views: 105

Re: Units of Pybullet

To understand how the collision tolerance affects shapes there is a neat Youtube video: Bullet Physics Collision Margins and Shapes . As I mentioned previously, the default collision tolerance is, I believe, 0.04 units. So consider your smallest possible object dimension and decide how many multiple...
by drleviathan
Tue Jul 20, 2021 8:47 pm
Forum: General Bullet Physics Support and Feedback
Topic: Units of Pybullet
Replies: 7
Views: 105

Re: Units of Pybullet

If possible stick with meters and let a 3m object be 3 units. Bullet should run at real-time for 500 dynamic objects built out of convex shapes. Shapes smaller than about 0.1 units start to get smoothed out by the "collision tolerance" feature which defaults to 0.04m IIRC so if you need sm...
by drleviathan
Tue Jul 20, 2021 5:24 pm
Forum: General Bullet Physics Support and Feedback
Topic: Units of Pybullet
Replies: 7
Views: 105

Re: Units of Pybullet

This is true... with caveats. It really comes down to how accurate of a simulation you need. Are you trying to make a fun game, or are you trying to model physical interactions with accuracy. If the latter, how much accuracy do you need? Bullet is tuned to be "accurate enough" for real-tim...
by drleviathan
Tue Jul 20, 2021 1:18 am
Forum: General Bullet Physics Support and Feedback
Topic: Linux, make fails
Replies: 1
Views: 60

Re: Linux, make fails

The first line of your commands should have successfully built the project: ./build_cmake_pybullet_double.sh It works for me on Ubuntu-20.04 with cmake-3.20..3, make-4.2.1. I tried your premake recipe and it failed for the same error. I do not believe the premake config is maintained. My memory tell...
by drleviathan
Thu Jul 15, 2021 1:31 am
Forum: General Bullet Physics Support and Feedback
Topic: About editing the collision mesh at runtime
Replies: 4
Views: 215

Re: About editing the collision mesh at runtime

If a known wall should be removable then the the most run-time performative thing to do would be to separate the wall from the rest of the mesh in pre-production and load the scene with two mesh instead of one. Then you could easily remove (or move) the wall body and leave the rest in place. If all ...
by drleviathan
Wed Jul 14, 2021 6:06 pm
Forum: General Bullet Physics Support and Feedback
Topic: About editing the collision mesh at runtime
Replies: 4
Views: 215

Re: About editing the collision mesh at runtime

The btBvhTriangleMeshShape has an internal Boundary Volume Hierarchy (hence the "Bvh" in the name) data structure that is used to optimize queries into the triangle soup. If you were to dynamically change the triangles in the soup then you'd have to recompute the BVH which is expensive. As...
by drleviathan
Mon Jul 12, 2021 4:07 pm
Forum: General Bullet Physics Support and Feedback
Topic: [HELP] move a mesh from rigidBody position
Replies: 4
Views: 319

Re: [HELP] move a mesh from rigidBody position

Hrm... there is a transform offset between your mesh and your rigidbody, and this transform includes a scale. The math for applying the offset is tricky: the components of the offset transform have to be applied in a particular order. The way I like to solve this problem is to store the offset as a ...
by drleviathan
Thu Jul 08, 2021 7:14 pm
Forum: General Bullet Physics Support and Feedback
Topic: What is the sequence of rotations applied by "getEulerFromQuaternion"?
Replies: 2
Views: 184

Re: What is the sequence of rotations applied by "getEulerFromQuaternion"?

Is this a question about the Bullet C++ API or the python API? I ask because there is no getEulerFromQuaternion() in the C++ API proper, but there is an implementation in examples/SharedMemory/b3RobotSimulatorClientAPI_NoDirect.h . For all I know the python API supplies a method with a similar name....
by drleviathan
Thu Jul 08, 2021 3:42 pm
Forum: General Bullet Physics Support and Feedback
Topic: [HELP] move a mesh from rigidBody position
Replies: 4
Views: 319

Re: [HELP] move a mesh from rigidBody position

After you compute the center and bounds of your mesh... I don't understand this line: center += position * glm::vec3(2.0f); The value of position is not specified in your code snippet. I assume glm::vec3 is doing a component-wise multiply between the two vectors so what you're really doing is adding...
by drleviathan
Thu Jul 01, 2021 2:26 pm
Forum: General Bullet Physics Support and Feedback
Topic: Two Question about btHeightfieldTerrainShape
Replies: 1
Views: 200

Re: Two Question about btHeightfieldTerrainShape

(1) The btHeightfieldTerrainShape uses its data to compute triangles. The normals are properties of the triangles and are computed as needed. (2) The btHeightfieldTerrainShape::m_heightfieldDataFloat member variable is understood to be a regular 2D rectangular array of heights along one of the card...
by drleviathan
Tue Jun 29, 2021 8:18 pm
Forum: General Bullet Physics Support and Feedback
Topic: Computing Minimum De-Penetration Between Two Colliders
Replies: 2
Views: 315

Re: Computing Minimum De-Penetration Between Two Colliders

I would expect your algorithm to work well enough when only two objects are involved but it will sometimes have problems (oscillations) when the character is trapped between two or more objects (e.g. when it steps out of penetration from ObjectA and thereby into penetration with ObjectB). For more r...
by drleviathan
Wed Jun 23, 2021 1:48 pm
Forum: General Bullet Physics Support and Feedback
Topic: On the problem of elastic collision of rigid bodies
Replies: 2
Views: 207

Re: On the problem of elastic collision of rigid bodies

(1) For pybullet questions you will get more replies if you post in the PyBullet Support and Feedback forum. This general forum is more focused on Bullet's C++ code. (2) For more elastic collisions use changeDynamics to set the restitution of all bouncy bodies to 1.0. You might also want to change ...
by drleviathan
Fri Jun 11, 2021 5:48 am
Forum: General Bullet Physics Support and Feedback
Topic: Gjk support function for arbitrary convex mesh
Replies: 4
Views: 444

Re: Gjk support function for arbitrary convex mesh

I was able to dig up the old code. It turns out: we did use it for something after all. I had forgotten. In any case, I've pulled the relevant files out into a separate github repository so it can become a stand-alone utility. It is incomplete because there is a missing class called Transform whose ...
by drleviathan
Thu Jun 10, 2021 2:31 pm
Forum: General Bullet Physics Support and Feedback
Topic: Gjk support function for arbitrary convex mesh
Replies: 4
Views: 444

Re: Gjk support function for arbitrary convex mesh

Yes, as I recall (and it has been a few years since I looked at it) it is brute force against the points. You could imagine writing spatial map lookup logic to optimize search in a large point cloud, however such a strategy would be slower in practice than brute force below some number of points N, ...