今回はUnityでの3Dゲーム開発に役立つ話題で
Unityの公式パッケージを使って3Dモデルのボーン構造を簡単に表示する方法
をご紹介するという内容になっております。
Unityで3Dゲームを作っていると、キャラクターのボーンを弄って武器を持たせる等したくなるときがあります。ただUnityにはキャラクターのボーン構造を表示する機能がデフォルトでは用意されていないので、そのような場合にかなり不便に感じることがありますよね。
そこで今回はUnityの公式パッケージ「Animation Rigging」を使ってキャラクターのボーン構造を手軽に表示する方法を解説します。
前提:Animation Riggingパッケージのインストール
まず、今回の方法を使うためにはAnimation Riggingパッケージが必要になるのでパッケージマネージャからインストールしましょう。
インストール方法は簡単で、パッケージマネージャを開いて「Unityレジストリ」を選び、その中にあるAnimation Riggingという項目を選択してインストールボタンを押すだけです。
しばらく待つとパッケージがインストールされてプロジェクトで利用可能になります。
ボーンを表示する「Bone Renderer」コンポーネントの使い方
ではここからが本題です。Animation Riggingパッケージの中には、ボーン構造を表示できる「Bone Renderer」というコンポーネントがあるのでその使い方をご説明します。
一番簡単な使い方:ボーンのルートオブジェクトを選び、メニューからセットアップを行う
Bone Rendererの一番簡単な使い方は、ボーンのルートオブジェクト(=根本のゲームオブジェクト)を選んだ状態でメニューの「Animation Rigging」→「Bone Renderer Setup」を選ぶだけです。
具体的には、例えば下記のVRoidモデルのボーンを表示させたい場合はまずボーンのルートオブジェクトを選びます。VRoidの場合は「Root」オブジェクトですね。
この状態で先ほどの「Bone Renderer Setup」メニューを選びましょう。すると自動的にセットアップが行われて下記のように3Dモデルのボーン構造が表示されるようになります。
ボーン構造を表示しているときに特定のボーンを選択すると、その部分に該当するゲームオブジェクトが自動的に選択された状態になります。ボーンを回転させるなどしたい場合にとても便利です。
ちなみにこのBone Rendererコンポーネントはヒューマノイドモデル以外にも使えます。色々なモデルに活用してみましょう。
なおボーン表示が不要になった場合はBone Rendererコンポーネントを削除するだけでOKです。
手動でボーンを登録する方法
次にレアなケースだと思いますが、特定のボーンだけ表示したい場合などに手動でBone Rendererにボーンを登録する方法についてザックリと説明します。
やり方自体は簡単で、Bone RendererコンポーネントのTransforms欄に表示させたいボーンのゲームオブジェクトを登録するだけです。
なおボーンを表示するためには始点と終点の2つのゲームオブジェクトを両方登録する必要があります。なので例えばボーンAを表示させるには
- ボーンAの始点となるゲームオブジェクトB
- ボーンAの終点となるゲームオブジェクトC
の2つを登録するようにしましょう。
おわりに
以上、Unityで3Dモデルのボーン構造を簡単に表示させる方法について書きました。この方法を使えば3Dモデルの回転などの操作がとても捗るのでぜひ試してみてください。
この記事がUnityでのゲーム開発のお役に立てば幸いです。