Unityと仲良くしよう
趣味で3DCGをやっていますが、Blenderをメインツールとしてスキルアップを目指していたせいか、その他のツールの習得を全然さぼっていました。しかし、VRMでの3Dアバター制作では、Unityをプラットホームとしたアプリ上での利用を想定する必要があり、Unityは、ある程度慣れておく必要があると、今になってようやく感じてきました。
はじめに
Blenderの習得において、今の自分を振りかえると、ゼロからオリジナルの3Dアバターをなんとか生み出せるところまできました。まだまだ詰めが甘いですが、Blender初心者は脱しつつある感じです。しかし、制作したアバターを自分以外の人に使ってもらうことを考えると、Unityに関してもう少し突っ込んだ勉強が必要と感じるようになりました。
一方、Unityも奥が深いので、習得すべきレベルを設定しないと、いくら時間があっても足りません。従って、VRMアバターを、世に送り出すために最低限必要な知識に絞り、チュートリアルなどを参照せず、VRMアバターの最適化を行えるレベルに目標としました。
VRMアバターの各種設定を行うUnityシステムの構築は、作業自体それほど難しいものではないのですが、現状に一番適したシステムを構築するには、前もって、情報収集が必要になります。2024年10月時点の情報を元に、書き留めてみました。
Unityのインストール
その前に、UniyHubをインストールするところから始めます。
次のサイトからUniyHubのインストーラーをダウンロードします。
初めての利用の場合、アカウントの設定などを求められるかもしれません(3年ほど前のことなので記憶が曖昧で申し訳ありません)。
次に示す、Download ArchiveでUnity本体をダウンロードします。私の場合、VRMのバージョンに関係なく、2022.3.22f1を使っています。
Unity HubからNew projectを作成します、赤線部を確認してください。Project nameは、わかりやすい名前に変更してください。Blender
同様、日本語を使わない方が無難です。
新しいプロジェクトの作成には、結構、待たされます。そして、新規プロジェクトのフォルダーが作成されますが、300MBを超える容量になるので、ストレージには、ある程度の余裕が必要です。
そして画面はこんな感じになります
UniVRMのUnityへのインストール
さて、まだ、この状態ではVRMファイルを操作できません。
次のサイトでunitypackageをダウンロードする必要があります。
今、最も普及している旧バージョンのVRM0.xです。一方、標準仕様になるとアナウンスされているVRM1.0もあり、それぞれのバージョンに対応したunitypackageが落とせるようになっています。
パッケージ名がUniVRM-で始まる方がVRM0.x用、VRM-で始まるのがVRM1.0用なので、お間違えなく。
Unityに上記パッケージをインストールするには、ウィンドウ上部のメニュー「Assets」から「Import Packege」、「Custom Package」と進み、
今回は、UniVRMから始まる、VRM0.x用の最新パッケージを選びます
下の画像にようにウィンドウが出たら下にある「Import」ボタンを押します
パッケージのインストールが完了すると次のような画面になります。メニューに「VRM0」が加わります。これで、VRM0.xファイルをUnityにインポートする準備ができました。
VRM0系アバターを用いた実施例
ウィンドウ下のRrojectビューの領域で右クリックし、専用フォルダーを作成します。ここにドラッグ&ドロップでVRM0系ファイルを置きます。
Testという名前で作成したフォルダーにVRoid Studioで作成したVRM0系ファイルを入れると、下のようなフォルダーやファイルが生成します。
アバターの姿がサムネイルになったファイルをHierarchyビューにドラッグ&ドロップします。
右側のInspectorビューにアバター情報が現れます。
アバターが表示されるSceneエリアでの視点操作は、マウスのホイール中ボタン、右ボタンで、横方向の移動、回転ができ、ホイールをまわすと、ズームIN/OUTができます。
画像左上のギズモでわかるように、座標軸は、Blenderと異なり、左右がx軸、前後がz軸、上下がy軸となります。上の画像の場合、原点を基準に、x軸では右側、y軸では下側、z軸では奥側がマイナス値になります。
InspectorタブにあるPositionで座標値を変化させた時のアバターの動きを確認できます。数値を入れてもよいのですが、カーソルをパラメーターの文字に持っていくと、左右の小さな矢印が現れるので(X軸の場合、画像に書き込んだ青矢印の部分)、マウスの左ボタン維持でマウスを動かすと、数値が連続して変化します。数値入力の項目は、このように、マウス操作で連続的に変化できることが多いです。
VRM0.xを前提に、触ることが多い揺れ物の設定についてです。
まず、Hierarchyにあるインポートしたアバターオブジェクトを展開し、その中のsecondaryを選択します。すると、右側のInspectorは、各Spring Boneの設定に切り替わります。そこの各パラメーターの意味については、下に示すサイトで述べられています。
また、実際にアバターの揺れ物の挙動を確認するには、次のサイトがわかりやすいと思います
最後に
最後は端折ってしまいましたが、以上のお話は、VRM0.xが前提でした。VRM1.0をUnityで触る場合、揺れ物を含め、手順や作業内容が変わってきます。特に、コンストレイントの設定はBlenderの方が作業しやすいと感じる部分もあるので、機会を見て、VRM1.0でアバターを制作する場合の留意点について、まとめてみたいと思います。
ここまでお読みいただき、ありがとうございました。