MAX SDK 中更中重名材质 烘培材质

来源:互联网 发布:mac ping 端口 编辑:程序博客网 时间:2024/05/01 07:49

上篇讲到自动更名重名的物体, 紧接着另一个类似的问题,那就是自动更名重名的材质.

这所讨论的所有的问题其实是针对我自己开发的一款虚拟现实软件,详情见:

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

在我的软件中允许有重名材质,但是对于烘培材质就不行了,同一个名称最后只导出一个.

其实在场景中碰到重名材质的机会并不多,但有一种情况则是MAX的BUG引起的.

如果你烘培过一个物体后,就是对它自动加上一个Shell Material,这个材质名称是不会重复的,但是如果你展开它就

会发现,它由两个材质组成,一个是原来的材质,它会自动在原来的物体名上加上一个Orig来作为前缀,

而另一个材质是在原来的材质名称前加一个bake_的前缀

问题就来了,在MAX中一个材质可以赋给多个物体,

而这多个物体烘培后,其烘培材质就是同名,

导出到我的软件中就会出错.

于是我就写了个程序,来对它的材质进行更名,这不同于普通更名,需要先获取烘培过的物体,然后找到其材质,

然后再找到其子层次的材质(一般为第二层的第二个),再进行更名.

 

老规矩, 有人再贴代码,摸索起来不容易

 

__________________________

朱长德

虚拟闲人

zhucde

zhucde@hotmail.com

虚拟现实软件的开发与研究

原创粉丝点击