有 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 的ModelProcessor
,那么 Visual Studio 将无法使用它来导入/处理我的 fbx 文件。构建内容项目失败"Cannot find content processor 'AnimationProcessor'"
,并且它甚至没有作为 .fbx 文件的下拉框中的选项提供(可能是因为 Visual Studio 查找派生自 XNA 处理器的类,并且它不关心 MonoGame)。
有谁知道我应该如何使用自定义处理器导入 fbx 内容,并且仍然有 MonoGame 类而不是 XNA 的?