Hey UnityAnswers,
I’m looking for some advice on some code I have. Basically I have 4 cubes, each being a different colour (Red, Blue, Green and Yellow). In the center is an empty gameObject, with the mainCamera parented. When the gameObject rotates, so does the mainCamera. Right now I have input controls to rotate the empty gameObject either left or right, showing each of the cubes.
Here is what my scene looks like just for visualization : Imgur: The magic of the Internet
What I’m trying to get is a smooth curve between 90 degree intervals. I don’t want it to change like a light switch. I’m not a good programmer, but I’m thinking it involves either for loops, time.Deltatime or transform.Rotate. Let know if you can help me out. The code I’m working on is below.
var goodDegs = 30; // degrees per second
var badDegs = -30; // degrees per second
function Update () {
if (Input.GetKeyDown("left")){
for (var n = 0; n < 90; n++)
{
transform.Rotate(0, goodDegs * Time.deltaTime, 0);
}
}
if (Input.GetKeyDown("right")){
for (var m = 0; m < 90; m++)
{
transform.Rotate(0, badDegs * Time.deltaTime, 0);
}
}
}
or an older version:
var rotationPositive = 90;
var rotationNegative = -90;
function Update () {
if (Input.GetKeyDown("left"))
{
transform.Rotate(Time.deltaTime, rotationPositive, 0);
}
if (Input.GetKeyDown("right"))
{
transform.Rotate(Time.deltaTime, rotationNegative, 0);
}
}