现在的位置: 首页 > 综合 > 正文

MAX SDK 中将已经烘培的物体全部选中

2013年10月02日 ⁄ 综合 ⁄ 共 681字 ⁄ 字号 评论关闭

这个功能已经很普遍了,因为烘培过的物体在做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

论坛:http://www.bezier.com.cn/bbs

zhucde@hotmail.com

抱歉!评论已关闭.