Code : Tout sélectionner
void Update () {
if(Input.GetKey(KeyCode.Space) || Input.GetKey(KeyCode.LeftAlt))
{
Vector3 dir = Vector3.zero;
if(Input.GetKey(KeyCode.Space))
{
dir = Vector3.forward;
Avg.transform.Rotate(Vector3.right * 200 * Time.deltaTime);
Avd.transform.Rotate(Vector3.right * 200 * Time.deltaTime);
Arg.transform.Rotate(Vector3.right * 200 * Time.deltaTime);
Ard.transform.Rotate(Vector3.right * 200 * Time.deltaTime);
}
else
{
dir = -Vector3.forward;
Avg.transform.Rotate(-Vector3.right * 200 * Time.deltaTime);
Avd.transform.Rotate(-Vector3.right * 200 * Time.deltaTime);
Arg.transform.Rotate(-Vector3.right * 200 * Time.deltaTime);
Ard.transform.Rotate(-Vector3.right * 200 * Time.deltaTime);
}
transform.Translate(dir * speed * Time.deltaTime);
transform.Rotate(Vector3.up * Mathf.Sign(dir.z) * cRotation * Input.GetAxis("Horizontal") * Time.deltaTime);
}
WheelAngle();
}
Code : Tout sélectionner
void WheelAngle()
{
if (Input.GetAxisRaw("Horizontal") > 0)
{
Avg.transform.localRotation = Quaternion.Euler(Avg.transform.localEulerAngles.x, 30, 0);
Avd.transform.localRotation = Quaternion.Euler(Avd.transform.localEulerAngles.x, 30,0);
}
if (Input.GetAxisRaw("Horizontal") < 0 )
{
Avg.transform.localRotation = Quaternion.Euler(Avg.transform.localEulerAngles.x, -30, 0);
Avd.transform.localRotation = Quaternion.Euler(Avd.transform.localEulerAngles.x, -30, 0);
}
if (Input.GetAxisRaw("Horizontal") == 0 )
{
Avg.transform.localRotation = Quaternion.Euler(Avg.transform.localEulerAngles.x, 0, 0);
Avd.transform.localRotation = Quaternion.Euler(Avd.transform.localEulerAngles.x, 0, 0);
}
}
Je n'arrive pas a comprendre pourquoi ?
bien que cela vient trés certainement de mes Quaternion.Eulur et surtout comment opérer, si vous avez une piste ?
Merci
Ps: je n'utilise pas de whellcollider c'est voulu et impératif.