Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Unity Cкрипт или обиснение авто поворот камер как в фнафе (камер видеонаблюдение)

Максим Сержант Ученик (91), открыт 2 недели назад
Unity Cкрипт или обиснение авто поворот камер как в фнафе
Привет давно думаю как это делается перебровал почти все, перелазил интернет итоги нечего годного не нашел пробовал сделать через анимации чтоб камера поворацивалась вместе с моделью (камеры)
итоги нечего тоже не получилось

помогите пж как это сделать это нужно срочно
1 ответ
бабуин гибонович Оракул (50088) 2 недели назад
 using System.Collections; 
using UnityEngine;

public class CameraSwitcher : MonoBehaviour
{
public Camera[] cameras;
public float switchTime = 5f; // Время между переключениями камер

private int currentCameraIndex = 0;

void Start()
{
cameras = GameObject.FindGameObjectsWithTag("SecurityCamera")
.Select(go => go.GetComponent<Camera>())
.ToArray();

if (cameras.Length > 0)
{
StartCoroutine(SwitchCamera());
}
}

IEnumerator SwitchCamera()
{
while (true)
{
// Отключаем все камеры
foreach (Camera cam in cameras)
{
cam.enabled = false;
}

// Включаем текущую камеру
cameras[currentCameraIndex].enabled = true;

// Ждём switchTime секунд
yield return new WaitForSeconds(switchTime);

// Переходим к следующей камере
currentCameraIndex = (currentCameraIndex + 1) % cameras.Length;
}
}
}
бабуин гибоновичОракул (50088) 2 недели назад
 using System.Collections; 
using UnityEngine;

public class CameraRotation : MonoBehaviour
{
public Transform[] points; // Точки, к которым камера будет поворачиваться
public float rotationSpeed = 1f; // Скорость поворота камеры
public float waitTime = 2f; // Время ожидания на каждой точке

private int currentPointIndex = 0;

void Start()
{
if (points.Length > 0)
{
StartCoroutine(RotateCamera());
}
}

IEnumerator RotateCamera()
{
while (true)
{
// Поворачиваем камеру к следующей точке
Vector3 targetDirection =
Максим Сержант Ученик (91) бабуин гибонович, не разобрался в как настроить скрипт CameraRotation "без настроки камера замирает в одном положение проверил" Можно подробнее как настроить скрипт CameraRotation куда ставить Rotation [Y] точки куда камера должна поворацироваться мене нужно например 458.546 (лево) 505.493 (право) пробовал ставить точки где текст зеленный юнити выдает что это типо не совместимо а так остальное все работает
бабуин гибоновичОракул (50088) 2 недели назад
 points[currentPointIndex].position - transform.position;  
Quaternion targetRotation = Quaternion.LookRotation(targetDirection);
while (Quaternion.Angle(transform.rotation, targetRotation) > 0.01f)
{
transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, Time.deltaTime * rotationSpeed);
yield return null;
}

// Ждём waitTime секунд
yield return new WaitForSeconds(waitTime);

// Переходим к следующей точке
currentPointIndex = (currentPointIndex + 1) % points.Length;
}
}
}
Похожие вопросы