Вот еще способ добиться лучшего результата:
private float lastDelta = 0;
private bool secondFrame = false;
void Update()
{
secondFrame = !secondFrame;
float newDelta = Time.deltaTime;
if (Input.GetKeyDown(KeyCode.Escape)) Application.Quit();
calls++;
float tdt = lastDelta + newDelta;
Vector3 tra = thisTransform.forward * tdt * 5;
Vector3 up = Vector3.up;
if (secondFrame)
{
for (int i = 0; i < cube.Length/2; i++)
{
cubet[i].Translate(tra);
cubet[i].rotation *= Quaternion.AngleAxis(tdt*Random.Range(-50, 50), up);
}
}
else
{
for (int i = cube.Length / 2; i < cube.Length; i++)
{
cubet[i].Translate(tra);
cubet[i].rotation *= Quaternion.AngleAxis(tdt * Random.Range(-50, 50), up);
}
}
lastDelta = newDelta;
}
