Difference between revisions of "User:Caron/CTTutorial Japanese/Shader"
Jump to navigation
Jump to search
m |
|||
Line 1: | Line 1: | ||
− | mdl0/Shaders/ | + | mdl0/Shaders/Stageに関する情報です。テクスチャをゲーム上にどのようにフィルタリングして出力させるかの設定を行います。シェーダに関してはどのゲームにおいても複雑なため、他の事よりもシステムの理解に時間を要します。 |
− | |||
− | == TEV Fragment Sources== | + | ==TEV Fragment Sources== |
ColorSelection(A,B,C,D)におけるAの設定です。 | ColorSelection(A,B,C,D)におけるAの設定です。 | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 18: | Line 17: | ||
|- | |- | ||
| Texture Swap Selection | | Texture Swap Selection | ||
− | | | + | | テクスチャカラー、およびアルファの値をSwap先の順序に変更します。例えばRGBA→BRGAにしたりすることが可能です。普通はSwap0(RGBA->RGBA)で問題ありません |
|- | |- | ||
| Raster Color | | Raster Color | ||
Line 29: | Line 28: | ||
|- | |- | ||
| Raster Swap Selection | | Raster Swap Selection | ||
− | | | + | | ラスタのカラー、およびアルファの値をSwap先の順序に置き換えます。普通はSwap0(RGBA->RGBA)で問題ありません |
|} | |} | ||
==TEV Color Output== | ==TEV Color Output== | ||
− | ColorSelection(A,B,C,D) | + | ColorSelection(A,B,C,D)におけるBの設定です。テクスチャのRGB成分をどのようにフィルタするかを設定します。 |
{| class="wikitable" | {| class="wikitable" | ||
! 表記 | ! 表記 | ||
Line 39: | Line 38: | ||
|- | |- | ||
| Output Function | | Output Function | ||
− | | | + | | テクスチャの単位ピクセル毎にこの方程式を適用してゲーム上に出力を行います。区間は[0,1]になりますが、ゲーム上では255倍された値が表示されます。ほとんどのシェーダにおいてはOperationがAdd、ClampがTrueとして、<br>'''''Output=clamp[d+{(1-c)*a+c*b+バイアス}*倍数]''''' (0≦Output≦1)<br>が用いられます。 |
|- | |- | ||
| Constant Selection | | Constant Selection | ||
Line 48: | Line 47: | ||
| Selection A | | Selection A | ||
| Outputの方程式のaに相当する部分です。 | | Outputの方程式のaに相当する部分です。 | ||
− | * OutputColor…直前に出力したOutputColorの値(= | + | * OutputColor…直前に出力したOutputColorの値(=上階層のステージの出力値)を使用します。Stage2以降で使用可能で、Stage1においてDestinationがOutputColorでないか、またはStage1で使用した場合、値はZeroと同じに扱いになります。 |
− | * OutputAlpha…直前に出力したOutputAlphaの値(= | + | * OutputAlpha…直前に出力したOutputAlphaの値(=上階層のステージの出力値)を使用します。Stage2以降で使用可能で、Stage1においてDestinationがOutputAlphaでないか、またはStage1で使用した場合、値はZeroと同じに扱いになります。 |
* Color0~Color2…OutputColorと基本的に同じですが、こちらは初期値をMaterialのShade Color Blockで指定できるため、Stage1で使用ができます。 | * Color0~Color2…OutputColorと基本的に同じですが、こちらは初期値をMaterialのShade Color Blockで指定できるため、Stage1で使用ができます。 | ||
* Alpha0~Alpha2…OutputAlphaと基本的に同じですが、こちらは初期値をMaterialのShade Color Blockで指定できるため、Stage1で使用ができます。 | * Alpha0~Alpha2…OutputAlphaと基本的に同じですが、こちらは初期値をMaterialのShade Color Blockで指定できるため、Stage1で使用ができます。 | ||
Line 55: | Line 54: | ||
* TextureAalpha…テクスチャの透明部分をそのまま利用します。 | * TextureAalpha…テクスチャの透明部分をそのまま利用します。 | ||
* RasterColor…ラスタカラーを使用します(TEV Fragment Sources参照)。これと使用すると頂点カラーが有効になります。 | * RasterColor…ラスタカラーを使用します(TEV Fragment Sources参照)。これと使用すると頂点カラーが有効になります。 | ||
− | * | + | * RasterAlpha…ラスタアルファを使用します(TEV Fragment Sources参照)。これを使用すると頂点アルファが有効になります。 |
* One…白色(=1)を使用します。 | * One…白色(=1)を使用します。 | ||
* Half…灰色+半透明(=0.5)を使用します。 | * Half…灰色+半透明(=0.5)を使用します。 | ||
Line 99: | Line 98: | ||
ColorSelection(A,B,C,D)におけるCの設定です。アルファに関して設定を行いますが、基本的にTEV Color Outputと情報は同じです。 | ColorSelection(A,B,C,D)におけるCの設定です。アルファに関して設定を行いますが、基本的にTEV Color Outputと情報は同じです。 | ||
==TEV indirect Texturing== | ==TEV indirect Texturing== | ||
− | ColorSelection(A,B,C,D)におけるDの設定です。Indirect | + | ColorSelection(A,B,C,D)におけるDの設定です。Indirect Textureを使用している場合、この部分の設定が必要になります。各部分についての詳細は不明ですが、IndirectTextureを適用する場合はBias→STU、Matrix→Matrix0が設定されます。 |
+ | |||
+ | ==設定例== | ||
+ | <!-- | ||
+ | ===ef_dushBoard=== | ||
+ | ダッシュボードで使用されている構成です。ef_hpipeBoardも同様な構成を持っています。 | ||
+ | ===ef_seawater=== | ||
+ | ノコノコ岬などで使用されている構成です。a_water、a0_waterも同様な構成を持っています。 | ||
+ | ===Shadow=== | ||
+ | 影で用いられている構成です。Indirect Textureは使用されていません。 | ||
+ | --> |
Revision as of 08:58, 3 December 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 | テクスチャカラー、およびアルファの値をSwap先の順序に変更します。例えばRGBA→BRGAにしたりすることが可能です。普通はSwap0(RGBA->RGBA)で問題ありません |
Raster Color | どのラスタカラーを使用するか選択します。。
|
Raster Swap Selection | ラスタのカラー、およびアルファの値をSwap先の順序に置き換えます。普通はSwap0(RGBA->RGBA)で問題ありません |
TEV Color Output
ColorSelection(A,B,C,D)におけるBの設定です。テクスチャのRGB成分をどのようにフィルタするかを設定します。
表記 | 説明 |
---|---|
Output Function | テクスチャの単位ピクセル毎にこの方程式を適用してゲーム上に出力を行います。区間は[0,1]になりますが、ゲーム上では255倍された値が表示されます。ほとんどのシェーダにおいてはOperationがAdd、ClampがTrueとして、 Output=clamp[d+{(1-c)*a+c*b+バイアス}*倍数] (0≦Output≦1) が用いられます。 |
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の設定です。Indirect Textureを使用している場合、この部分の設定が必要になります。各部分についての詳細は不明ですが、IndirectTextureを適用する場合はBias→STU、Matrix→Matrix0が設定されます。