2015-12-03 2 views
5

Я использовал код @Bart в вопросе Can I take a photo in Unity using the device's camera? с некоторой модификацией. Но результат получается полностью черным.Сфотографировать с помощью веб-камеры дает черный выход [Unity3D]

Я хотел бы добавить, что сценарий прикреплен к кубу с визуализатором. Также рендеринг был устаревшим, поэтому мне пришлось использовать GetComponents() для него.

ответ

3

Я бы подумал, что в тот момент, когда вы делаете снимок, рендеринг не выполняется, так как рендеринг происходит в конце кадра.

Вы должны, скорее всего, использовать сопрограмму и ждать конца кадра

yield return new WaitForEndOfFrame(); 

или использовать функцию обратного вызова OnPostRender из камеры, оказывающей процесс.

+0

не могли бы вы уточнить, где я должен добавить этот код. Также, пожалуйста, объясните причину более подробно. Я не мог понять часть рендеринга. –

+0

Включите метод Snapshot в сопроводительный снимок IEoutumerator и вызовите его с помощью StartCoroutine. В начале метода используйте выход, чтобы дождаться окончания кадра. Затем запустите остальные методы. Я не могу сказать, что я уверен, что это решение для вас. Но рендеринг выполняется в конце кадра, поэтому может быть, что ожидание его исправит. – Everts

+0

Спасибо за ответ, это помогло мне .... Я отредактирую ваш ответ так, чтобы он был подробно –

Смежные вопросы