четверг, 14 октября 2010 г.

GPF - "WPF" for XNA

GPF - на таком рабочем названии библиотеки я остановился.

Сегодня закончил модуль 3d форм - это такой штука, обеспечивающая
функционал добавления в сцену объектов на плоские грани которых можно проецировать формы и оперировать ими указателем мыши.

Пока не стал возиться с наложением форм на не плоские поверхности по
причине того, что это нарушит совместимость с Windows Phone 7 экземпляром библиотеки.

Вот такое видео:



Показал Expander, DataGrid, Table.
Со стилями элементов опять не поиграл. Оставил на потом)

30 комментариев:

  1. в творчестве каждого человека есть такой момент, когда находишься в пол шага от реализации своего давнего плана. я этим моментом еще наслаждаюсь)

    ОтветитьУдалить
  2. а в чем практический смысл этого? Просто делать выпендреж ради выпендрежа нет смысла. 3d интерфейсы уже далают давно, но они не приживаются ибо не являются удобными.

    ОтветитьУдалить
  3. в первую очередь для применения в собственных проектах, а что там делают давно и почему это что то не приживается меня мало беспокоит). логичнее было бы с вашей стороны предположить например следующее: я собрал собственную библиотеку в следствии того, что меня не устраивали по многим критериям существующие средства.

    ОтветитьУдалить
  4. Супер! Уверен, что такой 3д интерфейс органично будет смотреться в играх. Кстати, что за музыка использована в ролике?

    ОтветитьУдалить
  5. в играх он будет не такой. будут другие стили, комбинированные эффекты ... . музыка с youtube.com (пункт звукозамена) выбирал 15 сек.

    ОтветитьУдалить
  6. Первому анониму: Если что-то делается, то делается не просто так! Во-первых, это собственные нужды (ибо нормальных реализаций UI на XNA - это редкость), во-вторых, все что сделал сам и для себя использовать и дорабатывать удобнее.

    general: Молодец, так держать!

    P.S. Еще раз спасибо за помощь с клиппингом 2д элементов.
    SHakeR

    ОтветитьУдалить
  7. - спасибо.
    - да не за что, когда понимаю вопрос в форуме (нормально сформулированный) всегда отвечаю.

    ОтветитьУдалить
  8. Плия......чувааак. Ваще респект смотрится клево. Удачи тебе в доведении сего до конечного этапа

    ОтветитьУдалить
  9. Да, ничего не скажешь, хорошо придумано, удачи в дальнейших разработках!

    ОтветитьУдалить
  10. Вау.
    Библиотеку контролов вы сами строили или как-то подлезли к Silverlight'у?

    ОтветитьУдалить
  11. все написано с нуля, начиная с базового класса, заканчивая итоговыми элементами. система получилась очень гибкая, а дерево классов ветвистое)

    ОтветитьУдалить
  12. to Алексей. Я просто не вижу смысла изобретать велосипед. Сам давно приглядываюсь к XNA(разработка игр интересует), но вот беда...так и не увидел ни одного достойного примера на XNA. Все, что делается с помощью него, напоминает возврат в начало 2000-х. Никогда еще не видел ни одной реализации игры(и уже начинаю сомневаться в возможности такого на XNA), которая хоть как-то смогла приблизиться к графике игр 2010 года(FEAR2,BattleField и др.)

    А то, что тут 3d интерфейс сделан....еще раз повоторю...практического смысла, кроме как перед девчонками понтануться нет. =) И критику надо воспринимать спокойно...тем более она аргументирована.
    Вместо того, чтобы огрызаться на мнение, которое не согласно с вами, лучше рассказали кратко о том, где такой выкрутас с интерфесом оправдывает себя. Очень интересно послушать.

    ОтветитьУдалить
  13. тоже мнение и спорить ни кто не собирается. к стати, по секрету, такие комментарии самые ценные. они дают дополнительные стимулы. например: уничтожить сложившийся стереотип, доказать чью либо не дальновидность ... тема глубокая. вспомните с чего начинается Ваш рабочий день? Вы приходите в офис, включаете компьютер, а дальше? настраиваетесь на работу, борясь с утренней сонливостью. в особенно пасмурные дни быстро включится в работу еще сложнее. а дополнительные стимулы позволяют этот процесс ускорить) (t->0). в данном случае - не нужно меня ставить со всеми в ряд. пройдет еще какое то время и жизнь сама расставит все на свои места, без Вашей помощи. да к стати, спасибо.

    ОтветитьУдалить
  14. hello Dmitry, are you interested in licensing your GPF? my team is interested! please email me JasonS Novaleaf (I can not find your email address on your site)

    ОтветитьУдалить
  15. Я за Дмитирия.
    "Не прижились" - проблема не метода, а тех кто "вживал".
    Где может прижится - Какая-нибудь РПГ с многими техническими характеристиками персонажей и предметов. Как вариант вывод их над персонажами. По горячей клавише менять отображаемый список параметров или просто убирать когда не нужно. Там же можно сделать такие интерфейсы и не нажимать отдельную кнопочку в угле экрана.. А если есть обмен предметами между персонажами? а персонажей много.. Допустим игра коммандос.. распределил предметы и все.
    Или в Шутере каком стоят компьютеры.. а ты с любой точки можешь потыкаться в нем.. и может быть даже поиграться на компьютере в игровом мире:) Скажете что это не прижевется, если есть оправданная нужда в такой штуке? Ну есть компьютеры и нужно их использовать.. почему бы нет? А у Дмитрия я уверен есть причины))
    А еще хочу сказать что 3Д интерфейс может сделать игру более целостной а не составной. например для меня такая целостность играет одну из важных ролей.
    Я тоже собираюсь использовать такой интерфейс и не страшусь этого. Это интересней, чем делать ТАК как делают "большие авторитетные компании" и подражать им во всем. "жираф большой - ему видней.." - не для всех девиз жизни :)
    Высказался.. фуф..
    Дмитрию успехов..
    Олег.

    ОтветитьУдалить
  16. Было бы здорово описать интерфейс для XNA на XAML. Но я так понимаю что задача для одного человека не подъемная.

    ОтветитьУдалить
  17. Я тоже думаю, что 3D-интерфейс ещё как можно использовать. Например, в различных редакторах, использующих 3D-пространство. Там всегда интерфейс некуда деть.
    Зажмёшь Ctrl в каком-нибудь AutoCAD, а на стене дома появятся его регулируемые параметры. Или проектирует дизайнер автомобиль, а в ключевых точках автомобиля появляются таблички с разными действиями для этих точек. В 3ds Max уже используют 3D-интерфейс (куб для управления камерой). Очень наглядно и удобно.
    Можно найти ещё кучу применений - главное искать.

    ОтветитьУдалить
  18. Дайте, пожалуйста, код компонента отображения FPS, RAM, CPU, который на видео в верхнем углу справа. Или дайте ссылку, если не сложно!

    ОтветитьУдалить
  19. этот компонент реализован на основе моей GPF.dll, и опирается на данные трех менеджеров:
    - gEngine.gSystem.gSystemInfo.MemoryInfo
    - gEngine.gSystem.gSystemInfo.GpuInfo
    - gEngine.gSystem.gSystemInfo.CpuInfo
    которые являются частью движка gEngine.
    я сейчас готовлю сайт, на котором будет представлена библиотека GPF с примерами использования. данного компонента в первой версии не будет из за тесной интеграции с движком, но в следующих обновлениях вполне возможно, если пользователи проявят достаточный интерес к нему. о выходе сайта я сообщу в данном блоге.

    ОтветитьУдалить
  20. Дмитрий, спасибо за развёрнутый ответ. Жду с нетерпением GPF, надеюсь, будут реализованы все основные функции. Вещь, несомненно, нужная на всех этапах работы. Будут ли исходники в свободном доступе?

    ОтветитьУдалить
  21. библиотека планируется условно бесплатной.
    выйдет в двух вариантах для windows и windows phone 7.
    потому ее исходники не будут доступны,
    но я приложу исходники примеров типовых проектов использующих библиотеку.

    ОтветитьУдалить
  22. Дима, привет! Год наверное не заходил на xnadev и вот смотрю появилось много вкусного и интересного =) Вопрос - ты описываешь интерфейс XAML'ом (раз уж ты вспомнил про WPF) и потом используешь кастомный сериализатор-десериализатор или вообще декларируешь свои формы какими то другими средствами?
    P.S.: just curious

    ОтветитьУдалить
  23. извини, не понял кто это.
    нет, описываю не XAML'ом. не столько у меня свободного времени) для реализации такого функционала. сейчас сборка формы происходит в коде, аналогично тому как собирается в коде форма в WPF. позже покажу примеры и шаблоны типовых приложений.

    ОтветитьУдалить
  24. А да не удивительно - я как то на год вообще выпал из сообщества, было, скажем так, не до того. Ну а чтобы напомнить: Москва, пиво в "Пилзнере" ;)

    ОтветитьУдалить
  25. А просто, как интерфейс не 3д, это уже никто не рассматривает? :)

    ОтветитьУдалить
  26. по-моему выглядит очень охуенно)

    ps:// nolka aka xternalx

    ОтветитьУдалить
  27. вот мне тоже не понятная практическая ценность данной затеи, особенно в конексте игры для телефона)
    не могу себе представить игру, в которой пользователь будет пытаться юзать интерфейс, расположенному внутри 3д мира на каком либо объекте - даже на PC с идеальным позиционированием курсора и высоким разрешением мониторов попадание по обычным кнопкам, открывающим допустим дверь - вызывает реальные проблемы.

    ОтветитьУдалить
  28. вы не на том сосредотачиваете свое внимание, это уже мои проблемы. а "даже на PC с идеальным позиционированием курсора и высоким разрешением мониторов попадание по обычным кнопкам, открывающим допустим дверь - вызывает реальные проблемы" - проблемы других разработчиков. итог скоро покажу.

    ОтветитьУдалить