YAMADA TAISHI’s diary

ゲームについてとか私の日記とか。このブログのあらゆるコードは好きにどうぞ。利用規約があるものは記事内のGitHubのRepositoryのリンクで貼られていると思うので、そちらを参照ください。

Unityで超絶シンプルな頂点ペイントツールを雑につくったった

こんにちは、やまだたいし( やまだ たいし (@OrotiYamatano) / X )です。
雑に頂点ペイントツールを作ったので公開です。
せっかく作ったので公開しておこうかなと。

目次


経緯


現在オリジナルShaderを趣味で作っている。
そこで、頂点カラーを使って法線を設定しているのだが、Unity上で指定したくなった。
なので作った。

ペイントツールとしては若干使いづらい作りにはなっているが、まぁ使えなくはないし、
似たようなツールを作ろうとしている人に参考になるかと思って公開することにしました。

コード


使い方


↑上記コードをコピってきてEditorファイルに入れる。

Windowの中にメニューが有る

メニュー

チェックを入れた色が該当色のパラメーターが上書きされるようにしました。
基本的には全部にチェックを入れればいいです。

Alphaだけ1以上入力できますが、気にしないで。

で、塗りたいオブジェクトをシーンビューで選択し、
EnterEditModeをクリックするとメッシュコライダーがアタッチされて編集モードになります。

後は塗るだけ。

終わったら基本Exit Edit Modeで戻りましょう。

一応アンドゥにも対応してるので間違ってペイントしたらコントロールZで戻れます。

一応マテリアルの作り方も紹介しておく


ここにたどり着いた方には説明必要ないと思うが
マテリアルのバーテックスカラーを確認できるURPマテリアルの作り方を紹介しておく。

ShaderグラフをLitShaderGraphで作る。
適当な名前をつける

ノードでVertex Colorを選択する。

BaseColorに接続

ShaderはこれでOK

マテリアルを作る。
適当に名付ける

シェーダーグラフで作ったシェーダーを割り当てる。
私は雑にvartと名付けたのでこれ.(せめてvertにしよって突っ込まれそう)

これでおk。

まとめ


以上おわり。
やまだたいしでした。