• Добро пожаловать на Quest3D - Русскоязычное сообщество.
 

Новости:

Форум Quest3D восстановлен!

Главное меню

как расставить маркеры по карте типа?

Автор Patiffonka, 06 января 2010, 10:28:17

« назад - далее »

Patiffonka

Каким образом можно привязать 2d text к 3д координатам. Идея в том, что на карте городка при виде сверху должны включаться номера домов над крышами. 3д текст сильно перегрузит сцену.. текстура с альфа каналом на плэйн тоже не катит, домов больше 500.. текстуры рисовать долго.. идеальный вариант привязать 2дтекст к объекту сцены.
Плохо работает клавиша"л"

DimiS

ну в общих чертах у меня бы это выглядело так:
имея 3д координаты каждого нужного мне объекта, я бы добавлял к ним некую константную высоту, ну например +10 по y координате. Далее, у вектор оператора имеется функция проэцирования 3д координаты на экран, ориентируясь на эту координату +-ширина текста рисуем необходимый текст с помощью ченела TextOut.
при большом количестве обращений к ТекстАуту предрекаю тормоза, но сделай для начала так, потом думаю разберёшься как и чо подправить.

Patiffonka

Спасибо!!  )) Сам бы не дошел.. как добью, так напишу как сделал. ))
Плохо работает клавиша"л"

Patiffonka

вот впринципе и справился, только я вместо текстаута расставил кнопки, с которых можно посмотреть информацию о здании. вопрос на засыпку. когда используется zoom factor на камере, позиция кнопки смещается (( как бы придумать формулу, которая будет подгонять вектор с учетом зум фактора?
Плохо работает клавиша"л"

Patiffonka

Для улучшения производительности судя по всему, удобнее всего использовать Quest3d Text вместо TextOut. Ивозможностей побольше и требования поменьше. А в качестве кнопки его можно юзать с помощью DetectMouseCollision.
Плохо работает клавиша"л"