这个功能已经很普遍了,因为烘培过的物体在做VR时要做特别处理,有时需要将其全部选择出来.
贴出代码:
void SelAllBakeObj(Interface *ip,char *display) //选择已经烘培物体
{
ip->ProgressStart(display, 1, ThreadPro, 0); //进度条
INode *nd=GetCOREInterface()->GetRootNode(); //得到根结点
int count=nd->NumberOfChildren(); //得到所有结点数
for (int j=0; j<count; j++) //遍历所有的物体
{
ip->ProgressUpdate(j*100/count);
INode *node =nd->GetChildNode(j); //得到子结点
Mtl *m=node->GetMtl();
if(m&&m->ClassID()==Class_ID(BAKE_SHELL_CLASS_ID,0)) //其材质为烘培材质
ip->SelectNode(node,0); //置选择状态
}
ip->ProgressUpdate(100);
ip->ProgressEnd();
}
希望大家热烈讨论. 虽然这么点语句,但对于没有资料的我当时写的时候费了好大的劲.
希望大家不要再走重复的路
__________________________
朱长德
虚拟闲人
zhucde