I dunno about 'split', but here is about cfm (constraint force mixing) and erp(error reduction parameter):
If CFM is set to zero (which is the default value), the constraint will be hard.
If CFM is set to a positive value, it will be possible to violate the constraint by "pushing on it"
(for example, for contact constraints by forcing the two contacting objects together).
In other words the constraint will be soft, and the softness will increase as CFM increases.
What is actually happening here is that the constraint is allowed to be violated by an amount proportional
to CFM times the restoring force that is needed to enforce the constraint.
Note that setting CFM to a negative value can have undesirable bad effects, such as instability. Don't do it.
The ERP specifies what proportion of the joint error will be fixed during the next simulation step.
If ERP=0 then no correcting force is applied and the bodies will eventually drift apart as the simulation proceeds.
If ERP=1 then the simulation will attempt to fix all joint error during the next time step.
However, setting ERP=1 is not recommended, as the joint error will not be completely fixed due to various internal approximations.
A value of ERP=0.1 to 0.8 is recommended (0.2 is the default).
Now to set the ERB and CFM values of your constraints, use the methods
Code: Select all
constraint->setParam(BT_CONSTRAINT_STOP_CFM, myCFMvalue, index)
constraint->setParam(BT_CONSTRAINT_STOP_ERP, myERPvalue, index)
where index 0-2 are for linear constraints, 3-5 for angular constraints
If you want to get more information on each, here is an article that explains it quite well (sorry, it's on the ODE wiki, but that's the only place where I could find it):
http://opende.sourceforge.net/wiki/inde ... oncepts%29