Forum
  Forum
 
=> Noch nicht angemeldet?

Forum - script zum bremsen Tacho usw..

Du befindest dich hier:
Forum => Unity Scripte => script zum bremsen Tacho usw..

<-Zurück

 1 

Weiter->


Adminstrator
(3 Posts bisher)
05.09.2010 18:17 (UTC)[zitieren]
Hir ist noch mall ein Script:


var flWheelCollider : WheelCollider;
var frWheelCollider : WheelCollider;
var rlWheelCollider : WheelCollider;
var rrWheelCollider: WheelCollider;
var maxTorque= 150.0;
var maxBrakeTorque= 500.0;
var maxSteerAngle = 30.0;
var steerStep : float = 1.0;
var guiSpeed : GUIText;
var flWheel : Transform;
var frWheel : Transform;
var rlWheel : Transform;
var rrWheel : Transform;

var guiSpeedPointer : Texture2D;
var guiSpeedDisplay : Texture2D;

var maxSpeed : float = 200.0;
var currentSpeed : float =0.0;

private var isBraking : boolean=false;

function Start () {
guiSpeed.material.color = Color.green;
rigidbody.centerOfMass.y = 0;

}

function FixedUpdate () {

currentSpeed = (Mathf.PI * 2 * flWheelCollider.radius) * flWheelCollider.rpm *60 /1000;
currentSpeed = Mathf.Round(currentSpeed);

var relativeVelocity : Vector3 = transform.InverseTransformDirection(rigidbody.velocity);

if (((currentSpeed> 0) && (Input.GetAxis("Vertical" 0 ))){
isBraking = true;
}
else {
isBraking = false;
flWheelCollider.brakeTorque =0;
frWheelCollider.brakeTorque =0;
}

if (isBraking ==false) {
if (currentSpeed < maxSpeed){
flWheelCollider.motorTorque = maxTorque * Input.GetAxis("Vertical";
frWheelCollider.motorTorque = maxTorque * Input.GetAxis("Vertical";
}
else {
flWheelCollider.motorTorque = 0;
frWheelCollider.motorTorque = 0;
}
}
else {
flWheelCollider.brakeTorque = maxBrakeTorque;
frWheelCollider.brakeTorque = maxBrakeTorque;
flWheelCollider.motorTorque = 0;
frWheelCollider.motorTorque = 0;
}



flWheelCollider.steerAngle = maxSteerAngle * Input.GetAxis("Horizontal";
frWheelCollider.steerAngle = maxSteerAngle * Input.GetAxis("Horizontal";

guiSpeed.text = currentSpeed .ToString();

}

function Update () {

RotateWheels();
SteelWheels();
}

function OnGUI () {
GUI.Box(Rect(0.0,0.0,140.0,140.0),guiSpeedDisplay);
GUIUtility.RotateAroundPivot(currentSpeed + 40,Vector2(70,70));
GUI.DrawTexture(Rect(0.0,0.0,140.0,140.0),guiSpeedPointer, ScaleMode.StretchToFill,true,0);

}

function RotateWheels(){
flWheel.Rotate(flWheelCollider.rpm / 60 * 360 * Time.deltaTime ,0,0);
frWheel.Rotate(frWheelCollider.rpm / 60 * 360 * Time.deltaTime ,0,0);
rlWheel.Rotate(rlWheelCollider.rpm / 60 * 360 * Time.deltaTime ,0,0);
rrWheel.Rotate(rrWheelCollider.rpm / 60 * 360 * Time.deltaTime ,0,0);
}

function SteelWheels() {
flWheel.localEulerAngles.y = flWheelCollider.steerAngle - flWheel.localEulerAngles.z ;
frWheel.localEulerAngles.y = frWheelCollider.steerAngle - frWheel.localEulerAngles.z ;

}




Themen gesamt: 3
Posts gesamt: 3
Benutzer gesamt: 1
Derzeit Online (Registrierte Benutzer): Niemand crying smiley
 
  Heute waren schon 1 Besucher (7 Hits) hier!  
 
Diese Webseite wurde kostenlos mit Homepage-Baukasten.de erstellt. Willst du auch eine eigene Webseite?
Gratis anmelden