#author("2026-05-08T15:33:12+09:00","default:admin","admin") #author("2026-05-09T10:03:17+09:00","default:admin","admin") *シェーダー [#n33491b3] ここでは各シェーダーの説明を記載します。 シェーダーは表現したいものに合わせて変更する必要がありますので、 こちらの説明やサンプルデータを参考に、自分の求める表現に設定していきましょう。 #contents **機能説明 [#l163ad6d] *** ''2dmap_skybox'' [#v1f11f58] バックグラウンドマテリアルとして使用したい場合に設定します。 このシェーダーを選択したマテリアルは「レンダリング設定>バックグラウンドマテリアル」で選択可能となります。 #ref(2dmap_skybox.png) #br *** ''a_n'' [#n3c50f3f] 物理ベースシェーディングを用いたシェーダーで、 アルベドマップ、ノーマルマップ、ハイトマップが設定可能です。 #ref(a_n.png) #br ***ハイトマップ [#rc718315] グレースケールのテクスチャを設定することで、平らな面に疑似的な高低差(視差マッピング)をつけられます。 テクスチャの白い部分が「盛り上がり」、黒い部分が「へこみ」として見えるようになります。 ハイトマップに関するシェーダーパラメータは「ハイトスケール」「視差タイプ」「ハイトマップ反転」があります。 ''&color(red){(!)};''視差マッピングは疑似的に高低差を表現するものです。 カメラの視点移動やハイトマップの設定によっては破綻をきたすことがあります。 -''ハイトスケール'' 凹凸の深さを設定します。(0~0.1) 値を大きくするほど凹凸は深くなりますが、視点を動かした場合に破綻しやすくなります。 -''視差タイプ'' --''None'' 視差マッピングをオフにします。 --''Parallax'' 簡易な手法で視差を表現するタイプです。 処理負荷が軽い代わりに、ハイトスケールを深くしたり、視点移動による破綻が起こりやすくなります。 自己遮蔽はできません。 壁の表面の小さな起伏など凸凹が浅い面で効果を発揮します。 --''Parallax_Occlusion'' 視点移動を行っても破綻しにくく、自己遮蔽も可能なタイプです。 ただし処理負荷は重くなります。 石畳やレンガの壁といった凹凸が深い面で効果を発揮します。 -''ハイトマップ反転'' オンにすると通常と逆に、ハイトマップの白い部分を「へこみ」、黒い部分を「盛り上がり」として見えるようになります。 *** ''a_n_discard'' [#q327548d] 物理ベースシェーディングを用いたシェーダーで、 アルベドマップ、ノーマルマップ、ハイトマップが設定可能です。 また、アルベドマップのアルファチャンネルを利用したアルファ抜き表現が可能です。 #ref(a_n_discard.png) #br ***''a_n_rm'' [#z649947e] 物理ベースシェーディングを用いたシェーダーで、 アルベドマップ、ノーマルマップ、マスクマップ、ハイトマップが設定可能です。 BAKINにおいて物理ベースシェーディングを用いる場合、推薦するシェーダーです。 #ref(a_n_rm.png) #br ***''a_n_rm_discard'' [#d9eb9721] 物理ベースシェーディングを用いたシェーダーで、 アルベドマップ、ノーマルマップ、マスクマップ、ハイトマップが設定可能です。 また、アルベドマップのアルファチャンネルを利用したアルファ抜き表現が可能です。 #ref(a_n_rm_discard.png) #br ***''a_n_rm_sss_discard'' [#y44a88fd] 物理ベースシェーディングを用いたシェーダーで、 アルベドマップ、ノーマルマップ、マスクマップ、ハイトマップが設定可能です。 また、アルベドマップのアルファチャンネルを利用したアルファ抜き表現が可能です。 加えて、SSS(Subsurface Scattering)マスクマップを使用することで、光の透過表現が可能です。 #ref(a_n_rm_sss_discard.png) #br ***''a_n_rm_wind_discard'' [#re223151] 物理ベースシェーディングを用いたシェーダーで、 アルベドマップ、ノーマルマップ、マスクマップ、ハイトマップが設定可能です。 また、アルベドマップのアルファチャンネルを利用したアルファ抜き表現が可能です。 加えて、風で揺らすような表現を設定することができます。 地面に生える草で使用する場合は「Y=0を固定するかどうか」をオンにしてください。 詳しくは[[制作Tips:https://rpgbakin.com/pukiwiki/?%E5%88%B6%E4%BD%9CTips#a823e5c6]]をご覧ください。 #ref(a_n_rm_wind_discard.png) #br ***''a_n_wind_discard'' [#i2c383e1] 物理ベースシェーディングを用いたシェーダーで、 アルベドマップ、ノーマルマップ、ハイトマップが設定可能です。 また、アルベドマップのアルファチャンネルを利用したアルファ抜き表現が可能です。 加えて、風で揺らすような表現を設定することができます。 地面に生える草で使用する場合は「Y=0を固定するかどうか」をオンにしてください。 詳しくは[[制作Tips:https://rpgbakin.com/pukiwiki/?%E5%88%B6%E4%BD%9CTips#a823e5c6]]をご覧ください。 #ref(a_n_wind_discard.png) #br ***''character_create_hair'' [#tc5278d4] 特殊なシェーダーで、BAKINサンプルキャラモデルで使用している、 キャラクター用髪シェーダーです。 頂点カラーとパラメーターの髪の色をオーバーレイ合成します。 #ref(character_create_hair.png) #br ***''character_create_skin'' [#c419aa23] 特殊なシェーダーで、BAKINサンプルキャラモデルで使用している、 キャラクター用肌シェーダーです。 頂点座標から目や口などのパーツをパラメーターを元に配置します。 #ref(character_create_skin.png) #br ***''cubemap_skybox'' [#b2d3efe8] .hdr形式のテクスチャを用いたバックグラウンドマテリアルを設定します。 このシェーダーを選択したマテリアルは「レンダリング設定>バックグラウンドマテリアル」で選択可能となります。 #ref(cubemap skybox.png) ***''decal'' [#r8ffa995] 特殊なシェーダーで、2Dイメージを地形や3Dモデルに投影できるようにします。 ハイトマップを使うことで凹凸のあるデカールも作成できます。 #ref(シェーダー_decal.png) #br -'' レンダリングタイプ '' Opaque(α抜き無し)、Cutoff(α部分をカット)、AlphaBlendが選べます。 -'' スクリーン法線を使用する'' オンにすると、貼り付けている対象の法線の影響を受けるようになります。下記の画像右側がオンの状態です。 #ref(./Use_Screen_Normal.png,80%) #br -'' 許容角度'' -1~1の間で数値を設定できます。基本的に0で構いません。 |1|完全に同じ向きの面だけ表示されます。貼り付けられない箇所が出てくるケースがあります。| |0|裏を向いていなければ表示されます。| |-1|無条件ですべての面に書き込まれます。テクスチャを伸ばしてでも貼り付けます。| ***''glass'' [#rdb482cf] ガラスのような質感を表現します。 #ref(glass.png) #br ***''map'' [#m628fa0f] 非物理ベースレンダリングのシェーダーを物理ベースに拡張したものです。 カラーテクスチャが設定可能です。 #ref(map.png) #br ***''map_discard'' [#a3127a5a] mapシェーダーをベースに、アルファ抜き(非半透明)をします。 葉の表現などに使用できます。 #ref(map_discard.png) #br ***''map_nolit'' [#zfa76630] ライティングを行わず、環境マップも適用されない、テクスチャの色のままが表示されるシェーダーです。 不透明として描画されます。 #ref(map_nolit.png) #br ***''map_nolit_add'' [#ea2a58da] ライティング、環境マップの適用を行わず、テクスチャの色のまま加算(add)でブレンドされます。 半透明として描画されます。 #ref(map_nolit_add.png) #br ***''map_nolit_alpha'' [#n17b9c69] ライティング、環境マップの適用を行わず、テクスチャの色のままテクスチャのアルファ値で合成されます。 半透明として描画されます。 #ref(map_nolit_alpha.png) #br ***''map_nolit_discard''' [#l55d6bd5] map_nolitシェーダーをベースに、アルファ抜き(非半透明)をします。 不透明として描画されます。 #ref(map_nolit_discard.png) #br ***''map_nolit_modulate'' [#c208b110] ライティング、環境マップの適用を行わず、テクスチャの色のまま乗算(modulate)でブレンドされます。 半透明として描画されます。 #ref(map_nolit_modulate.png) #br ***''map_notex'' [#tc143aac] テクスチャを用いず、頂点カラーだけでポリゴンを表示します。 物理ベースのシェーディングを行います 不透明として描画されます。 #ref(map_notex.png) #br ***''map_terrain'' [#nbec3413] 地形と同じように描画されます。 マップエディターのコンテキストメニュー「モデル出力」を使って出力したモデルをスタンプとしてマップに配置した際、地形と見た目を合わせる際に利用できます。 #ref(map_terrain_JP.png) #br ***''map_wind_discard'' [#x5c7630a] map_discardに、風による頂点アニメーションを追加したシェーダーです。 地面に生える草で使用する場合は「Y=0を固定するかどうか」をオンにしてください。 詳しくは[[制作Tips:https://rpgbakin.com/pukiwiki/?%E5%88%B6%E4%BD%9CTips#a823e5c6]]をご覧ください。 #ref(map_wind_discard.png) #br ***''toon/toonVRM/toonVRM0X'' [#ob6b06e1] 陰影がはっきりしたセルルック風の描写を行います。 使用するモデルに応じてシェーダーを切り替えてください。 -''toomVRM'' VRM1.0以降のモデル用のtoonシェーダーです。 -''toomVRM0X'' VRM0.xのモデル用のtoonシェーダーです。 -''パラメータ'' 各パラメータ名の後の()は特定のtoonシェーダーにのみ存在するパラメータであることを表します。 何もついていないパラメータは全てのtoonシェーダーに存在します。 --''レンダリングタイプ'' マテリアルが不透明か半透明かどうかを設定します。 |''Opaque''|不透明。透明な部分がない固形のオブジェクトに適しています。| |''Cutoff''|不透明。不透明と透明な領域がはっきり分かれます。| |''Tranclucent''|半透明。現実世界でも透けているオブジェクトに適しています。深度の書き込みを行いません。| |''Tranclucent With Depth''|半透明。半透明のオブジェクト同士が重なった場合に手前のみ描画されます。深度の書き込みを行います。| |''Translucent''|半透明。現実世界でも透けているオブジェクトに適しています。深度の書き込みを行いません。| |''Translucent With Depth''|半透明。半透明のオブジェクト同士が重なった場合に手前のみ描画されます。深度の書き込みを行います。| --''ブレンドタイプ''(toomVRM,toonVRM0X) 半透明使用時、ブレンド方法を指定します。 |''One''|テクスチャの色をそのまま使用します。テクスチャがプリマルチプライドである時などに有効です。| |''SrcAlpha''|テクスチャの色とアルファ値を考慮して使用します。テクスチャがプリマルチプライドでない時などに有効です。| --''Litマップ'' モデルの主たる色となるカラーマップを指定します。 --''Litカラー'' Litマップに対して設定したカラーが乗算されます。光が当たる部分の主たる色となります。 --''Shadeマップ'' モデルの影色の部分となる1影用のマップを指定します。 --''Shadeカラー'' Shadeマップにしたいして設定したカラーが乗算されます。光が当たらない影の色となります。 --''法線マップ'' 凸凹を規定する法線マップを指定します。 --''法線スケール'' 法線マップの適用度を変化させます。 --''トゥーン'' くっきりしたセルっぽい表現にと滑らかな陰影の度合いを指定します。 --''シェーディング位置'' 影部分の面積の広がりを指定します。 --''ライティングマスクテクスチャ''(toon) ライティングの結果をマスクして暗い部分を指定するためのテクスチャです。 --''ライティングマスクスケール''(toon) ライティングマスクテクスチャの適用度合いを指定します。 --''ライト彩度スケール''(toon,toonVRM0X) ライトを明度だけ使うか、色味も使うかを指定します。 --''ReceiveShadowマップ''(toonVRM0X) 外部から落ちる影(ライトの影)の影響範囲をテクスチャで制御します。影を受けたくない部分のマスクに使用します。 --''ReceiveShadowレート''(toonVRM0X) 影を受ける強さを調整します。値を下げるほど影の影響が弱くなります。 --''ShadingShiftマップ''(toonVRM) 主色と影色の切り替わる位置をテクスチャで調整できます。部位ごとに影の出かたを制御できます。 --''ShadingShiftマップスケール''(toonVRM) ShadingShiftマップの影響度を調整します。値が大きいほど影の境界の変化が強くなります。 --''ShadingGradeマップ''(toonVRM0X) 影のかかりやすさや強さをテクスチャで制御します。部分的に影を強く・弱くすることができます。 --''ShadingGradeレート''(toonVRM0X) ShadingGradeマップの影響量を調整します。値を上げるほど影の強弱がはっきりします。 --''エミッションマップ'' ライティングに影響されない一定な色を設定できます。レンダリング設定にてBloomを設定すれば光らせることができます。 --''エミッション'' エミッションマップに対して設定したカラーが乗算されます。 --''エミッション強度'' エミッションの適用度合いを指定します。 --''マットキャップ'' ライティング済みの球体画像を指定します。ライティングの影響を受けません。金属などの光沢を疑似的に表現することができます。 --''マットキャップ強度''(toon) マットキャップの適用度合いを指定します。 --''マットキャップカラー''(toonVRM) 環境光に依存しない疑似的なハイライト色を設定します。表面の向きに応じた光沢や質感を表現できます。 --''リムライトマップ'' モデルの輪郭が光ったように見えるリムライトを適用する部分を指定するテクスチャを指定します。背後から光が差し、輪郭が強調される表現ができます。 --''リムライトカラー'' リムライトの色を指定します。 --''リムライト強度'' リムライトの強度を指定します。 --''リムライトライティング混合'' リムライトの色を通常のライティングの色と混合する割合を指定します。 --''フレネル強度'' リムライトの鋭さを指定します。 --''リムライト位置'' リムライトの広がり度合いを指定します。 --''切り抜き閾値'' レンダリングタイプがCutoffの場合に切り抜くLitマップのアルファの最大値を指定します。 --''アウトラインタイプ'' アウトラインの描画タイプを選びます |''World''|ワールドに対して一定幅のアウトラインを描画します。| |''Screen''|スクリーンに対して一定幅のアウトラインを描画します。| --''アウトライン幅マップ'' アウトラインの幅をテクスチャの明暗で調整することが出来ます。 --''アウトラインスケール最大距離''(toonVRM0X) カメラとの距離に応じたアウトライン太さの上限距離を設定します。遠距離での線の太さを安定させます。 --''アウトライン最大補正スケール''(toon) Worldタイプのアウトラインで遠距離にあるアウトラインがどの程度まで大きくしてもよいか設定します。 --''アウトラインライティング'' アウトラインカラーに本体のライティング結果を合成する割合を指定します。 --''アウトラインカラーモード''(toonVRM0X) アウトラインの色の決まり方を設定します。固定色またはライティングの影響を受ける色で描画できます。 --''UVアニメーションマスク'' UVアニメーションの影響を受けるかどうかをこのテクスチャで制御することが出来ます。 --''UV回転アニメ'' UVの回転アニメーションの速度を指定します。 --''UVスクロールアニメX''(toonVRM,toonVRM0X) テクスチャを横(U方向)にスクロールさせる速度を設定します。値に応じて流れるようなアニメーションを表現できます。 --''UVスクロールアニメY''(toonVRM,toonVRM0X) テクスチャを縦(V方向)にスクロールさせる速度を設定します。水面やエフェクトなどの動きを表現できます。 ***''transparent_normal_water'' [#o97818ca] 法線マップを使って水面を表現します。 背面描画結果を屈折表現に用います。 #ref(transparent_normal_water.png) #br -''透明度距離'' 水中のにごり度です。水面から透明度距離までかけて、次第に不透明度が増していきます。 #ref(透明度距離.png) -''合成距離'' 岸との接合部分の合成で透明度が0~1に変化する距離です。0だと接地部分がクッキリします。 #ref(不透明度距離.png) -''不透明度距離'' 「透明度距離」と「合成距離」がカメラ位置に対して無効になるまでの距離です。 この数値が高いほど、カメラを離しても「透明度距離」「合成距離」の効果が消えません。 #ref(合成距離.png) -''滝の落下速度'' このシェーダーをY方向にのびるメッシュに適用した場合、 滝のように上から下へ水が流れますが、その際の水面落下速度を設定します。 -''水の流れる方向'' 水の流れる方向を360度で指定します。