統合版Minecraft
レイトレーシング対応リソースパックを
作ってみた
こんにちは
sumiso_c0db8c だ
統合版マイクラ1.16.200から
windows10版に正式実装された
レイトレーシング(RTX)
公式影MODとも呼ばれ
リアルな光と影が描画されるようになる
ただし、重い(PCのスペックにもよる)
RTX対応グラフィックカードを製作している
NVIDIAの公式サイトに
RTX対応テクスチャの作り方が
公開されているので(英語)
これを参考にして
RTX対応リソースパックを作ってみる
目次
作成するテクスチャ
マイクラに存在する
全てのブロックのテクスチャを
1から作るのは大変なので
今回は
✔簡単
✔RTXの効果が分かりやすい
という点から
鉄ブロックを
100%反射する鏡ブロックに
金ブロックを
発光するブロックに
していく
ファイル構成
sumiso_rtx/ ←任意の名前
├ manifest.json
├ pack_icon.png ←無くても動作する
└ textures/
└ blocks/
├ gold_block.texture_set.json
├ gold_block.png
├ gold_block_normal.png
├ iron_block.texture_set.json
└ iron_block_normal.png
manifest.json
{
"format_version": 2,
"header": {
"description": "Shining gold, reflective iron",
"name": "iron mirror and shining gold",
"uuid": "3ba269c2-cc9b-4fe4-93ec-f23562c0db8c",
"version": [1, 0, 0],
"min_engine_version": [1, 16, 200]
},
"modules": [
{
"type": "resources",
"uuid": "973156bb-f162-44eb-84af-c18355c0db8c",
"version": [1, 0, 0]
}
],
"capabilities" : [
"raytraced"
]
}
リソースパックの定義をするmanifest.json
基本的には普通のリソースパックと同じ
"min_engine_version": [1, 16, 200]
は必須。消したらエラーになった
"capabilities" : ["raytraced"]
でRTX対応
ということらしい
gold_block.texture_set.json
ここからがテクスチャの本体
金ブロックを発光するブロックにする
{
"format_version": "1.16.100",
"minecraft:texture_set": {
"color":"gold_block",
"metalness_emissive_roughness": "#e6ff1a",
"heightmap": "gold_block_normal"
}
}
1つのブロックに対して
見た目
金属性、発光性、表面の質感
表面の凹凸
を定義する
"color"
ブロックの見た目の色
バニラの金ブロックのテクスチャを
そのまま利用した
バニラのリソースパックは
ここからDL可能
"metalness_emissive_roughness"
ブロックの質感などを
#RRGGBB形式で指定する
metalness
金属か非金属か
表面がどれだけメタリックか定義する
RRの部分
10進数に直すと
0~255の数値になる
0で完全な非金属
255で完全な金属になる
今回は適当に230ぐらい
16進数にして
e6
にしてみた
emissive
発光するかどうか
GGの部分
0で発光しない
255で光り輝く
今回は
金ブロックを光らせてみる
ということで
255
16進数にして
ff
にしてみた
roughness
表面の質感
BBの部分
0でツルツル
255でザラザラ
適当に26ぐらい
1a
にしてみた
"heightmap"
表面の凸凹を
グレースケールの画像で定義する
白黒だけど、rgbの画像を指定すると
エラーになるので注意
gold_block_normal.png
画像ちっちゃいな
(16 x 16 px)
フチだけ黒くして
中央部分が膨らんでいる感を表現した
iron_block.texture_set.json
鉄ブロックを鏡にする
正直鉄ブロックじゃなくてもいい
{
"format_version": "1.16.100",
"minecraft:texture_set": {
"color": [255, 255, 255, 255],
"metalness_emissive_roughness": "#ff0000",
"heightmap": "iron_block_normal"
}
}
"color"
今度は画像ではなく、色を直接指定してみた
鏡にするので
真っ白で不透明なブロックにする
"metalness_emissive_roughness"
100%反射させるために
メタリック度はMAX
鏡は光らないので発光は0
鏡はツルツルなので0
"#ff0000"
となる
"heightmap"
鏡はツルツルで凹凸がないので
真っ白の画像を用意した
iron_block_normal.png
↑ココ
導入
あとはこれらのファイルをzipにし
拡張子を.mcpackに書き換える
アイコンがマイクラになるので
クリックすれば自動でインポートされ
リソースパックから
選択できるようになる
実用例
手に持った金ブロックは光っていないが
設置した金ブロックは光っている
他の発光するブロック
きのこライト(シュルームライト)や
溶岩は
今回作成したリソースパックで
発光の定義をしていないので
光っていない
光る金ブロックと
鏡になった鉄ブロックで
こんなこともできる
ただの薄暗い部屋が
※暗すぎたので若干画像編集で明るくしています
レイトレーシングをONにすると
金ブロックが発光し
壁が合わせ鏡になる
各方向
8回まで反射が描画されているようだ
ちなみに
3人称視点にしないと
鏡に映っている自分を
確認することは
できない
光る金ブロック
見た目は光っているが
データ的にはただの金ブロックなので
普通にモンスターが湧く
眩しすぎて
クリーパーが
霞んでいる
終わりに
RTX対応リソースパックを作ってみた
マイクラに存在する
全てのブロックを作るのは大変だが
既存のRTX対応リソースパックを適用した上に
一部自作のテクスチャに変える
なんて使い方ができるかもしれない
Java版の影MODで
鉱石ブロックが光る
というのを統合版で再現してみたり
適当なブロックを
鏡ブロックに変えれば
建築の表現の幅が広がる
、、、その前に建築が出来ないが