我一直在为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中可见,但我需要的是在节点的额外属性中可见,以便用户轻松接收。
我做错了什么? 提前谢谢。
答案 0 :(得分:0)
好吧,经过几个小时考虑事情和尝试一些事情后,restarting maya
使我的属性显示为应该。 Loadind mll
并不是那么干净。