🐱

anatawa12のVRChatアバタープロジェクトを紹介する

2023/04/24に公開

Twitterで需要ある?って聞いたらあると言われたので私のアバタープロジェクトの構成を紹介してみます。
AvatarOptimizerのテスト環境と共通です。 AvatarOptimizerのテスト環境は別プロジェクトの各種私のいじってるツールのキメラプロジェクトに移動になりました

SDKは

答え: VRCSDK3です。この記事においてはVRCSDK2の話はしません。

プロジェクト数は

答え: 使用してるのは 1 project。すべての手持ちアバターを同じプロジェクトにまとめてます。VCC検証用に小さいプロジェクトは結構な数ありますが無視します。
理由: Avatar Optimizer等の開発の都合があったり プロジェクトの開き直しが面倒なため。

シーン数は

答え: 1アバター 1 シーンになってます。
理由: 複数アバター 1 シーンは見づらくなったりする気がするので。

差分管理は

答え: 多重prefab variantを使用してます。私の場合メガネ/髪飾りvariantを作り、そのvariantで服着せてます。
理由: まぁ一番素直な方法だと思うので。

バックアップ方法

答え: ローカルにgit + git-vrc、リモートにgithub private repositoryです。LFS[1]はつかってません。VCCの機能は使ってないです。
理由: commitで変更点を追うのが大変便利なので。tagつけることでかんたんに前回のバージョンにロールバックできますし。 また、git branchでquest版を作ってます。

環境は

答え1: 主には最新版のmacOSです。たまにwindows 11も使いますが 99% macOS です。
理由1: macOS、POSIXでgitとか使いやすいしPOSIX sh (zsh)(とcommandキーの組み合わせ)が最高なので。

答え2: VCCは公式のを使わずに vrc-get という自作のやつ使ってます。
理由2: VCCのmac用コマンドあるんですが機能不足なので vrc-get 使ってます。

答え3: テキストエディタ / IDEはFleet/Riderを使用してます。
理由3: JetBrains信者なんです。VSCodeは補完弱いし使い慣れてない。Visual Studio使い慣れてない。

プロジェクトはどこおいてる

答え1: macOSでは普通に~/UnityProjects以下においてます
理由1: 特にないです。

答え2: windowsではへのsymlinkを%USERPROFILE%\UnityProjectsからD:\UnityProjectsに貼ってます。
理由2: Dドライブに押し出したかったんですがRider等の設定変えたくなくてsymlinkにしました。ジャンクションは普通に存在を知りませんでした。Windowsはまじでわかってない人間です

VCCっていつから使ってる?

答え1: 2022年5月18日にVCC beta (git VCC)を使用開始した記録があります。
答え2: 2022年7月23日に現行形式のVCC(vpm repo + zip形式)に移行した記録があります。
理由: unitypackageで管理したくないと思っててupm学び始めた時期にこんなの降ってきたら使わない理由ないじゃんって速攻飛びつきました。当時のツイート

どうでもいい話
  • ちなみにこの情報もgit管理から見つけたデータだったりします
  • 最初のVCCはgit upmに依存してたんですよね〜 VRCSDK 3.0.x時代懐かしい。
  • ちなみにVCC最初期当時のSDKはここに残ってたりします。
  • いまみてみたらVCC (Creator Toolbox) 発表当日なんですね VCC beta使用開始
  • ちなみにVPM VCCへの移行は少し遅れた記憶があります。移行が発表された当時和服作っててunityから離れてた気がする。

使用してるパッケージ

VCC/VPM経由

com.vrchat.base

単なるVRCSDKの前提のはずなのになぜか依存として定義されてますね。VCC初期のバグの類…?

com.vrchat.avatars

VRCSDKなので当然いれてます。

nadena.dev.modular-avatar

皆さんご存知のModular Avatar。私のアバタープロジェクトの最も基礎的で重要なツール。壊れたら私のアバタープロジェクトが壊れます

com.anatawa12.animator-controller-as-a-code

アニメータコントローラをGUIじゃなくてスクリプトで作りたいなと思ってた時期に作ったツールなんですが結構放置しちゃってます。

vrchat.blackstartx.gesture-manager

下に書くAv3Emulatorの前提です。Av3EmulatorがVCC管理下ではないのでこっちに書いといてます。

jp.lilxyzw.liltoon

皆さんご存知のliltoon。もともとはgit upmでしたがvpmに移行しました。

com.anatawa12.gists

私のgistに上げたちっちゃいutilitiesをvpmにまとめたやつ。
CompileLogger, PhysBoneEditorUtilities, SetRandomBlueprintId, CompilationLogWindow, ActualPerformanceWindow の5つが有効化されてます。ActualPerformanceWindowはAvatar Optimizer使ってるとほぼ必須級のやつです

jp.lilxyzw.avatar-utils

少し前に話題になったlilさんのやつ。だけどまだほぼ使ってないですがいれてます。話題になってから入れてからずーっとほとんどAvatar Optimizerの作業やってるのでw

de.thryrallo.vrc.avatar-performance-tools

テクスチャごとのVRAM使用量を可視化してくれるやつ。 どのテクスチャがVRAM余計に食ってるか見れるので、VRAMがperformance rankにはいったときにこれを使って容量減らすテクスチャを探しました。

com.anatawa12.avatar-optimizer

私を有名にしたAvatarOptimizerは開発中なので vpm レポジトリを経由せずにここにあります。 ある程度安定したのでvpm導入に切り替えました。
だいたい最新版を使ってる状態。

com.anatawa12.continuous-avatar-uploader

1アバター1衣装向けの連続アップロードツールです。AvatarOptimizerと同様に開発用にここにあります。 ある程度安定したのでvpm導入に切り替えました。
最新版を使ってる状態。

lyuma.av3emulator

GestureManagerより高度なAvatars 3.0のunity上のエミュレータです。
curatedにはいるならそっちで、入らなければ独自のレポジトリ建てるそうなので、方針定まるまではsubmodule運用してます。
curatedになったのでそっちから入れるようにしました。

git upm経由

git upmとは

UPMの機能の一つでgitレポジトリをupmパッケージとして使えるやつです。

com.anatawa12.vrc-get-resolver

VPMのvpm-resolverの代替品です

jp.lilxyzw.scene-view-extensions

メッシュの法線とかを見られるツール。1.0までvpm repoに入れないと言ってましたのでgit upmでいれてます。
AvatarOptimizerのバグ調査で使えそうだと思って使わせてもらってます。

com.anatawa12.editor-extension

メンテしてないBoneFixerがあるやつですが、多分今後gist pack行きしますね。

脚注
  1. git LFSはgitの拡張機能の一つです。 ↩︎

GitHubで編集を提案

Discussion