Risebox_VRブログ

VRやAR等のアプリ開発の過程を発信するブログ

unity キャラクターのボーンを表示する方法

キャラクターのボーンを表示させたいなと思ったときに
色々調べてみましたが、自分の中でピンとくるものがなかったので、
どうやって簡単にキャラのボーンを表示させようか悩んでいましたが、
すごく簡単にボーンを表示させることができる方法がありましたので共有したいと思います。

またVRキャラ操作の際にボーンの表示があると便利なのでぜひ使ってみてください。

準備

今回の環境
・windows10
・unity 2019.4.13

まずはボーンを表示させたいキャラを用意してください。
今回の例では無料アセットのunitychanを使わせていただいています。
Space Robot Kyleもボーンを確認するのにいいと思います。

assetstore.unity.com

assetstore.unity.com
unity asset storeより引用

次にunityのpackage managerより本命のanimation rigging をimportします。
unityの2019.4以降が正式版?のようです。なのでできれば2019.4以降のバージョンを用意してください。

f:id:Risebox:20201129230811p:plain

animation riggingパッケージ

animation riggingパッケージはもともとアニメーションを作るための仕組みで、
本来スクリプトでアニメーションを作っていたところを簡潔にしてくれるパッケージになります。
ここに実はキャラのボーンを表示させてくれるスクリプトがあるんです!
それが「bone renderer」と呼ばれるスクリプト

「bone renrderer」で キャラのボーンを表示

f:id:Risebox:20201129231155j:plain

animation riggingをimportしたらadd Componentで「bone renderer」と検索して
ボーンを表示させたいキャラにスクリプトをアタッチしましょう。

次にボーンを表示させたい部位を選択していくのですがひとまず全部位を見ていきます。
unitychanのオブジェクトを右クリックしてselect childrenをクリックします。

f:id:Risebox:20201129232611p:plain

選択されたオブジェクトをtransformにドラッグアンドドロップする
(※すでにelementにオブジェクトを入れていたのでボーンが表示されています。)

f:id:Risebox:20201129235313j:plain

すると下記の画面になります。

f:id:Risebox:20201130000508p:plain
element

elementに選択されたオブジェクトが入り、そのボーンが表示されます。

f:id:Risebox:20201130001659p:plain


unitychan結構いろんなボーンが入っていますね。。
こんなにたくさんボーンが表示されても使いずらいので、
elementには体の基本的な部位のみ表示させました。
f:id:Risebox:20201130002228p:plain

自分は以下のオブジェクトを入れました。
f:id:Risebox:20201130003811p:plainf:id:Risebox:20201130003833p:plain

ボーンオブジェクトの表示については以上です。