Difference between revisions of "User:Caron/CTTutorial Japanese/Shader"
Jump to navigation
Jump to search
Line 33: | Line 33: | ||
==TEV Color Output== | ==TEV Color Output== | ||
− | ColorSelection(A,B,C,D) | + | ColorSelection(A,B,C,D)におけるBの設定です。テクスチャのRGB成分をどのようにブレンドして出力させるかを決めます。アルファチャンネルはCで設定します。 |
{| class="wikitable" | {| class="wikitable" | ||
! 表記 | ! 表記 | ||
Line 39: | Line 39: | ||
|- | |- | ||
| Output Function | | Output Function | ||
− | | テクスチャの単位ピクセル毎にこの方程式を適用してゲーム上に出力を行います。基本的にOperationがAdd、ClampがTrueとして、<br>'''''Output=clamp[d+{(1-c)*a+c*b+バイアス}*倍数]'''''<br>が用いられます。SelectionA~Dはこの方程式に基づいて説明していきます。 | + | | テクスチャの単位ピクセル毎にこの方程式を適用してゲーム上に出力を行います。基本的にOperationがAdd、ClampがTrueとして、<br>'''''Output=clamp[d+{(1-c)*a+c*b+バイアス}*倍数]''''' (0≦Output≦1)<br>が用いられます。SelectionA~Dはこの方程式に基づいて説明していきます。 |
|- | |- | ||
| Constant Selection | | Constant Selection | ||
− | | | + | | SelectionA~Dの中で"ConstantColorSelection"を使用している場合、どのような定数を用いるかを選びます。なければ何も触らなくて大丈夫です。 |
− | * Constantx_y(x,y:数値。ただしx≦y)…x/y倍の定数を使用します。例えばConstant3_4は3/ | + | * Constantx_y(x,y:数値。ただしx≦y)…x/y倍の定数を使用します。例えばConstant3_4は3/4=0.750を定数として使用します。値が小さいほど暗くなりますが、(1-c)においては逆に明るくなっていきます。 |
− | * Constantz_UUU(z: | + | * Constantz_UUU(z:MaterialのConstant ColorのID、UUU:RGB,RRR,GGG,BBBなど)…ConstantColorブロックのRGB値に255で割った値を定数として用います。上よりも細かい値を指定でき、また色に応じて値を分けることが可能です。RRRやGGG、BBBはそのカラーブロックの一つの値のみ利用します。 |
|- | |- | ||
| Selection A | | Selection A | ||
| Outputの方程式のaに相当する部分です。 | | Outputの方程式のaに相当する部分です。 | ||
− | * | + | * OutputColor…直前に出力したOutputColorの値(=上階層のステージの色)を使用します。シェーダに複数ステージが存在する場合、Stage2以降のbかd、またはef_seaなどの両方で使用されます。Stage1においてDestinationがOutputColorでないか、またはStage1で使用した場合、値はZeroと同じに扱いになります。 |
− | * | + | * OutputAlpha…直前に出力したOutputAlphaの値(=上階層のステージにアルファ)を使用します。シェーダに複数ステージが存在する場合、Stage2以降で使用されます。Stage1においてDestinationがOutputAlphaでないか、またはStage1で使用した場合、値はZeroと同じに扱いになります。 |
− | * | + | * Color0~Color2…OutputColorと基本的に同じですが、こちらは初期値をMaterialのShade Color Blockで指定できるため、Stage1で使用ができます。 |
− | * | + | * Alpha0~Alpha2…OutputAlphaと基本的に同じですが、こちらは初期値をMaterialのShade Color Blockで指定できるため、Stage1で使用ができます。 |
− | * | + | * TextureColor…テクスチャの色をそのまま利用します。テクスチャを利用している限り、Shaderのステージにおけるいずれかのa~dの中には必ず1つ入れる必要があります。 |
* TextureAalpha…テクスチャの透明部分をそのまま利用します。 | * TextureAalpha…テクスチャの透明部分をそのまま利用します。 | ||
− | * RasterColor…ラスタカラーを使用します(TEV Fragment Sources参照) | + | * RasterColor…ラスタカラーを使用します(TEV Fragment Sources参照)。これと使用すると頂点カラーが有効になります。 |
− | * RasterAlpha…ラスタカラーのアルファ値を使用します(TEV Fragment Sources参照) | + | * RasterAlpha…ラスタカラーのアルファ値を使用します(TEV Fragment Sources参照)。これを使用すると頂点アルファが有効になります。 |
− | * One…白色( | + | * One…白色(=1)を使用します。 |
− | * Half…灰色+半透明( | + | * Half…灰色+半透明(=0.5)を使用します。 |
− | * | + | * ConstantColorSelection…Constant Selectionの値を使用します。 |
− | * Zero…黒色+透明( | + | * Zero…黒色+透明(=0)を使用します。 |
|- | |- | ||
| Selection B | | Selection B | ||
− | | | + | | Outputの方程式のbに相当する部分です。第三項でcとともに使用します。内容はSelectionAを参照してください。 |
|- | |- | ||
| Selection C | | Selection C | ||
− | | | + | | Outputの方程式のcに相当する部分です。第二項ではaと、第三項ではbとともに使用しますが、前者は反転値となります。内容はSelectionAを参照してください。 |
|- | |- | ||
| Selection D | | Selection D | ||
− | | | + | | Outputの方程式のdに相当する部分です。第一項で独立して使用します。内容はSelectionAを参照してください。 |
|- | |- | ||
| Bias | | Bias | ||
− | | | + | | 第2項以降に値の補正をします。 |
|- | |- | ||
| Operation | | Operation | ||
Line 87: | Line 87: | ||
|- | |- | ||
| Clamp | | Clamp | ||
− | | | + | | Outputの方程式に制限をかけます。万が一出力が0を下回ったり1以上になることを防ぐためにあるので、基本Trueをおすすめします。 |
|- | |- | ||
| Scale | | Scale | ||
− | | Outputの方程式に倍率をかけます。MultipleByXのXが大きいほどテクスチャが乗算されていきます(=明るくなる) | + | | Outputの方程式に倍率をかけます。MultipleByXのXが大きいほどテクスチャが乗算されていきます(=明るくなる)。逆にDivideBy2は除算を行います。 |
|- | |- | ||
| Destination | | Destination | ||
− | | | + | | 出力結果の保存先を参照します。OutputColorの場合、直前のOutputColorに上書きを行います。それ例外は各Color部分に保存します。単一ステージ、または複数ステージにおける最下層では必ずOutputColorにしてください。 |
|} | |} | ||
Revision as of 13:40, 30 November 2019
mdl0/Shaders/Stageに関する情報です。テクスチャをどのようにゲーム上に出力させるかの設定を行います。シェーダに関してはどのゲームにおいても複雑なため、他の事よりもシステムの理解に時間を要します(画像処理の分野を学んでいると理解が早くなります)。
尚、説明が間違っているところもあるかもしれません。
TEV Fragment Sources
ColorSelection(A,B,C,D)におけるAの設定です。
表記 | 説明 |
---|---|
Texture Enabled | テクスチャを使用するか否かを選択します。TrueでMapID先のテクスチャを使用し、Falseではテクスチャを使用しません |
Texture Map ID | 使用するテクスチャIDを選択します。 |
Texture Coordinates ID | コーディネートするテクスチャのID(UVマップID)を選択します。基本的にマップIDと同じものをを使用します |
Texture Swap Selection | 不明。ShadersのSwapModeTableから使用するものを選びますが、普通はSwap0で問題ありません |
Raster Color | どのラスタカラーを使用するか選択します。
|
Raster Swap Selection | 不明。Swap0のままで問題ありません。 |
TEV Color Output
ColorSelection(A,B,C,D)におけるBの設定です。テクスチャのRGB成分をどのようにブレンドして出力させるかを決めます。アルファチャンネルはCで設定します。
表記 | 説明 |
---|---|
Output Function | テクスチャの単位ピクセル毎にこの方程式を適用してゲーム上に出力を行います。基本的にOperationがAdd、ClampがTrueとして、 Output=clamp[d+{(1-c)*a+c*b+バイアス}*倍数] (0≦Output≦1) が用いられます。SelectionA~Dはこの方程式に基づいて説明していきます。 |
Constant Selection | SelectionA~Dの中で"ConstantColorSelection"を使用している場合、どのような定数を用いるかを選びます。なければ何も触らなくて大丈夫です。
|
Selection A | Outputの方程式のaに相当する部分です。
|
Selection B | Outputの方程式のbに相当する部分です。第三項でcとともに使用します。内容はSelectionAを参照してください。 |
Selection C | Outputの方程式のcに相当する部分です。第二項ではaと、第三項ではbとともに使用しますが、前者は反転値となります。内容はSelectionAを参照してください。 |
Selection D | Outputの方程式のdに相当する部分です。第一項で独立して使用します。内容はSelectionAを参照してください。 |
Bias | 第2項以降に値の補正をします。 |
Operation | Outputの出力方式を変更します。AddとSubtract以外はほとんど使われていません。
|
Clamp | Outputの方程式に制限をかけます。万が一出力が0を下回ったり1以上になることを防ぐためにあるので、基本Trueをおすすめします。 |
Scale | Outputの方程式に倍率をかけます。MultipleByXのXが大きいほどテクスチャが乗算されていきます(=明るくなる)。逆にDivideBy2は除算を行います。 |
Destination | 出力結果の保存先を参照します。OutputColorの場合、直前のOutputColorに上書きを行います。それ例外は各Color部分に保存します。単一ステージ、または複数ステージにおける最下層では必ずOutputColorにしてください。 |
TEV Alpha Output
ColorSelection(A,B,C,D)におけるCの設定です。アルファに関して設定を行いますが、基本的にTEV Color Outputと情報は同じです。
TEV indirect Texturing
ColorSelection(A,B,C,D)におけるDの設定です。詳細は不明ですが、BiasかMatrixの設定が変わっているのがだいたいです。