by Kali » Wed Jul 30, 2014 1:40 pm
0 spring couplers work fine for anyone, Michael Stephens are all set up like that - as they should, there's no special RSC coupler blueprint. The high spring force thing was an attempt to work out what it should actually be given the physics seems to use Hooke's (spring) law and the bp figure seems to be in N/m. Then we ( might have been you Eric? ) found 0 entry worked as distance clamping didn't work so we needed impossibly high spring values anyway. Having a giant number of 9s until it hits the biggest number you can store will effectively do the same thing, just looks horrible :p
As I was curious I did some experiments with mid-point couplers, as the buckeyes are. Locomotive used is a GP9 ( so fairly heavy relative to the test boxcar ) with rigid spring couplers with 0.05 MaxDistance ( not enough to matter ), the experiment car has no rolling resistance for now.
--
First: I set MinDistance 1m, MaxDistance 2m, TargetDistance 1.5m, receiving point 1m ahead of the body pivot just for the sake of it ( given it's explicitly stated that it does nothing for mid-point couplers ) and unfortunately the test coupler didn't couple until the pivots overlapped. At that point the car violently sprung away as you'd expect given they're trying to move to min distance instantaneously ( given we have an absurdly strong spring with spring at 0 no surprises there ), sufficiently violent to derail & fall over.
=== Conclusion: MinDistance is not added to body pivots until after coupling ( facepalm, unsurprised though ), no receiving points for mid-point couplers as advertised. Coupling will immediately try and make the car move to collision pivot + MinDistance using the coupler spring force.
To get a better idea what's going on, now I set the spring coeff to 200 which is enough to move the car, but not enough to throw it off the track like the previous. Damping still 0. The car didn't couple until the body pivots met again, this time it bounced away & yoyo'd for a while until I put it's handbrake on. I pulled the coupler out until the car moved slightly & then stopped, then let the handbrake off. No movement. Pushed the coupler to it's minimum distance - this did actually work now it's coupled - stopped again, put the brakes on until everything settled and then let them off. Result of that, car very slowly creeping away, so a bit inconclusive. At that point I left the handbrake on & attempted to shove it with the locomotive, and then let the power off - was enough to spring the locomotive off relatively hard.
=== Conclusion: not sure TargetDistance actually does anything.
So this time I set TargetDistance to 1 as well. Set the handbrake on the car, pulled the couplers out to 2m, let off the handbrake, car stayed put.
=== Conclusion: TargetDistance apparently does nothing for these couplers.
Next, giant numbers in spring coeff, just to check. Put in about 30 9s ( which won't fill a 64bit number but is way more than enough ), car behaved like a 0 entry.
=== Conclusion: 0 entry for spring coeff probably just sets it to maximum ( from a mech eng point of view, definitely ).
Damping: Spring coeff 100, damping 100, target 1m. Coupled, car rolled away at constant speed until max distance, and then slowly returned to min. Put the handbrake on the car and pulled the coupler out to max distance, stopped, gave a brief burst of power ( about 0.3mph ), put the loco brakes on and let the handbrake off. Car rolled at constant speed until min distance, and crept back - so it's being fully damped in the return direction. Target distance still doesn't seem to be doing anything.
=== Conclusion: *scratch head*. New numbers!.
Damping 10 this time. Coupled ( note I'm coupling with the independent brake on so the engine doesn't move ), car sprang away and oscillated back and forth, reducing speed at each change of direction, and as expected 10 times.
=== Conclusion: coupler slack is getting in the way.
Max Distance is now the same as Min distance at 1m. The car still oscillated back ~10 times ( hard to see the last because they're so small ). Just a confirmation of the above, so then I set the damping back to 100, which stopped the car at 1m as expected.
=== Conclusion: Damping seems unsurprising.
Damping now 1000, to see if it overpowers the coupler spring.
=== Conclusion: No, coupler still returns to "neutral", but apparently ( given I didn't time it ) 1/10th the speed. Also unsurprising.
Damping now 0: Car oscillates for quite some time ( not actually indefinitely, so I assume there is some other thing getting in the way, but it's very small ).
=== Conclusion: Damping value of 0 actually means approximately 0.
One last test - MinDistance to -1m. Coupled at the usual distance when the pivots met, and then the locomotive carried on *inside* the car.
=== Conclusion: couplers take over inter-car collision detection on coupling, in some form. The hit boxes eventually seem to collide, so they do actually do something outside the editor...
For the sake of it again I tried MinDistance 1m and MaxDistance 0m, in case the clamping code was just backwards, but that didn't seem to change anything.
--
Overall: no extension clamping means the springs are still practically useless. Given I didn't try 100 cars here I've nothing much to say about damping ( some may help stop jitters and a lot will probably cause creep, but that's speculation and another test ). Coupling happens via the collision detection ( vehicle pivots ), once they're coupled then the couplers take over. MinDistance other than 0 forces the couplers to force the vehicles to pivot+MinDistance on coupling - with max spring force couplers that may be quite violent, especially if the game starts physics for a complete train at once. MaxDistance works as expected, so slack is Max-Min. TargetDistance I couldn't get to show any effect.
I'm never sure I didn't miss something obvious here - as this is just an experiment report, fully open to criticism of it. If you like your own bunch of numbers, this isn't telling you to do anything else...
--
I worked out why I used a 45 dynamic brake figure for the SD40, it was to account for the gearing - that gives 45,000lb-ft dynamic brake max, which looks good for a higher geared one ( I suspect I actually used a SD40 manual and not a -2, mind ). BP figure does indeed seem to be kilo-lb-ft then as people said, hurray for consistency.