Навигация
· XNA FAQ
· С чего начать
· Конкурсы
· Обратная связь
· XNA Блоги
Сейчас на сайте
· Гостей: 1

· Пользователей: 0

· Всего пользователей: 3,684
· Новый пользователь: headron
Последние фото
Эх, чуть не проспал закрытие.
Эх, чуть не проспал ...
Альбом: XNA Engine

GB
GB
Альбом: XNA Engine

South Park Coon & Friends
South Park Coon & Fr...
Альбом: XNA Games

Блоги
yavshoke
» XboxOne - интерес...
dampirik
» Push уведомления ...
dampirik
» Реклама,статистик...
Chort
» XNA и StartCoroutine
Chort
» Curve Class
dampirik
» Реклама, статисти...
dampirik
» Увеличение скорос...
dampirik
» Реклама, статисти...
general
» Распаковка DxtCom...
general
» Как работать с XN...
Поддержка
microsoft.com
1gb.ru - Дом для вашего сайта
Статистика посещений:

XNA Content Pipeline (перевод статьи с блога команды XNA)
Итак, мы уже рассказали о XNA Game Studio Express, о XNA Framework, сегодня мы поговорим о Конвейере контента (Content Pipeline), который входит в состав XNA Framework. Как я уже отметил в докладе на Геймфесте – Конвейер контента можно описать как: «Расширенная, управляемая система обработки контента в C# Express».

Итак, о бо всем попорядку. Примечание: Content Pipeline – далее «Конвейер контента». Контент – текстуры, модели и т.п.

Игры на сегодняшний день включают в себя большое количество контента. Добавление контента в игры не является простым занятием. Вы можете столкнуться с большим количеством проблем, например, при поиске экспортера или нужных инструментов для поддержки этого экспортера. Далее вам нужно найти инструменты для обработки контента и использовать их для создания данных для своей игры. Также нужно позаботиться о загрузке контента и о его правильном отображении в игре. На самом деле, у больших студий есть команды людей, которые работают только над внедрением контента в игру.

В Конвейере контета мы улучшили этот процесс и сделали его отличающимся от стандартного подхода. Он будет прост и гибок в использовании. Вы сможете с легкостью управлять контентом своей игры, уделяя больше внимания ее написанию.
Вначале мы поговорим о том, как контент используется в вашей игре. С помощью Конвейера контента, вы сможете управлять им внутри Visual C# Express. Так же как вы добавляете файлы с кодом в ваш проект, так же вы сможете добавлять и контент. Это позволит вам содержать все файлы в одном месте, что упрощает организацию игры в целом, независимо от количества проектов. Например, вы сможете совершать действия таки как: Importer и Processor.

Конвейер контента составляет большое количество компонентов. Каждому компоненту, который мы рассмотрим, я присвоил имя, для лучшего понимания Конвейера контента. При добавлении первого контента, необходимо подобрать импортер. Импортер отвечает за прием данных и их нормализации. Это означает, что вам не нужно будет заботиться, например, о том, куда повернут объект. Импортер принимает файлы, которые вы сохранили или экспортировали при помощи инструмента создания контента, и импортирует их в Visual C# Express. Здесь главным будет то, какие данные содержит объект, а не с помощью какого инструмента он сделан.

Итак, давайте рассмотрим, какие импортеры существуют для XNA Game Studio Express:

Большинство этих форматов вам известны, но хотелось бы обсудить формат Autodesk FBX, которых является 3Д транспортным форматом, позволяющим вам переносить 3Д данные сцены через большое количество инструментов. Формат FXB поддерживается не только коммерческими инструментами, но и большим количеством шароварных и бесплатных. После того как импортер сделал свою работу, данные будут находиться в DOMе контента. Термин DOM используется для простого представления коллекции классов или схем (как в XML файле). Данные находящиеся в DOMе представляют собой строго типизированные данные. Это означает, что данные представлены в хорошо известном формате, например, набором вершин, или текстурированными данными, при этом не имеет значения откуда этот файл был взят. Это очень важно, для правильной работы Конвейера контента. Этот файл может быть записан на диск в виде XML для отладки данных. Процессор отвечает за получение данных из DOMa контента и создание объекта для вас в реальном времени. Этим объектом может быть все, начиная от простой модели, заканчивая сложным обрабатывающим устройством для вашей игры. Конвейер контента включает в себя несколько процессоров, такие как Model(для простых объектов с текстурами), Texture2D(для текстур) и Effect (для работы с материалами объектов). Это означает, что, например, вам не нужно больше заботиться о вертексных буферах, или о trangle strips-ах, но в тоже время вы сможете более гибко работать с вашим контентом, потому как ваш мир может быть построен не только из обычных моделях.

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

Процессоры также сделаны так, что вы сможете с легкостью их писать и использовать. Помните я сказал, что процессоры собирают данные из DOMа контента, и что это очень важно? Это потому что процессор не обращает внимания, откуда файл пришел. Все данные сохраняются в едином формате, и вам не нужно заботиться о переделке вашего процессора под .x или .tga файлы. Также вам будут доступны функции манипулирования и генерирования новых данных из содержимого DOMа. Например, генерирования мипмепов. Постоение контента является важной частью системы, оно обрабатывается координатором компоновки (build coordinator). Т.к. ваш контент будет находится в Visual C# Express, когда вы нажмете Build весь контент будет скомпонован и сохранен на диск, готовый к использованию в реальном времени. Также будет фича, которая будет отслеживать за изменением контента, т.е. например, если вы поменяли текстуру, то перекомпонуются только те объекты, которые используют эту тестуру.


Наконец, вам нужен способ использования данных в игре. Это задача Content Managera. Он сможет быстро и легко загружать данные. Например:

1
Model model = Content.Load<Model>("ship");

Вот рисунок описывающий все выше сказанное:


Также есть возможность расширять XNA Content Pipeline. Но об этом мы поговорим в другой статье.

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Мини-чат
Вы должны авторизироваться, чтобы добавить сообщение.

27.08.2014
Я умею немного на asp.net + html и css

22.08.2014
на ASP mvc 3 есть пару проектов. Могу помочь, если нужно. Обидно, если закроется Frown

21.08.2014
я тоже ноль

21.08.2014
Я в вебе только с php занимался да и то на уровне чтоб работало.

21.08.2014
Я в вебе полный ноль…

21.08.2014
Переводить его надо, хоть на ту же азуру. И двиг менять на что-то современное. Если есть веб-разрабы - можем скооперироваться. Один делать не буду.

21.08.2014
не знаю всех нюансов по оплате и все хорошее когда нибудь заканчивается

21.08.2014
А что случилось?

21.08.2014
похоже сайт будет работать до 28го числа

09.08.2014
Апи пока не видел. Но есть приложение в магазине Live Lock Screen BETA, так что думаю скоро будет

08.08.2014
Я про API для Update1. На нем работает это

08.08.2014
А что именно нужно? Чтото и сейчас открыто http://msdn.micro.
...105).aspx

06.08.2014
Кто-нибудь слышал об открытии доступа к Lock Screen Api?

31.07.2014
VPDExpress на базе MVS 2012, ни в какую не ловит исключения. Даже если их сам создаешь. И всех так?

25.07.2014
С днем системного администратора причастных к этой профессии! По случаю - тортик от жены

RSS каналы сайта
XNA - Новости
XNA - Статьи
XNA - Форум
XNA - Галерея
XNA - Файлы
Время загрузки: 0,04 секунд 8,709,459 уникальных посетителей