2016-05-05 10 views
0

Ich habe an einer benutzerdefinierten Bildebene für Maya gearbeitet, ich muss Informationen aus einer externen Datei laden, also versuche ich ein benutzerdefiniertes Attribut (String) für die Benutzer, um den Pfad zu der Datei einzugeben.Öffentlich sichtbares benutzerdefiniertes Attribut in der benutzerdefinierten Maya - Bildebene

Ich habe dies in den customImagePlane.h erklärt:

public: 
    static MObject  metaDataFile; 

und initialisiert es in der initialize Methode:

MStatus customImagePlane::initialize() 
{ 
    MStatus    stat; 
    MFnTypedAttribute attr; 
    MFnStringData  stringFn; 
    MObject defmsg = stringFn.create("Input metadata file path"); 
    metaDataFile = attr.create("metaDataFilePath", "datapath", MFnData::kString, defmsg, &stat); 
    if(!stat) return stat; 
    attr.setHidden   (false ); 
    attr.setReadable  (false ); 
    attr.setWritable  (true ); 
    attr.setStorable  (true ); 
    attr.setConnectable  (true ); 
    attr.setChannelBox  (false ); 
    attr.setInternal  (false ); 
    attr.setUsedAsFilename (true ); 
    stat = addAttribute(metaDataFile); 
    if (!stat) { stat.perror("addAttribute"); return stat;} 
    return MS::kSuccess; 
} 

Gerade jetzt das Attribut sichtbar im Knoten-Editor oder Hypershade, aber was Ich brauche es, um innerhalb der zusätzlichen Attribute des Knotens sichtbar zu sein, so dass es leicht von den Benutzern zugegriffen werden kann.

Was mache ich falsch? Vielen Dank im Voraus.

Antwort

0

Nun, nach ein paar Stunden über Dinge nachzudenken und einige Dinge zu versuchen, wird es, dass restarting maya mein Attribut gemacht, wie es sollte. Laden Sie die mll ist nicht so sauber, wie es anscheinend sein sollte.

Verwandte Themen