Хотите добавить видеоролики в свою игру?
Разберём все ключевые моменты — от форматов до практической реализации.
📹 Поддерживаемые форматы
Unity работает с этими видеоформатами:
- MP4 (H.264 + AAC) — рекомендуемый
- MOV (только для macOS/iOS)
- WebM (для WebGL)
⚠️ Важно:
- Видео должно быть перекодировано под платформу (например, через HandBrake)
- Разрешение желательно кратное 4 (например, 1920×1080)
🛠 3 способа вывода видео
1. VideoPlayer + RenderTexture (универсальный)
Как настроить:
- Импортируйте видеофайл в проект
- Создайте RenderTexture (Assets → Create → Render Texture)
- Добавьте компонент VideoPlayer на объект:
VideoPlayer vp = gameObject.AddComponent<VideoPlayer>();
vp.renderMode = VideoRenderMode.RenderTexture;
vp.targetTexture = myRenderTexture; // Ваша RenderTexture
vp.Play();
- Назначьте RenderTexture на материал объекта
Плюсы:
- Работает на всех платформах
- Можно проецировать на 3D-объекты
2. VideoPlayer + RawImage (для UI)
Настройка:
- Создайте Canvas и добавьте RawImage
- Настройте VideoPlayer:
VideoPlayer vp = gameObject.AddComponent<VideoPlayer>();
vp.renderMode = VideoRenderMode.MaterialOverride;
vp.targetMaterialRenderer = GetComponent<Renderer>();
vp.Play();
Идеально для:
- Заставок
- Видеофонов меню
3. Прямой вывод на камеру
Настройка:
VideoPlayer vp = cameraGO.AddComponent<VideoPlayer>();
vp.renderMode = VideoRenderMode.CameraFarPlane;
vp.Play();
Особенности:
- Видео заменяет фон камеры
- Подходит для AR/VR
⚠️ Частые проблемы
1. Чёрный экран → Проверьте:
- Назначен ли RenderTexture
- Поддерживается ли кодек на целевой платформе
2. Нет звука → Добавьте AudioSource и настройте вывод аудио
3. Тормозит на мобилках → Уменьшите разрешение видео (720p вместо 4K)