【发布时间】:2018-09-05 11:16:06
【问题描述】:
我已经编写了一个用于批处理 atlas 包的 CMD 脚本,它运行良好。
CMD 脚本
set OutputDir=%1
set MaxSize=%2
set Scale=%3
set TpCmd=--format unity-texture2d --smart-update --max-size %MaxSize% --scale %Scale%
TexturePacker %TpCmd% --data "%OutputDir%.tpsheet" --sheet "%OutputDir%.png" "D:\xxx"
.
.
最近我在学习 PowerShell 并尝试编写一个可以像上面那样工作的脚本。
PowerShell 脚本
$AtlasMaxSize = 4096
$AtlasScale = 0.5
function Pack-Atlas($FileName) {
$AtlasOptions = --format unity-texture2d --smart-update --max-size $AtlasMaxSize --scale $AtlasScale
TexturePacker $AtlasOptions --data "$FileName.tpsheet" --sheet "$FileName.png" "D:\xxx"
}
.
.
但这似乎不是声明 $AtlasOptions 变量的正确方法。
我认为可能需要某种方式来存储选项,有人可以帮助我或提供一些关键字吗?
.
.
.
.
.
更新
感谢@gvee 和@TobyU
我已经编辑了脚本。
.
function Pack-Atlas($FileName, $AtlasMaxSize, $AtlasScale) {
$AtlasOptions = "--format unity-texture2d --smart-update --max-size $AtlasMaxSize --scale $AtlasScale"
TexturePacker $AtlasOptions --data "$FileName.tpsheet" --sheet "$FileName.png" $TargetPath
}
但它似乎不起作用。 这是我收到的错误消息:
TexturePacker:: 错误:未知参数
--format unity-texture2d --smart-update --max-size 4096 --scale 0.5 - 请检查参数或访问http://www.codeandweb.com/texturepacker获取更新版本
【问题讨论】:
-
$AtlasOptions = '--format', 'unity-texture2d', '--smart-update', '--max-size', $AtlasMaxSize, '--scale', $AtlasScale -
非常感谢,它有效!
标签: powershell arguments texturepacker