Как сделать в Instantiate случайное вращение
Чтобы при создании объекта с помощью Instantiate задать случайное вращение в Unity, вы можете использовать следующий код:
using UnityEngine;
public class CreateRandomRotation : MonoBehaviour
{
public GameObject prefab; // Указать префаб в инспекторе
private void CreateRandomlyRotatedObject()
{
// Создать новый объект на основе префаба
GameObject newObject = Instantiate(prefab);
// Генерировать случайное вращение
Vector3 randomRotation = new Vector3(
Random.Range(0f, 360f), // случайная угловая ориентация по X
Random.Range(0f, 360f), // случайная угловая ориентация по Y
Random.Range(0f, 360f) // случайная угловая ориентация по Z
);
// Применить случайное вращение к новому объекту
newObject.transform.rotation = Quaternion.Euler(randomRotation);
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
CreateRandomlyRotatedObject();
}
}
}
В этом коде мы:
- Создаем новый объект на основе указанного префаба с помощью Instantiate .
- Генерируем случайные углы вращения для каждой из осей (X, Y и Z) с использованием Random.Range .
- Применяем случайное вращение к новому объекту с помощью Quaternion.Euler .
Теперь, при нажатии клавиши Space, будет создаваться новый объект с случайным вращением. Убедитесь, что вы указали ваш префаб в инспекторе для переменной prefab .
28.09.2023 01:59
Поделиться: