Materializr
Open-source parametric 3D CAD for makers — constraint sketches, solid modeling, threads, SVG & text engraving, STL/STEP export. Android, iPad, Linux, Mac, Windows. Vibe coded.
lilToonのアバターをVRMに書き出して、iPhoneのVR Vlogで読み込めます。無料のUnity用エクスポーター。
Translation pending
DesignC# · PythonGitHub @VR-VlogOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
lilToonの見た目と対応する表情をVRM 1.0へ。VR Vlog用のUnityエクスポーター。VCC・ALCOM対応 / Unity exporter with MToon fallback.
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
お気に入りのアバターをVR Vlogで使う。 lilToonのアバターを、iPhoneのVR Vlogで使う VRM 1.0 に書き出すUnity用パッケージです。 Modular Avatarを使うアバターは、Modular Avatarとその依存パッケージも事前に導入してください。 1. インストールページで VCC / ALCOMに追加 を押します。 2. VCC・ALCOMで使いたいUnityプロジェクトのパッケージ管理画面を開きます。 3. VR Vlog lilToon VRM Exporter をインストールします。 ボタンで開かない場合は、リポジトリ追加画面に次のURLを貼り付けてください。 更新するときはUnityプロジェクトをバックアップし、パッケージ一覧を更新して最新版を適用します。変更を反映するには、元のアバターからVRMを書き出し直してください。 1. インストールページの ZIPで導入 から、エクスポーター・UniGLTF・VRMの3つのZIPをダウンロードします。 2. プロジェクトの Packages 内の別々のフォルダーへ展開し、それぞれの直下に package.json がある状態にします。 3. Unityで読み込みが終わるのを待ちます。同じUniVRMパッケージを重複して導入しないでください。Read the full README ↗
lilToonのアバターを、VR Vlogで使えるVRM 1.0形式に書き出すUnity用ツールです。
MITライセンスで公開しています。
| 必要なもの | バージョン・導入方法 |
|---|---|
| Unity | 2022.3 |
| lilToon | バージョンを問わず書き出せます。アプリではlilToon 2.3.4として描画するので2.3.4を推奨します(1.0.0以降と0.12.0-beta.4以降。それより前は、0.12.0-beta.1〜beta.3が2.0.0〜2.3.4、安定版0.11.15が2.3.4だけ)。VCC・ALCOMのほか、unitypackageでAssetsの下に入れたlilToonでも書き出せます |
| UniVRM | 導入不要。UniVRM 0.131.4を名前空間・シェーダー名を変えて同梱しているので、導入済みのUniVRMとはバージョンにかかわらず衝突しません |
| VR Vlog | 0.1.1(ビルド345)以降 |
| VRChat SDK | 任意。3.5.0以上3.11.0未満(3.11.0未満のベータ版を含む)で確認しています。音声再生(VRC Animator Play Audio)を含む表情ファイルを使う場合は、3.5.2以上3.11.0未満が必要です |
| NDMF | 任意。Modular AvatarなどNDMFで動くツールを使うアバターは、NDMF 1.6.0以上2.0.0未満の正式版が必要です。Modular Avatar 1.19.0-alpha.2用に、プレリリースの1.15.0-beta.1・beta.2も通します |
| Modular Avatar | 任意。Shape Changer・Object Toggle・Material Setter・Material Swap・Mesh Cutterを使うアバターは1.12.2以上1.19.0未満か、プレリリースの1.19.0-alpha.2。これらを使わないアバターはバージョンを問いません |
Modular Avatarを使う場合は、事前に導入してください。
注意
Hidden/ltsother_baker)が2.3.4と違うときだけです。互換性の詳細VCC・ALCOMのリポジトリ追加画面に、次のURLを貼り付けてください。
https://vrvlog.fun/exporter/index.json
以前の個人側・組織側のURLを登録済みなら、そのまま使えます。
VCC・ALCOMを開かずに、Unityで開いているプロジェクトへ入れられます。
com.vrvlog.liltoon-vrm-exporter-installer-<版>.unitypackage をダウンロードする。https://vrvlog.fun/exporter/index.json)がプロジェクトとVCC・ALCOMに登録され、エクスポーターが Packages に入る。インストーラーのファイルは終わると自動で消える。インストーラーは、ダウンロードした版と同じ系列(1.0.0のインストーラーなら2.0.0より前の1.x、0.12.0のインストーラーなら0.12.x)のうち、VPMの一覧にある最新の版を入れます。ベータ版のインストーラーはベータ版も選びます。Releaseに出た直後で一覧にまだ載っていない版は入らないので、少し待ってからやり直してください。特定の版を入れたいときはZIPで導入してください。
Packages 内のフォルダーへ展開する。package.json があることを確認する。安定版1.3.4の手順です。
Unityで、書き出すアバターと衣装を表示します。親オブジェクトも有効にしてください。
Hierarchyでアバターの一番上のオブジェクトを選び、メニューの VR Vlog → アプリに転送(通常)... を選びます。Hierarchyでアバターを右クリックしたときの VR Vlog にも同じ項目があります(右クリックでアプリに転送する)。prefabとして保存したアバターは、Projectでそのprefabを右クリックしたときの VR Vlog からも同じように開けます。VRMファイルだけを保存するときも、この表情ボードの3ページ目の VRMを保存 を使います。
表情ボードが開き、選んだアバターで「書き出しを準備」まで進みます。別のアバターにするときは、1ページ目の「アバター」欄の横の「変更」を押します。
見つかった表情は、すべて「その他の表情」(VRMのカスタム表情)に入ります。
.anim を「その他の表情」へドロップします。表情の名前(その表情を出すVRChatメニューの項目名も含みます)から自動で入った枠は「自動の候補○件を確定」で確定できます。表情を割り当てずに保存することもできます。
選んでから2秒で顔が止まらないメニューの表情(少し待ってから切り替わる・長いアニメーション・ループ)は、Animatorの遷移をたどった最終状態の顔で書き出し、書き出し結果の一覧に「近似」として表示します。
表情ボードは「1 表情の設定 › 2 除外するオブジェクト › 3 VRMの保存と転送」の3ページに分かれています。1ページ目で表情・瞬き・任意の全身ポーズを決め、下の 次へ:除外するオブジェクト を押します。2ページ目でVRChat用のギミックと手で外すオブジェクトを確認し(右側の全身のプレビューに、外したものがその場で消えます)、次へ:VRMの保存と転送 を押すと、変えた除外をプレビューに反映してから3ページ目へ移ります。3ページ目には名前・作者名・VRMの利用条件 の欄があり、下に VRMを保存 と QRコードを作る が並びます。作者名 を入力し、VRMの利用条件 を確認して VRMを保存 を押します。保存だけなら利用規約への同意は要りません。
全身ポーズがアプリの上限(128件、動くポーズのフレーム合計32,768、動くポーズのデータ16MB、静止ポーズのデータ2MB)を超えるときは、書き出しの途中で アプリの上限を超えた項目 の画面が1回だけ開きます。既定ではリストの末尾から外すので、残すポーズを選び直して この内容で書き出す を押します。選んだ内容はアバターの書き出し設定に保存し、次の書き出しと アプリに転送(かんたん) でも使います。外したポーズは書き出し結果の一覧に「同梱ポーズ」として表示します。上限内なら画面は開きません。
保存後は「保存先を開く」でファイルを確認できます。
アプリで髪や体が消える・透けるときは、書き出し結果のウィンドウか アプリに転送 の完了画面の 診断情報をコピー を押し、コピーした文字列を不具合の報告に貼ってください。メッシュとマテリアルの数値、書き出さなかったギミックの種類と数(外したギミック・カメラや音などのVRMに入らない部品・PhysBoneとコンストレイントの変換前後の数)と変換の内容だけで、アバター名・オブジェクト名・作者名・パスは入りません。
開発者からDMなどで詳しい情報を頼まれたときは、診断情報をコピー の右の ▾ から 名前・パスを含めてコピー(DM など非公開の場だけ) を選んでください。同じ内容に、アバター名、メッシュとマテリアルの名前・元のシェーダー名、外したギミックと部品の場所、変換の内容の文面と対象のパスを足した別の文字列をコピーします。先頭に「名前・パスを含みます。DM など非公開の場だけで送ってください」と入ります。公開のチャンネルやIssueには貼らないでください。
利用条件を設定する場合は、3ページ目の VRMの利用条件 を開き、元の利用規約に合わせてプルダウンを選びます。規約URL(VN3等)、著作権表示、第三者ライセンスも入力できます。設定は出力VRMのメタデータに保存されます。設定を開かない場合は、このアバターで前に書き出したときの設定で書き出します。記録が無ければ既定値(作者のみ・個人非営利・クレジット表記が必要・表現用途の各許可なし・再配布と改変なし)です。
保存したVRMを、VR Vlogアプリと同じ読み込み処理で開いて確認する画面です。1.0.0以降には、この画面を開くボタンとメニューがありません。開いた画面では、ほかの .vrm を VRM ファイルを開く で選べます。
この画面は、VR Vlogアプリの読み込みパッケージ(com.vrvlog.avatar-runtime)がプロジェクトに入っているときだけ使えます。このパッケージは一般には配布していません。入っていなくても書き出しは今までどおり動きます。
パッケージを参照するのは Editor/AppPreview/AvatarRuntimeBackend.cs(VRVlog.LilToonExporter.AppPreview アセンブリ)だけです。画面はこのファイルが登録するインターフェイス(Editor/AppPreviewEntry.cs の IAppPreviewBackend)だけを使います。パッケージの置き場所や名前が変わったときは、このファイルとアセンブリ定義だけを直します。
QR対応の最新iPhone TestFlight版が必要です。Android配布版では受信できません。
PCとスマホをインターネットに接続してください。
注意
QRを持つ人はアバターを受け取れます。他人へ見せないでください。
転送時は、暗号化したVRMをクラウドへ一時保存します。転送の詳細・同意事項
Hierarchyでアバターの一番上のオブジェクトを右クリックし、VR Vlog から2つのどちらかを選びます。上のメニューバーの VR Vlog にも同じ項目があり、Hierarchyで選んでいるアバターを転送します。アバターの一番上のオブジェクトを1つだけ選んでいないときは、どちらの項目も灰色で選べません。QRはスマホのカメラで読み取ります。
Projectでアバターのprefabを右クリックしたときの VR Vlog にも同じ項目があり、そのprefabを転送します。シーンに置かなくても転送・保存でき、開いているシーンとprefabは変わりません。prefabを1つだけ選んでいないときや、選んだprefabの一番上にAnimatorが無いときは灰色で選べません。
右クリック(HierarchyとProject)とメニューバーの VR Vlog には、どれも アプリに転送(かんたん)... と アプリに転送(通常)... の2つが並びます。Projectの右クリックでは、そのあとに区切り線と Validate lilToon VRM が続きます。VRMファイルだけを保存するときは、アプリに転送(通常) の3ページ目で VRMを保存 を押します。
| メニュー | 向いているとき | 流れ |
|---|---|---|
| アプリに転送(かんたん) | 表情やオブジェクトを選ばずにすぐ送る | 名前・作者名・利用規約の同意を確認 → QRコードを作る |
| アプリに転送(通常) | 使う表情を選ぶ・不要なオブジェクトを外す | 表情ボードで割り当てる → 次へ:除外するオブジェクト で外すものを選ぶ → 次へ:VRMの保存と転送 → QRコードを作る |
入力が必要なのは、名前・作者名・利用規約への同意(毎回)・プライバシーポリシーへの同意(初回だけ)です。ライセンスは VRMの利用条件 を開いて変えられます。開かない場合は前回の設定か既定値で書き出します。
.vrm に保存します。利用規約とプライバシーポリシーの同意は要りません(作者名は要ります)。アップロード中とQRの表示中も使え、転送はそのまま続きます。転送から開いたときは QRコードを作る が青いボタンです。.vrm をスマホに保存する。_LightingMode)や効果ごとの切り替えを持つトゥーンシェーダーの材質は、項目ごとに公式lilToonの同じ役割の項目へ写します。影(照明の種類ごとの境界とぼかし、影色、2つ目の影)、明るさの上限と下限、色調補正(色相・彩度・明るさ・ガンマ・グラデーション)、マットキャップ2つ、リムライト、輪郭線、発光(点滅を含む)、アルファマスク、ステンシルが対象です。公式lilToonに無い効果(デカール・ディゾルブ・グリッター・AudioLinkなど)は書き出さず、材質名と効果名を保存前に表示します。色相(元がOKLabの場合)・彩度・ランプ画像の影は近い値への置き換えで、元と完全には一致しません。他のビューアーではMToon表示になり、見た目や動く表情が異なる場合があります。
補助ギミックを自動除外 がオン(既定)のとき、VRMでは働かない次のものを書き出しから外します。外したものと、判断がつかず残したものは書き出し結果の一覧に表示します。
外したくないギミックは、表情ボード(アプリに転送(通常))の2ページ目 除外するオブジェクト にある VRChat用のギミック で 含める を選ぶと残せます。VRMに入れても、VRChatの中での動きは再現されません。選んだ内容はアバターの書き出し設定に保存します。表情ボードでは、選んだ内容を2ページ目の右側の全身のプレビューにはその場で、VRMにはページを移るときに反映します。ボーンを付け替える仕組みを 含める にすると、ヒューマノイドのボーンの親子が崩れるため書き出しを止め、崩れたボーンの名前を出します。
書き出し画面の「書き出しの詳細」を開きます。エラーが起きた対象と、表示された対処方法を確認してください。
対策候補が表示された場合は、再試行できます。成功したら、見た目を確認してVRMを保存してください。
書き出せないときは、アプリに転送 の画面に VR Vlog 動作環境 が出ます。押すと、不足しているパッケージや未対応のバージョンが表示されます。画面の案内に従って導入・更新し、もう一度書き出してください。
Unityで、その衣装が表示されているか確認してください。非表示の衣装は出力されません。表示しても出ない場合は、アバターへの接続設定を確認してください。
閉眼用の変形を自動で決められないときは、瞬きなしで保存し、警告に理由を表示します。瞬きを入れるときは次の手順で選んでください。
不具合報告に、次の内容を添えてください。
VR Vlogアプリ内の問い合わせも利用できます。
脆弱性は非公開の報告窓口へ連絡してください。再現手順や悪用条件を公開Issue・PRへ投稿しないでください。
不具合報告・改善提案・文書の修正・Pull Requestを受け付けています。投稿フォームから、使用環境・再現手順、または解決したいことを記載してください。変更の進め方と検証方法はCONTRIBUTING.mdにまとめています。
| ディレクトリ | 内容 |
|---|---|
Editor/ | Unity Editorの書き出し処理・設定画面・依存環境診断 |
Runtime/ | アバターに付ける設定コンポーネント |
Formats/ | VRMの独自拡張を読み書き・検査する共有コード(Unityに依存しない。アプリも同じものを使う) |
Schema/ | VRMに保存する独自拡張の定義とlilToonのカタログ |
Tests/・Tools/ | Unityテスト、ホスト検証、配布パッケージの生成 |
Compatibility/ | 対応する依存パッケージの方針と検証記録 |
Documentation~/ | 利用ガイドと明示的な依存修正パッチ |
Website/ | VCC/ALCOM向けのインストールページ |
ThirdPartyNotices/ | 第三者コード・ライブラリの出典とライセンス |
エクスポーターのコードはMIT Licenseで公開しています。第三者コード・依存パッケージの出典とライセンスは、それぞれの文書を参照してください。
アバターなどの素材・掲載画像には各権利者の利用条件が適用されます。画像の出典・クレジット