forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Текст над моделью. (http://forum.boolean.name/showthread.php?t=8583)

Hellfalcon 30.06.2009 16:10

Текст над моделью.
 
Здравствуйте ! Вот возникло несколько вопросов:
1)Как сделать текст/картинку над моделькой(Как в стратегиях -полоска жизни над юнитами)?
пробовал cameraproject
далее ProjectedX(),ProjectedY()
очень тормозно выходить. 30 объектов и тормоза очень заметные. И если модельки не видно то текст может улетать просто в левый верхний угол.
2)В физиксе есть что-то наподобие команды camerapick ?

ABTOMAT 30.06.2009 16:23

Ответ: Текст над моделью.
 
Здравствуйте !
1. Тормоза - не от Блицовского "cameraproject далее ProjectedX(),ProjectedY()", а от Блицевского 2Д, его никак не ускоришь. Следовательно, надо пытаться обойтись без него:
  • Сделать над головой модельки спрайт с картинкой и текстом - будет быстрее, проверял.
  • Заюзать либы для 2Д, напрмер, FastImage. Т.к. там тоже всё аппаратное, то и прирост в скорости очень значительный (смотри соответствующий семпл-сравнение: Блицовское 2Д порвано в щепки).
2. Да, есть. Чти.

Hellfalcon 30.06.2009 17:24

Ответ: Текст над моделью.
 
я использую FastText. Кстати если не включать FastText_Unicode.bb ,то тормоза поуменьшились в несколько раз.
А как динамически изменять текст в спрайте ?

ABTOMAT 30.06.2009 19:31

Ответ: Текст над моделью.
 
Хмм, такое бывает только на интегрированных фидеокартах либо на ноутбуках. У тебя случаем не одно из этого ?
Динамически менять текст на спрайте - значит в буфер текстуры спрайта писать текст 2Д-средствами. Не всё время, конечно, а только когда поменять надо.

Hellfalcon 30.06.2009 21:12

Ответ: Текст над моделью.
 
у меня ноутбук )
Цитата:

(смотри соответствующий семпл-сравнение: Блицовское 2Д порвано в щепки).
посмотрел - у меня блицовский текст быстрее fasttext'a .

ABTOMAT 30.06.2009 22:52

Ответ: Текст над моделью.
 
Ну, это только на ноутах.

Hellfalcon 30.06.2009 23:30

Ответ: Текст над моделью.
 
Через fastimage нормально текст рисуется и не тормозно.
А вот одна проблемка так и осталась - когда объекты находятся за камерой,то их текст выводится в левый верхний угол. Из-за чего это происходит ?

ABTOMAT 30.06.2009 23:32

Ответ: Текст над моделью.
 
Из-за того что когда проецируется что-то за пределами вида т возвращается координата 0, т.е. левый угол экрана. Вывод: сравнивать с нулём и не отрисовывать в случае ахтунга.

Hellfalcon 01.07.2009 21:34

Ответ: Текст над моделью.
 
Цитата:

2. Да, есть. Чти.
я смотрел здесь.
Там нету ничего похожего на camerapick.
С помощью луча нельзя мышкой пикать объект. :dontknow:

NitE 01.07.2009 21:52

Ответ: Текст над моделью.
 
можно, надо только лучом в координаты мышки пикать (капитан очевидность спешит на помощь !)

Hellfalcon 01.07.2009 22:06

Ответ: Текст над моделью.
 
а как пикать в координаты мышки ? там нигде не нашел такого параметра

NitE 01.07.2009 22:12

Ответ: Текст над моделью.
 
pxRaySetDir

ABTOMAT 01.07.2009 22:26

Ответ: Текст над моделью.
 
Цитата:

Сообщение от NitE (Сообщение 109608)
pxRaySetDir

Ну, перед этим надо ещё исходя из пикселя на экране и проекции камеры (особенно FOV) рассчитать нормализованный вектор.
Как? Не знаю) Ищущий да найде!

Hellfalcon 02.07.2009 22:30

Ответ: Текст над моделью.
 
Я вроде сделал почти , но проблема с FOV. Сколько градусов по оси X и по оси Y в разрешении 800x600?


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot