Я написал сценарий CMD для пакетирования пакетов атласа, и он отлично работает.
CMD Script
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 :: error: неизвестный аргумент
--format unity-texture2d --smart-update --max-size 4096 --scale 0.5 - пожалуйста, проверьте параметры или посетите http://www.codeandweb.com/texturepacker
для более новой версии