11_1_main - gaj-cg/ray-mmd-docs-ja GitHub Wiki
11.Main
11-1.概要
MainフォルダにはMMEの「Main」タブ用のfxファイルが有ります。
このfxの機能はアルファテストによるピクセルの描画をする・しないを決定します。(アルファブレンド(半透明の描画)ではありません。)
また、追加機能として「MATCAP」があります。
下記の表はfxの中身ですが、Normal Map、Sub normap map の設定は Matcap を使用する時に有効になります。(通常は Alpha map の設定のみが使用される。)
| main.fx | main_ex_alpha.fx | main_ex_mask.fx | main_ex_noalpha.fx | main_ex_with_sphmap.fx | |
|---|---|---|---|---|---|
| Alpha map | ―― | ―― | ―― | ―― | ―― |
| #define ALPHA_MAP_FROM | 3 | 3 | 3 | 0 | 3 |
| #define ALPHA_MAP_UV_FLIP | 0 | ← | ← | ← | ← |
| #define ALPHA_MAP_SWIZZLE | 3 | ← | ← | ← | ← |
| #define ALPHA_MAP_FILE | "alpha.png" | ← | ← | ← | ← |
| const float alpha = | 1.0; | 1.0 | 1.0 | 65535.0 | 1.0 |
| const float alphaThreshold = | 0.999; | 1.1 | 0.01 | 0.01 | 0.999 |
| const float alphaMapLoopNum = | 1.0; | ← | ← | ← | ← |
| Normal map | ―― | ―― | ―― | ―― | ―― |
| #define NORMAL_MAP_FROM | 0 | ← | ← | ← | ← |
| #define NORMAL_MAP_TYPE | 0 | ← | ← | ← | ← |
| #define NORMAL_MAP_UV_FLIP | 0 | ← | ← | ← | ← |
| #define NORMAL_MAP_FILE | "normal.png" | ← | ← | ← | ← |
| const float normalMapScale = | 1.0; | ← | ← | ← | ← |
| const float normalMapLoopNum = | 1.0; | ← | ← | ← | ← |
| Sub normap map | ―― | ―― | ―― | ―― | ―― |
| #define NORMAL_SUB_MAP_FROM | 0 | ← | ← | ← | ← |
| #define NORMAL_SUB_MAP_TYPE | 0 | ← | ← | ← | ← |
| #define NORMAL_SUB_MAP_UV_FLIP | 0 | ← | ← | ← | ← |
| #define NORMAL_SUB_MAP_FILE | "normal.png" | ← | ← | ← | ← |
| const float normalSubMapScale = | 1.0; | ← | ← | ← | ← |
| const float normalSubMapLoopNum = | 1.0; | ← | ← | ← | ← |
| MATCAP | ―― | ―― | ―― | ―― | ―― |
| #define MATCAP_MAP_FROM | 0 | ← | ← | ← | 4 |
| #define MATCAP_MAP_UV_FLIP | 2 | ← | ← | ← | ← |
| #define MATCAP_MAP_FILE | "matcap.jpg" | ← | ← | ← | ← |
| const float matCapScale = | 1.0; | ← | ← | ← | ← |
| const float matCapMapLoopNum = | 1.0; | ← | ← | ← | ← |
11-2.Alpha map
alphaThresholdを閾値とした、アルファテストによるピクセルの描画をする・しないを決定します。
※各パラメータの設定値は 8_2_マテリアル_パラメータ と同じなのでそちらを参照してください。
| パラメータ | 概要 |
|---|---|
| ALPHA_MAP_FROM | アルファマップの参照元の指定 |
| ALPHA_MAP_UV_FLIP | アルファマップの反転 |
| ALPHA_MAP_SWIZZLE | アルファマップの参照チャンネル |
| ALPHA_MAP_FILE | アルファマップを直接指定する場合のファイルパス |
| alpha | アルファ値 |
| alphaThreshold | アルファの閾値 |
| alphaMapLoopNum | アルファマップの繰り返し回数 |
11-3.MATCAP(マットキャップ:Material Capture)
一般的には、事前にレンダリングした画像を使い、ライティングを行ったように見せるマテリアルです。ライティングの影響を受けずに、凹凸が把握ししやすいのでモデリング用途でよく使われます。
技術的には、MMDのスフィアマップと同じで、MMDと違う所は加算のみになります。
MATCAPが有効な場合、MATCAPに対してノーマルマップを有効にすることができます。
MATCAPを有効にするにはMATCAP_MAP_FROMに1以上を設定します。
※各パラメータの設定値は 8_2_マテリアル_パラメータ と同じなのでそちらを参照してください。
| パラメータ | 概要 |
|---|---|
| MATCAP | ―― |
| MATCAP_MAP_FROM | マットキャップの参照元の指定 |
| MATCAP_MAP_UV_FLIP | マットキャップのの反転 |
| MATCAP_MAP_FILE | マットキャップを直接指定する場合のファイルパス |
| matCapScale | マットキャップの倍率 |
| matCapMapLoopNum | マットキャップの繰り返し回数 |
| Normal map | ―― |
| NORMAL_MAP_FROM | ノーマルマップの参照元の指定 |
| NORMAL_MAP_TYPE | ノーマルマップのタイプ |
| NORMAL_MAP_UV_FLIP | ノーマルマップのの反転 |
| NORMAL_MAP_FILE | ノーマルマップを直接指定する場合のファイルパス |
| normalMapScale | ノーマルマップの倍率 |
| normalMapLoopNum | ノーマルマップの繰り返し回数 |
| Sub normap map | ―― |
| NORMAL_SUB_MAP_FROM | サブノーマルマップの参照元の指定 |
| NORMAL_SUB_MAP_TYPE | サブノーマルマップのタイプ |
| NORMAL_SUB_MAP_UV_FLIP | サブノーマルマップのの反転 |
| NORMAL_SUB_MAP_FILE | サブノーマルマップを直接指定する場合のファイルパス |
| normalSubMapScale | サブノーマルマップの倍率 |
| normalSubMapLoopNum | サブノーマルマップの繰り返し回数 |



