Страницы

Поиск по вопросам

воскресенье, 5 января 2020 г.

Конвертирование 3D сцены в 2D сцену

#wpf #3d #xaml #c_sharp


Ситуация следующая: имеется достаточно большая 3D модель системы, полученная конвертацией
из 3DMax (размер xaml разметки больше 50мб). Для работы с моделью используется Viewport3D.
Но для отображения нужен лишь фронтальный вид. Основной проблемой становится ресурсоемкость
получающегося приложения.
Вопрос: существует ли способ для приведения 3D сцены к 2D виду? Желательно без существенной
потери качества.    


Ответы

Ответ 1



То что вы хотите нельзя сделать, кроме как превратив в статическое изображение. Рендеринг 3D-сцены - это и есть приведение к 2D. Единственное, что можно было бы сделать, это всё превратить в какой-нибудь флеш, который в принципе работает именно с 2D, но тогда все объекты по отдельности придётся как-то растеризовать или превращать в плоские векторные объекты. И не факт что это будет работать быстрее, или что это будет меньше весить.

Ответ 2



XAML файлы - это некомпилированные Baml. Может стоит создать алгоритм их хранения в бинарном виде вроде отдельного файла, который можно прочитать и отправить в Viewport3D. Еще скорее всего если детально просмотреть сохраненный результат из 3DMax`a, скорее всего он будет просто ужасным. Здесь тоже можно кое-что выкинуть. В любом случае нужно поработать ручками.

Комментариев нет:

Отправить комментарий