lilToonの不透明モードで2ndテクスチャを焼き込めない!

キプフェルの改変をしているときに遭遇したエラーについてです。
lilToonの描画モードが不透明になっている場合エラーで焼き込むことができない現象
例えばメイクテクスチャを顔のマテリアルに適用したいとき、lilToonマテリアルのメインカラー2ndにテクスチャを配置して、焼き込みを行いたいときがあると思います。
(2nd, 3rdテクスチャを焼き込まないと、VRChatのセーフティによって無効化されてしまう!)
その際に、lilToonの描画モードが不透明だと下のようなエラーが発声して焼き込みを実行できないことがありました。

「そういうことがありました」としている通り、100%再現するわけではないです。
手元の環境だと、キプフェルに付属しているマテリアルでこれを実行した時に発生してしまい、新しくマテリアルを作成してlilToonを不透明モードに設定し、同じ条件で2ndテクスチャの焼き込みを行った場合エラーは発生せず、素直に焼き込みを行うことができました。
原因は詳しくは分かりませんでしたが、おそらくマテリアル作成時のバージョン差異によるものなのかなと推察しています。
解決方法
描画モードをカットアウトまたは半透明モードに変更することで焼き込みを行うことができました。
焼き込みが完了した後は、焼き込みを行った後のテクスチャを適用して、不透明モードに戻して使用することができます。
もちろん検証でも実施したとおり、新しくマテリアルを作成することでこの現象を回避できます。
(最新バージョンでクリーンな状態のマテリアルを作成することになるので、少し手間ですが後者の対応がオススメです。)
なぜこうなったのか?
マテリアル作成時のUnityやlilToonのバージョン差異による現象だと疑っていますが、描画モードを変更することで焼き込みを実行できるようになることから、アルファチャンネル(透過情報)の扱いに関する部分が原因の可能性もありそうだと思っています。
......が、今回の現象については原因の絞り込みを行うことが難しそうなことと、簡単に現象を回避して解決することができたため、特にissuesでの報告等は行いません。
lilToonリポジトリのissuesを確認しましたが、同様の報告はありませんでした。
同様の現象が発生してしまった方のために、ここに解決方法を残しておきたいと思います。
みなさま引き続き良き改変ライフを✌️
⚠️ 執筆時の各バージョン情報は次の通りです
- Unity
2022.3.22f1
- VRChat SDK - Base
3.8.2
- VRChat SDK - Avatars
3.8.2
- lilToon
2.3.0
この記事を共有
気に入ったらシェアしてください