Домостроительство с Джоном Папа и Silverlight 5 на MIX11
Джон Папа (John Papa) показал нам некоторые интересные новые 3D-возможности Silverlight 5 с помощью демонстрации построения трехмерной модели дома, которая прошла на основном докладе второго дня конференции MIX11.
Демонстрация трехмерной модели строительства дома на MIX11
Для того, чтобы открыть и скомпилировать это решение, возможно вам понадобятся (мне, в любом случае, понадобились) два пакета: Microsoft Expression Blend Preview for Silverlight 5 и Microsoft Silverlight 5 Beta Tools for Visual Studio 2010 Service Pack 1.
После их установки вы сможете открыть и запустить решение. Не забывайте, это демонстрационное, а не завершенное приложение и в нем есть кое-какие неподключенные блоки, Но это клёвая демонстрация…
Как и ожидалось, этот проект базируется на модели MVVM.
Основная магия приложения заключается в элементах управления.
Здесь приведена дополнительная информация из его сообщения Silverlight 5 3D Housebuilder Project Shown at MIX11.
Рабочий процесс приложения
- Выбрать тип дома для начала работы с базовой моделью
- Добавить детали (двери, окна) и задать их цвета
- Изменить с помощью стрелок точку съемки камеры
- Кирпичный дом имеет слои, так что можно удалить слои и посмотреть внутреннее пространство дома
- Ознакомиться с окончательной сметой на материалы
Технические темы
- Объединить пользовательский интерфейс Silverlight с XNA 3D, используя DrawingSurface
- Загрузить и растеризовать трехмерную модель (частичная поддержка COLLADA)
- Настроить графический конвейер для рендеринга
- Загрузить и организовать множественное отображение текстур
- Применить пиксельные и узловые шейдеры
- Спроецировать двухмерные координаты мыши в трехмерное пространство
- Использовать образец MVVM
- Создать пользовательские элементы управления интерфейса
- Полученные на шаге 2 образцы цветов связать с установщиками стилей для моделей дверей и ставней
- Список конструкции с шага 3 использует внутренние шаблоны данных
- Некоторые шаблоны из списка конструкции шага 3 применяют функцию RelativeSource Ancestor для загрузки их ItemsSource
- В демонстрации установлена точка прерывания при определении стоимости двери в шаблоне двери (в списке конструкции на шаге 3) для иллюстрации отладки связывания данных. Вы можете установить прерывание, где требуется.
Итак, если наблюдали демонстрацию Джона во второй день конференции MIX11, или просто хотите увидеть, как работают новые 3D-штучки в Silverlight 5, этот код ждет вас…
Несколько ссылок, которые могут оказаться интересными (почти все скопированы из сообщения Джона):
- Расширенная реальность, 3D, веб-камера, бета-версия Silverlight 5 и вы
- Блог Джона Папа (John Papa's Blog) и Twitter (@john_papa)
- Блог Аарона Онила (Aaron Oneal’s Blog)
- Блог Шауна Хагрейва (Shawn Hargreaves Blog)
- Archetype (креативные идеи, стоящие за строительством домов)
- Обзор трехмерной графики
- Другие примеры графики Silverlight
- Демонстрация трехмерного моделирования во второй день конференции •Демонстрация трехмерного моделирования во второй день конференции MIX11 (10 минут)