破壊は突然に
1日1記事チャレンジ、23日目。
昨日は日付が変わる直前に「あっ、やべ記事書いてない」と気づいて無理やり記事を書きましたが、ぶっちゃけ反則以外の何物でもないのでそろそろ限界に近いです。
さて、今日の記事の内容ですがタイトル通りUnityプロジェクトが突然ぶっ壊れました。
Unityでアバター改変の作業中に突然PCがフリーズ、PCを強制終了して再起動したらUnityプロジェクトがぶっ壊れてました。悲しい。
で、いつかやらなきゃと思いつつもGitで管理して居なかったためRevertできず、Unityの自動保存もしておらず、バックアップも3ヶ月前に取ったきり…… 自業自得ですね……
どうせ1からやるなら
そんなわけで、潔く1から改変をすることにしました。不幸中の幸い、Unityプロジェクトはぶっ壊れたものの、色改変用のTextureは取り出すことができたので、主にボーンやシェイプキーをいじいじしたり、Animator周りをよしなにしたりする作業が面倒くさかったです。
どうせ1から改変し直すなら、もっとスマートな方法で改変できないかな~、と色々調べていたのですが、kanaさんのこの記事がめちゃくちゃ参考になりました。
恥ずかしながら、今まで正直「Prefab?何それ美味しいの?」状態(何もかもUnpackした状態)で作業してきたので、そりゃUnityプロジェクトがぶっ壊れたら全ておしまいになるのも止むなしだなと。
ということで、今回はPrefab VariantとMaterial Variantを使って、オリジナルのPrefabやMaterialから地続きで改変するように徹底しました。他にも、
・Modular Avatarのコンポーネントでできることは極力それを使うようにする
・lilToon周りの設定を見直す
・ただしFix lightingは使わずにLight Limit Changer For MAを使って非破壊的にライティング調整をする
などなど挙げたらキリが無いのですが、ついでになるべくベストプラクティスを心がけるようにしました。
おかげさまで
5時間くらいぶっ通しで作業した結果、なんとか元の状態に戻すことができました。ぶっ壊れる前とほとんど見分けがつかないくらいまで再現できて良かったです。

実際に使ってる神ツールたち
というわけで、実際に今回の1から改変やり直しで使ったツールやシェーダー等を紹介してこの記事をしめたいと思います。
AvatarOptimizer
Modular Avatar
VRCHierarchyHighlighter
lilToon
Light Limit Changer For MA
BlendShapeLimitBreakTool
他にも使っているツール等あるのですが全て列挙しだしたらキリが無いので今日はこんなところで。それではまた明日!