그래픽 디자이너가 별도의 PNG 파일로 그래픽을 만들었습니다. 스프라이트 시트에 으깨는 영리한 도구 / 스크립트가 있습니까?
아마 나 자신을 코딩 할 수는 있지만 바퀴를 다시 발명하는 이유는 무엇입니까? :)
그래픽 디자이너가 별도의 PNG 파일로 그래픽을 만들었습니다. 스프라이트 시트에 으깨는 영리한 도구 / 스크립트가 있습니까?
아마 나 자신을 코딩 할 수는 있지만 바퀴를 다시 발명하는 이유는 무엇입니까? :)
답변:
SpriteSheetPacker 를 사용하는 유일한 사람 입니까? 무료이며 오픈 소스이므로 수정하고 작동 방식을 배울 수 있습니다.
TexturePacker 를 사용하여 PNG 이미지 폴더에서 스프라이트를 만들었습니다. 원래 Flash에서 개발 한 게임을 포팅하고 있으므로 MovieClip의 각 프레임을 png로 내 보낸 다음 Texture Packer에서 해당 이미지를 가져 오기만하면됩니다.
또 다른 유사한 도구는 Zwoptex입니다
(후자는 Mac 소프트웨어이지만 TP에는 Windows 버전도 있습니다.)
2D 스프라이트 시트 및 애니메이션 도구를 오픈 소스로 결정했습니다. 이미지, 스프라이트 그룹화 및 멀티 스프라이트 애니메이션을 회전과 결합하여 자동 스프라이트 선택을 지원합니다.
Java로 작성되었으며 github 저장소는 https://github.com/darkFunction/darkFunction-Editor입니다.
프로젝트 웹 사이트 : http://darkfunction.com/editor
나는 libgdx (게임 프레임 워크) 패커를 정말로 좋아합니다. 그래도 패커를 위해 프레임 워크를 설정하는 것이 번거로울 수 있습니다.
패커는 훌륭하게 작동합니다. libgdx texturepacker doc here을 읽고 직접 확인하십시오. 내가 가장 좋아하는 기능은 큰 스프라이트 시트 / 아틀라스의 모든 텍스처에 대한 정보가 담긴 문서도 저장하므로 스크립트를 쉽게 만들 수 있습니다. Libgdx에도이 빌드가 포함되어 있으므로 큰 아틀라스에 있더라도 원래 파일 이름으로 모든 텍스처를로드 / 표시 할 수 있습니다. 패커에 대한 GUI 도 있습니다 .
일부 텍스처에 대한 정보가 담긴 팩 파일에서 발췌 :
ferdige1.png
format: RGBA8888
filter: Nearest,Nearest
repeat: none
mainmenu
rotate: false
xy: 2, 2
size: 800, 480
orig: 800, 480
offset: 0, 0
index: -1
plankeu3
rotate: false
xy: 804, 2
size: 64, 384
orig: 64, 384
offset: 0, 0
index: -1
levelSelect
rotate: false
xy: 2, 484
size: 591, 373
orig: 591, 373
offset: 0, 0
index: -1
plankeu2
rotate: false
xy: 870, 2
size: 64, 256
orig: 64, 256
offset: 0, 0
index: -1
ImageMagick 에는 이미지를 "몽타주"라고 부르는 명령 줄 유틸리티가 있습니다. 원하는 명령 행 매개 변수를 얻는 데 어려움을 겪을 수 있지만 매우 강력하고 유연한 도구입니다. 스프라이트 시트를 만드는 데 매우 자주 사용합니다.
convert +append folder/*.png stacked.png
stacked.png에 폴더 (알파벳순)의 모든 PNG 파일로 변환
이 처리 스크립트를 사용했습니다. Processing.org에서 Processing을 무료로 다운로드 할 수 있습니다. 모든 파일은 동일한 폴더에 있어야하며 파일 이름은 4 자리 숫자로 끝나야합니다.
ArrayList<PImage> images = new ArrayList
<PImage>();
void setup() {
String folder = "file location ...";
String file = "file prefix ...";
String outfile = "output.png";
int fileCount = 30;
int cols = 7;
int rows = 5;
println("Loadgin...");
for (int i = 1; i <= fileCount; i++) {
String number = "" + i;
if(number.length() == 1) number ="000" + number;
else if(number.length() == 2) number = "00" + number;
PImage img = loadImage(folder+file + number +".png");
images.add(img);
}
println("Starting...");
PImage img = createImage(images.get(0).width * cols, images.get(0).height * rows, ARGB);
for (int x = 0; x < images.get(0).width; x++) {
for (int y = 0; y < images.get(0).height; y++) {
for (int z = 0; z < images.size(); z++) {
img.set(
x+images.get(0).width* (z%cols),
y +images.get(0).height * int(z/cols),
images.get(z).get(x,y));
}
}
}
println("Saving...");
img.save(folder + outfile);
}
질문을 올바르게 이해했는지는 모르겠지만 텍스처로 작동하고 애니메이션, 스프라이트 시트 및 .gif 애니메이션을 만드는 소프트웨어는 알고 있습니다. 참조 http://www.spritetools.com/를
Compass 프레임 워크에는 스프라이트 생성 도구가 있습니다.
스프라이트 시트를 만들기 위해 Photoshop 스크립트를 사용합니다 . 내 블로그에서이 기사를 참조하십시오 .
오래된 스쿨 타일 그리드와 텍스처 아틀라스를 만들 수 있으며 이미지 크기와 위치 정보가 포함 된 사용자 지정 텍스트 파일을 내보낼 수 있습니다. PC와 Mac에서 작동하며 오픈 소스이며 확장 가능하도록 작성되었습니다.