pellinor0 / TweakScale

Forked from Gaius Goodspeed's Goodspeed Aerospace Part & TweakScale plugin
29 stars 23 forks source link

Scaled wheels are broken #29

Closed pellinor0 closed 7 years ago

pellinor0 commented 8 years ago

Downscaled wheels consider themselves blocked, upscaled wheels seem to work (tested TR-2L at 50% and 200%).

If i set the exponent ModuleWheelBase::radius to 1, the 200% wheel still works but floats above the surface. The small wheel does not consider itself blocked anymore but still sinks into the runway and does not work.

Ideas:

pellinor0 commented 8 years ago

Seems like scaling ModuleWheelBase::mass was a bad idea. Now wheels generally seem to roll whenever they don't consider themselves blocked.

The radius seems to work best at an exponent of 0.5. Which makes no sense whatsoever. It should be either 0 or 1 (depends if the value lives in a scaled or unscaled transform).

There is still something wrong with the suspension. While small wheels look ok, large wheels seem stuck at a fully extended suspension, and instead bounce by clipping into the ground.

pellinor0 commented 8 years ago

New idea: try to configure a wheel with only the base module (so no suspension etc), and test with that => does not work (at first ground contact they bounce to ridiculous heights and break)

Todo: tests with landing gear and landing legs (apparently the legs also use wheel modules)

pellinor0 commented 8 years ago

I've had complaints that downscaled wheels sink too deep into their suspension. Scaling ModuleWheelSspension::springRatio seems to have no effect at all.

Likely I am writing on fields which are only used once to configure other things and never read afterwards.

Todo: test wheels with rescaleFactor set. => important piece of evidence: wheels scaled with rescaleFactor look perfect (even suspension seems to scale). So that does something with wheels that we also need to do.

pellinor0 commented 7 years ago

Next puzzle piece: in a wheel/leg scaled with rescaleFactor none of the config fields are any different. So something needs to be done from the plugin, somewhere in the undocumented mess of the wheel system.

pellinor0 commented 7 years ago

Screenshots for reference: upscaled and downscaled wheels and legs. Only model transform is scaled, the wheel modules are not touched. It looks like there is a problem with both the wheel collider and the suspension limits. http://imgur.com/a/cxMsU http://imgur.com/a/PHmFS

Edit: ModuleWheelBase::Wheel seems to always be null. Isn't this supposed to lead to the inner workings of the wheel system?

pellinor0 commented 7 years ago

colliders fixed by https://github.com/pellinor0/TweakScale/commit/545e124b8f60327ed235ff1741d8cba04f6c4fab (unlike other things the wheels seem to evaluate rescaleFactor late enough that writing it has an effect)

Now we can talk about testing/adjusting other things like motor, brakes and springs.

pellinor0 commented 7 years ago

More things to fix:

pellinor0 commented 7 years ago

Good enought for a first release