Puppet3Dを試してみる
この記事は
Unity アセット真夏のアドベントカレンダー 2018 Summer!
http://assetstore.info/eventandcontest/adventcalendar/asset-adventcalendar2018summer/
に参加しております。
私はPuppet3Dを試してみるということでエントリを書いてみたいと思います。
アセットはこちらです。
公式サイトはこちら
https://www.puppet3d.co.uk/
Puppet3Dは、2018/6月の~ドル以上買ったらアセット無料でもらえるよ!キャンペーンでいただいたアセットです。
たまに3Dモデラーさんからボクセルのキャラクターを提供していただいたりすることがあるのですが、Blenderとかでリギング?やボーン?やアニメーション?を入れたりするのが大変そうなイメージがあります(自分はあまりやったことがない)
それをPuppet3Dの素敵な機能で楽に作業できちゃうんじゃないかな!
という淡い期待を込めて、実際にやってみていきたいとおもいます。
Puppet3Dの特徴をアセットページのまま転載します。
Features
- AUTORIG - Rig it in a minute! Makes rigging a biped really fast.
- Create bones and skin them to any character or asset.
- IK & FK - Make IK controls for the limbs, which can blend between IK and FK.
Create a "Mod-Rig" on a humanoid in 1 click, to modify or make new animations.
- Advanced Rigging - Spline Controls for tails and bendy things, Parent, Orient, IK and Global controls.
- Paint the Skin Weights.
- Voxel based default skin weights. Spreads the weights through the characters volume.
- Pose Saving & Loading
- Bake Control Animations Onto Bones
なんとなく、
- AUTORIG - Rig it in a minute! Makes rigging a biped really fast.
- Create bones and skin them to any character or asset.
- Voxel based default skin weights. Spreads the weights through the characters volume.
この辺の機能が使えたら(私は)とても幸せになれそうですね(n*´ω`*n)
このあたりを重点的に使ってみたいと思います。
# AUTORIG
まずはMagicaVoxelに最初からついているキャラクターをエクスポートしてみます。
MagicaVoxel
は1dotの箱をどんどんくっつけてボクセルモデルを作るイメージのお手軽3Dモデラーソフト(無料)です。
こちら利用します。
モデルはTポーズにしておくと、リギングしやすいそうなので、ちょっと改造してTポーズにしておきます。
エクスポート形式、いっぱいあってよくわからないですが、よくみかけるobj形式で出してみます
3つのファイルができました。
これをUnityのプロジェクトにドラッグドロップでいれてみます。
objファイルをInspectorで見ると、取り込めているようですね。
これをAUTORIGしてみましょう!
objをScene上に配置して、MeshRendererがついているGameObjectを選択します。
選択状態で Window > Puppet3D を選びます。
すると、Puppet3Dのメニューが出てきます。なんかこれでできそうですね!
ボクセルなのでKeep Voxelsのチェックをつけて、まずはMake Guidesボタンを押してみましょう。
すると、人型に点がうたれましたね。
先ほどはなかったMesh Colliderもつけられているようです。
またHierarchy上にはchr_sword_GUIDES なるオブジェクトが作られています。
中をみてみましょう。
ちょっとわかりにくいかもしれませんが、各体の部位ごとのGuideスクリプトがついたGameObjectが作られていました。これをいい感じの位置に調整してリグをつけるのかもしれません。
結構ずれてる(頭が大きいせいかな・・・・)Guideの位置を移動して調整します。
これを自動でやってほしかったんだけど。。。w
これでAuto Rigボタンを押してみます!
ぎゃあああああ! なんかレインボーカラーになってしまいましたよ!
Keep Voxelsというチェックを外して再度AutoRigボタンを押してみると・・!!
なんか素敵な感じになりました!
骨も見えています。
これでいちおうリギングとボーンが入ったのかな?
Global_CTRLというGameObjectができているので、中をのぞいてみると
IKの部位に応じたコントローラ(IK Control)が入っています。
このIKFKというスライダをいじってみると。。。
手が腕と連動して動きましたよ!!
IK Controlのスライダだけではなく、〜CTRLとなっているオブジェクトのPositionやRotationをかえるとこれでも部位が連動して動作します。
(これは胸のポジションを前にだして、胸を突き出している様子)
このGlobal_CTRLを操作すれば、スクリプトから面白い動きをさせることができそうですね!
なお、ちょっとモデルを見るとわかるのですが、頭と体がちゃんと分離できておらず、
同じスキンのような感じで頭がひっぱられて動いてしまっています。
おそらく、Puppet3Dの以下の機能
# Create bones
# Voxel based default skin weights
をちゃんとつかえば分離できるのかもしれませんが、今回は時間の関係でここまでにしたいと思います。
ここまで、Puppet3Dで3Dキャラクターのobjモデルを読み込ませてリギングや骨入れする機能を使ってみました。
他にも機能がいっぱいあって可能性を感じます。
ぜひ、ピンときた方は使ってみてくださいね!
明日は
うら干物さんの 「稲妻のアセットを使って、フォースの暗黒面に触れる」
です。エフェクト系の記事でしょうか、楽しみですね!
それではまた!