mieki256's diary



2012/07/29() [n年前の日記]

#1 [cg_tools] Texture Atlasについて調べてる

複数のpngファイル等を1つの画像に配置することで、GPUにとっては処理が楽になるらしいのだけど。そのへんの仕組み? 概念? を、 _Texture Atlas と呼ぶらしい。えてして、1つになった画像と、どこに何のテクスチャが配置されているのか記述したxml、とのセットで使う模様。

Flash の2Dフレームワークである Starling も、それをサポートしてるようで。

一応、GIMP等を使って手作業で画像を配置して、xmlも自分で打って、とかやっていけば目的は果たせるだろうけど、ぶっちゃけ面倒臭い。画像修正するたびに作り直しなんて途方に暮れる。ので、ツールがあるなら使ったほうが、はるかに便利だろうとは思う。

_TexturePacker - Create Sprite Sheets for your game! :

Texture Atlas 用の画像を作成できるツール。Windows/Mac/Ubuntu Linuxで動作する。Cocos2D,Starling,Unity等、様々なフレームワークに対応。それぞれに対応したxmlを出力してくれる、ということじゃないかと想像。

無料版と有料版があるように見えたので、無料版を試用してみたが、作業が圧倒的に楽になりそうだと感じた。

ただし、無料版は、Publish で画像出力した際に、画像の中に文字が書き込まれてしまうので、実際の開発作業には使えない。あくまで体験版の位置づけなのだと思う。

機能制限が無い有料版は、ライセンスが2千円台で購入できるそうで。言及しているblog記事を眺めた限りでは、この手のツールを欲してる人は軒並み購入してるように見えた。たしかに、得られるメリットを考えると、値段は安い。フツーはコレを買ってこの話は終わり、だろうと思う。

_What is a sprite sheet? - The Movie :

Texture Atlas についての説明動画、なのかな。分かりやすい。

_Texture Atlas Tools :

NVIDIAで公開されているツールらしいが…。Windows7 x64上にインストールしてみたけれど、ビューワと、コマンドラインで画像を連結出力するツールが入ってるみたい。

.taiファイルなるものを読み込むらしいが、エディタで開いてみたら、タブやスペースで情報が区切られたテキストファイルだった。

_Texture Atlas Maker - CodeProject :

Javaで作られたツールらしい。試用してみようかと思ったら、ダウンロード時に、サイトへのメンバー登録を要求された。そーゆーのは面倒臭い。試用は諦めた。

_bitorus - STAME - Simple Texture Atlas Map Editor :

Windows7 x64 上で動作確認してみた。どうやら手作業で各画像を配置していくツールらしい。
  • グリッドにスナップされない。カーソルキー+目視で配置するのはツライ。
  • 矩形領域を指定できるモードがあるらしいけど、ドラッグしても領域指定ができない。
  • exportしても、xml内に配置情報が全く出力されない。
おそらく、現在鋭意制作中のツールであろう予感。

_Sprite Sheet Packer :

Windows上で動作するツールらしい。
  • 画像ファイルをD&Dするとリストに登録される。
  • Image Padding は、余白をどれだけ取るかの指定。
  • Require Power of Two Output は、出力画像サイズを2のべき乗(128,256,512,1024等)にするか、という意味じゃないかと思うけど自信がない。
Image File に出力画像ファイル名を指定して、Build Sprite Sheet を押せば、画像と txtファイルが出力される。txtファイルは以下のようなフォーマット。
ball = 0 514 64 64
ball_red = 0 0 512 512
ball_red_small = 514 0 64 64
ball_red_small_2 = 580 0 64 64
chara = 514 66 64 64
chara2 = 0 580 64 64
おそらくは、元画像ファイル名 = x y w h が並んでいるのかな? たぶん。PerlやRubyでxmlに整形出力すれば、使えるのかもしれない。

各画像内の無駄な余白について、TexturePacker のようにトリミングしてくれる機能は無いので、リストに登録する前に、自分で無駄な余白を無くす等しておかないといけない。

_Texture Atlas Utilities | GIMP Plugin Registry :

GIMP用スクリプト。メニューの、画像 → Texture Atlas に項目が追加されるのだけど。Add Image Layers To Atlas... を選んでもエラーが出る。使い方がさっぱりわからない。

#2 [cg_tools] GIMP関係で気になるソレをメモ

_全レイヤーを画像サイズに合わせるor自動切抜きするスクリプト
_全レイヤーの表示位置をテキストファイルに出力するスクリプト

全レイヤーの、x,y,w,hが取得できるわけだから、GIMP上で Texture Atlas を作るスクリプトも書けそうな気もする。 ここまでは、既に、機能やスクリプトがあるのでOK。

ここは作らないといけない。配置する際に、画像サイズを2のべき乗単位に変更する処理も必要になるだろうか。

これは、既にスクリプトがある。

ここは作らないといけない。もしくは、GIMPスクリプトを修正して、xmlでも出力できるモードを追加するとか。

でも、Python + PIL 等で作ってしまったほうが楽そうな気もする。

塗りに関して気になるページ。 :

_マチュアアニメーションを安く制作するのを応援するページは

「串刺し塗り」というアプローチに、なるほどと思ったり。手描きアニメ制作時の作業効率向上に繋がりそう。そのままできる場面は少ないとしても、自動判定処理を盛り込んでいけばどうにか…。

もしかして、RETASあたりはそういうことが当たり前のようにできたりするんだろうか。気になって検索。 _昔はできた っぽい。

#3 [cg_tools] psdをレイヤー別にpngで保存する方法

_ImageMagickを使えばpsdファイルをレイヤー別に保存 できるらしい…。知らなかった。

Windows7 x64 + GIMP 2.6.11 で、複数のレイヤーを持ったpsdを保存して実験。ImageMagick の convert で変換。
convert hoge.psd -delete 0 fuga_%04d.png
複数の fuga_*.png が得られた。GIMPでレイヤーとして開いてみたが、透明度も残ってるように見える。素晴らしい。

と思ったが問題発見。全レイヤーに対して自動切り抜きをしたpsdで同じことをしたら、GIMPで開く際に、「画像サイズ外に描かれている変なpngだ」と警告されてしまった。Photoshop Elements 8.0 で psd を保存し直して試してみたけど、同じ結果に。どうやらあらかじめ、 _全レイヤーを画像サイズに合わせる 処理をしておかないといけない感じ。

GIMP + _Continuous Save なら、そういう問題は起きない模様。位置情報は消えるけど、レイヤー内の描かれている部分だけをpng保存してくれる。

その後少し調べてみたが、そもそも Photoshop Elements 8.0 でpsd保存すると、GIMP上で全レイヤーに自動切り抜きをかけた状態と同じになる。つまり、Photoshop Elements で保存したpsdに対してImageMagick でレイヤー別に保存すると、おかしなpngが出来てしまうのが確定、なわけで…。Photoshop しか持ってない人は、ImageMagick だけではレイヤー別に保存できないんじゃないかと思えてきたり。

_どうでもいいと思うよ: ImageMagickのPSDの扱い方 で詳細な実験結果が。どうやら各pngには、位置情報も含まれているらしい。それを取り出して位置合わせをすれば解決するらしいが、どう考えても面倒。

_image processing - Extract layers from PSD with ImageMagick, preserving layout - Stack Overflow に、気になるオプションが見つかった。
convert hoge.psd -set dispose Background -coalesce -delete 0 fuga_%04d.png
これなら、警告が出ないフツーのpngに変換できた、ような気がする。オプションの意味はさっぱりわからないけど。

でも、やっぱり、GIMP + _Continuous Save + _全レイヤーを画像サイズに合わせる 、を使ったほうが楽かな。 そんな感じだろうか。

#4 [cg_tools] GIMPのパターンファイルを少し増やしてみたり

_PhotoshopのパターンをGIMPで開くプラグイン | Eglantyne2 画像遊び
_Photoshop Pattern Loader Binaries for Microsoft Windows | GIMP Plugin Registry
_鉄とGIMP >> Blog Archive >> 複数の画像からパターンを一括作成(Script-Fu)

参考にして、PhotoshopのパターンファイルをGIMPのパターンファイルに変換。

_Free Patterns for Photoshop or Gimp | texturemate.com - Free Textures, Brushes, Patterns, and Design Articles!
いくつかDLさせてもらって、変換のテストを。…当初、GIMPでもそのまま使えるpatファイルなのかと思ったら、そんなことはなかったわけで。なので、このあたりの実験を。

以上、1 日分です。

過去ログ表示

Prev - 2012/07 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project