Blender2.79 頂点カラーと頂点アルファについて BlenderからFBX書き出しをしてUnityへ持っていく方法
ここでは、Blender2.79に頂点アルファの情報を持たせるためのアドオン(プラグイン?)の導入方法と使用方法について解説します。
ここでの目的
エフェクトの素材として、Blenderで作成したメッシュに対して頂点アルファ情報を持たせたい。
UnityでMaya・3dsMaxと同様の頂点アルファ情報を持ったメッシュを作成したい。
そもそもなぜ頂点アルファが必要なのか?
エフェクト制作では、モデル(Mesh)を加算か半透明で表示させることが多々あります。
モデルの表示は、モデル単体をパッと出すときや、モデル自身をパーティクルとして出すときもあります。
この時、モデルに対してテクスチャーを単純に貼っただけだと、メッシュの端がハッキリと見える状態になってしまいます。
この状態を解消するために頂点カラーや頂点アルファを使用します。
頂点カラーとは? 頂点アルファとは?
頂点カラーとは読んで字のごとく、各頂点にカラー情報(RGB)の値を持たせる機能です。
具体的には、図のように各頂点に赤や緑や黒など色を塗ることができます。
エフェクトの素材としては、色はグレースケールで塗ることが多いかと思います。
そして、加算表示する素材として使用します。
適当なPlaneにグレースケールで頂点カラーを塗って、
Unityで加算のマテリアルを適用させると、図のような見た目になります。
図:Blenderの頂点カラー
図:Unity上で加算マテリアルを適用した見た目
しかし、半透明表示できるマテリアルを適用すると
図のように頂点カラーで塗ったメッシュの際がただ黒く表示されるだけになります。
ここで、頂点アルファの登場です!
頂点アルファとは:こちらも読んだままの意味で、各頂点にアルファ情報(A)の値を持たせる機能です。
具体的には、図のように各頂点にアルファ情報をグレースケールで塗ることができます。
パッと見は、頂点カラーとやっていることは変わりません。
ただカラー情報をグレースケールで塗る必要があるというだけです。
白に近いほど不透明になり、黒に近づくほど透明になります。
これをUnity上で加算のマテリアル(Additve)で表示したものが図の内容になります。
そして、Unity上で半透明マテリアル(Alpha Blended)ので表示したものが図の内容です。
このように頂点アルファ情報を持たせることで、半透明描画でモデルの頂点に対して透明度の調整ができるようになります。
半透明モデルを使用する事で、ただ加算で明るく見せるだけの演出ではなく、発光しない厚みのあるエフェクトを作ることが出来ます。
進捗 水魔法:Splash
— KTK_kumamoto (@KTK_kumamoto) 2018年2月20日
パーティクル増やしたいけど、なるだけシンプルに。#unity3d #VFX pic.twitter.com/fMpoSViNnh
Blender2.79のアドオン導入方法
ここからはBlender 2.79に対して頂点アルファのアドオンの導入方法を解説します。
アドオンのデータを入手する
下記サイトよりアドオンを入手します。
https://forum.unity.com/threads/vertex-rgba-blender-2-5x.254038/
図のリンク先のダウンロードボタンで export_fbx.pyとvertexRGBA.pyをダウンロードします。
落としてきたデータは、Blender 2.5環境で作成されたものなのでBlender2.79で使用する場合は、
図の位置にあるzip(Blender fbx Alpha io.zip)をダウンロードして、export_fbx.py・export_fbx_bin.py・import_fbx.pyを使用します。
次に落としてきたexport_fbx.py・export_fbx_bin.py・import_fbx.py を所定の場所にコピーして上書きします。(この時動作が不安な人はバックアップとして、元あったexport_fbx.py・export_fbx_bin.py・import_fbx.pyをどこかに避難させてください)
C:\Program Files\Blender Foundation\Blender\2.79\scripts\addons\io_scene_fbx
次に落としてきたvertexRGBA.py を所定の場所にコピーします。
C:\Program Files\Blender Foundation\Blender\2.79\scripts\addons
次にBlenderを立ち上げてアドオンを有効にする
File > User Prefarences (ユーザー設定)を開く
①Add-onsのタブを選択、②検索窓にvertexと検索、③リストにPaint: Vertex RGBA、④Save User Settings
これでアドオンの導入が済みました。
ツールシェルフのウィンドウ内にVertex RGBA Paint Toolsが表示されます。
Vertex RGBA Paint Toolsの使用して頂点アルファを情報を持たせたFBXデータをUnityにもっていく方法
このツールを使用する時の注意点が、Col(RGB)情報の頂点カラー、_ALPHA(A)情報の頂点カラーの4チャンネルの情報を持った状態でエキスポートする必要がある事です。
加えてアルファ情報を持たせる_ALPHAのチャンネル名は、「○○_ALPHA」とすることと、2つ目の情報として持つ必要があります。(カラーのRGBチャンネル、その下に_ALPHAのアルファチャンネルとする)
これは、ツール制作者様の使用方法にもちゃんと明記されており見落とすと結構はまってしまいます。。
FBX書き出し時の設定も Version: FBX 6.1 ASCIIに変更する必要があります。
実際の頂点カラー、頂点アルファの塗り方を説明します。
・Planeを作成
・Vキーを押す。Vertex Paintモードに切り替える。
Vertex Colorのチャンネルが追加される。
・Vertex RGBA Paint ToolsのPaint on Alphaをクリック
Col_ALPHAのカラーチャンネルが追加される
・追加されたCol_ALPHAのチャンネルを選択していることを確認して、各頂点をグレースケールで塗る
・FBXで書き出す File > Export > FBX(.fbx)
・FBXの書き出し設定のVertionを Version: FBX 6.1 ASCIIに変更して書き出し。
・Unityにfbxをインポートしてシーンに配置
・マテリアルをMobile/Particles/Alpha Blendedに変更
・完成です!!
アドオン作成者様、情報を教えて頂きました「zanbarさん」ありがとうございました!
ぜんぜん分からないのでググってみました。https://t.co/6KainW1zF2
— zanbar (@zanbar3) 2018年2月23日
アドオンを入れ替えることで編集できるようになるのかも?です。
ぜんぜん違うことだったらごめんなさい。
- 作者: Benjamin
- 出版社/メーカー: ソーテック社
- 発売日: 2016/11/19
- メディア: 単行本
- この商品を含むブログを見る
- 作者: Benjamin
- 出版社/メーカー: ソーテック社
- 発売日: 2015/12/19
- メディア: 単行本
- この商品を含むブログを見る
Unity ゲームエフェクト入門 Shurikenで作る! ユーザーを引き込む演出手法 (Smart Game Developer)
- 作者: ktk.kumamoto
- 出版社/メーカー: 翔泳社
- 発売日: 2016/04/20
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る