【发布时间】:2015-06-26 00:28:18
【问题描述】:
有没有一个 MonoGame 相当于 XNA 的ModelProcessor?
我正在使用自定义 AnimatorProcessor 类,派生自 ModelProcessor,类似于 "better skinned sample" 中所做的:
[ContentProcessor(DisplayName = "Animation Processor")]
public class AnimationProcessor : ModelProcessor
{
// custom stuff
}
我现在正在尝试将此代码移植到 MonoGame,但似乎(尽管 MonoGame 最近有了自己的管道)在 MonoGame 管道项目中没有 ModelProcessor 类。
我可以使用 XNA 管道,但问题是所有模型内容类都使用实际的 XNA 类/结构(向量、四元数),它们位于与 MonoGame 完全相同的命名空间中,从而在我的主项目中产生编译时冲突.这意味着我应该将这些类从一个程序集 (XNA) 映射到另一个程序集 (MonoGame),即 rather fugly。
(更新)
我意识到 MonoGame 在其 MonoGame.Framework.Content.Pipeline 程序集中确实有一个 ModelProcessor,但是还有一个额外的 MonoGame.ContentPipeline 程序集(我不确定它是否已经过时,或者仍然必须在管道中使用)。
但是,如果我重建我的 AnimationProcessor 以使用 MonoGame 的 ModelProcessor,那么 Visual Studio 将无法使用它来导入/处理我的 fbx 文件。构建内容项目失败并显示"Cannot find content processor 'AnimationProcessor'",并且它甚至没有作为 .fbx 文件的下拉框中的选项提供(可能是因为 Visual Studio 查找派生自 XNA 处理器的类,并且它不关心 MonoGame)。
有谁知道我应该如何使用自定义处理器导入 fbx 内容,并且仍然使用 MonoGame 类而不是 XNA 类?
【问题讨论】:
-
我觉得应该移到gamedev.stackexchange.com。
标签: c# xna monogame content-pipeline