Как экспортировать 3D «скриншот» модели в XNA 3.1? - PullRequest
2 голосов
/ 15 ноября 2011

Моя программа генерирует статическую трехмерную сцену, используя XNA 3.1. Сцена создается с использованием входных параметров и каждый раз отличается.

Мне нужно экспортировать финальную сцену как своего рода 3D-объект, чтобы наши партнеры могли просматривать ее локально в своей системе. Они открыты для любого формата, если для этого есть достаточно маленький просмотрщик (не полный набор 3dMax или Maya!) Они хотят иметь возможность увеличивать и уменьшать масштаб и вращать сцену.

Есть ли что-нибудь простое, как SaveMesh () в XNA? Какие форматы файлов мне следует использовать (OBJ? FBX? X?)

VS2008, C #, XNA 3.1

1 Ответ

0 голосов
/ 15 ноября 2011
Насколько я знаю, XNA довольно ограничена в работе с моделями в игре. После того, как Content Pipeline импортирует модель, это в основном то, что вы получаете. Вы можете перевести, масштабировать и повернуть модель так, как вам хочется, но это все.

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

Однако, если вы пытаетесь скомпилировать сетку модели из различных структур и экспортировать ее в формат файла 3D-модели, XNA - это , а не ваш инструмент выбора. Это для создания игр, а не 3D-моделирования.

Если вы пытаетесь настроить способ манипулирования моделями в игре, вы можете проверить это руководство по пользовательским структурам моделей, чтобы переопределить класс Model XNA , однако я предупреждаю вас: Я прочитал это раньше, и нет способа экспортировать. Честно говоря, я не думаю, что дизайнеры XNA когда-либо рассматривали экспорт сцены в формате данных модели (опять же: игровая среда, а не модель).

Наконец, если ваши структуры достаточно просты, рассмотрите возможность использования объявлений вершин для процедурного сшивания моделей. Я предупреждаю вас - это не весело, особенно если у вас нет опыта работы непосредственно с примитивами на графическом устройстве. Если вам удастся создать свои структуры с использованием буферов вершин и индексов, вы сможете найти способ сериализации и сохранить его в формате файлов .x или .fbx. На данный момент вы в основном пишете свою собственную программу 3D-моделирования. Это будет очень сложно.

...