2015-04-19 85 views
1

有沒有MonoGame的XNA的ModelProcessorMonoGame ModelProcessor

我使用一個自定義AnimatorProcessor類,從ModelProcessor得出,類似於什麼在做了"better skinned sample"

[ContentProcessor(DisplayName = "Animation Processor")] 
public class AnimationProcessor : ModelProcessor 
{ 
    // custom stuff 
} 

我現在正在試圖端口此代碼MonoGame,但似乎(雖然MonoGame最近有自己的管道)MonoGame管道項目中沒有ModelProcessor類。

我可以使用XNA管道,但問題是所有的模型內容類都使用與MonoGame完全相同的命名空間的實際XNA類/結構體(向量,四元數),在我的main中創建編譯時衝突項目。這意味着我應該將這些類從一個程序集(XNA)映射到另一個(MonoGame),這是rather fugly

(更新)

我意識到MonoGame確實有ModelProcessorMonoGame.Framework.Content.Pipeline組件內,但後來有一個額外的MonoGame.ContentPipeline組件(我不知道這是否是過時的,或者仍然成爲其在管道內使用)。

但是,如果我重建我的AnimationProcessor以使用MonoGame的ModelProcessor,那麼Visual Studio無法使用它導入/處理我的fbx文件。構建內容項目失敗,"Cannot find content processor 'AnimationProcessor'",它甚至沒有作爲.fbx文件下拉框中的選項提供(可能是因爲Visual Studio查找派生自XNA處理器的類,並且不關心MonoGame)。

有誰知道我應該如何使用自定義處理器導入fbx內容,並且仍然有MonoGame類而不是XNA?

+0

我認爲這應該移到http://gamedev.stackexchange.com/。 – Groo

回答

2

MonoGame現在擁有自己的內容管道。所以你真正需要做的是將自定義處理器移植到引用MonoGame.Framework.Content.Pipeline程序集的新庫中。該庫將與Pipeline工具兼容。

您可以在http://www.monogame.net/documentation/?page=Using_The_Pipeline_Tool找到相應的文檔。具體查看「自定義內容處理器」部分。

+0

感謝您提供的信息,因爲我們急於結束項目,所以我們最終將以前項目中針對XNA的文件複製到新項目中。但問題是如果我們重建一個自定義的'AnimationProcessor'來使用MonoGame的'ModelProcessor',那麼我就無法將它選作Visual Studio中fbx文件的處理器。 – Groo