Страница 1 из 1

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

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

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

Возможно ли это сделать, или такая штука на грани фантастики? Вот чтоб просто с экрана всё попадало на текстуру?
Заранее благодарен.

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

СообщениеДобавлено: 04 июл 2018, 08:40
ilkalawson
ищите RenderTexture

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

СообщениеДобавлено: 04 июл 2018, 09:23
Vanes
ilkalawson писал(а):ищите RenderTexture


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

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

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

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

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

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

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

Да, знаю, непростая. ;;)
Мне пока надо что-нибудь примитивное. Вот тут, кажется, есть подходящее:
https://stackoverflow.com/questions/441 ... m-overflow
Буду кодить, проверять пока что.

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

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

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

СообщениеДобавлено: 05 июл 2018, 06:26
Vanes
DbIMok писал(а):https://github.com/keijiro/KlakNDI

Ух ты! (°ロ° )
Огромное спасибо! Должно сработать.

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

СообщениеДобавлено: 12 июл 2018, 09:20
Vanes
Пишу для тех, у кого тоже проблемы с транслированием экрана на текстуру. Есть один простой путь.
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, но для простой реализации это несущественно.
Тема закрыта. Возможно. :-?