Kwasowa Grota Heroes VIIMight & Magic XHeroes III - Board GameHorn of the AbyssHistoria Światów MMSkarbiecCzat
Cmentarz jest opustoszały
Witaj Nieznajomy!
zaloguj się    załóż konto
Niebiańska Kuźnia  (WoG, HotA, VCMI)temat: Heroes 3 HD - program do dzielenia spritów na klatki
komnata: Niebiańska Kuźnia (WoG, HotA, VCMI)

FeniksFire PW
16 października 2016, 15:57
Cześć wszystkim,
zgodnie z obietnicą wstawiam tutaj program dzielący obrazki *.dds na poszczególne klatki. Może coś nie działać bo testowałem tylko u siebie.

Do praktycznego wykorzystania tego programu potrzebujemy 2 rzeczy:
1) pliku *.dds
2) pliku z metadanymi czyli *.ini o takiej samej nazwie jak plik *.dds

Póki co wersja na Windowsa 64 bit:https://www.dropbox.com/s/tzufd04phpyr6fd/CuttingImages2.zip?dl=0

I na szybko tutek zrobiony, wybaczcie mi niektóre błędy ortograficzne, nie miałem czasu na napisanie sobie tego na kartce, a teraz nie będe tego 2 raz nagrywał: https://www.dropbox.com/s/sihrp4nonn2aipq/Tutorial.mp4?dl=0

W razie problemów pisać tutaj, program nie był specjalnie testowany więc raczej błędy powinny się pojawić.
Mam nadzieję że się do czegoś przyda.

Kuririn PW
16 października 2016, 16:32
A nazwa muzyczki w tle?

FeniksFire PW
16 października 2016, 16:54
@Kuririn muzyka pochodzi stąd: https://www.youtube.com/watch?v=DEeAN471boQ
Nawet nie wiedziałem że tam jakaś jest póki mi tego nie powiedziałeś. Następnym razem postaram się być dokładniejszy ;).

Kuririn PW
16 października 2016, 17:17
Dzięki serdecznie za program i muzyczkę, a ta, wpadła mi w ucho. ;)

avatar PW
16 października 2016, 17:36
Nie mam jak teraz przetestować programu, ale czy potrafi on tak samo podzielić na klatki pliki png np. takie?

FeniksFire PW
16 października 2016, 18:01
@avatar ehh, teoretycznie tak, praktycznie trzeba by dorobić do tego metadaną tak jak to robił Ubisoft -> plik tekstowy z współrzędnymi punktów w których ma wycinać i mogłoby ci dzielić automatycznie. Zaleta jest taka że mógłbym potem odwrócić ten proces dzięki metadanej, z wielu klatek robisz jeden plik. Jeśli ci zależy to wrzucę tutaj jakiś przykład podający jak wypełniać kolumny, ty to uzupełnisz danymi i będziesz mógł sobie dzielić, a w przyszłości łączyć w jednego *.png ;).

avatar PW
16 października 2016, 18:18
Zależy mi :)

FeniksFire PW
16 października 2016, 20:58
@avatar ok, zrobiłem tutaj opis poszczególnych kolumn: https://www.dropbox.com/s/ep6brbf62plmro5/Desktop%202016-10-16%2019-15-31-152.png?dl=0

Póki co program ten nie działa dla *.png tylko dla *.dds, jutro to zmienię i zrobię update wersji ;).

Pozwoliłem sobie pobrać obraz który mi wysłałeś, wziąłem konwerter i przerobiłem na *.dds na próbę, oraz zrobiłem próbny pliczek *.ini ;):
Plik *.dds masz tutaj: https://www.dropbox.com/s/ow597itaol3bq7g/Imp.dds?dl=0
Plik *.ini masz tutaj: https://www.dropbox.com/s/4fpgjqxbvohvkox/Imp.ini?dl=0
Po użyciu programu powinno ci wyjść coś takiego: http://imgur.com/a/Y6d2q
Trochę czasu będziesz musiał sobie zarezerwować na przeliczanie dla każdego pliku współrzędnych. Jakie masz inne animacje? Może lepszy byłby program który ci by je wycinał w równych odstępach(lub automatycznie tworzył taką metadaną żeby samemu nie pisać), w ustalonej wcześniej wielkości? W Heroesie 3 HD dochodzi kwestia że tam prawie żadne klatki nie mają takiej samej wielkości, a zabawa w zgadywanie czy piórko ptaka należy do jednej klatki czy do innej mija się z celem.
Animacja nawet fajna swoją drogą ;).

Drwal PW
16 października 2016, 21:04
Właśnie mamy sporo takich grafik i Twój program spadł nam jak z nieba. Fajnie jakby działał też dla png. Ogólnie gdy skończysz ostateczną wersję i oczywiście wyrazisz zgodę, to chętnie umieszczę program w naszym Skarbcu.

FeniksFire PW
16 października 2016, 21:20
@Drwal ostatnio mam wolne weekendy i z chęcią wziąłbym się za jakieś pomniejsze projekty podobne do tego, albo grupę programów jakoś z sobą powiązanych, jeśli masz jakieś pomysły to pisz tutaj ;)

FeniksFire PW
17 października 2016, 19:27
Ok, aktualizacja wersji, czyli to co przed chwilą zrobiłem w 7 minut:
1. Poprawa szaty graficznej ;):
http://imgur.com/a/nphMz
2. Dodatkowe wsparcie formatów *.png i *.jpg. Jeśli mamy taki sam plik w 3 formatach, przykładowo Imp.dds, Imp.png, Imp.jpg, to przydziela nam metadaną w kolejności alfabetycznej.
Link, w pierwszym poście zrobię jeszcze jego edit:
https://www.dropbox.com/s/5k35rfa4uzw0ra4/CuttingImages.zip?dl=0

Drwal PW
17 października 2016, 20:47
Możesz napisać bardziej łopatologicznie jak z niego korzystać?

FeniksFire PW
17 października 2016, 21:13
Heh, napiszę ci to w punktach po kolei:
--------------------------------------------------------------------------
Najpierw musisz sobie rozpakować sprity:

1. Instalujesz Heroes of Might & Magic III: HD Edition

2. Ściągasz QuickBms i skrypt do heroesa, wszystko jest w tej paczce: https://www.dropbox.com/s/rga5lrijjybji6b/quickbms.zip?dl=0

3. Włączzasz quickbms.exe i pojawia ci się okienko z wyborem skryptu, wybierasz plik w tym samym folderze co quickbms o nazwie "Heroes III pak files.txt"

4. Pojawia ci się następne okno z wyborem pliku *.pak, wybierasz ścieżkę katalogu instalacyjnego + "/data" w moim przypadku jest to "C:/Gry/Heroes of Might & Magic III - HD Edition/data", tam znajdują się pliki *.pak, znajdujesz chociażby "sprite_DXT_com_x3.pak" i klikasz "Open"

5. Tworzysz sobie katalog gdzie chcesz je wypakować, wchodzisz do niego i klikasz "Save", masz tam teraz wiele plików, każdy plik *.ini(metadata) ma odpowiadającym mu pliku *.dds o takiej samej nazwie

To by była pierwsza część roboty ;). Teraz przejdźmy do mojego programu.

1. Otwierasz mój program.

2. Wskazujesz ścieżkę do katalogu z wypakowanym plikami *.dds i *.ini. Jeśli chcesz podzielić mniej plików to sobie kopiujesz do oddzielnego katalogu pliczek *.ini i o takiej samej nazwie plik *.dds

3. Klikasz "Find" -> znajduje ci obrazy które będzie dzielić w danym katalogu dzięki plikowi *.ini o tej samej nazwie

4. Klikasz "Divide All" -> dzieli ci wszystkie sprity na klatkio formacie *.png

Do dzielenia swoich obrazów potrzebujemy własnej metadanej, póki co nie ma żadnego generatora ich i musimy stworzyć je na piechotę:

1. Tworzymy plik tekstowy o takiej samej nazwie co nasz obraz(*.dds,*.jpg lub *.png)

2. Klikamy prawym przyciskiem->Zmień nazwę, zmieniamy mu końcówkę z *.txt na *.ini

3. Uruchamiamy plik przez dowolny edytor tekstowy, i uzupełniamy poszczególne kolumny. Kolumna to po prostu następny ciąg znaków oddzielonych od siebie spacją. Obowiązkowo musi być ich przynajmniej do kolumny "L" włącznie.
Tutaj mamy opis: https://www.dropbox.com/s/ep6brbf62plmro5/Desktop%202016-10-16%2019-15-31-152.png?dl=0

4. Uruchamiamy programik, i szukamy ścieżki do naszego katalogu z stworzonym plikiem tekstowym i obrazem.

Przykład stworzyny własnoręcznie jest tutaj:
Obraz:https://www.dropbox.com/s/ow597itaol3bq7g/Imp.dds?dl=0
Metadana(*.ini): https://www.dropbox.com/s/4fpgjqxbvohvkox/Imp.ini?dl=0

--------------------------------------------------------------------------

UPDATE:
Do dzielenia swoich obrazów...
Klikamy "Automatically cut", wskazujemy obraz do pocięcia i tnie.

I to by było na tyle, jak czegoś nie rozumiesz lub nie działa to pisz.

avatar PW
18 października 2016, 09:00
Stworzyłem odpowiedni temat na forum HC, a co? ;P

FeniksFire PW
26 grudnia 2016, 21:09
Hmm, jako że jestem leniwy co niestety muszę potwierdzić, dawno nic nie robiłem do heroesa, ten update miałem gotowy od tygodnia no ale cóż, świętowałem zamiast wstawiać :D. W każdym razie doszedł jeden przycisk który pozwoli podzielić jakikolwiek obrazek typu *.png z przezroczystym tłem na mniejsze części nie posiadając metadanej. W 90% przypadków powinno być wszystko ok. W 10% może się coś zwalić, wtedy należy tu to zgłosić.
Screenshot:
http://imgur.com/a/2F0lq
przycisk który doszedł to "Automatically generate metadata" i od razu przepraszam za złą nazwę, w domyśle ma on generować metadaną z podanego pliku, póki co dzieli tylko obrazki na pomniejsze części. Powinnien się więc nazywać "Divide image without metadata". Wrzucę niedługo następny update który to poprawi, mam nadzieję w każdym razie że niedługo. Możemy zaznaczyć wiele obrazów poprzez przyciśnięcie Shifta lub klawiszu Ctr. Będzie dzieliło wedle podanej kolejności. I to by chyba było na tyle ;).

Link do programu został edytowany w pierwszym poście.

FeniksFire PW
8 sierpnia 2017, 21:27
Nic specjalnego, ale skoro już zrobiłem jakąś poprawkę dzięki prośbie @avatara to dam posta tutaj do nowej wersji:link

Dorobiłem na szybko opcję do zaznaczenia z tym że automatycznie podzielone klatki mogą mieć taką samą wysokość i szerokość a także poprawiłem trochę wykrywanie kolejności klatek żeby nie trzeba było się użerać z poprawnym nazewnictwem :).

Andruids PW
30 kwietnia 2023, 00:25
Trochę nekro, ale chciałem podziękować za ten program. Oszczędził mi wczoraj bardzo wiele bardzo żmudnej roboty. Jesteś wielki Feniksie.
temat: Heroes 3 HD - program do dzielenia spritów na klatki

powered by phpQui
beware of the two-headed weasel