[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум Panda3D - по русски » Общий форум » Проекты » gui kit
gui kit
dis_nodeДата: Среда, 09.03.2011, 21:53 | Сообщение # 1
Лейтенант
Группа: Пользователи
Сообщений: 56
Награды: 0
Репутация: 2
Статус: Offline
Ну не так чтоб проект, результатов пока нема, но курс обозначен. Постюсь исключительно в целях самостимуляции повышением ответственности).

http://www.zumodrive.com/share/aZA5ODRjNT

Вообще тема такая, ''директгуй'' меня вообще не порадовал, коллекция префабов которые надо доделывать. Не понравилась универсальность инициализации, так сказать все но ничего в частности. Ну и подумалось что проще пользовать штатные классы с нуля, чем втыкать в чужую логику.

Задач №1:
визуальное редактирование в 3Д, импорт модели, сборка ГИПа.
(свои правила именования объектов и тэгов)
Задача №2:
сделать сохранение и загрузку собранных ГИПов.
(наверн через питоновские библиотеки)

Пока написал сыренько пару классов и наметал структуру тулзы, 0.0001% от всего всего)

Надо: менеджер размещения компонентов, типа сетки в TK.

 
ninthДата: Четверг, 10.03.2011, 01:53 | Сообщение # 2
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
Не качаеццо ( Перезалей, плиз. Или прям сюда скинь.
 
dis_nodeДата: Четверг, 10.03.2011, 18:51 | Сообщение # 3
Лейтенант
Группа: Пользователи
Сообщений: 56
Награды: 0
Репутация: 2
Статус: Offline
Странне у мя качаеццо. Прикрепил к ответу.
p.s. комментов особо нет, там есть файлик Visio самый информативный наверно. На геометрии базируюсь потому что PG*- классы тебуют геом, а конвертер типа чикена вполне корректно все пакует.
Прикрепления: A-L-P-C.zip (1.79 Mb)


Сообщение отредактировал dis_node - Четверг, 10.03.2011, 19:02
 
ninthДата: Пятница, 11.03.2011, 11:20 | Сообщение # 4
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
Скачал.
Запустить test.py так и не смог.
Получил пачку ошибок:
Проблема с отступом в guiRoot.py строка 32 - исправил
после этого ругань на guiObjects.py event...(p_event) - откуда-то взялись точки во всех вызовах event, тоже вроде поправил
Получил ошибку импорта guiBuildFromData - модуля не нашёл, поэтому удалил импорт
Получил ошибку File "guiObjects.py", line 10, in <module> 'mouse3':MouseButton.Tree()} AttributeError: type object 'libpanda.MouseButton' has no attribute 'Tree'
Дальше с ним ковыряться пока не стал - может я вообще не туда полез?

Неплохо было бы с самого начала разделить то, что в процессе станет библиотекой, то что ресурсами и то что демками/тестами, а то потом сложнее будет это всё разбирать.

з.ы. отступы непривычные по 3 пробела. Обычно вроде 4 ставят или табуляцию)
з.з.ы. Верно ли я понимаю, что ты хочешь делать интерфейс полностью в 3d редакторе, а функционал/свойства задавать тегами?

 
dis_nodeДата: Пятница, 11.03.2011, 18:01 | Сообщение # 5
Лейтенант
Группа: Пользователи
Сообщений: 56
Награды: 0
Репутация: 2
Статус: Offline
Это W.I.P., если джедайский запал меня не оставит - рожу.
Отступы ... я пользую то IDLE то PyPe, то на работе то дома ) пока работаю кусками особо не мучаюсь, но перспективу осознаю, думаю как-нить проскочу.
Из экспериментов работает test_PGButtonSetup.py - кнопка без директгуя, только DirectObject, PGButton и ресы (егг и текстуры). Отклик в этом же файле ( buttonInfo()), но в перспективе все отклики в отдельных файлах guiActionLib.py (по-умолчанию) и guiActionCstm.py (пользовательские). Кнопка включает функционал окна, метки и др. контролов, т.е. один из базовых классов. Гемор ожидается с Entry и VirtualFrame.
Понимаешь все верно: есть модель, элементы которой связаны в иерархию и имеют в тэгах ссылки на ресурсы. Чикен конвертит нормуль, единственно родительские элементы в панде разбиваются на два узла (PandaNode и GeomNode) которые приходится объединять см. np_tree.rar. (постил вопрос на счет копирования свойств). Импортирать можно как всем скопом так и по-частям (диалоговые окна)

По моим прикидкам так можно генерить игровой (художественный) интерфейс. Разработчик готовит ресурсы (модель, текстуры, тексты) и помещает отклики в guiActionCstm.py, остальное генерится. Все разруливается по именам. Для динамически расширяемого интерфейса (тулбар редактора) придется писать что-то по-гибче.

Сообщение отредактировал dis_node - Пятница, 11.03.2011, 18:04
 
ninthДата: Пятница, 11.03.2011, 18:28 | Сообщение # 6
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
ммм.. а не проще ли, по крайней мере для того кто будет собирать интерфейс, сразу делать его как есть в редакторе, включая позиции, иерархию и т.д.
Тогда вопрос с менеджером размещения и, ИМХО лишними тегами типа начальной позиции, отвалится сам собой?
 
dis_nodeДата: Суббота, 12.03.2011, 13:55 | Сообщение # 7
Лейтенант
Группа: Пользователи
Сообщений: 56
Награды: 0
Репутация: 2
Статус: Offline
В каком редакторе ? В качестве редактора программа 3д-моделирования уже освоенная и понятная. Свой редактор интерфейса это куча работы, я ищу пути по-проще. Тэги не лишние, это наглядное представление информации о компоненте. Начальная позиция передается из 3д-программы никаких проблем, моделируются не отдельные компоненты, а сразу весь интерфейс.
 
ninthДата: Суббота, 12.03.2011, 14:19 | Сообщение # 8
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
Ну я в общем-то об этом же говорил.
 
dis_nodeДата: Суббота, 12.03.2011, 15:27 | Сообщение # 9
Лейтенант
Группа: Пользователи
Сообщений: 56
Награды: 0
Репутация: 2
Статус: Offline
p.s.
В сообщении №5, в конце, под "редактором" я имел ввиду игровой "редактор мира", не программу 3д-моделирования.
 
ninthДата: Четверг, 17.03.2011, 03:20 | Сообщение # 10
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
Посмотрел тут насчёт PandaNode - у меня он создатся только для корневого элемента сцены. Всё остальное экспортится как есть. У тебя версия чикена какая?
 
dis_nodeДата: Понедельник, 21.03.2011, 22:18 | Сообщение # 11
Лейтенант
Группа: Пользователи
Сообщений: 56
Награды: 0
Репутация: 2
Статус: Offline
сори, таймаут по тех. причинам был

Chicken R91 Blender: 245

Иерархию создавал 'заперентчиванием', группировка - не то. При сохранении выделяю всю геометрию.

 
ninthДата: Вторник, 22.03.2011, 22:15 | Сообщение # 12
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
Хм, да, действительно с репарентингом создаются дополнительные узлы. В более старых версиях тоже.
 
ninthДата: Среда, 23.03.2011, 15:11 | Сообщение # 13
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
Твоя идея с гуи заставила меня раскопать одну старую задумку - тоже основано на тегах. Немного допилил и причесал её http://panda3d.org.ru/forum/5-141-1
Посмотри может чего для себя вытащишь. Правда тоже нифига не документирована, но там не так много.
 
dis_nodeДата: Среда, 20.04.2011, 21:38 | Сообщение # 14
Лейтенант
Группа: Пользователи
Сообщений: 56
Награды: 0
Репутация: 2
Статус: Offline
интересно, гляну по-внимательней позжее.

Добавлено (20.04.2011, 21:38)
---------------------------------------------
v0.0001
Первый рубеж взят, определилсо с концептом (вроде бы).

http://www.zumodrive.com/share/bV77NmZiYW

Инструкшн:
папку guibbi копировать в папку direct Панды - системная часть
папка sample - пользовательская часть, место где располагается персональный контент.
запускать gui_sample.py(.pyc) в папке sample

Параметры инициализации контролов задаются тэгами. Пользовательские функции, текстовый контент и стили (шрифты и т.п.) в файлах *Custom*.py.

Сообщение отредактировал dis_node - Среда, 20.04.2011, 21:39
 
ninthДата: Пятница, 22.04.2011, 19:58 | Сообщение # 15
Admin
Группа: Администраторы
Сообщений: 1582
Награды: 5
Репутация: 46
Статус: Offline
Ога, запустилось только мне опять править пришлось Point3.x y z )
А что за файлы cpt там валяются?
 
Форум Panda3D - по русски » Общий форум » Проекты » gui kit
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: