Max中利用Maxscript合并材质

    我们在游戏开发的时候,美术制作一个大场景的时候会分成不同的小模块或区域做,做完后,再把各自的模块做整合成一个关卡,再导出到关卡编辑器中或游戏中。这样有利于美术的协作,但是有另外一个问题,会导致资源的重复浪费。比如说,美术A在他的小模块中用到了贴图000.bmp,美术B在她的小模块中也用到了贴图000.bmp.最后整合的时候,在Max中merge的时候,会多出一个材质来(我们不考虑,材质的其他的属性,只考虑材质的diffuse贴图信息),这样就有重复的数据产生,当场景拆的越多,材质用的越多,重复的材质数据会成倍的增加。
    以下为利用MaxScript合并重复贴图的材质代码:
  
  1.         allMat = meditMaterials[1] 
  2.         if allMat.materialList.count > 1 do
  3.         (
  4.             matIDMapArray=#()
  5.             need_reassign = false
  6.                 
  7.             for m = 1 to allMat.materialList.count do
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
1:zq_beforeRender.mse --包括清空材质编辑器、导入场景材质、导入选择物体材质、导入贴图丢失材质。根据材质塌陷物体、合并同名材质、转化为通道渲染(160以下)等功能 2:zq_autoKey.mse --包括建筑生长(用控制可见性、移动、旋转、缩放的方法创建物体生长的效果)、时光流逝(创建大量物体高速运动,走走停停的效果。也可以用于在建筑动画快速的种车)、拷贝关键帧(不同的参数之间,也可以批量改变不同物体共有可动画属性)。 3:zq_copyProperty.mse --批量修改多个选择物体的相同属性或则相似属性(如可以一次修改多个都有子材质的物体的多维材质某种贴图或所有贴图的亮度值)。也可以拷贝一个物体的某属性值给多个选择物体的某属性。 4:zq_alignToSurf.ms --对齐 选择的多个物体、一个物体选择的mesh点、一条线上选择的vertex点 到物体表面 5:zq_atatchSel.ms --塌陷选择的物体,设个快捷健,塌陷更快速 6:zq_changePivot.ms --改变物体的轴心,有了它改变轴心非常方便 7:zq_cutObj.ms --用布尔的方法切割物体,简单的物体能用,复杂的和max的布尔一样容易出错。 8:zq_disturbSel.ms --打乱选择的物体。随机旋转、移动、缩放物体。我用来在动画场景种种树 9:zq_explodeElement.ms --mesh物体按element子物体级别炸开。可以看成是反attach。不过有时会出现物体被移动的现象,有时又不会,还不知道为啥。 10:zq_paintSpline.ms --max自带的一个鼠标划线脚本,改简洁了。 11:zq_select0FaceObj.ms --选择场景没面的空物体 12:zq_selectUnMaterialObj.ms --选择没有赋材质的物体 13:zq_selectMissMapCoord.mse --选择场景材质有贴图但没有贴图坐标的所有物体(也就是渲染的时候提示没有贴图坐标的物体),并且在listener窗口打印出具体的缺失坐标通道 14:zq_getObjMat.ms --拾取场景某物体的材质及贴图坐标修改器(如果有的话)给当前物体。 15:zq_ipEpSets.ms --将某些常用的模型保存选择组到一个文件。然后merge到某场景后再用它取回选择组。只要物体名字没改,不管merge的场景有没有选择组都可以找回。(max merge物体选择组会丢失) 16:zq_nameCameraLine.ms --给做建筑动画设镜头的同志。脚本将把路径动画的相机或目标点的相应路径改名为相应名字+line.方便选择。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值