DisplacementMapEditor
ディスプレイスメントマップで使用できるマップを作成したり修正したりします。
https://scrapbox.io/files/66b863e99d658c001cbd6a3c.jpg
はじめに
https://scrapbox.io/files/66b8767ebc7b14001c0415ca.png
ディスプレイスメントマップはRedとGreenの強さで移動方向を指定できます。つまり、変形xと変形yを同じ移動量にしておけば色で方向を操作可能というわけです。具体的には以下の通りです。
Red:横方向。0→右、128→動作しない、255→左
Green:縦方向。0→下、128→動作しない、255→上
つまり(r, g)のベクトルで表せれるんですねーもっとはやく気づきたかったよー
しかし、色調補正の色相をぐるぐる回しても、そうそううまくはいかないようなのでプログラム書きました。(C言語の練習でもある。C++はわかんない…)
前置き
rikky moduleが導入されている場合、設定ダイアログでプルダウンメニューが使えます。
導入・削除
導入:「DisplacementMapEditor.anm」と「DisplacementMapEditor.dll」をAviUtlが認識するところに配置します。(参考にどうぞ/nazosauna/script) 削除:配置した「DisplacementMapEditor.anm」と「DisplacementMapEditor.dll」を削除します。
設定画面の様子
トラックバー
https://scrapbox.io/files/66b865fc2008fd001daba444.jpg
ダイアログ
https://scrapbox.io/files/66b866008990f4001d100daf.jpg
使い方
ダイアログの「mode」で機能を選択します。
全モード共通部分
https://scrapbox.io/files/66b866ad39c163001cc813c8.jpg
方向:移動方向
強度:移動の強さ
方向について(ディスプレイスメントマップの移動変形が増加するとき)
0.0度:右に進みます。
90.0度:下に進みます。
180度:左に進みます。
270度:上に進みます。
https://scrapbox.io/files/66b86dbc2d611c001c70d842.png
スレッド数:画像処理のスレッド数です。0で自動設定です。(CPU全スレッド使います。)
簡易説明:簡易説明書です。(かなり適当)チェックを入れるとフレームバッファに説明文を表示します。
説明ページ:簡易説明書のページ数です。1から4ページまであります。
mode1 彩色モード
このモードは方向と強度を入力すると自動的に色を計算して彩色してくれるモードです。
https://scrapbox.io/files/66b86921f6d7c4001c646f92.webm
共通部分のみ使用します。(説明は省略します。)
mode2 修正モード
このモードは既存のmapの移動方向を変更するモードです。
https://scrapbox.io/files/66b86c779d658c001cbd84dd.mp4
共通部分とダイアログの一部を使います。
https://scrapbox.io/files/66b86ccbe4008d001dd845d5.png
色選択モード:下の項目で指定した色を除外するのか包含するのか決めます。
1:全て すべての色を変更します。
2:除外 下の項目の色を除外します。
3:包含 下の項目の色のみ変更します・
└0xRRGGBB:色(16進数)をtableで指定します。
mode3 MAP生成モード
このモードはディスプレイスメントマップで使えるマップを生成するモードです。
https://scrapbox.io/files/66b86f7c68314c001dbea4f9.mp4
トラックバー全てとダイアログのmode2で使用した所以外全てを使用します。
https://scrapbox.io/files/66b870046e1902001cf68f69.png
基準角:map全体の角度を変更します。
分割数:分割数です。(高速化のため、色を配列に格納しています。そのためmap type 1の場合、この項目を増やせば増やすほどメモリを消費します。char 1Byte * 2 (Red, Green) * divisions n = 2*n Byte)
map type 1:角度方向の分割数を指定します。
map type 2:x方向の分割数を指定します。
https://scrapbox.io/files/66b8717a068f78001d2423a1.png
市松模様:移動方向を交互に反転します。
mapタイプ:生成するマップの種類です。
1:正n角形 万華鏡みたいに移動します。
2:長方形 扉みたいに移動します。
mapパターン:mapタイプ内でさらにmapの種類を変更する時に使います。(現在map type 1のみ使用)
map type 1:半径方向の分割方法を指定します。
1:等分割
2:2のn乗で分割(中心にかけてだんだん小さくなる)
分割ターゲット:何の長さに対して分割をするのかtableで指定します。
map type 1:半径方向の分割に対して指定。1番目の要素のみ。
map type 2:x方向とy方向の分割に対して指定(2つの要素)。2番目の要素は省略可能。省略した場合、1番目の要素を2番目にも適用します。
ターゲット種類
1:短辺
2:長辺
3:対角線
4:pixel
分割倍率:分割ターゲットの長さを何倍するのかtableで入力します(2番目の要素は省略でき、省略した場合は1番目の要素を2番目にも適用します。)。また、ターゲットでpixel(4)を指定した場合、この項目で入力した値がpixelの値として処理されます。
垂直分割数:トラックバーで指定した分割の垂直方向の分割数を指定します。
map type 1:半径方向
map type 2:y方向
v1.0.0
リリース