Трансляция экрана в Unity

Общие вопросы о Unity3D

Трансляция экрана в Unity

Сообщение Vanes 04 июл 2018, 08:30

Доброго времени суток!
В поисковике не могу вбить нужный запрос для моей задачи, а она заключается в следующем:

Имеется некоторый объект с текстурой (в моём случае - Plane); нужно на эту текстуру транслировать происходящее на экране. Т.е. эдакий локальный стрим на Unity. :-?

Возможно ли это сделать, или такая штука на грани фантастики? Вот чтоб просто с экрана всё попадало на текстуру?
Заранее благодарен.
Vanes
UNец
 
Сообщения: 8
Зарегистрирован: 04 июл 2018, 06:03

Re: Трансляция экрана в Unity

Сообщение ilkalawson 04 июл 2018, 08:40

ищите RenderTexture
ilkalawson
UNIверсал
 
Сообщения: 412
Зарегистрирован: 19 янв 2015, 20:38
Skype: lawsonunity

Re: Трансляция экрана в Unity

Сообщение Vanes 04 июл 2018, 09:23

ilkalawson писал(а):ищите RenderTexture


Это... не совсем то. :/
Судя по поиску, с помощью RenderTexture можно транслировать происходящее в игровой области, то, что происходит в самом Unity.
Я ищу способ транслировать сам экран Windows'а.
Например, вышел я на рабочий стол --> в Unity показывается мой рабочий стол (грубо говоря).
Vanes
UNец
 
Сообщения: 8
Зарегистрирован: 04 июл 2018, 06:03

Re: Трансляция экрана в Unity

Сообщение IDoNotExist 04 июл 2018, 09:36

Vanes писал(а):Например, вышел я на рабочий стол --> в Unity показывается мой рабочий стол (грубо говоря).

Тут тебе надо либо писать отдельное приложение которое будет коннектиться к Windows десктопу и к твоему Unity приложению, либо тащить в Unity WinApi либы для этого, в любом случае это не простая задача.
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

Re: Трансляция экрана в Unity

Сообщение Vanes 04 июл 2018, 09:50

IDoNotExist писал(а):
Vanes писал(а):Например, вышел я на рабочий стол --> в Unity показывается мой рабочий стол (грубо говоря).

Тут тебе надо либо писать отдельное приложение которое будет коннектиться к Windows десктопу и к твоему Unity приложению, либо тащить в Unity WinApi либы для этого, в любом случае это не простая задача.

Да, знаю, непростая. ;;)
Мне пока надо что-нибудь примитивное. Вот тут, кажется, есть подходящее:
https://stackoverflow.com/questions/441 ... m-overflow
Буду кодить, проверять пока что.
Vanes
UNец
 
Сообщения: 8
Зарегистрирован: 04 июл 2018, 06:03

Re: Трансляция экрана в Unity

Сообщение DbIMok 04 июл 2018, 14:09

правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Трансляция экрана в Unity

Сообщение Vanes 05 июл 2018, 06:26

DbIMok писал(а):https://github.com/keijiro/KlakNDI

Ух ты! (°ロ° )
Огромное спасибо! Должно сработать.
Vanes
UNец
 
Сообщения: 8
Зарегистрирован: 04 июл 2018, 06:03

Re: Трансляция экрана в Unity

Сообщение Vanes 12 июл 2018, 09:20

Пишу для тех, у кого тоже проблемы с транслированием экрана на текстуру. Есть один простой путь.
1) Качайте бесплатную версию ManyCam.
2) Создаёте виртуальную камеру, которая показывает ваш экран (Desktop). Далее камера будет называться "ManyCam Virtual Webcam", но всё равно проверьте название в Unity через Debug.Log():
Синтаксис:
Используется csharp
WebCamDevice[] devices = WebCamTexture.devices;
for (int i = 0; i < devices.Length; i++)
    Debug.Log(devices[i].name);

3) В коде создаёте текстуру:
Синтаксис:
Используется csharp
WebCamTexture webCamTexture = new WebCamTexture("ManyCam Virtual Webcam", 1920, 1080);
webCamTexture.Play();
gameObject.GetComponent<MeshRenderer>().material.mainTexture = webCamTexture;

Вуаля! Правда, там ещё watermark, но для простой реализации это несущественно.
Тема закрыта. Возможно. :-?
Vanes
UNец
 
Сообщения: 8
Зарегистрирован: 04 июл 2018, 06:03


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 26