k.KOUTAROU
SUKAMOTO
← ALL WORKS

CASE STUDY 09 / Unityツール

同じマテリアル設定を、一度の操作でそろえる。

BOOTH配布作品Unity EditorlilToonマテリアルUndo
BOOTHおにぎり商店の商品
Unity・lilToon用 / マテリアル設定ツール

VRChatのアバター制作などで使われるlilToonシェーダーのフェード設定を、複数マテリアルにまとめて適用します。

lilToonの距離フェード設定一括編集ツールのBOOTH商品画像
BOOTH / おにぎり商店の商品画像

00 / OVERVIEW

この作品について

選択したオブジェクト配下のlilToonマテリアルへ、距離フェードの設定を一括で適用するUnity Editorツールです。僕が制作し、BOOTHで公開しています。複数選択と、非表示の子オブジェクトにも対応しています。

lilToonにある機能を、複数のマテリアルへ繰り返し設定する作業を減らすために作りました。日本語・英語の表示切り替えとUndoを用意し、共通の値を一度に入力できるようにしています。

PROCESS / FADE
01オブジェクト選択→
02Renderer収集→
03lilToonを抽出→
04フェード設定

処理の流れをまとめた図です。ボタンで順番に確認できます。

01 / DESIGN NOTES

選択した階層から、対象のマテリアルを集める

選択中のGameObjectを起点に、子孫のRendererを調べます。非アクティブなパーツも含めるので、普段は隠している衣装やアクセサリーもまとめて設定できます。

RendererのsharedMaterialsを確認し、MaterialとShaderが存在して、Shader名にlilToonを含むものへ適用します。別のShaderが混ざった階層でも、対象を絞って編集します。

02 / DESIGN NOTES

距離・色・強度を、一箇所で設定する

設定画面には、フェードの色、開始距離、終了距離、強度、モード、裏面側のフラグを並べています。各マテリアルのInspectorを開き直さず、揃えたい値を入力して適用できます。

モードと色を更新し、開始・終了・強度・裏面フラグをまとめた値もMaterialへ書き込みます。フェードする区間と見え方を、同じ操作で揃えられるようにしました。

03 / DESIGN NOTES

lilToonの距離フェード設定を編集する

距離フェードは、距離に応じて見え方を変えるlilToonの機能です。僕のツールは、そのMaterialプロパティをまとめて編集します。メッシュを変えたり、独自のShaderを生成したりする処理はありません。

裏面側のフラグも、距離フェードの適用条件を扱う項目です。色、距離の区間、強度、適用側を一つの画面で確認できるようにしています。

04 / DESIGN NOTES

試した設定を、Undoで戻せるようにする

変更前にMaterialをUndoへ記録し、設定後はUnityへ変更を知らせます。一括設定した後でもEditorのUndoで戻せるので、値を試して調整できます。適用結果はログへ出し、設定項目と結果メッセージは日本語・英語を切り替えられます。

非表示パーツ、複数選択、Undoに対応させたのは、実際のアバター制作で繰り返し使う操作にしたかったからです。同じ値を何度も入力する時間を減らすことに絞っています。

05 / DESIGN NOTES

共有マテリアルへの変更に注意する

編集するのはRendererの共有マテリアルです。同じMaterialを使う別のオブジェクトにも変更が反映されます。選択した部位だけを変えたい場合は、先にマテリアルを複製して割り当ててください。

配布物にはEditorスクリプトと日本語・英語の説明書を入れています。lilToon本体やアバターモデルは含まないため、別途用意してください。距離の開始と終了、強度、マテリアルの共有範囲を確認してから適用すると、変更の影響を把握しやすくなります。

REFERENCE

関連リンク・公開情報

BOOTHの商品説明 ↗
NEXT CASE STUDY

じゃんけん鬼 ↗