Blenderでポーズを作ってUnityに取り込む #Cluster - Qiita
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

クラスターAdvent Calendar 2023

Day 5

Blenderでポーズを作ってUnityに取り込む

Last updated at Posted at 2023-12-04

この記事は クラスター Advent Calendar 2023 の12/5の分です。
昨日は @so1_ さんのCluster Lobby - もっとも多くの人が行き交うメタバースを目指してでした。安心できる場を作るロビー運営の考え方、興味深かったですね。

ポーズが作りたいんじゃあ~

Cluster Creator Kit ScriptのBeta APIにはHumanoid Animationが存在し、これを使うと例えばアバターを特定のポーズに設定することができます。このAPIの使い方はCreators Guideにも記事【ベータ機能】アバターをアニメーションで動かしてみようがあります。
ここで「アセットとしてのHumanoid Animationを作るにはどうすればいいんだろう?」という疑問があります。記事にあるようにMixamoなどから既存のアニメーションを取り込む方法もありますが、任意のポーズを作りたい時にどうすればよいのでしょうか。
今回はBlenderを用いて自分でHumanoid Animation、特に1フレーム分の姿勢を作る方法を調べてみました。自分はBlender初心者なので、同じ初心者の方にもわかりやすいようスクリーンショット多めでお送りします。

Blenderをインストール

Blender 4.0を使いました。

Rigifyを有効化する

Preferenceの画面から、「Rigging: Rigify」を有効化します
image.png

Basic HumanをAdd

AddメニューからBasic HumanをAddします。
image.png

キーフレームの追加

画面上部のAnimationをクリックしてワークスペースをアニメーションに切り替えます。
その後「a」「i」キーを押して、初期状態でキーフレームを追加します。
image.png
この時「Location & Rotation」を選択します。

これで1フレーム目にキーフレームを追加できました。
image.png

次に、フレームのカーソルを2に動かし、
image.png

ボーンをクリック、「r」、角度を変更してクリック、を繰り返して、任意のポーズを作ります。
image.png
その後「a」「i」キーを押してキーフレームを追加します。
image.png

fbxファイルのexport

Fileメニューからexportします。
image.png

UnityへFBXファイルの取り込み

ここからはUnityを操作します。今回はCluster Creator Kitが対応しているUnity 2021.3.4を使用しました。

exportしたファイルをUnityのProjectウィンドウにドラッグ&ドロップすると、FBXファイルが取り込まれます。
ただしインポート設定をデフォルトから一部変更する必要があるため、まず一番左の箱をクリックします。
image.png
Inspectorウィンドウをみて、RigのAnimation TypeをHumanoidにし、Applyします。
image.png
Animationから、Clipの名前を変更できます。デフォルトの「metarig|metarigAction」から変更しておくとわかりやすいでしょう。
image.png

デフォルトの姿勢が1フレーム目、変更した姿勢が2フレーム目に入っている状態で取り込めていることが確認できました。
Animation.gif

clusterへの組み込み

今回はこちらの記事を参考にして、インタラクトするとポーズを反映するアイテムを作ってみました。
clusterベータ アバターにアニメーションを付けるボタンを作る方法 #cluster #clusterベータ

スクリプトは以下のようにシンプルに書いてみました。

const anim = $.humanoidAnimation("MaruAnim");
$.onInteract((player) => {
  var sample = anim.getSample(1);
  player.setHumanoidPose(sample);
})

image.png
まる!

おわりに

整体ワールドもこちらの方法を使って実現しています。

何かしら参考になれば幸いです。

明日は @tsgcpp さんの「何か(多分VRM関連)」です。どんな記事か楽しみですね。

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?