if (waitinganimation == true)
{
RotateCharacters(animators[2]);
}
if (!endRot)
{
Quaternion goalRotation = Quaternion.Euler(0f, 180f, 0f);
float angleToGoal = Quaternion.Angle(
goalRotation,
animators[0].transform.localRotation);
float angleThisFrame = Mathf.Min(angleToGoal, rotationSpeed * Time.deltaTime);
// use axis of Vector3.down to keep angles positive for ease of use
animators[0].transform.Rotate(Vector3.up, angleThisFrame);
animators[1].transform.Rotate(Vector3.down, angleThisFrame);
// We end if we rotated the remaining amount.
endRot = Mathf.Approximately(angleThisFrame, angleToGoal);
}
{
animators[0].SetBool("Rifle Aiming Idle", true);
animators[1].SetBool("Rifle Aiming Idle", true);
}
}
}
private void RotateCharacters(int[] CharactersIndex)
{
for (int i = 0; i < CharactersIndex.Length; i++)
{
if (!endRotation)
{
Quaternion goalRotation = Quaternion.Euler(0f, -90f, 0f);
float angleToGoal = Quaternion.Angle(
goalRotation,
animators[CharactersIndex[i]].transform.localRotation);
float angleThisFrame = Mathf.Min(angleToGoal, 100 * Time.deltaTime);
animators[CharactersIndex[i]].transform.Rotate(Vector3.down, angleThisFrame);
endRotation = Mathf.Approximately(angleThisFrame, angleToGoal);
}
else
{
animators[CharactersIndex[i]].SetBool("Magic Pack", true);
}
}
}
bool waitinganimation = false;
IEnumerator WaitForAnimation()
{
yield return new WaitForSeconds(3);
waitinganimation = true;
}
Сначала я поворачиваю animators[0]
и [1]
для определенной угловой цели, а затем я вращаю animators[2]
для другой угловой цели. Вместо этого я хочу использовать метод RotateCharacters для нескольких поворотов.
Если я вызываю метод один раз: RotateCharacters(2);
, а затем, например: RotateCharacters(0,1);
или лучше: RotateCharacters(animators[2]);
или RotateCharacters(animators[0], animators[1]);
Так что в обновлении у меня будет две строки:
RotateCharacters(animators[2], Quaternion angle);
RotateCharacters(animators[0], animators[1], Quaternion angle);
Таким образом, он будет вращать все 3 одновременно, но первый animators[2]
будет вращаться на определенный угол, а затем два других animators[0]
и animators[1]
повернутся на другой угол.
Не так, как должно выглядеть, но идея в том, чтобы сделать несколько поворотов.
Но я испортил весь метод.