ノイズマップシェーダー

(初版:2020/06/12 改訂:2020/09/17)

概要

Noiseアルゴリズムで2Dマップ形状を生成し、高さをつけるMagicaVoxel用のシェーダです。ver0.99.6.1で動作確認しました。

ダウンロードとインストール

noisemap_perlin.txt ver1.0 noisemap_cellular.txt ver1.0 noisemap_hermite.txt ver1.0

上記のファイルを右クリックからダウンロードしてMagicaVoxelのインストールフォルダにあるshaderフォルダに入れてください。

パラメーター

引数意味
xscaleX方向のスケール
yscaleY方向のスケール
seed乱数値
numcolorsノイズの階調。(正確なものではなく目安と考えてください。)
seamlessシームレスマップにする場合は1
fbmフラクショナルブラウン運動する場合は1
hscaleZ方向のスケール
thickness高さの色付け幅。(正確なものではなく目安と考えてください。)

noisemap_perlinとnoisemap_cellularとnoisemap_hermiteは同じ文法です。

使い方

noisemap_perlinを初期値のまま実行して下さい。下のようなノイズマップを生成します。

xscaleとyscaleはXYの各方向のスケールを指定します。数値を大きくするとより複雑になります。それぞれ4で実行すると下のようになります。

高すぎた場合はhscale値を下げてください。0.5で実行したもの。

スケール値を指定する代わりにエディタ空間の高さを低くしても対応できます。空間の高さに合わせて拡大縮小されます。

seedは乱数値です。適当な値に変えると形状が変わります。

numcolorsはノイズの階調です。10で実行すると下のように高さが10段階になります。(この数字は正確なものではなく目安と考えてください。)

fbmを1にするとフラクショナルブラウン運動が適用されます。

thickness値は高さの色付け幅です。20で実行すると、Z方向に20ボクセルずつ色が付けられます。(この数字は正確なものではなく目安と考えてください。)

seamlessに1を指定すると継ぎ目のないマップになります。同じものを並べても継ぎ目が分りません。

SDFブラシを使うとリアルタイムで生成することができて便利です。

使用例

xscale=30 yscale=30 で実行すると草原のようになります。

板のようなものを作ってみます。 モデル空間の高さを1にして、xscale=20 yscale=1 numcolors=5 で実行。5色のグラデーションになります。

茶系の色を塗ってレンダリングします。これで完成です。

作品例

雲の部分にこのシェーダーを使っています。

煙の部分にこのシェーダーを使っています。

 

ホームへ戻る


Copyright(C)2019-2020 yarunashi All Rights Reserved.