You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MaxScript渲染输出文件名整数变量格式错误问题

问题

在循环中用自增整数给渲染输出文件命名,需要生成ImageName-00.jpeg、ImageName-01.jpeg这种符合Turbosquid要求的格式,但实际生成的却是ImageName-90001.jpeg、ImageName-90002.jpeg。

Turbosquid命名要求

Turbosquid命名要求

当前生成的命名示例

当前命名示例

相关代码

_frame = 0
for current in assetsList do(
    render camera:c fromframe:0 toframe:10 outputfile:(turnPath + "\\" + currentName + "-" + _frame as string + ".jpeg")
    _frame += 1
)
解决方案

问题根源

  1. 序号未补前导零:直接把整数_frame转成字符串,没法生成两位数字的序号,不符合Turbosquid的格式要求。
  2. 变量初始值被污染:生成的序号从90001开始,说明_frame在循环执行前已经被其他代码赋值成90000了,导致自增后起始序号不对。

修复后的代码

-- 用local声明变量,避免被全局环境修改,确保从0开始计数
local _frame = 0
for current in assetsList do(
    -- 把序号格式化为两位数字,自动补前导零
    local frameStr = formattedPrint _frame format:"02d"
    render camera:c fromframe:0 toframe:10 outputfile:(turnPath + "\\" + currentName + "-" + frameStr + ".jpeg")
    _frame += 1
)

核心改动说明

  • 用local定义_frame,隔离全局变量的影响,保证循环始终从0开始计数。
  • 使用formattedPrint函数将整数格式化为两位数字的字符串:0会变成"00",1变成"01",10变成"10",完美匹配Turbosquid的命名规范。

内容的提问来源于stack exchange,提问作者Lucas Costanski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 04:40:36