Package com.jme3.bullet.objects
Class VehicleWheel
java.lang.Object
com.jme3.bullet.objects.VehicleWheel
- All Implemented Interfaces:
- Savable
Stores info about one wheel of a PhysicsVehicle
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected Vector3fprotected Vector3fprotected floatprotected booleanprotected Vector3fprotected floatprotected floatprotected floatprotected floatprotected floatprotected floatprotected final Quaternionprotected Matrix3fprotected com.bulletphysics.dynamics.vehicle.WheelInfoprotected floatprotected floatprotected Spatialprotected Vector3fprotected Quaternion
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprotectedVehicleWheel(Vector3f location, Vector3f direction, Vector3f axle, float restLength, float radius, boolean frontWheel) VehicleWheel(Spatial spat, Vector3f location, Vector3f direction, Vector3f axle, float restLength, float radius, boolean frontWheel) 
- 
Method SummaryModifier and TypeMethodDescriptionvoidgetAxle()returns the location where the wheel collides with the ground (world space)returns the location where the wheel collides with the ground (world space)returns the normal where the wheel collides with the ground (world space)returns the normal where the wheel collides with the ground (world space)floatreturns how many degrees the wheel has turned since the last physics step.floatreturns the object this wheel is in contact with or null if no contactfloatfloatfloatfloatfloatfloatreturns how much the wheel skids on the ground (for skid sounds/smoke etc.)
 0.0 = wheels are sliding, 1.0 = wheels have traction.floatcom.bulletphysics.dynamics.vehicle.WheelInfofloatfloatvoidgetWheelWorldLocation(Vector3f store) write the content of the wheelWorldLocation into the storevoidgetWheelWorldRotation(Quaternion store) write the content of the wheelWorldRotation into the storebooleanbooleanvoidread(JmeImporter im) voidsetApplyLocal(boolean applyLocal) voidsetFrictionSlip(float frictionSlip) the coefficient of friction between the tyre and the ground.voidsetFrontWheel(boolean frontWheel) voidsetMaxSuspensionForce(float maxSuspensionForce) The maximum suspension force, raise this above the default 6000 if your suspension cannot handle the weight of your vehicle.voidsetMaxSuspensionTravelCm(float maxSuspensionTravelCm) the maximum distance the suspension can be compressed (centimetres)voidsetRadius(float radius) voidsetRestLength(float restLength) voidsetRollInfluence(float rollInfluence) reduces the rolling torque applied from the wheels that cause the vehicle to roll over.voidsetSuspensionStiffness(float suspensionStiffness) the stiffness constant for the suspension.voidsetWheelInfo(com.bulletphysics.dynamics.vehicle.WheelInfo wheelInfo) voidsetWheelsDampingCompression(float wheelsDampingCompression) the damping coefficient for when the suspension is compressed.voidsetWheelsDampingRelaxation(float wheelsDampingRelaxation) the damping coefficient for when the suspension is expanding.voidsetWheelSpatial(Spatial wheelSpatial) voidvoidwrite(JmeExporter ex) 
- 
Field Details- 
wheelInfoprotected com.bulletphysics.dynamics.vehicle.WheelInfo wheelInfo
- 
frontWheelprotected boolean frontWheel
- 
location
- 
direction
- 
axle
- 
suspensionStiffnessprotected float suspensionStiffness
- 
wheelsDampingRelaxationprotected float wheelsDampingRelaxation
- 
wheelsDampingCompressionprotected float wheelsDampingCompression
- 
frictionSlipprotected float frictionSlip
- 
rollInfluenceprotected float rollInfluence
- 
maxSuspensionTravelCmprotected float maxSuspensionTravelCm
- 
maxSuspensionForceprotected float maxSuspensionForce
- 
radiusprotected float radius
- 
restLengthprotected float restLength
- 
wheelWorldLocation
- 
wheelWorldRotation
- 
wheelSpatial
- 
tmp_Matrix
- 
tmp_inverseWorldRotation
 
- 
- 
Constructor Details- 
VehicleWheelprotected VehicleWheel()
- 
VehicleWheel
- 
VehicleWheel
 
- 
- 
Method Details- 
updatePhysicsStatepublic void updatePhysicsState()
- 
applyWheelTransformpublic void applyWheelTransform()
- 
getWheelInfopublic com.bulletphysics.dynamics.vehicle.WheelInfo getWheelInfo()
- 
setWheelInfopublic void setWheelInfo(com.bulletphysics.dynamics.vehicle.WheelInfo wheelInfo) 
- 
isFrontWheelpublic boolean isFrontWheel()
- 
setFrontWheelpublic void setFrontWheel(boolean frontWheel) 
- 
getLocation
- 
getDirection
- 
getAxle
- 
getSuspensionStiffnesspublic float getSuspensionStiffness()
- 
setSuspensionStiffnesspublic void setSuspensionStiffness(float suspensionStiffness) the stiffness constant for the suspension. 10.0 - Offroad buggy, 50.0 - Sports car, 200.0 - F1 Car- Parameters:
- suspensionStiffness- the desired stiffness coefficient (10→off-road buggy, 50→sports car, 200→Formula-1 race car, default=20)
 
- 
getWheelsDampingRelaxationpublic float getWheelsDampingRelaxation()
- 
setWheelsDampingRelaxationpublic void setWheelsDampingRelaxation(float wheelsDampingRelaxation) the damping coefficient for when the suspension is expanding. See the comments for setWheelsDampingCompression for how to set k.- Parameters:
- wheelsDampingRelaxation- the desired damping coefficient (default=2.3)
 
- 
getWheelsDampingCompressionpublic float getWheelsDampingCompression()
- 
setWheelsDampingCompressionpublic void setWheelsDampingCompression(float wheelsDampingCompression) the damping coefficient for when the suspension is compressed. Set to k * 2.0 * FastMath.sqrt(m_suspensionStiffness) so k is proportional to critical damping.
 k = 0.0 undamped/bouncy, k = 1.0 critical damping
 0.1 to 0.3 are good values- Parameters:
- wheelsDampingCompression- the desired damping coefficient (default=4.4)
 
- 
getFrictionSlippublic float getFrictionSlip()
- 
setFrictionSlippublic void setFrictionSlip(float frictionSlip) the coefficient of friction between the tyre and the ground. Should be about 0.8 for realistic cars, but can be increased for better handling. Set large (10000.0) for kart racers- Parameters:
- frictionSlip- the desired coefficient of friction between tyre and ground (0.8→realistic car, 10000→kart racer, default=10.5)
 
- 
getRollInfluencepublic float getRollInfluence()
- 
setRollInfluencepublic void setRollInfluence(float rollInfluence) reduces the rolling torque applied from the wheels that cause the vehicle to roll over. This is a bit of a hack, but it's quite effective. 0.0 = no roll, 1.0 = physical behaviour. If m_frictionSlip is too high, you'll need to reduce this to stop the vehicle rolling over. You should also try lowering the vehicle's centre of mass- Parameters:
- rollInfluence- the rollInfluence to set
 
- 
getMaxSuspensionTravelCmpublic float getMaxSuspensionTravelCm()
- 
setMaxSuspensionTravelCmpublic void setMaxSuspensionTravelCm(float maxSuspensionTravelCm) the maximum distance the suspension can be compressed (centimetres)- Parameters:
- maxSuspensionTravelCm- the desired maximum amount the suspension can be compressed or expanded, relative to its rest length (in hundredths of a physics-space unit, default=500)
 
- 
getMaxSuspensionForcepublic float getMaxSuspensionForce()
- 
setMaxSuspensionForcepublic void setMaxSuspensionForce(float maxSuspensionForce) The maximum suspension force, raise this above the default 6000 if your suspension cannot handle the weight of your vehicle.- Parameters:
- maxSuspensionForce- the desired maximum force per wheel (default=6000)
 
- 
getRadiuspublic float getRadius()
- 
setRadiuspublic void setRadius(float radius) 
- 
getRestLengthpublic float getRestLength()
- 
setRestLengthpublic void setRestLength(float restLength) 
- 
getGroundObjectreturns the object this wheel is in contact with or null if no contact- Returns:
- the PhysicsCollisionObject (PhysicsRigidBody, PhysicsGhostObject)
 
- 
getCollisionLocationreturns the location where the wheel collides with the ground (world space)- Parameters:
- vec- storage for the result (not null, modified)
- Returns:
- a location vector (in physics-space coordinates)
 
- 
getCollisionLocationreturns the location where the wheel collides with the ground (world space)- Returns:
- a new location vector (in physics-space coordinates)
 
- 
getCollisionNormalreturns the normal where the wheel collides with the ground (world space)- Parameters:
- vec- storage for the result (not null, modified)
- Returns:
- a unit vector (in physics-space coordinates)
 
- 
getCollisionNormalreturns the normal where the wheel collides with the ground (world space)- Returns:
- a new unit vector (in physics-space coordinates)
 
- 
getSkidInfopublic float getSkidInfo()returns how much the wheel skids on the ground (for skid sounds/smoke etc.)
 0.0 = wheels are sliding, 1.0 = wheels have traction.- Returns:
- the relative amount of traction (0→wheel is sliding, 1→wheel has full traction)
 
- 
getDeltaRotationpublic float getDeltaRotation()returns how many degrees the wheel has turned since the last physics step.- Returns:
- the rotation angle (in radians)
 
- 
read- Specified by:
- readin interface- Savable
- Throws:
- IOException
 
- 
write- Specified by:
- writein interface- Savable
- Throws:
- IOException
 
- 
getWheelSpatial- Returns:
- the wheelSpatial
 
- 
setWheelSpatial- Parameters:
- wheelSpatial- the wheelSpatial to set
 
- 
isApplyLocalpublic boolean isApplyLocal()
- 
setApplyLocalpublic void setApplyLocal(boolean applyLocal) 
- 
getWheelWorldRotationwrite the content of the wheelWorldRotation into the store- Parameters:
- store- storage for the result (not null, modified)
 
- 
getWheelWorldLocationwrite the content of the wheelWorldLocation into the store- Parameters:
- store- storage for the result (not null, modified)
 
 
-