ラスクちゃんをVRMアバターに!

VR Avatar//
  1. home
  2. blog
  3. ラスクちゃんをVRMアバターに!

一目惚れの勢いでVRChatに利用できるアバターを購入してしまいました。
本記事では備忘録を兼ねて「初めてUnityを利用し、VRM化」の工程を記載していきたいと思います。

2022年7月27日追記
FBXファイルでは無くPrefabファイルに変更した関係で、こちらの記事も順次見直していきます。

VRM化で出来ること

今回のVRM化で出来ることは色々ありますが、ぱっと思いつくのは以下の通りです。

  • ゲームの操作キャラクター (クラフトピア等)
  • 実況動画や配信動画のアバター
  • 作画の補助ツール

私自身、この分野はさわり始めたばかりでまだほとんど分からないのですが、早速上記の分野で活用しています。

今回の処理では、次項の「事前準備」において、「VRCSDK Avatar3.0パッケージ」の導入は必要ありません。

事前準備

基本利用するパッケージは以下の通りとなります。
利用状況により今回必要のないパッケージも含まれていますが、まとめて紹介しています。

必要のないパッケージは前項で記載しておりますので併せてご参照願います。

Unityのバージョンは「2019.4.31f1」を利用します。
Unity HUBのリストでは出てきませんので、上記リストのリンク先より取得をする必要があります。

事前準備の流れ

アバターのVRM化を実施する前に、取得したパッケージやアプリを導入する必要があります。

  1. Unity HUBをセットアップ
  2. Unity 2019.4.31f1 を導入
  3. プロジェクトを作成
  4. VRCSDK Avatar3.0 及び lilToon をインポート
  5. アバターをインポート

以上の流れとなります。
次に、手順を簡単に記載します。

事前準備の手順

Unityの導入

  1. まず初めに Unity Account を作成します。
  2. Unity HUBを 公式サイトから ダウンロードします。
  3. 「2」でダウンロードしたEXEファイルを展開します。インストールは基本ガイド通りでかまいません。
  4. セットアップ後、「環境設定」>「ライセンス管理」>「新規ライセンスの認証」から「1」で取得したAccountを入力します。
  5. 「Unity Personal」を選択し、更に適合する条件を選択します。
  6. ライセンス情報が登録された事を確認します。
  7. 次にUnity 2019.4.31f1をアーカイブページよりダウンロードします。
    「Unity 2019.x」タブをクリックし「Unity 2019.4.31f1」>「Unity HUB」ボタンをクリックします。
  8. 「Unity HUBを開きますか?」というメッセージが表示されますので、「Unity HUBを開く」を選択します。
    ※Chromeでの確認です。
  9. Unity HUBが開き「モジュールを加える」ウインドウが表示されます。
    1. Microsoft Visual Studio Community ~」をチェック。
    2. プラットフォームは任意で
      (Oculus Quest 利用であれば、AndroidBuildSupport全てにチェックを入れればいいみたいです。)
  10. インストール画面で「2019.4.31f1 LTS」の表示がある事を確認します。
  11. 次にベースとなるプロジェクトを作成します。
    「プロジェクト」>「新しいプロジェクト」をクリックします。
  12. 以下の通りになっている(設定した)事を確認し、「プロジェクトを作成」ボタンをクリックします。
    1. エディタバージョン:2019.4.31f1 LTS になっている
    2. コア:3D を選択
    3. プロジェクト名に適切な名前を入力する (例:Rusk-VRM-20220630 等)
    4. 保存場所を選択する
      私の場合は Documents 配下に Unity\Project フォルダーを作成してその配下に展開しています。
  13. プロジェクトが開くことを確認します。

UniVRMの導入

  1. サイトより「UniVRM-0.99.2_0dc9.unitypackage」をダウンロードします。

「Unity 2019.4.x」で利用できる「UniVRM」は「0.99.2」が最新バージョンです。
0.100以降は利用できませんので注意が必要です。

  1. 前項で設定したプロジェクトが展開されていると思いますので、メニューバーから「Assets」>「Import Package」>「Custom Package」を選択し、「13」でダウンロードしたファイルを指定します。
  2. 「Import Unity Package」画面が表示されますので、全てにチェックが入っている事を確認して、「Import」をクリックします。
  1. 途中追加でImportするか確認画面が表示されますので、「Accept ALL」をクリックします。
  2. 「Thank you!」画面が表示されましたら、「Close」をクリックします。

lilToonの導入

  1. lilToonを導入します。作者様のBOOTHサイトよりダウンロードをします。
  2. メニューバーから「Assets」>「Import Package」>「Custom Package」を選択し「1」でダウンロードしたパッケージを指定します。
  3. 全てにチェックが入っていることを確認し、Importをクリックします。

SunaoShaderの導入

  1. SunaoShaderを導入します。作者様のBOOTHサイトよりダウンロードをします。
  2. メニューバーから「Assets」>「Import Package」>「Custom Package」を選択し「1」でダウンロードしたパッケージを指定します。
  3. 全てにチェックが入っていることを確認し、Importをクリックします。

VR Avatar3.0の導入

  1. 「VRCSDK Avatar3.0」を導入します。本ファイルはVRChatのAccountが必要となります。
  2. VRChatにログインし、「メニュー」>「Download」をクリックします。

アカウントを作成していない人は、まずはアカウントの作成が必要です。

  1. 「VRChat Avatars」内「Download SDK3 Avatars」をクリックします。
  2. メニューバーから「Assets」>「Import Package」>「Custom Package」を選択し「23」でダウンロードしたパッケージを指定します。
  3. 全てにチェックが入っていることを確認し、Importをクリックします。
  4. 「VRCSDK Avatar3.0」の導入完了後、メニューバーの「VRChat SDK」>「Show Control Panel」をクリックします。
  5. ログイン画面が表示されますので、ユーザー名とパスワードを入力後「Sign In」をクリックします。
  6. 「Welcome the VRChat SDK!」画面は「OK」で閉じます。
  7. VRChatのコントロールパネルは右上の「x」で閉じます。
  8. File > Save で一回プロジェクトを保存し、プロジェクト再起動します。

このとき、プロジェクトウィンドウ左下に「黄色い文字で警告が表示」されることがありますが、再起動後に消えていれば問題ありません。

アバター本体の導入

  1. 最後にアバター本体を導入します。
    購入後、BOOTHサイトよりZIPファイルをダウンロードし、展開をします。
  2. メニューバーから「Assets」>「Import Package」>「Custom Package」を選択し「30」で展開したフォルダー内に入っている「Rusk_v1.21.unitypackage」を指定します。
  3. 全てにチェックが入っていることを確認し、Importをクリックします。
  4. プロジェクトを再起動します。

ラスクちゃんの場合は「unitypackage」ファイルがあるので、導入及び設定は楽です。
アバターによっては、フォルダー毎「Project」>「Assets」にドラッグアンドドロップでインポートが必要な場合もあります。

以上で準備は完了です。

アバターの基本設定

読み込んだアバターの基本的な設定を実施します。

Rig (ボーン) の設定

最近のPBに対応したアバターでは予め設定されている事が多いため、本処理は必要がないことが多いと思います。
今回対象にしているRuskちゃんでは不要となります。

  1. Assets 内の「FBXファイル」をクリックします。
  1. 「Inspector」内「Rig」をクリックします。
  1. 「Animation Type」が「Humanoid」以外の場合は、「Humanoid」を選択します
  1. 「Apply」をクリックします。
  2. 「Configre」をクリックします。
  1. 基本モデル画像が緑になっていれば大丈夫だと思います。
    モデルによっては下のリストから対応している部位を選択してあげる必要があるみたい・・・
  1. 「Inspector」をスクロースし、「Done」をクリックします。

マテリアルのテクスチャ変更

色を変更したり、付属のテクスチャが複数選択肢として用意されていた場合本処理が必要となります。

  1. 「Project」パネル内、「Assets」>「Amatousagi」>「Rusk」>「Texture」をクリックします。
  1. 作成したテクスチャファイルを一覧にドラッグアンドドロップします。
  1. 「Project」パネル内、「Assets」>「Amatousagi」>「Rusk」>「Material」をクリックします。
  2. 「Rusk_Costume.mat」をクリックします。
  3. 「Inspector」内、「メインカラー/透過設定(色変え)」タブをクリックし、設定を展開します。
  1. Materialの「Inspector」>「メインカラー」内の「色」横にあるテクスチャアイコンをクリックします。
  2. Textureフォルダーが展開され、現在適用されているテクスチャの名前が強調されます。
  3. 変更したいテクスチャを、Materialの「Inspector」>「メインカラー」内の色横にあるテクスチャアイコンにドラッグドロップします。
  1. 「Inspector」下、Materialプレビューの色が変わったことを確認します。
  1. 同様の処理を以下のMaterialに実施します。
    • Rusk_Costume.mat (「10」迄で処理済み)
    • Rusk_Face.mat
    • Rusk_Hair.mat
    • Rusk_Hair_Transparer.mat

マテリアルの色設定

髪の毛や服等色を変更した場合は本設定が必要となります。

今回はRuskちゃんを髪の毛と服の色を黒ピンク系統に変えたこともあり、下記設定をしております。
また、肌色の境界線がちょっと目立ちすぎていたので併せて設定を行いました。

  1. 「Project」パネル内、「Assets」>「Amatousagi」>「Rusk」>「Material」をクリックします。
  2. 「Rusk_body.mat」をクリックします。
  1. 「Inspector」内にある「輪郭線設定」>「輪郭線」内にある色指定を「FDB6C8」に変更します。
  1. 「Rusk_Face.mat」をクリックします。
  1. 「Inspector」内にある「輪郭線設定」>「輪郭線」内にある色指定を「E299B2」に変更します。
  1. 「Rusk_Costume.mat」をクリックします。
  2. 「Inspector」内にある「リムライト設定」>「リムライト」内にある色指定を「000000」に変更します。
  1. 「7」の処理を「Rusk_Hair.mat」、「Rusk_Hair_Tranceparent」も処理をします。

VRM化作業 (基本設定)

今回の本命、アバターファイルのVRM化を実施するために、まずベースとなる設定を実施します。

マテリアルのシェーダー設定

マテリアルに標準で設定されているシェーダーですが、このままではVRM化できません。
その為シェーダーの変更を実施するのですが、Ruskちゃんの場合、lilToonを利用しているため、そちらのVRM変換機能を利用します。

  1. 「Project」パネル内、「Assets」>「Amatousagi」>「Rusk」>「Material」をクリックします。
  2. 「Rusk_Alpha.mat」をクリックします。
  1. 「Inspector」内にある「MToon(VRM)に変換」をクリックします。
  1. 「Save Material」画面が開きますので、そのまま保存をします。
  2. 同様に他のMaterialも処理をします。
  3. Materialによっては輪郭が光ってしまうので、「RIM」の色を黒に変更します。

Materialによっては、以下の追加処理が必要になります。

焼き込み処理

  1. Materialのシェーダー変換時、以下の様な問い合わせが表示されます。
    今回は「いいえ」をクリックします。

本処理は簡単に説明すると「影」をMaterialに書き込む処理となります。
本処理を実施すると「軽量化」にはなりますが、影が固定化されてしまうため今回のようなVRMアバターには不向きです。(静止画的な背景などには有効なのかな?)
間違っていたらごめんなさい。

MaterialをFBXモデルに反映させる。

前項までで作成したVRM用のMaterialをFBXモデルに反映させます。

  1. FBXモデルをクリックします。
  1. 「Inspector」内「Materials」をクリックします。
  1. 「On Demand Remap」にある各Materialを前項までで作成したMaterialと入れ替えます。
    Material名右横の「◎」クリックし、入れ替えるMaterialを指定します。

アバターをVRMに変換する

前項までの処理が完了したら、この後の詳細作業を進めるために一旦VRMに変換をします。

FBXファイルの読み込み

  1. FBXファイルを「Scene」若しくは「Hierarchy」にドラッグアンドドロップします。
  1. 「Hierarchy」に追加された「Rusk_v1.2.1」をクリックします。
  1. 「Sccene」画面右上にある軸を右クリックし、「Front」をクリックします。
  1. 「Scene」上に表示されているモデルをクリックし、モデルを見やすい位置に移動します。
    1. キーボードの上下左右キーでモデルの上下左右の位置を合せます。
    2. マウスのスクロールで前後に移動させます。
  2. 「Scene」上のモデルが真っ正面を向いていることを確認します。

メインカメラの設定

VRM登録の際に必要となるサムネイルを撮影するために、メインカメラとアバターの表示調整を行います。

  1. 「Hierarchy」>「Main Camera」をクリックし、「Scene」右下に「Camera Preview」が表示されることを確認します。
  1. 「Inspector」>「Transform」>「Rotation」の「Y」を「-180」に設定します。
  2. 以下の操作を行い、「Camera Preview」に アバターのアップが表示されるように調整します。
    • 前後の調整
      1. Scene右上軸を右クリックし、「Right」をクリックします。
      2. 表示領域の拡縮はマウスホイールで調整します。
      3. メインカメラの前後はメインカメラの「青矢印」をドラッグして調整します。
    • 上下左右の調整
      1. Scene右上軸を右クリックし、「Front」をクリックします。
      2. 上下はメインカメラの「緑矢印」をドラッグして調整します。
      3. 左右はメインカメラの「赤矢印」をドラッグして調整します。
  3. 以下の様に表示されるように設定します。

VRM変換の実施

  1. 「Hierarchy」>「Rusk_v1.2.1」をクリックします。
  2. 「Sccene」画面右上にある軸を右クリックし、「Front」をクリックします。
  3. 「Scene」上のモデルが真っ正面を向いていることを再度確認します。
  1. 「Inspector」>「Transform」内、数値が以下の通りになっていることを確認します。
    • Position :X0 Y0 Z0
    • Rotation:X0 Y0 Z0
    • Scale  : X1 Y1 Z1

数値がずれている場合は、上記数値に修正します。

  1. メニューバーより「VRM0」>「Export to VRM 0.x」を選択します。
  1. 以下の項目を埋めます。
    • Title    このVRMアバター名です
    • Version  このVRMアバターのバージョンです。
    • Auther  このVRMアバターの制作者です。
    • Reference アバターの一次配布元です。
  1. スクリーンショットをクリックします。
    自動的にメインカメラのプレビューが撮影されますので、任意の場所にファイルを保存します。
  1. 「Export」をクリックします。
  2. 保存場所を聞かれますので、新しくフォルダーを作成し、作成したフォルダーに移動をします。
    今回は「Assets」>「Amatousagi」>「VRM-Rusk」というフォルダーを作成しました。
  3. ファイル名を(任意ですが)変更し、保存します。
    VRM-Rusk という名前で保存しました。

ここで生成されたVRMファイルは念のため、Fantom工房様の「VRM Live Viewer」や、Pixiv様の「VRoid HUB」等で「エラー無く読み込み(アップロード)できるか?」を確認した方がいいと思います。

VRM化作業 (詳細設定)

本項では実際にVRMファイルの詳細設定を行います。
今回は以下の設定を実施します。

  • 表情の設定
  • 一部揺れの設定
  • 当たり判定の設定
  • 視線誘導の設定

慣れてしまえば難しい作業ではないのですが、バージョンやアバターによって若干読み替える必要があると思います。

設定準備

設定を実施する上での前準備を実施します。

  1. 前項までで利用した、元データを削除します。
  2. 「Hierarchy」内、「Rusk_v1.2.1」を「右クリック」>「Delete」でリストから削除します。
  1. 前項で作成したVRMの「prefab」ファイルを「Hierarchy」内にドラッグアンドドロップします。

今回記事のサンプル構成では「Assets > Amatousagi > VRM-Rusk > VRM-Rusk_v1.2.1.prefab」となります。
恐らくVRM化前に設定した項目(カメラ等)も一緒に読み込まれると思います。

表情設定

ほとんどのモデルではVRM化した場合に表情のプリセット情報は引き継がれないと思います。
その為、一見大変ですが・・・その実凄く楽しい表情の設定をする必要があります。

表情のプレビューは右下の「BlendShape」プレビューで確認可能です。 (別ウィンドウにも出来ます。)

下準備

  1. 「Hierarchy」>「VRM-Rusk_v1.2.1」をクリックします。
  2. 「Inspector」>「VRM Blend Shape Proxy (Script)」内「Blend Shape (BlendShapeAvatar)」を「ダブルクリック」します。
  1. 「Inspector」が表情プリセット設定の画面に切り替わることを確認します。
  1. 「Body」を展開 (右向き三角をクリック)し、詳細パラメータが表示されることを確認します。

以上で事前準備は完了です。

以下、今回私が設定したパラメーターです。

2022年7月20日 追記
BEAT SABER で遊んでいて、瞬き右左をウインクに変更しました。
また、一部チークの値を少し上げました。

Natural (待機表情)

  • EYE
    • highlight_big_all : 30
  • MOUSE
    • kuchi_smile_2 : 30
  • EYEBROW
    • mayu_smile : 100
    • mayu_down : 50
  • FACE
    • cheek : 50

A (発音あ)

  • EYE
    • highlight_big_all : 30
  • MOUSE
    • kuchi_a : 100
    • kuchi_smile_2 : 30
  • EYEBROW
    • mayu_smile : 100
    • mayu_down : 50
  • FACE
    • cheek : 50

I (発音い)

  • EYE
    • highlight_big_all : 30
  • MOUSE
    • kuchi_i : 100
    • kuchi_smile_2 : 30
  • EYEBROW
    • mayu_smile : 100
    • mayu_down : 50
  • FACE
    • cheek : 50

U (発音う)

  • EYE
    • highlight_big_all : 30
  • MOUSE
    • kuchi_u : 100
    • kuchi_smile_2 : 30
  • EYEBROW
    • mayu_smile : 100
    • mayu_down : 50
  • FACE
    • cheek : 50

E (発音え)

  • EYE
    • highlight_big_all : 30
  • MOUSE
    • kuchi_e : 100
    • kuchi_smile_2 : 30
  • EYEBROW
    • mayu_smile : 100
    • mayu_down : 50
  • FACE
    • cheek : 50

O (発音お)

  • EYE
    • highlight_big_all : 30
  • MOUSE
    • kuchi_o : 100
    • kuchi_smile_2 : 30
  • EYEBROW
    • mayu_smile : 100
    • mayu_down : 50
  • FACE
    • cheek : 50

Blink (まばたき)

  • EYE
    • blink : 100
  • MOUSE
    • kuchi_smile_2 : 30
  • EYEBROW
    • mayu_smile : 100
    • mayu_down : 50
  • FACE
    • cheek : 50

JOY (喜ぶ)

  • EYE
    • smile : 100
  • MOUSE
    • kuchi_wa : 60
    • kuchi_smile_2 : 30
  • EYEBROW
    • mayu_smile : 100
  • FACE
    • cheek : 100

ANGRY (怒る)

  • EYE
    • grinning : 80
    • highlight_big_all : 30
  • MOUSE
    • kuchi_o : 20
    • kuchi_wa : 50
    • kuchi_angry_1 : 100
    • kuchi_narrow : 50
  • EYEBROW
    • mayu_angry_1 : 30
    • mayu_angry_2 : 80
    • mayu_down : 40
  • FACE
    • shy : 100

SORROW (哀しい)

  • EYE
    • jitome : 30
    • grinning : 50
    • highkight_big_all :30
  • MOUSE
    • kuchi_o : 12
    • kuchi_△_1 : 45
  • EYEBROW
    • mayu_sad_1 : 15
    • mayu_sad_2 : 50
    • mayu_down : 20
  • FACE
    • tear : 100
    • cheek : 80

FUN (楽しい)

  • EYE
    • >< : 100
  • MOUSE
    • kuchi_o : 25
    • kuchi_wa : 70
    • kuchi_smile_1 : 50
    • kuchi_wide : 20
  • EYEBROW
    • mayu_sad_1 : 40
    • mayu_angry_1 : 30
    • mayu_smile : 100
    • mayu_down : 30
  • FACE
    • cheek : 100

LOOK UP (目線上)

  • EYE
    • LookUp : 40
    • highlight_big_all : 30
  • MOUSE
    • kuchi_o_1 : 100
    • kuchi_smile_2 : 30
  • EYEBROW
    • mayu_smile : 100
    • mayu_up : 10
  • FACE
    • cheek : 50

LOOK DOWN (目線下)

  • EYE
    • LookDown : 50
    • highlight_big_all : 30
  • MOUSE
    • kuchi_smile_2 : 30
  • EYEBROW
    • mayu_smile : 100
    • mayu_down : 50
  • FACE
    • cheek : 50

LOOK LEFT (目線左)

  • EYE
    • LookLeft : 80
    • highlight_big_all : 30
  • MOUSE
    • kuchi_smile_2 : 30
  • EYEBROW
    • mayu_smile : 100
    • mayu_down : 50
  • FACE
    • cheek : 50

LOOK RIGHT (目線右)

  • EYE
    • LookRight : 80
    • highlight_big_all : 30
  • MOUSE
    • kuchi_smile_2 : 30
  • EYEBROW
    • mayu_smile : 100
    • mayu_down : 50
  • FACE
    • cheek : 50

LOOK BLINK_L (瞬き左)

  • EYE
    • wink_L : 100
    • surprise_R : 50
    • highlight_big_all : 30
  • MOUSE
    • kuchi_O : 30
    • kuchi_wa : 30
    • kuchi_smile_2 : 40
  • EYEBROW
    • mayu_smile : 100
    • mayu_up : 10
  • FACE
    • cheek : 80

LOOK BLINK_R (瞬き右)

  • EYE
    • wink_R : 100
    • surprise_L : 50
    • highlight_big_all : 30
  • MOUSE
    • kuchi_O : 30
    • kuchi_wa : 30
    • kuchi_smile_2 : 40
  • EYEBROW
    • mayu_smile : 100
    • mayu_up : 10
  • FACE
    • cheek : 80

FACE部分の透過パーツは50程度だと殆ど効果が無いのですが、表情変化時には値が加算されるので、あまりあげすぎると照れまくりな状態になります。

一人称視点の設定

思いっきり必要でした。VRゲームに持っていく場合は必須ですね。
今回私が想定している使い方では必要は無いのですが、念のため軽く設定をしておこうと思います。

「Hierarchy」に追加したモデル(今回はVRM-Rusk_v1.2.1)をクリック、「Inspector」内の「VRM Fast Person (Script)」内の項目を設定します。

一人称視点時の支点設定

支点となるボーンの設定です。「Fast Person Bone」にて設定します。
通常は「頭」を指定すると思いますので、今回は「Head (Transform)」を指定します。

目線の位置 (オフセット)の設定

位置調整です。「Fast Person Offset」にある数値を「X:0 / Y:0.055 / Z:0」に設定します。
デフォルト (ALL0)だとY軸が低いと思います。

表示切り替えの設定

一人称視点時の場合、支点となる頭は通常見えてはいけないと思います。
よくSNSで見るモデルバグになってしまいます・・・

その為、「Renderers」で表示非表示の設定を行います。

  • Auto :自動設定
  • Both :表示
  • Third Person Only : 3人称視点時のみ表示
  • Fast Person Only : 1人称視点時のみ表示

尚、今回は「頭」、「耳」、「髪」は「Third Person Only」、その他は「Borh」で設定します。

2022年7月20日 追記
BEAT SABER で遊んでいたときに 髪の毛が一人称視点で映り込んでしまったので、修正しました。

視線制御 (上下左右) の設定

アバターの視線制御 (上下左右)を設定します。

設定方法には3つの方法がありますが、今回はせっかく表情設定したこともあり、せっかくなので、BlendShapeでの設定を実施します。

  1. 「Hierarchy」>「モデル(今回はVRM-Rusk_v1.2.1)」>「Inspector」内の「VRM Look At Bone Applyer (Script)」を右クリックし、「Remove Component」で削除します。
  1. 「Hierarchy」>「モデル(今回はVRM-Rusk_v1.2.1)」>「Inspector」内の「Add Component」をクリックします。
  1. 「Scripts」>「VRM」>「VRM Look At Blend Shape Applyer (Script)」の順に選択します。
  2. 「Inspector」内に「VRM Look At Blend Shape Applyer (Script)」が追加されたことを確認します。
    今回はチェックや数値はデフォルト (画像)の通り進めます。
  1. 次に、視線誘導用のカメラを追加します。
    「Hierarchy」上で右クリックし、「Camera」を選択します。
  1. 「5」で追加されたカメラ位置の調整をします。
    モデルの頭(というか目)の中心に来るくらいに設定をします。
  1. 「Transform」内の設定では、以下の通りで今回は設定しました。
    • Position : X0 / Y1.055 / Z0
    • Rotation : X0 / Y0 / Z0
    • Scale : X1 / Y1 / Z1
  1. 「Hierarchy」>「モデル (今回は VRM-Rusk_v1.2.1)」>「Inspector」>「VRM Look At Head (Script)」選択し、「Target」と「Head」を指定します。
    • Target : Camera (Transform)
      • 「5」で追加したCameraです。
    • Head : Head (Transform)
      • 頭部ボーンです、大半は Head で問題ないと思います。
  1. 「Hierarchy」>「モデル (今回は VRM-Rusk_v1.2.1)」クリック後、Unity上にある「再生」ボタンをクリックします。
  2. 「Scene」タブに切り替え、Cameraをドラッグし、視線誘導が表情の設定通りに変更されることを確認します。

揺れの設定

(個人的には) 楽しい揺れの設定です。

  1. 「Hierarchy」>「モデル(今回はVRM-Rusk_v1.2.1)」>「secondary」>「Inspector」内の「VRM Spring Bone (Script)」にて設定できます。
  2. 「Root Bones」の「Size」に揺らしたいボーンの数を入力します。
  3. 「2」で入力した数分揺れボーンの設定が出来ます。
    今回、私は画像の通りに設定しました。

2022年7月20日追記
BEAT SABER で遊んでいて、前髪も揺らしたくなったので、追加しました。

  • 揺れのパラメーターも若干弄っています。揺れを少し固めにしつつ戻りを早くしています。
    • Stiffness Force ・・・ 値が大きくなるほど戻りが早くなります。
    • Gravity Power ・・・ 値が大きいほど重力の影響を受けます。
    • Drag Force ・・・ 値が大きいほど揺れの抵抗が大きくなります。

当たり判定の設定

ここでは手のあたり判定を設定していきます。
Ruskちゃんは小柄なため、デフォルトよりも若干小さめに設定しています。

  1. 「Hierarchy」>「モデル (今回は VRM-Rusk_v1.2.1)」>「Armature」>「Hips」>「Spine」>「Chest」>「LeftUpperArm」>「LeftLowerArm」>「LeftHand」をクリックします。
  2. 「Inspector」内「Add Component」をクリックします。
  3. 「Script」>「VRM」>「VRM Spring Bone Collider Group (Script)」を追加します。
  4. 「Scene」の画面を見つつ、「Element 0」の「Offset」及び「Radius」の値を設定します。
    • Offset : X-0.07 / Y-0.015 / Z0
    • Radius : 0.055
  1. 右手も同様に設定します。
  2. 「Hierarchy」>「モデル (今回は VRM-Rusk_v1.2.1)」>「Armature」>「Hips」>「Spine」>「Chest」>「RightUpperArm」>「RightLowerArm」>「RightHand」をクリックします。
  3. 「Inspector」内「Add Component」をクリックします。
  4. 「Script」>「VRM」>「VRM Spring Bone Collider Group (Script)」を追加します。
  5. 「Scene」の画面を見つつ、「Element 0」の「Offset」及び「Radius」の値を設定します。
    • Offset : X0.07 / Y-0.015 / Z0 (X軸が左と異なるので注意)
    • Radius : 0.055

2022年7月20日 追記
左右共にY軸とRadiusの値を少し変更しました。

VRMファイルの書き出し

前項迄で一通りの設定が完了しました。
本項では書き出し前にアバター自体に付与する情報と実際のエクスポート処理を記載します。

アバター情報の付与

  1. 「Hierarchy」>「モデル (今回は VRM-Rusk_v1.2.1)」をクリックし、「Inspector」内「VRM Meta (Script)」に情報を追加します。
  2. 「スクリーンショット」をクリックし、サムネイルを作成します。
  3. 「Title」、「Version」、「Author」、「Reference」を設定します。
    この情報は初回VRM変換時の情報が残っていると思います。
  4. 「アバターの人格に関する許諾範囲」を設定します。
    今回は個人利用のみなので以下の設定にしました。
    • アバターに人格を与えることの許諾範囲 : Only Author (制作者のみ)
    • このアバターを用いて暴力表現を演じることの許可:Disallow (不許可)
    • このアバターを用いて性的表現を演じることの許可:Disallow (不許可)
    • 商用利用の許可:Disallow (不許可)
  5. 「再配布・改変に関する許諾範囲」を設定します。
    こちらも今回は個人利用のみなので以下の設定にしました。
    • ライセンスタイプ : Redistribution Prohibited (再配布禁止)

アバターによって許可範囲も変わってきます。
カスタマイズがNGな場合もありますので、事前確認は必要です。

VRMファイルのエクスポート

  1. 「Hierarchy」>「モデル (今回は VRM-Rusk_v1.2.1)」をクリックします。
  2. メニューバーの「VRM0」>「Export to VRM 0.x」をクリックします。
  3. Export確認画面「META」タブに先程設定した情報が記載されていることを確認します。
  1. 「Export Setting」タブ内の項目は「全てチェックが外れている事」を確認します。
  1. 「Export」ボタンをクリックします。
  2. 保存先を聞かれますので、任意の場所に保存します。

このときに保存されるファイルは実行ファイル(.vrm)のみになります。
前項までに保存した場所とは別の場所に保存してください。
例:新しくプロジェクト内にフォルダーを作成し保存、若しくはドキュメントフォルダー内に保存等

  1. 「6」で保存したファイルを「VRM Live Viewer」や、「VRoid HUB」等でエラー無く読み込み(アップロード)出来ることを

以上でVRM化の作業は完了です。お疲れ様でした!

ラスクちゃんが踊ってみた

おまけ。今回作成したラスクちゃんをVRM Live Viewer で踊らせてみました。

参考サイト様