Sample using Blender

Creation of texture for TyprAAnimeShader with Blender
blenderを使ってTypeA Animeshader向けのテクスチャ作成をする場合の例

サンプルファイル / SampleFailes

TAAS_blenderFiles01.7z  Download

TAAS.blend
ToonGenerate.blend
Weight2vcolor.py

TAAS.blend

使用方法。
テクスチャを作成したいモデルのUV展開をしてこのマテリアルを指定。
テクスチャペイントモードで描画対象を画像にしてスロットで各画像を選択。
BaseColor / ShadowColor / HilightMap は好みの色で、
ShadowMap / Hilight_A は 白 / 黒 で書き込みます。

HilightMap以外は画像を保存して完成、
HilightMapはレンダリングする事でHilightMap_Aがアルファチャンネルに組み込まれます。

blender本体の保存と各画像の保存は別扱いなので、各画像の保存を忘れないようにしてください。

sphereにはアウトライン表示用の厚み付けモデファイヤ・専用のマテリアル(ノード使用)がセットしてあり、3Dビューの裏面の非表示にチェックしてあります。
頂点グループと頂点カラーが作ってありWeight2vcolor.pyが読み込んであるのでこちらも参考にして下さい。
ペイント時に厚み付けが邪魔になるので表示をOffにしてあります。

サンプルのSphereで試してみて下さい。

  1. TypeAAnimeShaderのinspector内プロパティに相当する部分を纏めたフレームで、unity/blenderで設定を同じにする事でほぼ同等の描画状態になります。
  2. HilightMap作成時に合成途中を見れる方が作りやすかったので出力を3通りに切り替え出来るようにしてあります。
    出力のいずれかを右クリックでアクティブすると、その出力に切り替わって描画されます。
    上から、最終結果 / Toon適用 / hailightMapのAlpha(出現エリア設定)適用
  3. コンポジットノードにHilightMap(rgb)とHilightMap_A(a)を一つの画像にして出力するように設定してあるので、レンダリング(F12)するとhilightmapが出力されます。
    ここで出力するテクスチャのサイズを設定します。
  4. テクスチャモードに切り替えて書き込みします。
  5. 画像から保存や再読み込みなど。
    blender本体の保存と各画像の保存は別扱いなので、各画像の保存を忘れないようにしてください。

ToonGenerate.blend

TypeAAnimeShaderやその他のToon用テクスチャをBlenderで簡単に作成するサンプルです。
blenderのノードでtoon設定した場合カラーランプを使用する事が多いですが、
そのカラーランプの状態をそのままテクスチャに出力します。

  1. TypeAAnimeShaderのinspector内、BaseColor / ShadowColor / Toon / Lighting Direction に相当する部分です。
    Lightingのノードのつなぎを変更する事でTypeAAnimeShaderのLightingMode View / Light と同等の切り替えができます。
    ライトはhemiライトが配置してあります。
  2. このマテリアルに設定してあるblendテクスチャのカラーランプを調整してtoonを作成します。
    このカラーランプの状態がそのままテクスチャに出力されます。
  3. 出力した画像を適用する場合、その画像を使用したテクスチャを作成すれば、ここで選択してBlendと切り替えて表示出来ます。
    画像で1の部分のblendと見えている部分と対応しています。
  4. blendテクスチャなど生成テクスチャは通常リアルタイムでは表示されません。
    レンダリングモードをレンダーに変更する事でリアルタイムで変化を確認しながらtoonの作成が可能です。
    作成した画像を確認する場合、保存・再読み込みして3の所で切り替える事で確認出来ます。
    この場合はレンダリングモードはマテリアルやテクスチャでOKです。
  5. 画像から保存や再読み込みなど。
    blender本体の保存と各画像の保存は別扱いなので、各画像の保存を忘れないようにしてください。
  6. コンポジットノードにカラーランプの状態がそのまま出力されるように設定してあるので、レンダリング(F12)すると画像として出力されます。

Weight2vcolor.py

モデファイヤの厚み付けでリバースポリゴンのアウトライン表示が可能ですが、この時頂点グループを指定する事でモデファイヤの効果を調整出来ます。
これを利用してアウトラインの太さ制御を簡単に行えます。
(モデファイヤの設定はTAAS.blend内参照)
この時利用するウェイト値をTypeAAnimeShaderで利用する為に、頂点カラーのR成分に書き込むスクリプトです。