【解説】龍のヨルちゃんRonを飛ばそう
概要
まずはこちらの動画をご覧ください。
龍のヨルちゃんRon(以下Ronくん)がYollちゃんの周りを優雅に飛んでいます。カッコかわいいですね!!
本記事では、これを実現する方法を説明します。
なお、動作確認はしていますが、記事が間違っている可能性もありますので、動かないんだけど!!という場合は詳しい人に聞いてください。
必要なもの
Blender(基礎ができているとなおよい)
Unity(アニメーションができるとなおよい)
構造説明
まずは作業に入る前に構造を説明します。
本ギミック?は「アニメーションで動かす」+「PhysBoneで体を滑らかに動かす」の2つで成り立っています。
アニメーションは下記動画のようにRonくんを動かしています。
それに加えてBlenderで頭が親になるようにボーン構造を変更し、首以下にPhysBoneを入れることで滑らかに動かしています。
頭をつかんで引っ張るとそれに体がついてくるイメージです。
構造を理解いただいたところでようやく作業に入ります。
1.Blenderでボーン構造変更
下記の説明を読んで難しいと感じた方は、Blenderの基礎から学ぶことをおすすめします。とりあえずかぼちゃを作るのがいいかも。
https://www.youtube.com/watch?v=Xg4AXYuzEqA&t=0s&ab_channel=%E7%A6%85zen
ここから説明です。
Ronくんのボーンは胸が親になっていて、そこから頭や腕、尻尾の側に伸びています。
このままだとPhysBoneがうまく動作しないので、頭が親になるようにボーン構造を変更します。
1-1. 親子関係の変更
赤丸で囲ったあたりのボーンの親子関係を変更します。
デフォルトのボーンは下記のような親子構造になっています。
これを編集して下記の画像の構造に変更します。
下記の画像に表示されてないものは触らなくていいはず。
Armatureを選択して編集モードに入った後、それぞれのボーンを選択し、「ペアレント」にあるボーンを変更します。
詳しい操作については下記ページがわかりやすいので参照してください。
◆作業メモ◆
1.Neckと名のつくボーンの親子関係をすべて反転させる必要があります。
2.上の写真だとわかりづらいですが、Shoulder_1_L、Shoulder_1_R、Chest1.002はNeckの子に入れましょう。
3.Leg_Shoulder_L、Leg_Shoulder_RをSpine3の子に入れるのも忘れずに。
1-2.首ボーンの反転
すべての首のボーンが頭→尻尾の向きになるように180°回転させます。
編集モードで「Neck.001」から「Neck」までを選択し、ピボットポイントに「それぞれの原点」を選択。
「R(回転)」→「X(軸)」→「1」→「8」→「0」→「Enter」を順にタイプしてそれぞれのボーンの向きを反転させます。
続いてChest1を選択し、ピボットポイントに「中点」を選択。(さっきと違う!!)
「R(回転)」→「X(軸)」→「1」→「8」→「0」→「Enter」を順にタイプしてボーンの向きを反転させます。
Blender上の作業はこれで終了です。
この状態でUnityにfbx形式でエクスポートします。
方法は問いませんが、AssetsCreationToolsetアドオンを使うと便利です。
こちらの記事で解説されています。
これができる人は信頼できる!|Cwan|pixivFANBOX
2.UnityでPhysBoneとアニメーションの設定
ここまでくればあと少しです!!GANBA!!
Unityについては皆さん詳しいと思いますので、詳細な説明は端折ります。
前準備
まず、先程エクスポートしたfbxをSceneにドラッグ&ドロップ、アバター直下に配置し、原点に移動します。
その後名前をオブジェクト名を「Ron」に変更してください!(後でアニメーションを動かすのに必要)
サイズはお好みで(自分は0.2)。マテリアルは元のRonくんのものを割り当ててください。
PhysBoneの設定
次にPhysBoneを設定します。
RonくんのArmatureの下にある「Neck.001」にコンポーネント「VRC Phys Bone」を追加します。
値は下記でやってますが、値は好きに調整してください。
アニメーションの設定
最後にアニメーションを割り当てて動くようにします。
自分でアニメーションを作るのが面倒な方用に下記で配布しています。
オブジェクト名「Ron」に対してのアニメーションなので、動かなければオブジェクト名を「Ron」に変更してください。
アニメーションの再生方法は下記記事などが詳しいので参照してください。
https://chimerabbit.com/2021/08/21/expression-menuで任意のanimationを再生するvrchat-avatars-3-0/
「Ron_fly_on.anim」アニメーションはループで常時再生にした上で、オブジェクト「Ron」自体をRadial Inventoryなどでオンオフする方法が使いやすいです。
あとはGesture Managerなどで動作を確認した後VRChatにアップロード!!
これで作業は終了です。お疲れ様でした。
不明点、間違っている点などありましたら、Xなどでご連絡ください。
余談
Ronくんペット化ギミックがめちゃよいです。導入も簡単なので皆さんダウンロードしましょう。
うちのチャイナヨルちゃんに着せているのはPolarisさんの「MaixMai」という衣装です。可愛いので買おう!!!
なお、胸のあるヨルちゃんに着せるにはBlenderが必須です。