2022/06/10(金) [n年前の日記]
#2 [cg_tools] ImageMagickでスプライトシート画像を作成
blender で作業をして、512x512ドット、16枚の、雑魚敵っぽい感じのレンダリング画像が得られた。これを、64x64ドットにリサイズして、タイル状に並べて、1枚のスプライトシートにしたい。
以前作業した時は ImageMagick を使った気がする。日記を検索したら作業手順が見つかった。
_ImageMagick montage の覚書
magick montage で目的は果たせそう。
環境は、Windows10 x64 21H2 + ImageMagick 7.1.0-5 Q16 x64。
Lanczosアルゴリズム+アンシャープマスクで、64x64ドットに縮小しつつ、タイル状に8x2個並べる場合。
Cubicアルゴリズム+アンシャープマスクで、64x64ドットに縮小つつ、タイル状に8x2個並べる場合。
以前作業した時は ImageMagick を使った気がする。日記を検索したら作業手順が見つかった。
_ImageMagick montage の覚書
magick montage で目的は果たせそう。
環境は、Windows10 x64 21H2 + ImageMagick 7.1.0-5 Q16 x64。
Lanczosアルゴリズム+アンシャープマスクで、64x64ドットに縮小しつつ、タイル状に8x2個並べる場合。
magick montage -tile 8x2 -filter Lanczos -resize 62x62 -unsharp 10x5+0.7+0 -geometry +1+1 -background none render\*.png PNG32:spritesheet.png
Cubicアルゴリズム+アンシャープマスクで、64x64ドットに縮小つつ、タイル状に8x2個並べる場合。
magick montage -tile 8x2 -resize 62x62 -unsharp 10x5+0.7+0 -geometry +1+1 -background none render\*.png PNG32:spritesheet.png
- ImageMagick 7.x は、convert ではなく magick で実行する。
- -tile MxN で、タイル状にMxN個並べる。
- -filter xxxx で拡大縮小アルゴリズムが選べる。-filter Lanczos で Lanczosアルゴリズムを指定。
- -resize 62x62 で 62x62ドットに縮小。
- -unsharp 10x5+0.7+0 でアンシャープマスクをかける。
- -geometry +1+1 で、(1,1) の位置に配置。結果的に、64x64ドット、周囲に1ドットの隙間がある画像を作成。
- -background none で背景を透明にする。
- render\*.png で入力画像ファイルを指定。
- PNG32:spritesheet.png で出力画像ファイル名を指定。
- PNG32: をつけると、RGBA各8bitの画像になる。PNG32: をつけないと、利用している ImageMagick の種類によってはRGBA各16bitの画像になる。
◎ 成果物。 :
そんな感じで、64x64ドットの画像が並んだスプライトシートが得られたので一応アップロード。CC0 / Public Domain ってことで。何か使い道がありそうなら自由に使ってください。
フルカラー画像(RGBA各8bit)。
![spritesheet_lanczos.png](img/_2022/20220610_zako_enemy/spritesheet_lanczos.png)
_spritesheet_lanczos.png
GIMP 2.10.30 で読み込んで、アルファチャンネルを1bitにしたもの。レイヤー → 透明部分 → アルファチャンネルのしきい値、で調整した。
![spritesheet_alpha1bit.png](img/_2022/20220610_zako_enemy/spritesheet_alpha1bit.png)
_spritesheet_alpha1bit.png
EDGE2 1.16 dev015 で48色に減色、かつ、少しだけドット修正したもの。
![spritesheet_48col.png](img/_2022/20220610_zako_enemy/spritesheet_48col.png)
_spritesheet_48col.png
アニメGIFにしたもの。
![spritesheet_animegif.gif](img/_2022/20220610_zako_enemy/spritesheet_animegif.gif)
レンダリング画像(512x512、16枚)。
_render.zip
元のblenderファイル(.blend)も一応置いときます。blender 2.93.9 x64 LTS で作成。
_enemytypec02_lowpoly.zip
フルカラー画像(RGBA各8bit)。
![spritesheet_lanczos.png](img/_2022/20220610_zako_enemy/spritesheet_lanczos.png)
GIMP 2.10.30 で読み込んで、アルファチャンネルを1bitにしたもの。レイヤー → 透明部分 → アルファチャンネルのしきい値、で調整した。
![spritesheet_alpha1bit.png](img/_2022/20220610_zako_enemy/spritesheet_alpha1bit.png)
EDGE2 1.16 dev015 で48色に減色、かつ、少しだけドット修正したもの。
![spritesheet_48col.png](img/_2022/20220610_zako_enemy/spritesheet_48col.png)
アニメGIFにしたもの。
![spritesheet_animegif.gif](img/_2022/20220610_zako_enemy/spritesheet_animegif.gif)
レンダリング画像(512x512、16枚)。
_render.zip
元のblenderファイル(.blend)も一応置いときます。blender 2.93.9 x64 LTS で作成。
_enemytypec02_lowpoly.zip
[ ツッコむ ]
以上です。