![]() |
|
Clutch not locked but not slipping?? - Printable Version +- Forums (https://www.vdrift.net/Forum) +-- Forum: Project (https://www.vdrift.net/Forum/forumdisplay.php?fid=4) +--- Forum: Development (https://www.vdrift.net/Forum/forumdisplay.php?fid=9) +--- Thread: Clutch not locked but not slipping?? (/showthread.php?tid=1617) Pages:
1
2
|
- NewLife - 03-17-2012 NaN Wrote:Cool. I'll have a look. After endless tries i succeded in obtaining a somewhat working clutch. This is the im using: Code: public float GetDragImpulse(float engine_speed, float drive_speed, float engineInertia, float drivetrainInertia, float ratio, float engineTorquedt){engineTorquedt = engineTorque*Time.deltaTime; drivetrainInertia=1; engineInertia=0.5f; drivetrainInertia is summed to each wheel inertia (1.8f). This works with 50Hz and 1 single iteration. Im still experiencing that infamous clutch lag, so I had to use a patch in order to decrease ratio value in drivetrainInertia/ratio by a value inverse proportional to the same ratio. Let me know what you think. - NaN - 03-17-2012 No idea how to do it make it work. It is comparable to try running a rigid body simulation with a single iteration. Maybe there is a way to fake the clutch by scaling engine torque or something like that. - NewLife - 03-22-2012 NaN Wrote:No idea how to do it make it work. It is comparable to try running a rigid body simulation with a single iteration. Maybe there is a way to fake the clutch by scaling engine torque or something like that. Hi NaN eventually i make it work in a satisfying way by subtracting wheel impulse to clutch drag impulse calculation: Code: float lambda=(engineInertia*drivetrainInertiaR*(engine_speed - drive_speed) - x + drivetrainInertiaR*engineTorquedt)/(engineInertia + drivetrainInertiaR);where x is wheelImpulse*engineInertia/ratio in this way simulation runs satisfactory with 50Hz and 1 iteration (and its playable down to 20Hz). Soon i'll post a link for the demo. - NaN - 04-01-2012 Nice job. Sorry for the late reply, busy week. |