/// <summary> /// On construction the physical/collision objects are created, but /// not registered /// </summary> /// <param name="FWDrive"></param> /// <param name="RWDrive"></param> /// <param name="maxSteerAngle"></param> /// <param name="steerRate"></param> /// <param name="wheelSideFriction"></param> /// <param name="wheelFwdFriction"></param> /// <param name="wheelTravel"></param> /// <param name="wheelRadius"></param> /// <param name="wheelZOffset"></param> /// <param name="wheelRestingFrac"></param> /// <param name="wheelDampingFrac"></param> /// <param name="wheelNumRays"></param> /// <param name="driveTorque"></param> /// <param name="gravity"></param> public Rover(bool FWDrive, bool RWDrive, float maxSteerAngle, float steerRate, float wheelSideFriction, float wheelFwdFriction, float wheelTravel, float wheelRadius, float wheelZOffset, float wheelRestingFrac, float wheelDampingFrac, int wheelNumRays, float driveTorque, float gravity) { this.fWDrive = FWDrive; this.bWDrive = RWDrive; this.maxSteerAngle = maxSteerAngle; this.steerRate = steerRate; this.wheelSideFriction = wheelSideFriction; this.wheelFwdFriction = wheelFwdFriction; this.wheelTravel = wheelTravel; this.wheelRadius = wheelRadius; this.wheelZOffset = wheelZOffset; this.wheelRestingFrac = wheelRestingFrac; this.wheelDampingFrac = wheelDampingFrac; this.wheelNumRays = wheelNumRays; this.driveTorque = driveTorque; this.gravity = gravity; chassis = new RoverChassis(this); // TODO: still need to fix ground clearance in chassis! chassis.SetDims(new Vector3(-1, -.7f, -1.45f), new Vector3(1, .3f, 1.45f)); SetupDefaultWheels(); }