Search found 51 matches
- Fri Nov 23, 2018 10:12 pm
- Forum: General Bullet Physics Support and Feedback
- Topic: Generating Contact Constraints.
- Replies: 6
- Views: 7609
Re: Generating Contact Constraints.
Thanks Erwin, Going with gContactProcessedCallback for now. I noticed that my gContactStartedCallback was never called though? So I used gContactProcessedCallback, which does get called. When setting m_appliedImpulseLaterial1 and m_appliedImpulseLateral2 to 0.0, I expected the tyre to slide friction...
- Fri Nov 23, 2018 7:36 pm
- Forum: General Bullet Physics Support and Feedback
- Topic: Generating Contact Constraints.
- Replies: 6
- Views: 7609
Generating Contact Constraints.
I would like to have full control over how contact constraints are generated. This is, so that I can properly model tyre-road interaction. I want to vary friction dynamically, based on what is happening (how fast does tyre spin, e.g.) and have different friction coefficients for lateral and parallel...
- Fri Nov 23, 2018 7:18 pm
- Forum: General Bullet Physics Support and Feedback
- Topic: Compound shape rigid body doesn't collide, obey gravity, ..
- Replies: 3
- Views: 3454
Re: Compound shape rigid body doesn't collide, obey gravity, ..
Are you sure you added the body to the world with addRigidBody() call?
The sequence is:
- create btCompoundShape
- create child shapes, and add them with addChildShape()
- create btRigidBody with the compound shape as its shape.
- add the rigid body to your world.
The sequence is:
- create btCompoundShape
- create child shapes, and add them with addChildShape()
- create btRigidBody with the compound shape as its shape.
- add the rigid body to your world.
- Thu Nov 22, 2018 10:28 pm
- Forum: General Bullet Physics Support and Feedback
- Topic: Different types of friction.
- Replies: 7
- Views: 10137
Re: Different types of friction.
Oops, no, I was wrong again. It is a direction after all, not a set of scalar values, as can be seen here: 98 virtual btVector3 getAnisotropicRollingFrictionDirection() const 99 { 100 btVector3 aniDir(0,0,0); 101 aniDir[getUpAxis()]=1; 102 return aniDir; 103 } Which takes me back to my original ques...
- Wed Nov 21, 2018 8:53 pm
- Forum: Applications, Games, Demos or Movies using Bullet
- Topic: Procedural Destruction of convex shapes.
- Replies: 4
- Views: 48310
Re: Procedural Destruction of convex shapes.
Thanks Richard, Split screen severely limits size of audience. Most gaming is done single player, or else online multi player. I have to think how the destruction physics can be properly utilized in a strategy game. It's quite hard to make NPCs deal with changing environments. Latest video: https://...
- Wed Nov 21, 2018 8:22 pm
- Forum: General Bullet Physics Support and Feedback
- Topic: Different types of friction.
- Replies: 7
- Views: 10137
- Wed Nov 21, 2018 8:09 pm
- Forum: General Bullet Physics Support and Feedback
- Topic: Different types of friction.
- Replies: 7
- Views: 10137
Re: Different types of friction.
Thanks, I found solver mode SOLVER_DISABLE_IMPLICIT_CONE_FRICTION. But the anisotropic API confuses me. I expect it to take 2 perpendicular directions, and two scalar values? One friction value for direction1, another friction value for direction 2? (That's how ODE does it.) But Bullet's API seems t...
- Wed Nov 21, 2018 6:35 pm
- Forum: General Bullet Physics Support and Feedback
- Topic: Different types of friction.
- Replies: 7
- Views: 10137
Different types of friction.
My app is coming along nicely, will post video soon. Currently, I am struggling to get a convincing tyre simulation. I want to use real tyre shapes (Cylinders) and not the ray-vehicle. When looking that the demos, I see that there are a lot of different friction types: body->setFriction(1.f); body->...
- Tue Nov 20, 2018 5:51 pm
- Forum: General Bullet Physics Support and Feedback
- Topic: Hinge2 damping
- Replies: 5
- Views: 4538
Re: Hinge2 damping
In the meanwhile, I highly recommend trying to use the btGeneric6DofSpring2Constraint. It is more configurable and the spring is easier to control. I tried btGeneric6DofSpring2Constraint, which exhibits the same never ending oscillation as the Hinge2 does. Which I think is to be expected, because H...
- Mon Nov 19, 2018 10:48 pm
- Forum: General Bullet Physics Support and Feedback
- Topic: Hinge2 damping
- Replies: 5
- Views: 4538
- Mon Nov 19, 2018 8:48 pm
- Forum: General Bullet Physics Support and Feedback
- Topic: Hinge2 damping
- Replies: 5
- Views: 4538
Re: Hinge2 damping
I spoke too soon.
Even with setDamping() and setStiffness() calls, there is residual oscillation that never goes away.
https://youtu.be/WHhR5poTSew
Any ideas why the spring will not settle?
Even with setDamping() and setStiffness() calls, there is residual oscillation that never goes away.
https://youtu.be/WHhR5poTSew
Any ideas why the spring will not settle?
- Mon Nov 19, 2018 8:11 pm
- Forum: General Bullet Physics Support and Feedback
- Topic: Hinge2 damping
- Replies: 5
- Views: 4538
Re: Hinge2 damping
Ah, OK, I think I found it.
From the parent class, setDamping() is inherited.
With trial and error, I saw that damping on axis2 will stop the oscilations.
From the parent class, setDamping() is inherited.
With trial and error, I saw that damping on axis2 will stop the oscilations.
Code: Select all
hinge->setDamping( 2, 2.0f );
- Mon Nov 19, 2018 8:00 pm
- Forum: General Bullet Physics Support and Feedback
- Topic: Hinge2 damping
- Replies: 5
- Views: 4538
Hinge2 damping
btHello() I am following the Hinge2Vehicle example to create a vehicle. When I drop my vehicle on the ground, it oscilates indefinitely. I create my hinge as follows: btVector3 anchor = wp; anchor[1] += (i&2) ? WHEELPIVOTOFFSET : -WHEELPIVOTOFFSET; btVector3 axis1( 0,0,1 ); btVector3 axis2( 0,1,...
- Mon Nov 19, 2018 3:56 am
- Forum: General Bullet Physics Support and Feedback
- Topic: what does the third parameter in btCylinderShape mean?
- Replies: 3
- Views: 4730
Re: what does the third parameter in btCylinderShape mean?
The half extends contain three values, two of which is the radius, and the third is half the height of the cylinder. Which value goes where, depends on which class you use. E.g. btCylinderShapeZ has its axis in Z, so you would construct it as: wheelshape = new btCylinderShapeZ( btVector3( radius, ra...
- Thu Nov 15, 2018 10:40 pm
- Forum: General Bullet Physics Support and Feedback
- Topic: printStats()
- Replies: 9
- Views: 6841
Re: printStats()
There are however a few built-in task schedulers, pick one of those: Excellent! For anyone else reading this, and trying to switch to MT: After you create the manager, you need to set it with btSetTaskScheduler like so: btITaskScheduler* scheduler = btCreateDefaultTaskScheduler(); btSetTaskSchedule...