我正在遍历当前层中的所有节点。 我想只过滤绘制为平面对象的节点。 在3ds max sdk中有没有办法检查形状是否是平面?
ILayerManager* manager = GetCOREInterface13()->GetLayerManager();
ILayer* hLayer = manager->GetCurrentLayer();
ILayerProperties* props = static_cast<ILayerProperties*>(hLayer->GetInterface(LAYERPROPERTIES_INTERFACE));
Tab<INode*> nodes;
props->Nodes(nodes);
for (int i=0; i < nodes.Count(); ++i)
{
INode* node = nodes[i];
// check if the node is a plane
}
答案 0 :(得分:2)
在项目的顶部定义classid。 然后我们来检查你的节点的classid。
#define plane_ClassID Class_ID(136257020, 2002153317)
if (node->ClassID() == plane_ClassID)
{
//we found it.
}
您可以通过选择对象并输入以下内容来获取maxscript中的classID:
$.classid
这将打印它的ID,可以用于所有对象\材料\助手等等。