0

このエラーに関する多くのスレッドを見つけましたが、解決策は見つかりませんでした。スキン メッシュをアニメーション化するように設計された XNAExpert.com のクラス ライブラリを多数使用しています。XNA 4.0、Win XP、および Windows 用のプログラミング ゲームを使用しています。ここに完全なエラーがあります:

ContentTypeReader SkinnedModel.SkeletonReader、SkinnedModel、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null が見つかりません。

チュートリアルはここにあります。以下は、SkinnedModel プロジェクト内のリーダー クラスのコードです。

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;

namespace SkinnedModel
{
    public class SkeletonReader : ContentTypeReader<Skeleton>
    {
        protected override Skeleton Read(ContentReader input, Skeleton existingInstance)
        {
            List<Bone> boneList = input.ReadObject<List<Bone>>();
            return new Skeleton(boneList);
        }
    }
}

以下は、SkinnedModelProcessor プロジェクト内のライター クラスのコードです。

[ContentTypeWriter]
    public class SkeletonWriter : ContentTypeWriter<Skeleton>
    {
        protected override void Write(ContentWriter output, Skeleton value)
        {
            output.WriteObject(value.BoneList);
        }

        public override string GetRuntimeReader(TargetPlatform targetPlatform)
        {
            return typeof(SkeletonReader).AssemblyQualifiedName;
        }
    } 

ご覧のとおり、返される型は各リーダーのアセンブリ修飾名です...私が問題を抱えている別の理由を知っている人はいますか?

4

2 に答える 2

2

私にとっての解決策は、 ContentTypeReader を削除して新しいものを作成することでした。

私の問題は、ミラーリングされたプロジェクト (Windows ゲーム ライブラリと Windows Phone ゲーム ライブラリがあった) が原因のようです。Windows クライアントでは ContentReader が正常に検出されましたが、Windows Phone クライアントでは検出されませんでした。

于 2012-10-01T20:32:11.583 に答える
0

私が読んだように、SkeletonReader は SkeletonWriter に知られています。これが当てはまるようにプロジェクトをセットアップする有効な方法は考えられません。

  • プロジェクトのメイン (コンテンツへのリンク)
    • SkeletonReader
    • スケルトン

  • プロジェクト コンテンツ (ContentExtendion へのリンク)
    • SkeletonFile (プロセッサーを SkeletonProcessor に設定)

  • Project ContentExtendion (回覧はリンクできません)
    • SkeletonContent (ライターの入力)
    • SkeletonWriter
    • SkeletonProcessor

ProjectSetup を見てください。アセンブリが正しくリンクされていないと思います。GetRuntimeReader で固定文字列を返します。プロジェクトを正しくセットアップすると、SkeletonReader への接続が失われます。

インターウェブのコンテンツ パイプラインに関する完全なチュートリアルがあります。

于 2012-07-22T14:10:16.963 に答える