关闭

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

标签: interfaceclassshell
1688人阅读 评论(1) 收藏 举报
分类:

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:124851次
    • 积分:1860
    • 等级:
    • 排名:千里之外
    • 原创:52篇
    • 转载:2篇
    • 译文:0篇
    • 评论:127条
    文章分类
    最新评论