アバター設定補助ツール for VRChat (AmariVRChatAvatarUtils)

制作物
制作物

紹介動画

概要

本ツールは、VRChatのアバター設定の効率化を目的としたツールです。
モデル・プレハブ間でPhysBoneの設定をコピーすることができます。
衣装制作時やモデリングツールでの衣装変更の際に使用する想定です。

BOOTHページ: https://amarinoa.booth.pm/items/5768888

機能

PhysBone設定のモデル・プレハブ間コピー (2024/5/24現在)

動作環境

VRChat SDKを導入済みの以下いずれかのバージョンのUnityEditor上

  • 2019.4.31f1
  • 2022.3.22f1

使い方

事前準備

“VRChat Creator Companion”または”Unity Hub”からツールの対応しているUnityバージョンで設定用Unityプロジェクトを作成します。
また、”VRChat SDK”も導入します。

ツールの導入

事前準備で作成したUnityプロジェクトを開き、ツールパッケージ(AmariVRChatAvatarUtils_(バージョン).unitypackage)をドラッグ&ドロップまたは上部メニュー(Assets > Import Package > Custom Package…)からインポートします。
上部メニューに項目(Amari > VRChat > AvatarUtils)が追加されていれば導入成功です。

ツールウィンドウを開く

上部メニュー(Amari > VRChat > AvatarUtils)からツールウィンドウを開きます。

ツールウィンドウのUIは以下のような構造になっています。(2024/5/24現在)

データのバックアップ

ツールの使用前にはアバターやUnityプロジェクトのデータをバックアップしてください。
破損すると困るデータは必ずコピー等をして、いつでも元の状態に戻せるよう保管してください。

アバター(または衣装)のインポートと準備

以下のデータをUnityプロジェクトへインポートします。

  • 設定コピー元のアバターや衣装
  • 設定コピー先のアバターや衣装

その後、設定コピー先のアバターや衣装をシーン上に配置します。
(Hierarchyへドラッグ&ドロップするなどして配置してください。)

ツールUI上でコピー元とコピー先を割り当てる

“Avatar selector”エリアの”Copy from”にコピー元(設定済み)のプレハブまたはモデルを設定し、”Copy to”にコピー先(未設定)のプレハブまたはモデル(シーン上に配置したもの)を設定します。

設定コピーの準備

コピー元、コピー先を設定すると、マッピングエリアにトランスフォームの階層が表示されます。

マッピングエリアの表示について

“SourceTransform”と”TargetTransform”の割り当てを行います。
“TargetTransform”側の表記が黄色文字になっている部分は”SourceTransform”と違う名前のトランスフォームが割り当てられている項目です。
“TargetTransform”側が空欄の部分はマッピングが未割当の項目です。

マッピングの操作方法 (既存トランスフォームの割り当て)

“Avatar mapping”エリアから設定対象のトランスフォームを選択し、Inspector上の”Select transform”ボタンを押します。

表示されたポップアップ上で割り当て対象のトランスフォームを選択し、Applyボタンを押します。

対象の”TargetTransform”欄に黄色文字で割り当てが表示されます。
割り当てを行うと、さらに下の階層のマッピングも行えるようになります。

マッピングの操作方法 (新規オブジェクトの作成)

“Avatar mapping”エリアから設定対象のトランスフォームを選択し、Inspector上の”Create object”ボタンを押します。

新規オブジェクトが作成され、トランスフォームの割り当てが行われます。

設定をコピーする

“Avatar mapping”エリア上で設定のコピーが必要な階層を開き、コンポーネントをコピーしたい”PhysBone”または”Collider”のチェックボックスにチェックを入れます。
チェックを外すと、対象のトランスフォームに設定されたコンポーネントはコピーされません。
その後、ウィンドウ右下の”Copy avatar settings”ボタンを押すことでコピーが完了します。

PhysBoneの設定を調整する

コピーしたデータをそのまま使用するとモデルが破綻してしまう場合があるため、必要に応じて個別に調整を行ってください。