Public Maya 自定义图像平面中的可见自定义属性

Public visible custom attribute in maya custom image plane

我一直在为 Maya 开发自定义图像平面,我需要从外部文件加载信息,所以我正在尝试创建一个自定义属性(字符串)供用户输入路径文件。

我已在 customImagePlane.h 中声明:

public:
    static  MObject     metaDataFile;

并在initialize方法中初始化:

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;
}

现在该属性在节点编辑器或 hypershade 中可见,但我需要它在节点的额外属性中可见,以便用户轻松访问。

我做错了什么? 提前致谢。

好吧,经过几个小时的思考和尝试,restarting maya 使我的属性得以显示。加载 mll 显然不是很干净。