Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 单博弈模型处理器_C#_Xna_Monogame_Content Pipeline - Fatal编程技术网

C# 单博弈模型处理器

C# 单博弈模型处理器,c#,xna,monogame,content-pipeline,C#,Xna,Monogame,Content Pipeline,是否有一个与XNA相同的单一游戏 我正在使用一个自定义的AnimatorProcessor类,该类派生自ModelProcessor,类似于在中所做的: 我现在正试图将此代码移植到MonoGame,但似乎(尽管MonoGame最近有了自己的管道)在MonoGame管道项目中没有ModelProcessor类 我可以使用XNA管道,但问题是所有模型内容类都使用实际的XNA类/结构(向量、四元数),它们与MonoGame完全位于同一命名空间中,从而在我的主项目中产生编译时冲突。这意味着我应该将这些类

是否有一个与XNA相同的单一游戏

我正在使用一个自定义的
AnimatorProcessor
类,该类派生自
ModelProcessor
,类似于在中所做的:

我现在正试图将此代码移植到MonoGame,但似乎(尽管MonoGame最近有了自己的管道)在MonoGame管道项目中没有
ModelProcessor

我可以使用XNA管道,但问题是所有模型内容类都使用实际的XNA类/结构(向量、四元数),它们与MonoGame完全位于同一命名空间中,从而在我的主项目中产生编译时冲突。这意味着我应该将这些类从一个程序集(XNA)映射到另一个程序集(MonoGame),即

(更新)

我意识到MonoGame确实在其
MonoGame.Framework.Content.Pipeline
程序集中有一个
ModelProcessor
,但是还有一个额外的
MonoGame.ContentPipeline
程序集(我不确定它是否过时,或者仍然必须在管道中使用)

但是,如果我重建我的
AnimationProcessor
以使用MonoGame的
ModelProcessor
,则Visual Studio无法使用它导入/处理我的fbx文件。构建内容项目失败,原因是
“找不到内容处理器'AnimationProcessor'”
,并且它甚至没有作为.fbx文件下拉框中的选项提供(可能是因为Visual Studio查找从XNA处理器派生的类,而它不关心MonoGame)


有人知道我应该如何使用自定义处理器导入fbx内容,并且仍然使用MonoGame类而不是XNA吗?

MonoGame现在有自己的内容管道。因此,您真正需要做的是将自定义处理器移植到一个新库,该库引用MonoGame.Framework.Content.Pipeline程序集。然后,该库将与管道工具兼容


您可以在上找到有关此的文档。具体看一下定制内容处理器部分。

我认为应该将此部分移到。感谢您提供的信息,因为我们急于结束该项目,我们最终将以前针对XNA的项目中的文件复制到了新项目中。但问题是,如果我们重建一个自定义的
动画处理器
来使用MonoGame的
模型处理器
,那么我就不能在Visual Studio中将其选作fbx文件的处理器。
[ContentProcessor(DisplayName = "Animation Processor")]
public class AnimationProcessor : ModelProcessor
{
    // custom stuff
}