CharaCombine

画像結合全パターン出力(立ち絵生成)ツール


■目次

概要
全体の流れ
パーツのファイル切り出し
オブジェクト追加
オブジェクト調整
イメージ調整
書き出し時のファイル名
トリミング設定
サイズ設定
出力設定
特定の要素無しを出力したい
複数のプロジェクト間での位置調整(オーバーラップイメージ)
バッチ処理
ファイル構造について
色漏れ対策と透明色の最適化
著作権


概要

このツールは、複数のパーツを1枚にまとめ、全パターンを出力するものです。
いわゆる「立ち絵」の作成にとっても便利なツールです。

単に結合するだけのツールなら他にもあると思いますが、このツールはトリミング機能が備わっており、最適なサイズを自動で導き出します。
また、「色漏れ対策と透明色の最適化」も自動的に行って出力します。

ファイル出力は、PNGおよびBitmap形式で、不透明度を付けて出力します。

ずらっと。


全体の流れ

出力までの流れは、

・Photoshopなりで必要なパーツをそろえる
・パーツ単位に切り出し、要素ごとにフォルダに分ける
・要素ごとにオブジェクトとして追加
・オブジェクトの座標調整
・トリミング設定
・出力設定
・書き出し

となります。


パーツのファイル切り出し

まずPhotoshopなどで、必要なパーツを用意しましょう。

例では、「Body」「Face」「Extention」の3要素から成り、それぞれの要素に1枚以上の画像差分があります
まずこれを、PNG(24Bit+8Bit)で全部出力して、素材をそろえます。

何も考えず、不要な透明部分も含めて保存しましょう。
そうすることで、Photoshop上の画像の位置関係をそのままツールに持ち込むことが出来るので便利です。
不要な透明部分は、後々ツール側が最適化してくれるので、この段階では余裕を持たせて大きく取ってもらって構いません。

パーツの保存は、要素ごとにフォルダに分けてやってください。
ツールで要素を読み込む際は、そのフォルダ指定することになります。

フォルダなのか身はこんな感じ。
このファイル名が出力時の要素ごとの名前に対応するので、この時点でどのような名前にするか決定しておいてください。
左上のファイルは、ツールが保存する位置情報ファイルなので今は関係ありません。


オブジェクトの追加

素材が揃ったところで、ツールを起動します。
起動した状態では何もない状態なので、まず要素となるオブジェクトを追加していきます。

■オブジェクトの追加

先ほどフォルダごとに分けて保存した「Body,Extention,face」の順に、3つのフォルダをフォームにドラッグアンドドロップして追加します。
扱える画像ファイルは「bmp,png,jpg」の3種類です。
見えない場合は倍率を下げてみてください。
視点移動は、「右クリックドラッグ、Space+マウスドラッグ」で行います。
右下の方に追加されていると思うので、右上のリストの「全体」を選んで、「ctrl+マウスドラッグ」で原点付近(緑のライン)に移動させてください。

こんな感じ。
原点ライン(緑)を表情の中央付近を通るようするようにしてください。
位置情報は、画像出力の時点で余分な透明部分で保持されているので、特に調整することなく、ちゃんとした配置になっていると思います。

青がオブジェクト単位のトリミング範囲、赤が出力時のトリミング範囲です。
オブジェクトが読み込まれる段階で、画像は不要な透明部分がトリミングされ最適化され、表示されます。
(元ファイルに変更は加わりません)


オブジェクトの調整

オブジェクトごとに座標や表示順を変えることが出来ます。
左上のオブジェクトリストから目的のオブジェクトを選択します。
そうすると、右の中央のタブの「オブジェクト」から編集が行えます。

■座標設定と名前設定

移動は「ctrl+マウスドラッグ」で行います。
細かい調整は「ctrl+方向キー」で行ってください。

名前は便宜上のものなので、特に決まりはなく、何でも構いません。

■表示順序

オブジェクトタブの座標の最後に「pri」があります。
これが表示優先度パラメータで、値が低いほど奥に、高いほど手前に表示されます。
これで、表示順をコントロールしてください。


イメージの調整

オブジェクトで保持されている各イメージ(画像)の座標や表示順を変えることが出来ます。
左上のオブジェクトリストから目的のオブジェクトを選択します。
次に中央のタブの「イメージ」を選んで、スライドバーから目的の画像を選択し、編集します。

■座標

移動は「alt+マウスドラッグ」で行います。
細かい調整は「alt+方向キー」で行ってください。

■表示順序

イメージ単位にも表示優先度を設定することが出来ます。
オブジェクトで設定した値にこの値が加算され、ソートされます。

■出力

このチェックを外すと、書き出し時にこのファイルが使われるパターンをスキップします。

■あたり表示

これは他の画像との位置関係を調整する場合に役立つ機能で、画面上にうっすらと表示させます。


書き出し時のファイル名

画面左上に書き出し時のファイル名が表示されます。

要素の順はオブジェクトリストの順序(上から)に対応しているので、要素を入れ替えて調整してください。
入れ替えはオブジェクトリストを右クリックしたメニューや、「shift+ctrl+Up/Down」からも行えます。


トリミング設定

自動トリミング方法の設定を行います。
このツールのトリミングアルゴリズムは少々特殊で、上下左右外側から、原点(緑のライン)に向けてトリミングが行われます。
このとき、原点(座標0)を超える場合は、それ以上範囲を詰めないようになっています。

この原理は、宙に浮いた立ち絵などに役立ちます。

■トリミング方法

トリミングは縦方向と横方向に2種類のトリミング方式を選択することが出来ます。

・最小範囲


いわゆる普通のトリミングです。
可能な限り小さい範囲になるようにトリミングします。

・中央位置を保持


立ち絵の際に大変役立つ機能です。
原点(緑のライン)が画像の中心になるように、上下、左右が均等な長さになるようにトリミングします。
一部の画像が一方に長く突き出したようなものでも中央位置をキープするので、センタリング表示の際に顔の位置がずれたりしません。

■ファイル単位でサイズを最適化する

書き出すファイル単位で、最適な範囲をトリミングします。
全てのファイルが内包される範囲でトリミングをしたい場合は、チェックを外してください。


サイズ設定

トリミング範囲を任意に指定することが出来ます。
主に画像の一部だけを抜き出す際に使用します。

この機能は、フェイスウインドウ用の画像や、表情サムネイルを抜き出す際に役立ちます。


出力設定

ファイルを書き出す際の設定を行います。

■ファイルを上書きする

変更の有り無しにかかわらず、ファイルを上書きします。
無効にすると、ファイルが存在しないものだけを出力します。

■形式

保存形式を設定します。
PNG(24bit+8bit)と、WindowBitmap(32bit)が選べます。

■ファイル名

書き出し時のファイル名を制御します。
ここで設定した内容は、フォームの左上にも反映して表示されます。

初期状態は「%all」で、オブジェクトリスト順に要素を「_」くっつけたものを出力します。
「%0,%1...」を使うことでより柔軟な命名規則が可能です。

・%all
オブジェクトごとに「_」で区切った文字列を返します。デフォルト。

・%0,%1,%2...
番号に相当するオブジェクトに置き換わります。存在しない番号を指定するとファイル出力に失敗するので注意してください。


複数プロジェクト間での位置調整(オーバーラップイメージ)

プロジェクトファイル間で位置調整を行う場合は、オーバーラップイメージ(あたり画像)を用いて下さい。
やり方は簡単で、あたり画像(bmp,png,jpg)をフォームにドラッグアンドドロップしてください。
ファイル名を「[プロジェクトファイル名]_overlap.png」とすれば、プロジェクトファイルが読み込まれたときに自動的に一緒に読み込まれます。

あたりとなる画像は、原点(緑の線画交差する場所)を中心に、上下左右センタリングされて表示されます。
1200x1200の画像の場合は「x、y=600,600」の位置がちょうど原点になります。
その原点に合わせて、想定するキャラの位置を決定して、作成して下さい。

サンプルには「test_overlap.png」が入っていますので、参考にして下さい。


バッチ処理

コマンドラインからプロジェクトファイルと出力フォルダを指定することで、バッチ処理が可能です。
あらかじめプロジェクトファイルをGUIにて用意しておく必要はありますが、複数のプロジェクトにまたがる書き出しをバッチファイル(*.bat)で自動的に処理することが出来ます。

起動時の引数を以下のように設定します。

CharaCombine [プロジェクトファイル] [出力先フォルダ]

(例)
CharaCombine SampleData\test.prj C:\Users\hogehoge\Desktop\output\

出力先フォルダが存在しない場合は自動的に生成されます。
権限が足りない場合はその限りではありません。


特定の要素無しを出力したい

一部の要素無しのファイルも出力させたいケースの対処法です。
このツールは登録したオブジェクト全てのパターンを出力するため、特定の要素(オブジェクト)が有るものと無いものを出力するような切り替えが出来ません。
そこで、完全な透明画像を用意することで、無しのパターンを生成します。
サンプルだと、感嘆符などの「Extention」が存在しない画像がこれにあたります。
「SampleData\Extention\none.png」が完全な透明画像なので、要素無しが欲しいオブジェクトにはこのファイルをフォルダにコピーしてください。


保存ファイル構造について

設定を保存するファイルについて言及したいと思います。
このツールが保存するファイルは3つあります。
拡張子は色々ですが全てテキストファイル(s-jis)です。

・Layout.txt
フォーム位置などが記憶されています。消すと初期化されます。

・*.prj
プロジェクトファイルです。
出力設定やオブジェクトの構成までを保存していますが、イメージ単位の情報は保存されていません。

・[オブジェクトのフォルダ]\CharaCombine.txt
オブジェクトを登録すると、そのフォルダに保存されます。
イメージ単位の情報が保存されています。

編集した情報は、意図的にプロジェクトファイルとCharaCombine.txtにわけて保存されます。
これは、表情の位置調整情報などは、複数プロジェクト間で共通して使用することが多いためで、同じフォルダを参照するプロジェクト間で共有されます。
共有して欲しくない場合は、同じフォルダを参照しないように、フォルダごと複製して別々に使用することで避けましょう。


色漏れ対策と透明色の最適化

・色漏れ対策

リニアフィルタなどの、近接ピクセルとの補間を用いるアルゴリズムの場合、透明部分の色が混じって輪郭が発生する現象があります。

不透明部分の色を膨張させることで、この現象に対処します。
ただし、完全透明でない場合(薄くドロップシャドウがある場合など)は、対策することが出来ないためこの現象が発生します。

・透明色の最適化

透明部分の色を塗りつぶすことで、ファイルの圧縮率を上げ、展開速度を速めます。

PhotoShop等からそのまま出力すると、見えない透明部分にも色情報が残っています。
これを塗りつぶすことで最適化します。


著作権・ホームページなど

Copyright (C) 2011 Ko-Ta All Rights Reserved.

本ソフトウェアならびに付属するサンプル等の著作権はKo-Taが有します。
プログラムの改ざんを禁止します。
著作権を侵害しない限り、再配布しても構いません。
使用時の報告の義務も発生しませんが、営利目的の製品で使用した際はネームクレジットを入れていただけれと幸いです(強制ではありません)

本ソフトウェアで発生した事故や賠償については一切責任を負いません。

・Name
Ko-Ta

・Homepage
http://d.hatena.ne.jp/Ko-Ta/