2016-04-16 11 views
0

Ich und meine Freunde wollten einen benutzerdefinierten Effekt implementieren, der während des Prozesses "Inhalt erstellen" in der Monogame-Pipeline an ein Mesh angeschlossen wird. Das heißt, wenn ein Modell aus 10 verschiedenen Gittern besteht, von denen jedes seine eigene Wirkung hat, würde es unser Leben viel einfacher machen.Monogame Custom Effect

Was mich betrifft, verwendet diese Weise trivial zu sein, dass so etwas wie: https://blogs.msdn.microsoft.com/shawnhar/2006/12/07/rendering-a-model-with-a-custom-effect/

Jetzt bei uns nicht funktioniert, leider auf diese Weise thigs zu tun. Wir haben einen benutzerdefinierten Modellprozessor, einen benutzerdefinierten Modellmaterialprozessor und einen benutzerdefinierten Texturprozessor geschrieben.

EffectMaterialContent myMaterial = new EffectMaterialContent(); 

myMaterial.Effect = new ExternalReference<EffectContent>(effectPath); 

Und so erhalten wir die folgende Ausnahme:

{"Could not find ContentTypeReader Type. Please ensure the name of the Assembly that contains the Type matches the assembly in the full type name: Microsoft.Xna.Framework.Content.ReflectiveReader`1[[Microsoft.Xna.Framework.Content.Pipeline.Graphics.EffectMaterialContent, MonoGame.Framework.Content.Pipeline, Version=3.6.0.199, Culture=neutral, PublicKeyToken=null]] (Microsoft.Xna.Framework.Content.ReflectiveReader`1[[Microsoft.Xna.Framework.Content.Pipeline.Graphics.EffectMaterialContent, MonoGam e.Framework.Content.Pipeline]])"} 

Scheint, als ob es eine einfache Möglichkeit ist, dies zu tun, aber es entzieht sich uns. Wir würden uns sehr über Ihre Hilfe freuen!

Antwort

0

Ich glaube, wir haben es geschafft, das Problem mehr oder weniger zu lösen. Hier ist eine Frage, die ich im Community-Forum von Monogame gestellt habe. Es ist nicht vollständig, aber ich glaube, es bietet ein gutes allgemeines Verständnis des zugrunde liegenden Problems.

http://community.monogame.net/t/mesh-effect-field/7462