【完】TrainKit系列で使えるシェーダーを検証・作成する

  • 2016/01/20(水) 17:15:26

TrainKit系列で使えるシェーダーを検証する記事です。

趣旨:
シェーダー(影MOD。以下シェーダー)はMinecraftにおいて重要なコンテンツのひとつです。
それはRTMにおいても変わらず、都市開発勢等を中心にシェーダー利用者は少なくありません。
また、1つ導入するだけで様々な車両を作成可能なTrainKit(Takami347様のTakamiTrainKitやmeitetsu600VさんのFreeLocoシリーズ等)シリーズも、現在は隆盛を極めています(私の作品も殆どがTrainKitです)。

然しながら、TrainKit系列はデフォルトで様々なパターンに順応する為、車両によっては使用しない装備も多数搭載されており、シェーダーを利用するとこれらが背景に浮かび上がってしまいます。
例をとればパンタグラフは片エンドにつき4機(シングル関節A・シングル関節B・下枠交差・菱型)搭載されている場合が多く、通常そのうち1つを選んで使うことから、残る3機はシェーダーを利用した場合、背景に浮いて見えることになります。

これを解決する為に最適なシェーダを探そう!というのが当記事になります。
要するに、
『TrainKitを使っても余分なパーツが浮いて見えてこないシェーダーを探そう』
ということです。




2016/03/08更新:
Takami様の検証により、TrainKit系列でのパーツ浮き上がり回避策が発見されました。
対策としては、
『車両を定義するjsonファイルの内部から、テクスチャを呼び出す項目にある AlphaBrend項目を消す』
というものです。







今回、複数のシェーダーを使い検証を実施しました。
環境は以下の通りです。



実験環境:
【PC】
OS:     Windows7 64bit
Core:    Core2Duo E8500
Memory:  4GB
GB:     GeForce GT730 (GBメモリ4GB、3GB迄利用可能)
ワールド: 宝条さん家のシングルワールド(橋梁モジュール)
車両:   701系盛岡色(TakamiTrainKitベース作品。拙作701系セットに同梱)

RTMバージョン: RTM1.7.10.24_Forge10.13.2.1230


検証:
(だいたい一緒を心がけましたが、撮影時間がずれている場合があります)

まず、調査の契機となったhi03様の検証をどうぞ。
こちらは113系スカ色を検証材料にしています(TakamiTrainKitベース、こちらも拙作113系セットに同梱)



以下、私の検証です。
まずはシェーダー無しから。




以下、シェーダーを各個入れて検証します。














↑このツイートの検証のみ、LagLess利用例と画像を取り違えている可能性があります。


















































以上、検証。



2016/01/20 17:00記載:
現状考えられる作成(改造)の方向性とシェーダー改造のやり方:

大いににお世話になっているflms様のお話曰く、
(屋根上等の背景から浮いて見える機器は)
『これ影じゃなくて フォグが適応されてないポリゴンで抜けた背景を上書きしてそうみえてるだけ』(原文ママ)
とのことなので、Fogを完全に表示させなくすれば、影はそのままにパーツが浮いて見える問題は解決できると考えます。
※あくまで私的な考えです!正しいとは限りません!

問題はそのFogカットの方法が分からないことなんですが……。
現状そこで頓挫しております。

シェーダーですが、シェーダー本体のzipを展開し、中に入っている.fsh拡張子のファイルをテキストエディタで編集することで効果を変更できます(編集後起動すれば自動でコンパイルされます)。
構文についてはこちら(Wiki)を参考にして下さい。海外フォーラムにおける編集関連ではこちらが誘導されておりました。


現在最もTrainKit系列を併用できるシェーダーとして有力なのは、浮き上がりの少ないLagLess Shaderとなるようです。
そちらをベースにした改造が最も近道な路線であると考えます。
但し、それ等改造シェーダーの部分や全部の再配布はしてはいけない旨も併記しておきます。
(可能になったら各個人でその旨改造をする方針でいいと思います。再配布はいろいろと問題がありますので)


※2016/01/20 17:51追記:
Shaderへのリンク先が二次配布サイトだったので削除しました。
確認不足でした……。



2016/03/08更新:

結論は冒頭の通りですが。
Takami様の検証により、TrainKit系列でのパーツ浮き上がり回避策が発見されました。
対策としては、
『車両を定義するjsonファイルの内部から、テクスチャを呼び出す項目にある AlphaBrend項目を消す』
というものです。
関連記事
スポンサーサイト

この記事に対するトラックバック

この記事のトラックバックURL

この記事にトラックバックする(FC2ブログユーザー)

この記事に対するコメント

この記事にコメントする

管理者にだけ表示を許可する