Quest3D - Русскоязычное сообщество

Quest3D => Логика => Тема начата: Aky от 23 Марта 2009, 17:40:55



Название: Создание интерфейса
Отправлено: Aky от 23 Марта 2009, 17:40:55
Здравствуйте, посоветуйте пожалуйста, мне необходимо сделать программный интерфейс, стандартный GUI не подходит. Пользовалась уроком, выложенным в теме http://guest3d.wohlnet.ru/forum/index.php?topic=273.0, но в моем случае нужно не главное меню, а постоянно находящееся на экране. Проблема в том, что объекты (кнопки и т.д.) не выдвигаются на первый план и изменяются с положением камеры. Заранее большое спасибо.


Название: Re: Создание интерфейса
Отправлено: Левша от 24 Марта 2009, 08:24:14
Прикрути их к отдельной камере и никуда они не денутся. Т.е. рендер идет с двух камер.


Название: Re: Создание интерфейса
Отправлено: Aky от 24 Марта 2009, 21:57:57
Спасибо, так и делала, но у меня камера вторая вообще этой картинки не видит, хотя в перспективе все нормально. Не знаю, в чем дело, может быть туплю в чем-то, не так давно пользуюсь программой :-[


Название: Re: Создание интерфейса
Отправлено: shaman4d от 24 Марта 2009, 23:38:34
А можно подробнее объяснить как осуществляется одновременный рендер? - этот тонкий момент я не понял когда с ГУИ разбирался. И возможно ли рендерить сразу с нескольких камер разные сцены?


Название: Re: Создание интерфейса
Отправлено: Const_47 от 25 Марта 2009, 00:19:41
&Aky

Как показывает практика, в большинстве случаев, помощь приходит к именно тем людям, которые вывешивают .сgr
со своими проблемами ;)


Название: Re: Создание интерфейса
Отправлено: Den_ya от 25 Марта 2009, 00:19:57
Aky

так (http://ifolder.ru/11232244) что ли?

и еще Const_47 дело говорит ;)


Название: Re: Создание интерфейса
Отправлено: Aky от 25 Марта 2009, 01:41:35
Den_ya, да, только одна из камер не walkthrough.

Const_47, вот здесь: http://stream.ifolder.ru/11233413

В файле только не кнопки, а фон, но не суть, думаю.


Название: Re: Создание интерфейса
Отправлено: Const_47 от 25 Марта 2009, 02:38:07
http://rapidshare.com/files/213155489/SvetilnikFix.rar.html


Название: Re: Создание интерфейса
Отправлено: Aky от 25 Марта 2009, 13:32:28
Огромное спасибо :D а проблема была в канале 3d render?


Название: Re: Создание интерфейса
Отправлено: shaman4d от 25 Марта 2009, 13:33:52
Спасибо Const_47 и Aky- я понял как камеры одновременно рендерят.


Название: Re: Создание интерфейса
Отправлено: Aky от 01 Апреля 2009, 17:11:33
Еще такой вопрос возник, по поводу все того же интерфейса. Не подскажете, как можно избежать размытости картинки? четкую пикселизацию дает Copy image, но с ним не получается выровнять параметры расположения картинки на сцене.


Название: Re: Создание интерфейса
Отправлено: Viik от 01 Апреля 2009, 17:21:57
А что именно не получаеться?


Название: Re: Создание интерфейса
Отправлено: Левша от 01 Апреля 2009, 19:13:46
Попробуй в свойствах текстуры MipMap Count поставить None


Название: Re: Создание интерфейса
Отправлено: Aky от 02 Апреля 2009, 13:49:14
Левша, безрезультатно :(


Название: Re: Создание интерфейса
Отправлено: Viik от 02 Апреля 2009, 16:11:42
У тебя получаеться одна большая картинка, с прорезью для сцены. Копи имедж тут особо не поможет, при смене разрешения картинка не будет рескейлить сама. Нужно интерфейс разрезать на куски и динамически считать координаты для каждого куска. Тогда интерфейс будет пиксел перфект, тобиш не размытый. Когда резолюшен уменьшаеш то интерфейс будет закрывать большую площадь окна, если увеличиваеш то меньше. Ну грубо говоря как "резиновые" хтмл странички.
А как ты сейчас вычисляеш координаты для копи-имеджа? Покажи скриншот.


Название: Re: Создание интерфейса
Отправлено: Aky от 02 Апреля 2009, 17:50:30
Поняла суть, но если честно, не совсем представляю как. По идее, проект публицируется в html, поэтому рассчитывали на фиксированный 1024х768. Пытаюсь dest top задать нулевое значение:


Название: Re: Создание интерфейса
Отправлено: Viik от 02 Апреля 2009, 18:45:44
Ну если фиксированный размер тогда резать не нужно. Копи имедж будет нормально работать только когда проставиш параметры размера источника (четыре чаилд линка после текстуры), остальные тоже лучше прицепить, даже если ноли. Если разрешение окна 1024х768 то текстура Гуи поидее 1024х1024, тоесть само Гуи занимает только ее часть. Проще всего поднять гуи вверх, снизу останеться пустое место, тогда все параметры будут:
0 0 1024 768 0 0 1024 768


Название: Re: Создание интерфейса
Отправлено: Aky от 03 Апреля 2009, 12:52:33
Viik, спасибо большое, все получилось))


Название: Re: Создание интерфейса
Отправлено: mixey от 09 Апреля 2009, 19:13:52
А вот у меня такая проблема. Если делать задний фон для меню из обычных Square, то при изменении разрешения экрана их масштаб тоже будет меняться. Тут об этом упоминалось...
Как избежать этого? Как пересчет координат сделатЬ?

Я пробовал сделать этот задник с помощью GUI Button, просто растягивая кнопку и делая из нее просто фон, без событий. Но из-за этого происходили разного рода глюки, как к примеру не рабочие элементы ГУИ...

Какое оптимальное решение?


Название: Re: Создание интерфейса
Отправлено: Viik от 09 Апреля 2009, 20:16:50
CopyImage используй, для вычисления координат береш Expression ченел и комманды из SysInfo для того чтобы узнать размер экрана.


Название: Re: Создание интерфейса
Отправлено: mixey от 09 Апреля 2009, 21:55:56
О! Просто Невообразимое спасибо тебе, Viik!!! Спас мой проект прямо в последней день, перед сдачей!!! Бесконечно Благодарен!!!  :D


Название: Re: Создание интерфейса
Отправлено: suburito от 12 Апреля 2009, 19:46:13
>CopyImage используй, для вычисления координат береш >Expression ченел и команды из SysInfo для того чтобы >узнать размер экрана.

Только начал изучать сей продукт. Если не затруднит, по подробней можно по тому что процитировано?

И тут же вопрос, а как решить проблему изменения размеров объектов в сцене при изменении размера окна? Чтобы они хотя бы пропорционально изменялись что ли?

А можно ли вообще жестко зафиксировать размер окна чтобы его нельзя было изменять?


Название: Re: Создание интерфейса
Отправлено: suburito от 12 Апреля 2009, 23:09:56
С Expression вроде порешал, смутило по первой наличие только одного входного параметра :) Высоту привязал к ширине таким образом - (A/4)*3
Все теперь хорошо с бэком, он масштабируется пропорционально вне зависимости от пропорций изменения размера окна. Но некрасиво получатца когда высота сильно увеличивается  и выглядывает голый низ. Закономерный Вопрос: можно ли фиксировать размер окна Плейера?

Другой вопрос остался открытым: объекты в сцене, как с ними при изменении размера окна? Тот же самый GUI? Начинаешь тянуть окно и все плывет и менюшки и кнопочки. :(


Название: Re: Создание интерфейса
Отправлено: suburito от 13 Апреля 2009, 00:00:08
С окошком тоже порешал :) в System есть такая штука как Win32 SetWindow, это оказалось как раз то что нужно, подал ей на вход Y Scale значение от CopyImage-DestHeight, которое мы получили после вычисления Expression из предыдущего поста и... ВуаЛя! :) Ну а пропорционально изменение окна приводит к пропорциональному изменению объектов. Вот так сам спросил и сам себе ответил  ;D Ну мож кому еще поможет  ;)
Выглядит это так:


Название: Re: Создание интерфейса
Отправлено: Левша от 15 Апреля 2009, 22:10:51
Подскажите как вывести поверх сцены текст на прозрачном фоне с возможностью прокручивания? Если можно со скрином и без ОО.


Название: Re: Создание интерфейса
Отправлено: Aky от 10 Июня 2009, 23:58:58
Левша, если тебе еще актуально, посмотри. тоже с похожей задачей столкнулась. Текстуры кривые, правда.