Загрузите 3D-сцену в Silverlight

Короче говоря:

Можно ли загрузить .vrml в Silverlight и визуализировать 3D-сцену?

Теперь немного дополнительной информации, почему я хочу это сделать. Я хотел бы реализовать следующую настройку:

  1. Выполните некоторые длительные вычисления на сервере
  2. Визуализируйте 3D-сцену с помощью Mayavi.
  3. экспортируйте его как файл .vrml.
  4. Перенесите его в Silverlight-клиент
  5. Рендеринг 3D-сцены в Silverlight
  6. Позвольте пользователю взаимодействовать с этой сценой, т. е. масштабировать, панорамировать, вращать и т. д.

Я ожидал, что это будет легко, поскольку последние версии Silverlight поставляются с XNA, но мои исследования как в Google, так и в SO не дали мне никаких полезных советов. Было бы здорово, если бы кто-нибудь мог указать мне правильное направление, любые ссылки на учебные пособия, библиотеки или фрагменты кода были бы очень признательны.

В качестве альтернативных форматов файлов я также мог бы создать, в соответствии с документацией mayavi

  • ребро (рендерман)
  • oogl (геомвью)
  • IV (ОпенИнвентор)
  • obj (волновой фронт)

person Thorsten Kranz    schedule 07.03.2013    source источник
comment
Существует Balder, который может импортировать формат ASE. Это не VRML, но вы можете написать конвертер. Вы также можете написать свой собственный ридер для формата OBJ и построить сетку программно, как это довольно просто читать.   -  person Chris Sinclair    schedule 13.03.2013
comment
Не могу поверить, что я забыл это: Babylon Toolkit, который был разработан специально для Silverlight 5 для демонстрации его 3D-возможностей. , имеет встроенный импорт OBJ Wavefront.   -  person Chris Sinclair    schedule 16.03.2013
comment
Это действительно хорошо выглядит. Я попробую это немедленно. Вы также можете сделать это ответом, чтобы я мог отметить его как решение, если мои попытки увенчаются успехом.   -  person Thorsten Kranz    schedule 18.03.2013


Ответы (2)


Вы можете попробовать Babylon Toolkit (который был разработан специально для Silverlight 5, чтобы продемонстрировать его 3D-возможности), поскольку он имеет встроенный импорт OBJ Wavefront. Я не могу конкретно прокомментировать, насколько хорошо он импортирует, поскольку я не использовал его специально.

person Chris Sinclair    schedule 18.03.2013

Это выглядит многообещающе:

http://www.postvision.net/SilverMotion/Default.aspx

Прямо с сайта:

Просто поместите компонент SilverMotion в среду разработки Silverlight и импортируйте в нее файл .3DS, экспортированный непосредственно из среды 3D-моделирования (Blender, 3DS Max, Maya, MilkShape и т. д.). Вот и все. Сцена будет визуализирована, готовая к взаимодействию в вашем браузере.

Возможно, вам придется выполнить промежуточное преобразование файлов, но что касается компонента дисплея, то это кажется совсем несложным.

person jross    schedule 11.03.2013
comment
Спасибо за подсказку, но не похоже, что формат 3ds можно легко написать с помощью Mayavi, хотя мне нужно провести больше исследований по этому вопросу. - person Thorsten Kranz; 12.03.2013
comment
Да, если подумать, я, вероятно, должен был оставить предложение в комментарии, как это сделал Крис Синклер выше. На самом деле его предложение, возможно, даже более многообещающе, чем мое, поскольку оно имеет открытый исходный код. - person jross; 15.03.2013
comment
Преобразование кажется сложной задачей, я сначала попробую Babylon Toolkit и посмотрю, поможет ли он мне. - person Thorsten Kranz; 18.03.2013