Текст в текстуру
Добрый день! Вопрос в следующем: Есть необходимость вывести 2d текст поверх изображения и загнать его (изображение с текстом) в текстуру(текстуру в материал, материал на объект). Возникает вполне логичный вопрос - "КАК?". Вся работа с текстом в Unity, что видел, сводится либо к 3d тексту, либо к работе с гуи. Но можно ли гуи наложить как текстуру? Поиск по Интернету пока результатов не дал. Буду благодарен за любой совет или ссылку!
|
Ответ: Текст в текстуру
NGUI умеет.
|
Ответ: Текст в текстуру
3D текстом вполне можно. В рендертекстуру. Правда не уверен на счет стандартного шейдера.
|
Ответ: Текст в текстуру
NGUI попробую посмотреть сам, но если не сложно - можно простейший пример кода?
А рендер текстура - Как это сделать в UNITY. Тоже норм примеров найти не могу...((( П.С. Пишу на C# |
Ответ: Текст в текстуру
RenderTexture:
1. Дополнительный слой специально для картинки. 2. Камеру отдельную выключенную, рендерящую этот слой. 3. фон и 3d текст на этот слой. 4. камере назначить рендертекстуру (вероятно созданную кодом). 5. camera.Render() - рендеринг в текстуру. 6. Текстура метериалу, материал объекту Можно например еще 6. RenderTexture.active = наша рендертекстура 7. Texture2d.ReadPixels() для чтения в обычную текстуру 8. RenderTexture.active = null; |
Ответ: Текст в текстуру
Элементарно без RenderToTexture. Но с подготовленным атласом шрифта.
Adding Text-To-Texture at Runtime in Unity3D Without Using Render Texture |
Ответ: Текст в текстуру
Ну собственно можно и с 3d text без рендертекстуры. Можно вызвать camera.Render() и в основной буфер в Update например, считать с него пиксели, а потом очистить Z буфер например через GL.Clear или другой камерой. И так же п. 7. непосредственно после рендеринга. Камере этой можно задать pixelRect, чтобы не рендерить на весь экран.
UPD: Правда что-то в Unity 4 такой способ не работает... точнее работает с использованием WaitForEndOfFrame |
Часовой пояс GMT +4, время: 18:34. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot