Tuesday, 12 April 2016

3D Rotation Test

3D rotation test using Unity 5 buttons.


using UnityEngine;
using System.Collections;

public class Rotate1 : MonoBehaviour {


private Quaternion qTo;
private float rotateSpeed = 200.0f;
private float moveAngle = 90.0f;


void Start() {

qTo = transform.rotation;

}

void Update() {
transform.rotation = Quaternion.RotateTowards(transform.rotation, qTo, Time.deltaTime * rotateSpeed);
}

public void ToRotateLeft()
{
qTo = Quaternion.AngleAxis(moveAngle, Vector3.up) * qTo;
Debug.Log ("qTo=" + qTo);
}

public void ToRotateRight()
{
qTo = Quaternion.AngleAxis(-moveAngle, Vector3.up) * qTo;
Debug.Log ("qTo=" + qTo);
}

public void ToRotateUp()
{
qTo = Quaternion.AngleAxis(moveAngle, Vector3.left) * qTo;
Debug.Log ("qTo=" + qTo);
}

public void ToRotateDown()
{
qTo = Quaternion.AngleAxis(-moveAngle, Vector3.left) * qTo;
Debug.Log ("qTo=" + qTo);
}

public void ToRotateClockwise()
{
qTo = Quaternion.AngleAxis(-moveAngle, Vector3.back) * qTo;
Debug.Log ("qTo=" + qTo);
}

public void ToRotateAntiClockwise()
{
qTo = Quaternion.AngleAxis(moveAngle, Vector3.back) * qTo;
Debug.Log ("qTo=" + qTo);
}

}

No comments:

Post a Comment