Jump to content
Unity Insider Forum

Malinca6

Members
  • Gesamte Inhalte

    4
  • Benutzer seit

  • Letzter Besuch

Malinca6's Achievements

Newbie

Newbie (1/3)

0

Ansehen in der Community

  1. Hey ✌️🤓 ich habe gerade ein Skript gefunden das perfekt für mein Panzer ist ich würde gerne das die Reifen/Ketten auf der einen Seite sich vorwärts und der anderen Seite die Reifen/Ketten rückwärts drehen können. Hat jemand eine Idee und könnte mir helfen? So sieht mein bisheriges Skript aus: using UnityEngine; using System.Collections; using System.Collections.Generic; [System.Serializable] public class AxleInfo { public WheelCollider leftWheelCollider; public WheelCollider rightWheelCollider; public GameObject leftWheelMesh; public GameObject rightWheelMesh; public bool motor; public bool steering; } public class TankMove : MonoBehaviour { public List<AxleInfo> axleInfos; public float maxMotorTorque; public float maxSteeringAngle; public float brakeTorque; public float decelerationForce; public void ApplyLocalPositionToVisuals(AxleInfo axleInfo) { Vector3 position; Quaternion rotation; axleInfo.leftWheelCollider.GetWorldPose(out position, out rotation); axleInfo.leftWheelMesh.transform.position = position; axleInfo.leftWheelMesh.transform.rotation = rotation; axleInfo.rightWheelCollider.GetWorldPose(out position, out rotation); axleInfo.rightWheelMesh.transform.position = position; axleInfo.rightWheelMesh.transform.rotation = rotation; } void FixedUpdate() { float motor = maxMotorTorque * Input.GetAxis("Vertical"); float steering = maxSteeringAngle * Input.GetAxis("Horizontal"); for (int i = 0; i < axleInfos.Count; i++) { if (axleInfos[i].steering) { Steering(axleInfos[i], steering); } if (axleInfos[i].motor) { Acceleration(axleInfos[i], motor); } if (Input.GetKey(KeyCode.Space)) { Brake(axleInfos[i]); } ApplyLocalPositionToVisuals(axleInfos[i]); } } private void Acceleration(AxleInfo axleInfo, float motor) { if (motor != 0f) { axleInfo.leftWheelCollider.brakeTorque = 0; axleInfo.rightWheelCollider.brakeTorque = 0; axleInfo.leftWheelCollider.motorTorque = motor; axleInfo.rightWheelCollider.motorTorque = motor; } else { Deceleration(axleInfo); } } private void Deceleration(AxleInfo axleInfo) { axleInfo.leftWheelCollider.brakeTorque = decelerationForce; axleInfo.rightWheelCollider.brakeTorque = decelerationForce; } private void Steering(AxleInfo axleInfo, float steering) { axleInfo.leftWheelCollider.steerAngle = steering; axleInfo.rightWheelCollider.steerAngle = steering; } private void Brake(AxleInfo axleInfo) { axleInfo.leftWheelCollider.brakeTorque = brakeTorque; axleInfo.rightWheelCollider.brakeTorque = brakeTorque; } }
×
×
  • Neu erstellen...