Maxscript中渲染中文版Vray完成贴图(VrayCompleteMap)的方法

本文详细介绍了在3D软件中进行烘培设置的方法,包括如何使用脚本语言配置烘培属性,如通道选择、像素拓展、贴图输出尺寸及抗锯齿等。同时,针对多个对象的UV通道调整提供了实用的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Objbakeproperties = $.INodeBakeProperties; --选定对象的烘培节点

Prjbakeproperties = $.INodeBakeProjProperties;

Objbakeproperties.removeAllBakeElements(); --移除所有渲染元素

Objbakeproperties.bakeEnabled = true -- 烘培开关
Objbakeproperties.bakeChannel = 3 -- 烘培的通道
Objbakeproperties.nDilations = 3 -- 拓展像素
BakeElem = VRay_完成贴图(); --中文版的贴图名称是中文的,不如知道名称可以先在对话框里添加一个,然后用$.INodeBakeProperties.getBakeElement(1)来获取
BakeElem.elementname = "VRay-完成贴图"
BakeElem.enabled = true --开启贴图的烘培开关
BakeElem.outputSzX = 2048 --烘培输出尺寸
BakeElem.outputSzY = 2048
BakeElem.filterOn = true --抗锯齿

BakeElem.filenameUnique = True --防止输出重名
BakeElem.filename = url+"\\"+$.name+".png" --贴图路径
BakeElem.fileType = ".png" --文件类型


Objbakeproperties.addBakeElement BakeElem --将上面配置好的BakeElem贴图对象添加到烘培设置

 

 

 

另外再记录一下,有时会需要把贴图通道从自动展开的3通道切换到1通道,可以这么做

假设修改器只有1个“自动展开UVs”或者“Uvw展开”修改器,那么代码是

 

$.modifiers[1].unwrap.setMapChannel 0
$.modifiers[1].unwrap2.setFreeFormMode on

 

多个对象的时候可以判断一下,防止出错

 

for i in selection do (
  if classof(i.modifiers[1]) == Unwrap_UVW then (
    i.modifiers[1].unwrap.setMapChannel 0
    i.modifiers[1].unwrap2.setFreeFormMode on
  )
)

转载于:https://www.cnblogs.com/jom0/p/10215857.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值