BF2StaticMesh2・BundleMesh・SknMeshテクスチャ効果 ↑
BF2_StaticMesh2 ↑
| 層 | 適切と思われるフォーマット | レイヤー効果 | 補足 | ch |
| NCrack | DXT1(No Alpha) | Bumpオーバーレイ | フィルタ「NormalMapFilter」適用後の画像を使用する事が前提 | 4 |
| Crack | DXT5(Interpolated Alpha) | 通常 | アルファチャンネル有効 | 4 |
| Dirt | DXT1(No Alpha) | 乗算 | 3 | |
| NDetail | DXT1(No Alpha) | Bumpオーバーレイ | フィルタ「NormalMapFilter」適用後の画像を使用する事が前提 | 2 |
| Detail |
DXT1(No Alpha) DXT5(Interpolated Alpha) |
オーバレイらしい |
アルファチャンネルはColormapGrossテクスチャ として扱われています |
2 |
| Base |
DXT1(No Alpha) DXT1(1 bit Alpha) |
通常 | 1 |
注:表示優先順に並べています。BF2StaticMesh2の場合NCrackが一番上層になっています。
NDetailの上層にCrackがあるのに注意してください。
最大4チャンネルのマップチャンネルが必要です。各々は対応したマップチャンネルで独立したUVを設定できます。
層に対応したマップチャンネルを3dsMax上で設定していない場合、出力は失敗します。
すべての要素を設定する必要は無く、たとえばBaseのみでデーターを出力しても問題ありません。
BF2_BundledMesh ↑
| 層 | 適切と思われるフォーマット | レイヤー効果 | 補足 | ch |
| Normal | DXT1(No Alpha) | Bumpオーバーレイ | フィルタ「NormalMapFilter」適用後の画像を使用する事が前提 | 1 |
| Shadow | DXT1(No Alpha) | 乗算 | 1 | |
| Color |
DXT1(No Alpha) DXT1(1 bit Alpha) DXT3(Explicit Alpha) DXT5(Interpolated Alpha)
|
通常 | アルファチャンネル有効 | 1 |
注:表示優先順に並べています。BF2BundledMeshの場合Normalが一番上層になっています。
BF2StaticMesh2と違いマップチャンネルを複数持つと正常に出力されません。
必ず単一マップチャンネルで出力してください。
Normal、Shadow、Colorすべてのスロットはチャンネル1のUVを継承しています。
<GMAXのBF2_BundledMeshについて>
GMAXでは全てのスロットにテクスチャを必ず割り当ててください。
detail効果が必要ないときでもdetailスロットにはR128G128B128の32*32でフィルタ「NormalMapFilter」適用後のDDSテクスチャを割当てるなどしてください。
Shadow効果が必要ないときでもShadowスロットにはR255G255B255の32*32のDDSテクスチャを割当てるなどしてください。
これらの処理を行わない場合、インゲームで黒い正体不明の影やテクスチャ表示の異常がでてきます。
各補足 ↑
<シェーダーの使い分け>
BF2StaticMesh2は静的な移動しないオブジェクトに使用します(建物や標識、岩など)
BF2BundledMeshは動的なオブジェクトに使用します(破壊できる橋。プレーヤーが操縦する車や飛行機、銃など)
<ノーマルマップを作るコツ>
「R:128 G:128 B:128 」をベースに白黒で凸凹を作る。480*480の画像の場合
ボケ幅は1Pixel未満が目に見えて効果が得られる(メカの筋彫りやリベット等はボケ無しで良い)
0or256でタイルの継ぎ目部分の凹凸を64〜192でやや低めの高さの凹凸を壁の素材的ザラザラ感などに利用する。
画像は二値的にすると良い。シャープなエッジを利かすためにフォトショップ等で「1pixelの鉛筆」で描画作業すると良いです。
フィルタ適用後のノーマルマップイメージは十分参考になるので一度目を通すと良いでしょう。
<tips>
Crackはレイヤー優先順位的にDirt以下を覆い隠すので(NDetailも覆い隠すのに注意)
ステッカーやポスター、目立つひび割れ等に利用すると良い。
また、UV配置は個別のチャンネルID毎にできるのでうまく利用するとテクスチャ画像を節約できる。
マテリアル属性の各機能と割り当て方 ↑
マテリアルネームに以下の名前を付けるとそのメッシュに効果が得られます。
<補足>
下の例ではマテリアルに"Alpha"属性を加えている。
属性の後には好きな名前を加えても良い。たとえばマテリアルに
「Alpha_Spoke」という製作者に判別しやすい名前を付けても、エクスポーターは"Alpha"属性として出力する。
この場合の"Alpha"という単語は必ず最初に埋め込まれていなければならない。
「SpokeAlpha」などの名前の付け方では正常に出力されないので注意してください。
BF2BundledMesh属性 ↑
BF2_BundledMeshシェーダーの名前に適用すると良い属性。
主に乗物、破壊可能な建造物に使用する。
属性は重ねがけが可能です。複数属性をつなげるには「||」を使用します。
例えば「Alpha||Alpha_TestEnvMapColormapGloss」とすると
半透明+Color+鏡面反射光+環境マップと全ての属性を使いオブジェクトの質感を表現する事が可能です。
| Alpha |
Color+半透明表示 Colorスロットに設定したテクスチャのアルファチャンネルを使って 半透明表示します。 |
|
| Alpha_One |
Color+1bit透明表示 Colorスロットに設定したテクスチャの1bitアルファチャンネルを使って 透明表示します |
|
| Alpha_Test |
Direct3Dの「αテスト」半透明で描画します。簡単に説明するとZバッファによる描画順に依存しない半透明処理 詳しい記述はこちらhttp://www.platz.or.jp/~moal/colorkey.html で書かれているので参考に読んでみるのも良いと思います。 |
|
| ColormapGloss |
Color+ざらざらとした質感の鏡面反射光(Specularity)を加える。 注意:すべての属性に言えますがNormalMapを使用すると 必ず鏡面反射光が表示されるようになります。他の各属性に ColormapGlossが無いといって悲観する必要は無いでしょう。 Normalマップ使用時はつるつるした質感に変わります。 |
|
| EnvMap |
Color+環境マップ(Reflection) 環境マップの確認にはBF2Editorに設定が必要です。 以下の手順を実行してください。 BF2エディタのメインメニューから ”Compile > Envmaps > Create Default Envmaps" <補足>NormalMapを併用しないと正常に表示されません。 たとえバンプが必要でなくてもダミーが必要です。 事実上、EnvMapColormapGlossと変わらなくなってます。 描画処理速度に違いがあるのかもしれません。 |
|
| Cockpit | ||
| CockpitNoHemiLight | ||
| AnimatedUVColormapGloss |
戦車のキャタピラ部分等に使用する。 前進することでUV座標がスクロールアニメーションする事を利用して キャタピラが動いているように見せる。 |
|
| AnimatedUVAlpha_TestColormapGloss | 上記にアルファが加わる。 | |
| AlphaNoHemiLight | ||
| AlphaEnvMap | ||
| Alpha_TestColormapGloss |
正常に機能させる為、マテリアルアルファの接続が必ず必要です。 Color+鏡面反射光(アルファマスク処理) 使用頻度が高そうな設定です。 <補足>マテリアルネームを「myMaterial_alphaAlpha_TestColormapGloss」 にするとColorスロットに設定したテクスチャのアルファチャンネルを使って 鏡面反射光をマスクします。 |
|
| Alpha_TestEnvMapColormapGloss |
正常に機能させる為、マテリアルアルファの接続が必ず必要です。 Color+「鏡面反射光+環境マップ」(アルファマスク処理) <補足>マテリアルネームを「myMaterial_alphaAlpha_TestEnvMapColormapGloss」 にするとColorMapのアルファチャンネルを使ってマスク処理が可能となります。 |
|
| EnvMapColormapGloss |
Color+鏡面反射光+環境マップ <補足>車のホイールや鏡等に利用すると良い感じの質感が得られそう。; |
|
| AlphaColormapGloss |
Color+ざらざらとした質感の鏡面反射光+半透明表示 Colorスロットに設定したテクスチャのアルファチャンネルを使って 半透明表示します。 |
BF2StaticMesh2属性 ↑
BF2_StaticMesh2シェーダーの名前に適用すると良い属性。
主に建造物に使用する。
| Base | |
| BaseDetail | |
| BaseDetailDirt | |
| BaseDetailNDetail | |
| BaseDetailDirtNDetail | |
| BaseDetailCrackNDetailNCrack | |
| BaseDetailNDetailparallaxdetail | |
| BaseDetailDirtCrackNDetailNCrack | |
| BaseNDetail | |
|
|
Colorスロットに設定したテクスチャの1bitアルファチャンネルを使って 透明表示します この処理はインゲームでは正常に行われません。エクスポータにバグがありました |
| Alphatest |
Color+1bit透明表示 Colorスロットに設定したテクスチャの1bitアルファチャンネルを使って 透明表示します |
SknMesh属性 ↑
兵士、武器キット、ドロップキット、その他、特殊な用途に使用する属性。
3dsMAXの場合、BundledMeshに使用する。
| tangent | |
| Alpha_Test | |
| Oil_pump_Texture_Tangent | |
| ghillie_tangent_alpha_testAlpha_Test | |
| Pilot_tangent | |
| dropkit_tangent | |
| Mec_tangent | |
| ghillielod_ghillie_tangent_alpha_testAlpha_Test | |
| uskits_tangent | |
| tangent_alpha_test1Alpha_Test | |
| US_pilot_tangent | |
| dropkit_dropkit_tangent | |
| ske1:lod2_us_head_humanskin |
マルチマテリアルの出力 ↑
BF2_3dsmax_tools_2005年9月29日以降のバージョンにおいて
「Multi/Sub-Object」シェーダーによるマルチマテリアルの出力がサポートされています。
以下の例では3つの属性、Alpha、Alpha_TestColormapGloss、Alpha_TestEnvMapColormapGloss
の3つの属性をひとつのオブジェクトの各ポリゴンに割り当てています。
エクスポーターはこのデーターを正常に処理します。
マルチマテリアルはCol等のコリジョン(衝突判定)オブジェクトにも有効です。
添付ファイル:
