メインコンテンツまでスキップ

VRoidのなで肩問題を解決する

はじめに

VRoid Studioで出力したVRM形式のアバターは、他のVRM対応アプリ(VRChatやVEATなど)に持ち込むと過剰ななで肩になってしまいます。

この記事では、VRoidのなで肩問題を解決する手順を示します。

備考

2026年5月現在の状況に合わせて文章全体を修正しました。

注記

以降の説明は「VRChatで3点トラッキングを利用している人」「VRMファイルをVEATで使いたい人」向けの設定値です。VRChatでフルボディトラッキングを利用している人はBlenderを用いた別の作業が必要になります。

解決したい問題

VRoidのなで肩問題の事例

上の図は「左:VRoid Studioで作成したVRM形式3Dモデル」「右:左の3DモデルをVEATに読み込んだ状態」です。VEAT上では過剰ななで肩の人体として表現されてしまっています。

なで肩を補正しすぎた事例

この記事では、VEATや他のVRM形式対応アプリに読み込んだ時に、VRM形式3Dモデルが自然な体型になるよう、なで肩を修正する方法について解説します。

なで肩を補正しすぎた事例

ただし、VRoidのなで肩問題は常に発生するわけではありません。3Dモデルと3Dモーションデータの相性が悪い時にだけ発生します。なで肩問題が発生していないのに修正を行うといかり肩になってしまいます。修正をした3Dモデルと修正していない3Dモデルの両方を手元に残しておく必要があります。

必要なもの

  • Unity Hub
  • Unityエディタ
  • VRChatSDK
  • VCC(Windowsユーザーのみ)
  • ALCOM(Macユーザーのみ)
  • VRM Converter for VRChat
用語の説明
  • VRoid Studio
  • ピクシブ株式会社の提供する3Dキャラクター制作ソフトウェアです。作成した3Dキャラクターは3D動画制作やVR-SNSのアバターとして用いられます。
  • VR-SNS
  • ソーシャルVRプラットフォームとも。仮想空間内で他の会員と交流するサービスです。
  • アバター
  • VR-SNSにログインしたユーザーが自分の仮の姿として用いる3Dキャラクターです。
  • VRChat
  • VRChat Inc.の運営するソーシャルVRプラットフォームです。
  • VEAT
  • ピクシブ株式会社の提供するアバターダンス動画制作アプリです。
  • Unity
  • Unity Technologies社の提供するゲーム開発用統合開発プラットフォームです。
  • Unity Hub
  • Unityのプロジェクト管理ツールです。
  • Unityエディタ
  • Unityの作業画面です。Unityではプロジェクト毎に使用するUnityエディタのバージョンが異なる状況を想定しているため、Unity HubとUnityエディタは別のアプリになっています。
  • VRChatSDK
  • UnityエディタでVRChat用アバターや3Dオブジェクトを開発する際に必要なプログラム部品のセットです。Unityのカスタムパッケージ(機能拡張プラグインのようなもの)として配布されています。VRChatSDKを入手するにはVCCまたはALCOMが必要です。
  • VCC
  • VRChat Creator Companionの略。VRChat開発用のプロジェクト管理ツールです。Unityエディタと組み合わせて使います。Windows版のみ存在します。
  • ALCOM
  • VCCと互換性のあるVRChat開発用のプロジェクト管理ツールです。Windows版・Mac版・Linux版が存在します。
  • VRM Converter for VRChat
  • VRM形式のアバターをVRChat用アバターに変換するツールです。このツールでなで肩問題を解決します。Unityのカスタムパッケージ(機能拡張プラグインのようなもの)として配布されています。

準備編

Unity Hub の入手

VRoidのなで肩問題を解決するにはVRChatSDKとUnityエディタが必要ですが、Unityエディタの入手には「Unity Hub」が必要です。最初にUnity Hubを入手します。

手順
  1. Unityダウンロードページをブラウザで開く

    https://unity.com/ja/download

  2. Unity Hubのインストーラをダウンロードする
  3. インストーラの指示にしたがってUnity Hubをインストールする

Unity ID の新規作成

Unityエディタを使うには「Unity ID」(Unityアカウント)が必要です。Unity IDの新規作成はUnity Hubから行えます。

手順
  1. Unity Hubを起動
  2. 初期画面の「アカウントを作成」をクリック
  3. ブラウザが起動してアカウント新規作成ページが開くので、名前やメールアドレス等の必要事項を記入して「Unity IDを作成」ボタンをクリック
  4. 登録したメールアドレス宛に確認メールが届くので、メール本文中にある「Link to confirm email」をクリック
  5. ブラウザが起動してサインイン画面が開くので、IDとパスワードを入力して「サインイン」ボタンをクリック
  6. Unity Hubに切り替わり、Unity Hubにログインした状態になる
  7. 利用規約確認画面が表示されるので「同意する」をクリック

Unity Hub の日本語化

インストール直後のUnity Hubは表示言語が<English>に設定されていますが、これを<日本語>に切り替えることができます。

手順
  1. Unity Hubを起動
  2. サインイン
  3. 画面左上の歯車アイコンをクリック
  4. 画面左の設定項目一覧より「Appearance」をクリック
  5. <Language=日本語>に設定

ライセンスの入手

Unityを利用するにはUnity Technologies社とのライセンス契約が必要です。VRoidのなで肩問題を解決するだけであれば無料のPersonalライセンスで充分です。

手順
  1. Unity Hubを起動
  2. サインイン
  3. 画面左のアイコン一覧より「ライセンス」をクリック
  4. 「ライセンスを加える」ボタンをクリック
  5. 「無料のPersonalライセンスを取得」をクリック
  6. 利用規約を読み、「同意してPersonalのライセンスを取得」をクリック

Unityエディタの入手

VRoidのなで肩問題を解決するにはVRChatSDKとUnityエディタが必要ですが、VRChatSDKは最新版Unityエディタには対応していません。「VRChatSDKの対応する旧版のUnityエディタ」を、Unity Hub経由で入手する必要があります。

手順
  1. あらかじめVRChat開発者向けウェブサイトで、VRChatSDKと対応する旧版Unityエディタのバージョンを確認しておく(2026年4月時点では「Unity 2022.3.22f1」)

    https://creators.vrchat.com/sdk/current-unity-version/

  2. Unity Hubを起動
  3. サインイン
  4. 画面左のアイコン一覧より「インストール」をクリック
  5. 画面右上の「エディターをインストール」をクリック
  6. 「アーカイブ」タブをクリック
  7. 説明文の中のリンク付文字列「ダウンロードアーカイブ」をクリック
  8. ブラウザが起動してダウンロードアーカイブページが開くので、VRChatSDKと対応する旧版のUnityエディタを探す(2026年4月時点では「Unity 2022.3.22f1」)
  9. 該当バージョンの「INSTALL」ボタンをクリック
  10. Macの場合は選択肢にAppleシリコン版とインテルCPU版が現れるので自分のMacに対応する方の「インストール」ボタンをクリック
  11. オプションとして選べる開発者用ツールの一覧が表示されるが、VRoidのなで肩問題を解決するだけなら何も選ばなくて良い。「インストール」ボタンをクリック
  12. ダウンロードが完了するまでしばらく待つ

VCCまたはALCOMの入手

VRoidのなで肩問題を解決するにはVRChatSDKとUnityエディタが必要ですが、VRChatSDKの入手には「VCC」または「ALCOM」が必要です。WindowsユーザーはVCCを、MacユーザーはALCOMを事前に入手してください。

手順(Windows)
  1. VRChat IDを作成(注意:Steam IDではない)

    https://vrchat.com/

  2. VRChatウェブサイトにログイン
  3. ダウンロードページを開く

    https://vrchat.com/home/download

  4. 「Download the Creator Companion」ボタンをクリックして、インストーラをダウンロード
  5. VCCをインストール
  6. VCCを起動
  7. 初期設定を入力する

    基本的にはすべて初期値のままで良い。

    もしもUnityの所在を訊かれた場合は、Unity Hub画面左下の歯車アイコンをクリックして設定画面を開き、インストールタブをクリックして、<インストール場所>に書かれたファイルパスを確認し、書き写す。

手順(Mac)
  1. ALCOMのダウンロードページを開く

    https://vrc-get.anatawa12.com/ja/alcom/

  2. ダウンロードボタンをクリックし、現れたポップアップメニューより「macOSディスクイメージ」を選択
  3. ディスクイメージファイル(拡張子.dmg)をダウンロードして保存
  4. ファインダーに戻り、ディスクイメージファイルをダブルクリックして開く
  5. ALCOMをApplicationsフォルダにドラッグ&ドロップする
  6. ALCOMを起動
  7. 初期設定を入力する

    基本的にはすべて初期値のままで良い。

    もしもUnityの所在を訊かれた場合は、Unity Hub画面左下の歯車アイコンをクリックして設定画面を開き、インストールタブをクリックして、<インストール場所>に書かれたファイルパスを確認し、書き写す。

VRChatSDKおよびVRM Converter for VRChat の入手

VRoidのなで肩問題を解決するにはVRChatSDKおよびVRM Converter for VRChatが必要ですが、両者の入手には「VCC」または「ALCOM」が必要です。

以下はALCOMを用いた手順の説明ですが、WindowsユーザーはALCOMをVCCと読み替えてください。

手順(Mac)
  1. ALCOM起動
  2. 左の「パッケージ&テンプレート」をクリック
  3. 「VPMリポジトリを追加」ボタンをクリック
  4. 「リポジトリ情報を入力」欄が現れるので、以下のURLをコピーして貼り付けます。
    https://esperecyan.github.io/VRMConverterForVRChat/registry.json

    VRChatSDKは最初からリポジトリ登録されている。追加不要。

  5. 「VPMリポジトリを追加」ボタンをクリック
  6. 確認画面を読み、「VPMリポジトリを追加」ボタンをクリック

実行編

プロジェクトの新規作成

VRChatSDKおよびVRM Converter for VRChatは、プロジェクトごとに追加インストールされます。プロジェクト新規作成の際に追加インストールする/しないを指定できます。

以下はALCOMを用いた手順の説明ですが、WindowsユーザーはALCOMをVCCと読み替えてください。

手順(Mac)
  1. ALCOMを起動(注意:Unity Hubではない)
  2. 画面左のアイコン一覧より「プロジェクト」をクリック
  3. 画面右上の「プロジェクトを作成」をクリック
  4. プロジェクト作成ダイアログにて、テンプレートとして「VRChat Avatars」を選択
  5. 必要であれば、プロジェクト名称をわかりやすい名前に変更し、保存場所をわかりやすい場所に変更する
  6. 「作成する」ボタンをクリックしてダイアログを閉じる
  7. パッケージ一覧画面にて、「VRM Converter for VRChat」の右端のプラスアイコンをクリックして追加インストール項目として選択する

    VRChatSDKは最初から選択済になっている。追加不要。

  8. 確認ダイアログが表示されるので、「適用」をクリック

.prefab ファイルの作成

VRM Converter for VRChatを用いた修正作業では、VRoid Studioで生成したVRMファイルを直接編集するのではなく、VRMファイルをプレハブファイル(テンプレートのこと、拡張子.prefab)に変換した上でそれを編集します。

以下はALCOMを用いた手順の説明ですが、WindowsユーザーはALCOMをVCCと読み替えてください。

手順(Mac)
  1. あらかじめVRoid StudioでVRM0形式アバターを作成しておく(注意:VRM1ではない
  2. プロジェクトを開く
    1. ALCOMを起動
    2. 「プロジェクト」アイコンをクリック
    3. 前手順で新規作成したプロジェクトの右にある「UNITYを開く」ボタンをクリックして、Unityエディタを起動する
    4. Unityエディタが起動しても画面が切り替わらないことがある。その場合は手作業で切り替える
  3. Unityエディタ左下のフォルダツリー表示の中にあるAssetsフォルダをクリック
  4. メニューバーより「Assets>Create>Folder」を選択(するとAssetsフォルダの中に新規フォルダが作られる)
  5. フォルダ名称をわかりやすい名前に変更
  6. 手順4で作成したフォルダをダブルクリックして開く
  7. Finderに戻る
  8. VRoid Studioで出力したVRMを、FinderからUnity画面内の手順3で作成したフォルダの中へとドラッグアンドドロップ(すると、しばらく待たされたのち、手順5で作成したフォルダ内にプレハブファイルおよびいくつかのフォルダが生成される)

なで肩の修正

VRM Converter for VRChatを用いて、VRoidのなで肩問題を解決できます。

以下はALCOMを用いた手順の説明ですが、WindowsユーザーはALCOMをVCCと読み替えてください。

手順(Mac)
  1. プロジェクトを開く
    1. ALCOMを起動
    2. 「プロジェクト」アイコンをクリック
    3. 前手順で新規作成したプロジェクトの右にある「UNITYを開く」ボタンをクリックして、Unityエディタを起動する
    4. Unityエディタが起動しても画面が切り替わらないことがある。その場合は手作業で切り替える
  2. Unityエディタ左下のフォルダツリー表示にて、前手順で作成したフォルダ(.prefabファイルのあるフォルダ)を開く
  3. .prefabファイルをクリック(するとSceneタブ内の3Dプレビュー画面にアバターが表示される)
  4. メニューバーより「VRM0>Duplicate and Convert for VRChat」を選択(するとVRM Converter for VRChatの設定ウインドウが開く)
  5. <肩の高さ=0.02>と設定
  6. <揺れもの=Convert VRM Spring Bones Only>と設定
  7. ウインドウ下端の「複製して変換」ボタンをクリック
  8. 保存ダイアログが表示されるので、保存先は初期値のまま変更せずに「Save」ボタンをクリック(するとプレハブファイルのあったフォルダに、ファイル名末尾に(VRChat)という文字列の追加された新たなプレハブファイルが生成される)
  9. Sceneタブ内の3Dプレビュー画面にアバターが表示されたことを確認
注記

設定項目<揺れもの>はなで肩問題とは関係ありませんが、物理的に正しい挙動を3Dモデルにさせるための設定を一部省略し、VRChat上でのアバターの操作を軽快にするための手順です。

なで肩以外の修正

VRoid Studioで出力したVRM形式のアバターをVRChatで使いたい場合、なで肩問題の解決以外にもいくつかの修正作業が必要です。

View Position (VRChat用の設定)

View Positionとは視点の位置のことです。View Positionから見える映像がVRゴーグルに投影されます。

手順
  1. プロジェクトを開く
    1. ALCOMを起動
    2. 「プロジェクト」アイコンをクリック
    3. 前手順で新規作成したプロジェクトの右にある「UNITYを開く」ボタンをクリックして、Unityエディタを起動する
    4. Unityエディタが起動しても画面が切り替わらないことがある。その場合は手作業で切り替える
  2. Unityエディタ左下のフォルダツリー表示にて、前手順で作成したフォルダ(.prefabファイルのあるフォルダ)を開く
  3. 前手順にて複製変換で得た方のプレハブファイル(拡張子.prefab)をクリック
  4. 画面右のInspectorタブをクリック
  5. Inspectorタブ内の設定項目一覧より、設定項目「VRC Avatar Descriptor (Script)>View>View Position」をクリックして開く
  6. View PositionのXYZ座標位置入力欄に、仮の数値としてX=0, Y=1.5, Z=0.2と入力する
  7. View Positionの「Edit」ボタンをクリック
  8. 画面左のHierarchyタブ内のアイテム一覧の中にある、前手順で複製変換で得た方のプレハブファイルと同じ名前のアイテムをクリック(するとアバターの顔の前あたりにView Positionマーカーという灰色の小さな球体が追加表示される)
  9. View Positionマーカーの位置を微調整し、顔の中央の目の高さの位置に、マーカーを顔に貼り付けるような感じで配置
    1. Sceneタブ内の3Dプレビューの右上端にある小さな白い四角形をクリック(するとアイソメトリックモードという奥行き感のない映像に切り替わる)
    2. 小さな白い四角形の上下左右にある小さな三角形(視点切替ボタン)をクリックし、3Dプレビューの映像が切り替わることを確認
    3. View Positionマーカーから生えている矢印を掴んでドラッグすることで位置を調整できることを確認
    4. 3Dプレビューの映像を切り替えつつ矢印を掴んでドラッグする作業を繰り返し、位置を微調整
    5. 微調整が完了したらView Positionの「Return」ボタンをクリック

Eye LookのRotation State (VRChat用の設定)

Rotation Stateとは眼球の可動範囲のことです。Rotation State初期値は極端に可動範囲が大きくなっているはずです。これを自然な範囲に抑制します。

手順
  1. プロジェクトを開く
    1. ALCOMを起動
    2. 「プロジェクト」アイコンをクリック
    3. 前手順で新規作成したプロジェクトの右にある「UNITYを開く」ボタンをクリックして、Unityエディタを起動する
    4. Unityエディタが起動しても画面が切り替わらないことがある。その場合は手作業で切り替える
  2. Unityエディタ左下のフォルダツリー表示にて、前手順で作成したフォルダ(.prefabファイルのあるフォルダ)を開く
  3. 前手順にて複製変換で得た方のプレハブファイル(拡張子.prefab)をクリック
  4. 画面右のInspectorタブをクリック
  5. Inspectorタブ内の設定項目一覧より、設定項目「VRC Avatar Descriptor (Script)>Eye Look>Rotation State」をクリックして開く
  6. Looking Up欄のpreviewボタンをクリックして眼球可動範囲の現状を確認し、Returnボタンをクリックして元に戻す
  7. Xに仮の値として「-5」を入力し再度previewボタンをクリックして、不自然さの有無を確認
  8. 値調整とpreviewを繰り返し、不自然さのない値を見つける
  9. Looking Down欄で同様の作業を行い、不自然さのない値を見つける
  10. Looking Left欄で同様の作業を行い、不自然さのない値を見つける
  11. Looking right欄で同様の作業を行い、不自然さのない値を見つける

Bounds (VRChat用の設定)

Boundsとはアバターの周囲の空間に設定された描画範囲のことです。たとえばアバターに大きな帽子を被せて帽子の先端がBoundsからはみ出た場合、Boundsからはみ出た部分は見えなくなります。これを防ぐために、Boundsは人体サイズよりも大きめに設定します。

手順
  1. プロジェクトを開く
    1. ALCOMを起動
    2. 「プロジェクト」アイコンをクリック
    3. 前手順で新規作成したプロジェクトの右にある「UNITYを開く」ボタンをクリックして、Unityエディタを起動する
    4. Unityエディタが起動しても画面が切り替わらないことがある。その場合は手作業で切り替える
  2. Unityエディタ左下のフォルダツリー表示にて、前手順で作成したフォルダ(.prefabファイルのあるフォルダ)を開く
  3. 前手順にて複製変換で得た方のプレハブファイル(拡張子.prefab)をクリック
  4. 画面左のHierarchyタブ内のアイテム一覧の中にある、前手順で複製変換で得た方のプレハブファイルと同じ名前のアイテムをクリックし、さらにその下位にあるアイテム「Body」をクリック
  5. 画面右のInspectorタブ内の設定項目一覧より、設定項目「Skinned Mesh Renderer>Bounds」をクリック(するとアバターの周囲に白い枠線が現れる)
  6. Center欄の値をX=0, Y=1, Z=0 にする
  7. Extent欄の値をXYZすべて1.2にする
  8. アバターの周囲の白い枠線を確認し、この枠線をはみ出るような衣装を着る予定がある場合は、Extent欄の値をさらに大きくする

アバターをVRChatにアップロードする

ここまでの作業で、VRoidなで肩問題は解決され、その他の要修正箇所もVRChat向けに修正されました。以下に、アバターをVRChatにアップロードする手順を示します。

注記

VRChatには「Trust Rank」という概念があり、Visitor(VRChatに入会したばかりでTrust Rankの低いユーザー)はアバターをVRChatにアップロードすることができません。アバターをアップロードするには「New User」以上である必要があります。自分のTrust Rankを確認するには、「VRChatアプリでワールドにログイン→クイックメニューを開く→Profileタブをクリック→画面左中段あたりにあるTrust Rankを確認」の手順で確認してください。

手順
  1. プロジェクトを開く
    1. ALCOMを起動
    2. 「プロジェクト」アイコンをクリック
    3. 前手順で新規作成したプロジェクトの右にある「UNITYを開く」ボタンをクリックして、Unityエディタを起動する
    4. Unityエディタが起動しても画面が切り替わらないことがある。その場合は手作業で切り替える
  2. メニューバーより「VRChatSDK>Show Control Panel」を選択(するとVRChatSDKの設定ウインドウが開く)
  3. VRChatのIDとパスワードを入力して「Sign In」ボタンをクリック
  4. numeric codeを問われた場合は、電子メールで送られてくる6桁の数字を入力して「Verify」ボタンをクリック
  5. 「Builder」タブをクリック
  6. name(アバターの名前)とdescription(アバターの説明)を入力
  7. 「Capture From Scene」ボタンをクリックして、3Dプレビューの映像をサムネイルとして設定
  8. <Visibility=Private>に設定(他人がアバターを複製することを禁止する)
  9. Validations欄に赤い八角形の警告マークのないことを確認(あるとアップロードできない)
  10. Validations欄に「AUTO FIX(自動的に不具合を修正)」ボタンがある場合はひとつひとつクリックして修正する
  11. 「Build & Publish」ボタンをクリック
  12. 確認画面が表示されるので、ポリシー同意にチェックを入れて「Upload」ボタンをクリック

アバターをVRMファイルとして出力する

VEATでアバターを使いたい場合は、修正されたアバターを改めてVRMファイルとして出力する必要があります。

手順
  1. プロジェクトを開く
    1. ALCOMを起動
    2. 「プロジェクト」アイコンをクリック
    3. 前手順で新規作成したプロジェクトの右にある「UNITYを開く」ボタンをクリックして、Unityエディタを起動する
    4. Unityエディタが起動しても画面が切り替わらないことがある。その場合は手作業で切り替える
  2. Unityエディタ左下のフォルダツリー表示にて、前手順で作成したフォルダ(.prefabファイルのあるフォルダ)を開く
  3. 前手順で複製変換で得た方のプレハブファイル(拡張子.prefab)をクリック
  4. メニューバーより「VRM0>Export VRM file from VRChat Avatar」を選択

    注意:「VRM0>Export to VRM 0.x」ではない。こちらを選ぶとVRChat用に最適化されたVRMファイルが出力され、ファイルサイズが大きくなる

  5. 出力設定ダイアログにて、Expression(表情)を設定する

    VRChatとVRMとで表情シェイプキーが異なるため、変換のための関連付けをする

  6. サムネイルを設定する
    1. サムネイル欄下の「Select」ボタンをクリック(するとAsset一覧画面が開く)
    2. Asset一覧の中からThumbnail.pngを選ぶ(これは変換前のVRMファイルが持っていたAsset)
  7. 書誌情報<Title><Version><Author><アバターの人格に対する許諾範囲>を設定する
  8. 「Export VRM File」ボタンをクリック(すると保存ダイアログが開く)
  9. 保存先を指定して「Save」をクリック

おわりに

正直なところ、ここまで説明した作業を実行するだけの忍耐力のあるVRoidユーザー/VRChatユーザーが世の中にどれだけいるのか疑問です。VRMは3Dアバターにおける事実上の標準ファイル形式なのですから、なで肩問題はVRoid Studioで解決すべき問題に思います。

以上