by gtxjoe. – ref : http://www.vpforums.org/index.php?showtopic=33305&p=328266
Flipper Physics Settings
Strength value is the maximum torque that the flipper can achieve.
CoilRampUp is a value used to vary the torque value applied to the flipper over time.
It looks like the physics calculation is done in 10 msec steps.
The torque value is incremented every 10 msec by this value, Strength/CoilRampup, until the maximum specified strength is reached, so:
– If Strength is 2100 and CoilRampUp is 3
– First 10 msec, torque applied is 2100/3 =700
– Next 10 msec torque is increased by that value, so currentValue + 2100/3 = 1400
– Next 10 msec torque is increased again by that value, so currentValue + 2100/3 = 2100
– If the flipper is still rotating, it remains at the max value of 2100
So.. If it takes less than 30 msec (maybe it’s less than 20 msec) for the flipper to rotate to end you end up with a flipper strength of 700 then 1400 and its never get to full force of 2100
If the flipper takes less than 10 msec, then yeah using Strength of 700 and CoilRampUp of 0, would behave the same as using Strength/CoilRampUp values of 1400/2 or 2100/3 or 2800/4…
If you set CoilRampUp to 0, then torque is set immediately to the Strength value, 2100 in this example
nFozzy – return strength tweaks
rothbauerw – flipper physics testing table
Physics using high mass, low friction (HMLF)
by rothbauerw and wrd1972. ref : http://www.vpforums.org/index.php?showtopic=37689&p=377176
Just put this line in the script before LoadVPM
Const BallMass = 2.0
( Ballmass needs to be declared in the script, and any script usage of “.createball” needs to be changed to “.CreateSizedBallWithMass BallSize, BallMass”. )
The code in FH won’t necessarily work by just cutting in pasting. It depends on the start and end angles used for the flippers. For example, a flipper can have the same path of travel using negative start and end angles as it can with positive start and end angles. Here’s a brief guide for adding the flipper code.
You’re looking to add code to a very fast timer sub. The faster the better. You can create your own or leverage the an existing timer.
In the Editor
Create a new timer call EOSTimer
Timer Enabled Checked
Timer Interval 1
or … for example, you can find the sub that updates the position of flipper primitives or the sub that calls the rolling sounds sub (many times these are in the same sub).
Outside the fast timer sub, you want to add (before the first line of the sub):
defaulteos = leftflipper.eostorque
EOSAngle = 3
EOSTorque = .9
Then, for each flipper, you need to add the following inside the sub (replace ‘FlipperName’ with the name of the flipper found in the editor):
' If flipper start angle is > flipper end angle If FlipperName.CurrentAngle < FlipperName.EndAngle + EOSAngle Then FlipperName.eostorque = EOSTorque Else FlipperName.eostorque = defaultEOS End If ' If flipper start angle is < flipper end angle If FlipperName.CurrentAngle > FlipperName.EndAngle - EOSAngle Then FlipperName.eostorque = EOSTorque Else FlipperName.eostorque = defaultEOS End If