Используя API Java:
String[] f(String[] first, String[] second) {
List<String> both = new ArrayList<String>(first.length + second.length);
Collections.addAll(both, first);
Collections.addAll(both, second);
return both.toArray(new String[both.size()]);
}
В XNA штраф за попытку сделать что-либо самостоятельно (в частности, загружать форматы данных) намного выше, чем жить с несовершенствами тех, которые поддерживаются прямо с полки, по крайней мере, так выглядит документация, и что я слышал от человека, который сильно изменил конвейер контента, чтобы поддержать то, что ему нужно (генерация геометрии времени выполнения), и кому я доверяю знать, что он делает. Так что я думаю .X и .FBX в значительной степени будут ими. Оба они поддерживают скелетную анимацию и, я думаю, также морпинг вершин. Я не совсем уверен, какие именно функции Blender может в них экспортировать, но я могу изучить это, если хотите.
Blender 2.5, наконец, получит хорошую поддержку Collada (текущий не имеет арматуры и является сломан множеством способов), а Autodesk предоставляет хороший инструмент для преобразования Collada <-> FBX.
Если вы посмотрите вокруг сообщества разработчиков-любителей, вы увидите, что форматы данных программного обеспечения Id довольно популярны. С одной стороны, форматы анимации персонажей с морфингом вершин MD2 и MD3, формат скелетной анимации MD5, потребности которого, очевидно, покрываются вышеизложенным, а с другой стороны, формат файла BSP, который описывает уровни игры.
Одна вещь, которая говорит о многом. для BSP - это хороший редактор (GTKRadiant и производные). Это эффективный формат, который может отсеивать скрытую геометрию. Однако затраты времени выполнения на построение нестандартной геометрии в XNA значительны, и с учетом ограничений этих форматов, они довольно скромны и составляют 64 тыс. Вершин и 64 тыс. Полигонов для всего игрового уровня, что в настоящее время можно просто сбросить на видеокарту и не использовать. падение производительности будет заметно. Так что вы не получите никакой выгоды от его поддержки напрямую.
Я сомневаюсь, что существуют какие-либо мощные, современные доступные форматы и инструменты для проектирования уровней, оптимизированных для отбраковки, чьи преимущества в производительности были бы переведены в XNA.
ссылки, которые вы, возможно, захотите проверить, если вы еще этого не сделали:
Конвейер контента 3D World Studio
Все не обслуживаются и устарели, не знаю, насколько оптимизированы или нет.
затраты времени выполнения на построение нестандартной геометрии в XNA значительны, и с ограничениями этих форматов довольно скромны: 64 тыс. вершин и 64 тыс. полигонов для всего игрового уровня, что в настоящее время можно просто сбросить на видеокарту и без потери производительности. будет заметно. Так что вы не получите никакой выгоды от его поддержки напрямую.Я сомневаюсь, что существуют какие-либо мощные, современные доступные форматы и инструменты для проектирования уровней, оптимизированных для отбраковки, чьи преимущества в производительности были бы переведены в XNA.
ссылки, которые вы, возможно, захотите проверить, если вы еще этого не сделали:
Конвейер контента 3D World Studio
Все не обслуживаются и устарели, не знаю, насколько оптимизированы или нет.
затраты времени выполнения на построение нестандартной геометрии в XNA значительны, и с ограничениями этих форматов довольно скромны: 64 тыс. вершин и 64 тыс. полигонов для всего игрового уровня, что в настоящее время можно просто сбросить на видеокарту и без потери производительности. будет заметно. Так что вы не получите никакой выгоды от его поддержки напрямую.Я сомневаюсь, что существуют какие-либо мощные, современные, доступные форматы и инструменты для проектирования уровней, оптимизированных для отбраковки, чьи преимущества в производительности были бы переведены в XNA.
ссылки, которые вы, возможно, захотите проверить, если вы еще этого не сделали:
Конвейер контента 3D World Studio
Все не обслуживаются и устарели, не знаю, насколько оптимизированы или нет.
и с учетом ограничений, эти форматы довольно скромны - 64 тыс. вершин и 64 тыс. полигонов для всего игрового уровня, что в настоящее время можно просто сбросить на видеокарту, и никакого падения производительности не будет заметно. Так что вы не получите никакой выгоды от его поддержки напрямую.Я сомневаюсь, что существуют какие-либо мощные, современные, доступные форматы и инструменты для проектирования уровней, оптимизированных для отбраковки, чьи преимущества в производительности были бы переведены в XNA.
ссылки, которые вы, возможно, захотите проверить, если вы еще этого не сделали:
Конвейер контента 3D World Studio
Все не обслуживаются и устарели, не знаю, насколько оптимизированы или нет.
и с учетом ограничений, эти форматы довольно скромны - 64k вершин и 64k полигонов на уровне всей игры, что в настоящее время можно просто сбросить на видеокарту, и никакого падения производительности не будет заметно. Так что вы не получите никакой выгоды от его поддержки напрямую.Я сомневаюсь, что существуют какие-либо мощные, современные, доступные форматы и инструменты для проектирования уровней, оптимизированных для отбраковки, чьи преимущества в производительности были бы переведены в XNA.
ссылки, которые вы, возможно, захотите проверить, если вы еще этого не сделали:
Конвейер контента 3D World Studio
Все не обслуживаются и устарели, не знаю, насколько оптимизированы или нет.
Уже упомянутые COLLADA и FBX - единственные стандартные форматы, которые получили сколько-нибудь существенное распространение в игровой индустрии. Однако некоторые игры загружают их напрямую - они обычно используются в качестве промежуточных форматов для экспорта из приложений DCC, а затем обрабатываются в более оптимизированные форматы времени выполнения, которые, как правило, являются индивидуальными и специфичными для движка.
Разработчики-любители часто используют форматы файлов из популярных игр в качестве отправная точка. Модель и форматы карт Quake 3 какое-то время были довольно популярны. Формат .X от Microsoft также был довольно популярен для любительских проектов из-за наличия ряда экспортеров и поддержки загрузки в структуре D3DX.
Если вы используете XNA, то лучшим вариантом, вероятно, будет FBX. Основная причина, по которой я говорю это, заключается в том, что это единственный, не специфичный для XNA формат , изначально поддерживаемый XNA в конвейере создания контента.
Вы, вероятно, захотите взглянуть на COLLADA, который является широко используемым стандартом в разработке трехмерных игр:
Я выбрал формат MS3D, потому что его спецификация проста, имеет смысл, действительно есть анимация, а также оснастка (соединения), и это задокументировано.
Также см. мой предыдущий вопрос, очень похожий на этот, и ответ, который я написал на него (который, как ни странно, кажется, находится внизу страницы ):
[решено] Рекомендуемый тип 3D-модели для внутриигровой модели персонажа, загружаемый вручную?
Не эксперт (далеко не так, просто поигрался).
Я полагаю, что формат 3d studio max (.3ds) довольно часто используется, так же как и файл RIB Renderman. Еще мне понравился формат файлов AC3D (это простой текст).
Уже много лет формат файла DirectX (расширение .x) очень популярен, и Blender содержит для этого встроенный экспортер.