Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > 2D/GUI

2D/GUI Вопросы на тему 2D графики и интерфейсов

Ответ
 
Опции темы
Старый 11.02.2013, 13:17   #1
SergSS
AnyKey`щик
 
Регистрация: 05.12.2010
Сообщений: 10
Написано 0 полезных сообщений
(для 0 пользователей)
Текст в текстуру

Добрый день! Вопрос в следующем: Есть необходимость вывести 2d текст поверх изображения и загнать его (изображение с текстом) в текстуру(текстуру в материал, материал на объект). Возникает вполне логичный вопрос - "КАК?". Вся работа с текстом в Unity, что видел, сводится либо к 3d тексту, либо к работе с гуи. Но можно ли гуи наложить как текстуру? Поиск по Интернету пока результатов не дал. Буду благодарен за любой совет или ссылку!
(Offline)
 
Ответить с цитированием
Старый 11.02.2013, 13:37   #2
Lestar
Бывалый
 
Аватар для Lestar
 
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений
(для 880 пользователей)
Ответ: Текст в текстуру

NGUI умеет.
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
(Offline)
 
Ответить с цитированием
Старый 11.02.2013, 14:05   #3
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Текст в текстуру

3D текстом вполне можно. В рендертекстуру. Правда не уверен на счет стандартного шейдера.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 11.02.2013, 14:25   #4
SergSS
AnyKey`щик
 
Регистрация: 05.12.2010
Сообщений: 10
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Текст в текстуру

NGUI попробую посмотреть сам, но если не сложно - можно простейший пример кода?
А рендер текстура - Как это сделать в UNITY. Тоже норм примеров найти не могу...(((

П.С. Пишу на C#
(Offline)
 
Ответить с цитированием
Старый 11.02.2013, 14:38   #5
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Текст в текстуру

RenderTexture:
1. Дополнительный слой специально для картинки.
2. Камеру отдельную выключенную, рендерящую этот слой.
3. фон и 3d текст на этот слой.
4. камере назначить рендертекстуру (вероятно созданную кодом).
5. camera.Render() - рендеринг в текстуру.
6. Текстура метериалу, материал объекту

Можно например еще
6. RenderTexture.active = наша рендертекстура
7. Texture2d.ReadPixels() для чтения в обычную текстуру
8. RenderTexture.active = null;
__________________
Blitz3d to Unity Wiki

Последний раз редактировалось pax, 11.02.2013 в 15:54.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
HolyDel (11.02.2013), SergSS (11.02.2013)
Старый 11.02.2013, 20:32   #6
seaman
Знающий
 
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений
(для 180 пользователей)
Ответ: Текст в текстуру

Элементарно без RenderToTexture. Но с подготовленным атласом шрифта.
Adding Text-To-Texture at Runtime in Unity3D Without Using Render Texture
(Offline)
 
Ответить с цитированием
Старый 12.02.2013, 09:07   #7
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Текст в текстуру

Ну собственно можно и с 3d text без рендертекстуры. Можно вызвать camera.Render() и в основной буфер в Update например, считать с него пиксели, а потом очистить Z буфер например через GL.Clear или другой камерой. И так же п. 7. непосредственно после рендеринга. Камере этой можно задать pixelRect, чтобы не рендерить на весь экран.

UPD: Правда что-то в Unity 4 такой способ не работает... точнее работает с использованием WaitForEndOfFrame
__________________
Blitz3d to Unity Wiki

Последний раз редактировалось pax, 12.02.2013 в 15:07.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 22:00.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com