2016-08-18 3 views
0

Ich mache im Grunde einen Rampe Shader und versuchen, die richtige Möglichkeit zu finden, Werte von einem Rampe-Attribut in der compute() Funktion für einen Knoten zu erhalten.Holen Rampe Attribut in compute()

Ich weiß, es kann mit

MObject oThis = thisMObject(); 
    MRampAttribute rampAttribute(oThis, aRamp); // aRamp is our ramp MObject. 

getan werden, aber ist es sicher, dies in compute zu tun? Die Maya-Dokumentation erwähnt an einigen Stellen, dass wir in compute nur Attribute im MDataBlock verwenden sollten, um Eingabedaten zu erhalten, aber ich kann keinen Weg finden, ein Rampenattribut von MDataBlock zu erhalten. Ich konnte auch keine offiziellen Codebeispiele unter MRampAttribute in compute() finden.

Antwort

1

Es ist in Ordnung, dies zu tun. Ich glaube nicht, dass Sie vom Datenblock aus auf MRampAttribute zugreifen können. Ich habe einige Plugins Knoten, die es genau verwenden, wie Sie geschrieben haben, und ich habe kein Problem bemerkt.

Es ist nicht die einzige Gelegenheit, wo Sie das MObject verwenden müssen, um ein Plug-in compute() entweder zu bekommen.