from ChatGPT
WheelFrictionCurve leftFriction = wheelL.sidewaysFriction; leftFriction.stiffness = 1f; leftFriction.extremumSlip = 0f; leftFriction.extremumValue = 1f; leftFriction.asymptoteSlip = 0f; leftFriction.asymptoteValue = 1f; wheelL.sidewaysFriction = leftFriction;
https://github.com/tier4/AWSIM/blob/main/Assets/AWSIM/Scripts/Vehicles/Wheel.cs より
Vector3 GetSkiddingCancelForce() { var pointVelocity = wheelCollider.attachedRigidbody.GetPointVelocity(wheelHit.point); var wheelVelocity = pointVelocity - Vector3.Project(pointVelocity, wheelHit.normal); var localWheelVelocity = Vector3.zero; localWheelVelocity.y = Vector3.Dot(wheelHit.forwardDir, wheelVelocity); localWheelVelocity.x = Vector3.Dot(wheelHit.sidewaysDir, wheelVelocity); Vector2 cancelForce = -1 * skiddingCancelRate * wheelCollider.sprungMass * localWheelVelocity / Time.fixedDeltaTime; Vector3 skiddingCancelForce = wheelHit.sidewaysDir * cancelForce.x; return skiddingCancelForce; }