MonoGame ModelProcessor
Есть ли у MonoGame аналог XNA? ModelProcessor
?
Я использую кастом AnimatorProcessor
класс, производный от ModelProcessor
, аналогично тому, что сделано в "образце с лучшей кожей":
[ContentProcessor(DisplayName = "Animation Processor")]
public class AnimationProcessor : ModelProcessor
{
// custom stuff
}
Сейчас я пытаюсь перенести этот код в MonoGame, но кажется, что (хотя MonoGame недавно получил свой собственный конвейер) нет ModelProcessor
класс в проектах трубопровода MonoGame.
Я мог бы использовать конвейер XNA, но проблема в том, что все классы содержимого модели используют фактические классы / структуры XNA (векторы, кватернионы), которые находятся в том же пространстве имен, что и MonoGame, создавая конфликты времени компиляции в моем основном проекте. Это означает, что я должен отобразить эти классы из одной сборки (XNA) в другую (MonoGame), что довольно неуклюже.
(Обновить)
Я понял, что MonoGame действительно имеет ModelProcessor
внутри его MonoGame.Framework.Content.Pipeline
сборка, но тут есть дополнительный MonoGame.ContentPipeline
сборка (для которой я не уверен, является ли она устаревшей, или все еще должна использоваться в конвейере).
Но если я восстановлю AnimationProcessor
использовать MonoGame's ModelProcessor
Visual Studio не может использовать его для импорта / обработки моего файла fbx. Построение проекта контента не удается с "Cannot find content processor 'AnimationProcessor'"
и даже не предлагается в качестве опции в выпадающем списке для файла.fbx (возможно, потому что Visual Studio ищет классы, производные от процессоров XNA, и не заботится о MonoGame).
Кто-нибудь знает, как я должен импортировать контент fbx, используя пользовательский процессор, и все еще иметь классы MonoGame вместо XNA?
1 ответ
MonoGame теперь имеет свой собственный конвейер контента. Итак, что вам действительно нужно сделать, это перенести ваши пользовательские процессоры в новую библиотеку, которая ссылается на сборку MonoGame.Framework.Content.Pipeline. Эта библиотека будет совместима с инструментом Pipeline.
Документацию по этому вопросу можно найти по адресу http://www.monogame.net/documentation/?page=Using_The_Pipeline_Tool. В частности, посмотрите на раздел для пользовательских процессоров контента.