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