ПрограммированиеФорум2D графика и изометрия

Нужна программка для склеивания спрайтов в лист. (2 стр)

Страницы: 1 2 3 Следующая »
#15
14:13, 4 окт 2014

На опции MaxRects и ругается, именно эта опция отвечает за: по горизонту ракурсы, по вертикали количество кадров.
От зараза.

#16
14:32, 4 окт 2014

Oleg_T, должно и basic работать, зависит от того, как спрайты называются.
Для простоты, возьмем 4 ракурса (left, right, top, bottom) и 8 кадров.
при такой маске названия frameXX_ракурс (frame01_top, frame01_left, ... , frame02_top, frame02_left, ... , frame08_top, frame08_left, ...)
будет работать обычный алгоритм (basic) и сортировка по имени. (sort by Name)

тогда получится: "По такой схеме, по горизонту ракурсы, по вертикали количество кадров. ".
Правда размер самого листа должен быть подходящий, чтобы по горизонтале больше нужного не впихнуло.
(например один кадр 64х64, тогда если 4 ракурса всего, то ширина листа должна быть 256, не больше)

#17
15:03, 4 окт 2014

Дело в том, что у меня скрипт рендерить по такому алгоритму:
0_0
0_1
0_2

0_9
0_10
0_11

0_99
0_100
0_101
и т. д.

Где первая цифра это ракурс, вторая цифра - порядковое номер кадра.

#18
15:10, 4 окт 2014

Oleg_T, скинь плз какие-нибудь тестовые картинки в таком случае. (zip архив с картинками) На реальном примере будет легче разобраться. ) Ну или скрипт будет проще подправить. )

#19
15:22, 4 окт 2014

Вот:
Combat_jog

Ещё нашел скрипт который сразу рендерить в спрайт-лист.
http://www.scriptspot.com/3ds-max/scripts/sprite-sheet-renderer
Только ракурсы по вертикали, а кадры по горизонту идут.
Если бы кто-то отредактировал этот скрипт. Я у одного человека спросил, то он ответил, что сложно будет перередактировать.

#20
16:34, 4 окт 2014

Oleg_T, фух, клевая разминка для мозга, спасибо.
И так, на бесплатной версии без геморроя не получится так сделать, как надо в тех задании.
Как минимум потому, что картинка не кропнута изначально, а эта платная фича в текстурпакере.

Но есть другие бесплатные инструменты.
Я использовал XnView и .bat файл.

1. скачал архив, распаковал
2. открыл первую картинку в XnView
3. выбрал Tools - Batch Processing (ctrl + u)
4. добавил все картинки (кстате, там по одному фрейму лишнему. (X_16 не нужен, он дублирует X_0))
5. в трансформациях добавил
  a) auto crop (по альфе)
  b) canvas resize (32x32)
6. применил для всех.

В итоге у нас куча картинок по 32 на 32. (кропнутых)
Только вот названия неправильные. Надо переименовать.
X_N.png должно называться N_X.png
Я для этого использовал виндоус средства, простой bat file.

FOR /L %%N IN (0,1,15) DO (
  FOR /L %%K IN (0,1,15) DO (
    IF %%N LSS 10 (
       ren %%N_%%K.png frame_%%K_0%%N_correct.png
    )
    ELSE (
      ren %%N_%%K.png frame_%%K_%%N_correct.png
    )
  )
)

запустил бат файл из нужной директории (где картинки)
запихнул все в текстур пакер (бесплатная версия)
на выходе получил почти то, что нужно: (ну мелкие косяку могут быть, из-за автокропа)

Изображение

В максе не разбираюсь, скрипт не помогу отредактировать.

Но лучше рендерить сразу правильно кропнутые картинки (настроить камеру нормально)
И названия в нужном порядке.

(пару часов не смогу отвечать на форуме)

#21
18:21, 4 окт 2014

a) auto crop (по альфе)
b) canvas resize (32x32)

Можешь скриншот показать. У меня русская версия.
Вчера как раз пробовал обрезать с помощью IrfanView, но так с альфой не разобраться.

FOR /L %%N IN (0,1,15) DO (
  FOR /L %%K IN (0,1,15) DO (
    IF %%N LSS 10 (
      ren %%N_%%K.png frame_%%K_0%%N_correct.png
    )
    ELSE (
      ren %%N_%%K.png frame_%%K_%%N_correct.png
    )
  )
)

Чтобы поменять количество ракурсов в bat file., нужно в строчках "FOR /L %%N IN (0,1,15) DO (
  FOR /L %%K IN (0,1,15) DO(" заменить 15 на другое число? И все?

Но лучше рендерить сразу правильно кропнутые картинки (настроить камеру нормально)

Камеру выставлял с целю, чтобы самый габаритный юнит влез.
Например, пикинер с длиной пикой:
Изображение

А в принципе получилось. Только такой размер кадров как у тебя (32x32) не вышел. У меня по пояс обрезает.
Изображение

#22
20:10, 4 окт 2014

Oleg_T

Можешь скриншот показать. У меня русская версия.

+ Показать

Камеру выставлял с целю, чтобы самый габаритный юнит влез.

Ну фиг его знает, может каждый раз надо менять немного размеры камеры, чтобы каждый юнит правильно рендерился, хз.

Чтобы поменять количество ракурсов в bat file., нужно в строчках "FOR /L %%N IN (0,1,15) DO (
  FOR /L %%K IN (0,1,15) DO(" заменить 15 на другое число? И все?

тут два цикла, первый цикл бежит по
0_1.png ... N_1.png (т.е. по первому числу, в твоем случае это ракурс)
второй цикл (вложенный) бежит уже по кол-ву кадров
0_1.png ... 0_K.png (т.е. по второму числу)

в первом цикле 15 это кол-во ракурсов (16 ракурсов, т.к. с нуля до 15 включительно)
во втором цикле (вложенном) 15 это кол-во анимаций. (16 анимаций)

Чтобы избавиться от .bat файла, то наверное проще рендерит сразу наоборот, с правильным именем. (кол_анимаций _ ракурс)

А в принципе получилось. Только такой размер кадров как у тебя (32x32) не вышел. У меня по пояс обрезает.

Я именно вначале первой трансформацией делал автоматический кроп/обрезание, а следующей
размер холста/канвы уменьшал (canvas resize), а не саму картинку уменьшал (resize).
При этом вначале просто в опциях выбрал image - automatic crop (alt + y) и пипеткой тыкнул на прозрачную область вокруг чувака. (чтобы запомнило цвет)

#23
23:33, 4 окт 2014

тут два цикла, первый цикл бежит по
0_1.png ... N_1.png (т.е. по первому числу, в твоем случае это ракурс)
второй цикл (вложенный) бежит уже по кол-ву кадров
0_1.png ... 0_K.png (т.е. по второму числу)

в первом цикле 15 это кол-во ракурсов (16 ракурсов, т.к. с нуля до 15 включительно)
во втором цикле (вложенном) 15 это кол-во анимаций. (16 анимаций)

Извини, можешь изменить на трехзначное число?

#24
23:43, 4 окт 2014

Oleg_T, не сильно понял, что именно изменить, пример плз надо )

#25
0:28, 5 окт 2014

Нужно переименовать 225 кадра, т. е. от 0 до 224.

#26
0:47, 5 окт 2014

Oleg_T

Нужно переименовать 225 кадра, т. е. от 0 до 224.

т.е. 0_0, 0_1, ..., 0_224 ?
А сколько ракурсов? Если один, то в первом цикле меняем последнее число на 0, а во втором на 224

FOR /L %%N IN (0,1,0) DO (
  FOR /L %%K IN (0,1,224) DO (
    IF %%N LSS 10 (
       ren %%N_%%K.png frame_%%K_0%%N_correct.png
    )
    ELSE (
      ren %%N_%%K.png frame_%%K_%%N_correct.png
    )
  )
)
#27
7:38, 5 окт 2014

Zwoptex. Прошрамма для мака, но была онлайн версия в браузере. Как раз умеет сшивать так как надо.

#28
10:52, 5 окт 2014

http://peterheide.com/public/tools/zwoptex/

#29
11:50, 5 окт 2014

т.е. 0_0, 0_1, ..., 0_224 ?
А сколько ракурсов? Если один, то в первом цикле меняем последнее число на 0, а во втором на 224

Это я понял, но не то.
Что-то TexturePacker всё перепутал.
Изображение
Вот, смотри сам.
Изображение

Zwoptex. Прошрамма для мака, но была онлайн версия в браузере. Как раз умеет сшивать так как надо.
http://peterheide.com/public/tools/zwoptex/

Что-то не пойму как она работает.
Мне лучше работать уже через .bat и Texture Packer.

Страницы: 1 2 3 Следующая »
ПрограммированиеФорум2D графика и изометрия

Тема в архиве.