【マイクラアドオン製作講座】Minecraft公式シェーダ「Vibrant Visuals」でエンティティやブロックに反射・発光などの効果を追加できる『PBRテクスチャ』についてわかりやすく解説!

アドオン紹介

統合版Minecraftバージョン1.21.80にて実験的機能として「Vibrant Visuals」が実装され、バージョン1.21.90にて正式に実装されました。
「Vibrant Visuals」を有効化することで、通常のバニラの風景を一層美しいものに変えてくれる革命的な機能ですが、一方「Vibrant Visuals」を有効化すると、実はブロックやエンティティなどのテクスチャのレンダリング方法がバニラの時と少し異なります。
「Vibrant Visuals」では「PBRテクスチャ」という少し特殊なテクスチャを使用するようになります。
これまでの鉄道アドオンでは「特殊発光」という発光技術が使われることが一般的ですが、「Vibrant Visuals」を有効化すると発光システムが変わってしまい「特殊発光」では発光しないという問題がありました。ですが、今回「Vibrant Visuals」を有効化しても発光化を復活させる方法を見つけました!
この記事では「Vibrant Visuals」で使用される「PBRテクスチャ」についてなるべくわかりやすいように解説し、実際にMTC2の車両に反射や発光効果を付ける方法についても解説していきます。

これから行うことはアドオンの改造に該当するため、配布されているアドオンを使用する場合は必ず改造が許可されているかを確認してから行うようにしましょう

Vibrant Visualsについて

「Vibrant Visuals」については以下の記事で紹介していますので良ければそちらをご覧ください。

PBRテクスチャについて

「PBRテクスチャ」とは?
簡単に説明すると、テクスチャに凹凸表現を追加したり、反射発光などの効果を追加することができる「Vibrant Visuals」用の特殊なテクスチャになります。また、今回はエンティティにPBRテクスチャを追加しますが、ブロックでも同様に追加することができます。

概要・事前準備

今回もアドオンのカスタマイズが必要です。そのためある程度のアドオンの製作知識を有していることが望ましいですが、知識がない方でもついていけるよう可能な限りわかりやすく解説していきます。

このページでは、Windows・MacなどのPC向けで解説していきます。スマートフォン等でもjsonなどを編集できるアプリやペイントアプリを使用することで同様に製作することが可能です。
※初心者の方でスマホのペイントアプリを使用する際、よくアイビスペイントXというアプリを利用される方が多いですが、アイビスペイントから出力したpng画像ではMinecraft内に正常に読み込まれない現象が多発しています。そのため、メディバンペイントの利用をおすすめしております。なお、メディバンペイントはスマホ版だけではなくデスクトップ版も提供されています。

必要なもの

Minecraft統合版
 →基本は最新バージョンのものを使用するようにしてください。またPBRテクスチャはバージョン1.21.80以降でのみ動作しますが、仕様変更があったため1.21.90以降をおすすめします。また、1.21.80以下のバージョンでは動作しません。

PC、スマートフォンまたはタブレット端末
 →スマホでも不可能ではないですが、少し作業がしづらいことがあるかもしれないのでWindowsなどを搭載したPCを使用するのが好ましいです。

PBRテクスチャを追加したいアドオンパック
 →PBRテクスチャを追加したいアドオンパックを用意しましょう。今回はMTC2の鉄道アドオンで解説していますが、その他のアドオンでも応用することができます。

Blockbench
 →Blockbenchとは、主にMinecraft内の既存ブロックアイテムエンティティをカスタマイズしたり、新しく追加できたりなど、Minecraftには無いものを作ることができるフリーソフトです。また、Blockbenchのバージョンは最新のものにアップデートしておいてください。バージョンが古すぎると解説で出ている項目が存在しない可能性があります。
Blockbenchのインストール方法は今後解説した記事を公開する予定ですので気長にお待ちください!

各OSに対応したコードエディタソフト
 →この解説ではVisual Studio Codeというソフトを使用していきます。
Visual Studio Codeのインストール方法も今後解説した記事を公開する予定ですので気長にお待ちください!

◆ 各OSに対応したペイントソフト
 →この解説ではpaint.netというフリーソフトを使用していきます。
paint.netのインストール方法は下の記事で解説していますので、初めての方は是非ご覧ください!

PBRテクスチャの作り方

千葉都市モノレール0型の車両の画像。
千葉都市モノレール0型の車両の画像。

今回も「槻嶋製作所」で一般配布されている千葉都市モノレール0形鉄道アドオンを使用して解説していきます。

まず、PBRテクスチャを追加したいアドオンパックのリソースパックを開き、texturesentityの順でさらにフォルダを開いていきましょう。開くと、中にmtc〇〇〇_1.pngmtc〇〇〇_2.pngなどのテクスチャファイルがあるかと思います。このテクスチャファイルを全て複製しましょう。複製したテクスチャのファイル名を「mtc〇〇〇_1_mer.png」や「mtc〇〇〇_2_mer.png」のように元のテクスチャファイル名に「_mer」という名前を追加してください。

ファイル名の変更が出来たら、「mtc〇〇〇_1_mer.png」をペイントアプリで開きましょう。この記事ではpaint.netを使用します。
ここからPBR用のテクスチャを作っていきます。この作業が一番大変なところになりますが、頑張りましょう!

まず、PBRテクスチャで使用するカラーは大きく分けて4色あります。PBRの特徴として、特定の色へ変えるだけで大きくテクスチャへの効果が変わります。金属質効果 (金属のような光沢感)、発光効果非光沢効果 (光沢や反射がない)、反射効果です。塗る色の順番は自由ですが、この記事では発光させないテクスチャの箇所、つまりから塗っていくこととします。
デフォルトのテクスチャのままでは、発光させたくない箇所 (不透明の箇所) まで発光してしまうので、それを防ぐためにで塗りつぶしていきます。

実際に塗りつぶしたものがこちら。これで今までの特殊発光でいう半透明の箇所以外が発光しないようにすることができました。
※既に一部赤や青が混じっていますが、気にしなくて大丈夫です。
補足: ドアや窓のために開けてある透明空間なども丸ごと塗りつぶしてしまって問題ありません。

続いて、今回メインである発光効果を付けていきましょう。

こちらが実際に発光効果を付けたものになります。
「あれ?ほとんど黒じゃね?」と思われるかもしれませんが、ここで1つ注意点があります。先ほど発光効果を付けるにはにすると発光すると言いましたが、を最大値の255で塗りつぶしてしまうとどうなるでしょうか…?

はいwこのように発光度が強すぎて真っ白にホワイトアウトしてしまいますw

ではこれを踏まえて先ほどの画像に戻って説明していきます。
ぱっと見は黒に見えますが、カラーパレットのRGBの数値を見てみると、を示すGの値10と書かれていますね。

つまりほんの少しだけ緑が混じっている状態です。「たった10でほんとに明るくなるの?」と思いますが、少し数値を上げるだけで発光度が大きく変わります。おすすめの値は以下の通りです。

おすすめの値
使用するペイントアプリによって最大値が異なるため、ご自身が使用しているペイントアプリに合わせて値を設定してください。
paint.netのような0~最大値255でRGBを設定する場合のおすすめの値は「10」
GIMPのような0~最大値100でRGBを設定する場合のおすすめの値は「5」

このようにPBRでは特殊発光とは異なり、を加えると発光し、明度の高い・低いによって発光度が変わる仕様になっています。
の金属質効果やの非光沢効果を付ける場合も同じように塗りつぶし、明度によって効果の強弱を調整することができます。

各効果のまとめ

PBRは色によって効果が変わる!
金属質効果 (金属のような光沢感)
発光効果
非光沢効果 (光沢や反射がない)
反射効果
非光沢効果以外はと同様に反射効果も付いています。

PBRは凹凸表現も追加できる!
PBRには色彩によって変わる効果のほかに、ブロックなどの表面に疑似的にわずかな凹凸効果を付けることもできます。
こちらは基本ブロックに対して行うものですが、エンティティでも使用できます。
この凹凸効果の追加方法についても記事を出したいなと思っているので気長にお待ちいただければと思います。

反射効果を消して発光効果だけを付けるような複数の効果を併用する場合は?
答えは足し算です。まず反射効果を消すために最大値の255で設定します。次に発光効果を付けるためにを少し足します。おすすめの値は10です。このように25510で設定したカラーを使用することで複数の効果を併用することができます。解説で紹介している千葉都市モノレールの座席で実際にこの効果を併用しています。
paint.netの場合の値です。

リアルを求めるなら前照灯や尾灯は発光度最大でもOK!
車内の発光度は5または10に設定するとちょうどいい明るさになりますが、前照灯尾灯はあえて最大値で設定するとよりライト感が出てリアルになります!

スクリプトの実装

PBRテクスチャが完成したら次はスクリプトを書いていきます。
テクスチャと同じ場所に新しく「mtc○○○○_1.texture_set.json」という名前のjsonファイルを作成しましょう。
作成できたらjsonファイルを開いて、以下のスクリプトを書きましょう。

{
	"format_version": "1.16.100",
	"minecraft:texture_set": {
		"color": "mtc○○○○_1",
		"metalness_emissive_roughness": "mtc○○○○_1_mer"
	}
}

mtc○○○○の箇所はそれぞれご自身のmtcの車両番号を入れてください。
この作業をテクスチャの枚数に応じて追加しましょう。
例えば、2号車目は「mtc○○○○_2.texture_set.json」という名前のjsonファイルを作成し、以下のように「mtc○○○○_2」に変えて2号車を割り当てます。

{
	"format_version": "1.16.100",
	"minecraft:texture_set": {
		"color": "mtc○○○○_2",
		"metalness_emissive_roughness": "mtc○○○○_2_mer"
	}
}

全てのjsonファイルができるとこのようになるかと思います。
※解説で使用している千葉都市モノレールは1号車、3号車しかないので1と3のjsonしかありません。

動作確認

ここまでできたら、リソースパックビヘイビアパックのフォルダを選択した状態でzipファイルに圧縮します。
圧縮したzipファイルの拡張子を.mcaddonに変更しMinecraftにインポートしてみましょう。

正しくインポートされ、車両をスポーンさせたときに適切にレンダリングされていれば成功です!お疲れ様でした!
車両が透明であったり、テクスチャがバグっている場合、「スクリプトの実装」の箇所でコードやファイル名の記述ミスがある可能性が高いです。この記事と照らし合わせてミスがないかをチェックしてみてください。

よくある質問

よくある質問をまとめています。今後追記する場合があります。

Q. 「Vibrant Visuals」をOFFにした場合、今までの特殊発光は使えるの?
A. はい、「Vibrant Visuals」用のPBRテクスチャを追加しただけで、特殊発光で使用される元のテクスチャは何も変更を加えていないので、「Vibrant Visuals」をOFFにしても今まで通り特殊発光は使用できます。

まとめ

以上、【マイクラアドオン製作講座】Minecraft公式シェーダ「Vibrant Visuals」でエンティティやブロックに反射・発光などの効果を追加できる『PBRテクスチャ』について解説していきました。今回も可能な限り初心者の方でも分かりやすいように解説していきました。これを機に少しでもアドオン製作に興味を持っていただけたら嬉しいです!
おそらく鉄道アドオン界初のVibrant Visuals専用発光技術の公開なので、今までずっと気になっていたかと思いますが、やっとこの技術を皆様と共有できてうれしい限りです。この記事を参考にぜひご自身のアドオンにもご活用ください!
最後までお付き合いいただきありがとうございました!

今回のお相手は2度目の登場、槻嶋製作所で研究員をさせていただいております猫音みなでした!良いマイクラライフを!

コメント