是否存在与XNA的ModelProcessor等价的单游戏?
我使用的是自定义AnimatorProcessor类,派生自ModelProcessor,类似于在“更好的皮肤样本”中所做的工作
[ContentProcessor(DisplayName = "Animation Processor")]
public class AnimationProcessor : ModelProcessor
{
// custom stuff
}我现在正试图将这段代码移植到MonoGame,但似乎(尽管MonoGame最近有了自己的管道),MonoGame管道项目中没有ModelProcessor类。
我可以使用XNA管道,但问题是所有模型内容类都使用实际的XNA类/结构(向量、四元数),它们与MonoGame的名称空间完全相同,在我的主要项目中造成编译时冲突。这意味着我应该将这些类从一个程序集(XNA)映射到另一个程序集(MonoGame),即相当模糊。
(更新)
我意识到MonoGame确实在其MonoGame.Framework.Content.Pipeline程序集中有一个ModelProcessor,但是还有一个额外的MonoGame.ContentPipeline程序集(我不确定它是否过时,还是必须在管道中使用)。
但是,如果我重新构建我的AnimationProcessor以使用MonoGame的ModelProcessor,那么Visual就不能使用它导入/处理我的fbx文件。使用"Cannot find content processor 'AnimationProcessor'"构建内容项目失败,而且它甚至没有作为.fbx文件下拉框中的选项提供(可能是因为Visual查找从XNA处理器派生的类,而不关心MonoGame)。
有人知道我应该如何使用自定义处理器导入fbx内容,并且仍然有MonoGame类而不是XNA类吗?
发布于 2015-11-20 11:24:13
MonoGame现在有了自己的内容管道。所以您真正需要做的是将您的自定义处理器移植到一个引用MonoGame.Framework.Content.Pipeline程序集的新库中。然后,这个库将与管道工具兼容。
您可以在工具上找到这方面的文档。具体而言,请参阅自定义内容处理器一节。
https://stackoverflow.com/questions/29728253
复制相似问题