LoginSignup
4
2

More than 5 years have passed since last update.

Cinema4dで人型モデルにスケルトンをバインドしてUnityで動かすまで

Last updated at Posted at 2017-12-13

難しくないが、忘れてるのでここに書き記す。絵がなくてごめんなさい。
バインドは縛る、束ねるみたいな意味で、スケルトンが入ってない3Dのオブジェクトに、スケルトンを入れ込み機能させるみたいなこと(だと思います)。
Kobito.glzAbd.png

用語

  • ジョイント
  • ボーン
  • スケルトン
  • リグ
  • エフェクタ

まず、この辺の言葉を適当に使ってると齟齬が生まれるので、ちゃんと覚えたほうがよさそう。ここを参考にした

C4DからUnityで動かすまでの手順

  1. 動かしたいメッシュを用意する
  2. ジョイントツールを使い、メッシュに合わせたスケルトンを作成。
  3. メッシュにスケルトンをバインディングする
  4. FBXで書き出し、Unityで読み込む
  5. FBXのインスペクタのRigという設定AnimationTypeをHumanoidにする。
  6. Humanoidに対応したアニメーションを適用する。

Cinema4dでやること

バインドのやり方

簡単なやつと手動っぽいのがある。Unityで使うなら後者のがいいような気がしている。

  • 簡単方式:キャラクターオブジェクトを使って、お手軽に作れるが、書き出した際の構造がUnityに合わない(たぶん)。
  • 手動方式:ジョイントツールを使ってぼーんを生成していく、汎用性は高いかもしれない。

ツールの使い方

  • 「キャラクタ>ジョイントツール」を使う
  • ジョイントツールのオプション「ルートヌル」はオフにしといたほうがいい。余計な空オブジェクトができちゃう。
  • Ctrl +クリックするとジョイントができてどんどん繋がっていく
  • Shift + クリックするとボーンが2個に分かれる
  • くっつけ方。 くっつけたいジョイントを選びつつ、ジョイントツールで生成。

参考にしたページ http://ameblo.jp/try-c4d/entry-11828376354.html

ジョイントをメッシュにバインド

メッシュとジョイントを全選択(選択されてないジョイントはバインドされないので忘れず全選択)し、「キャラクタ>コマンド>バインド」を実行

※バインドがうまくいかないときは、ジョイントのプロパティが「ボーン>親から」になってるのを確認

ウェイト調整

面倒なので割愛。いつかやる。

いちから作るのが面倒なとき

Unityで人を動かすことが目標なので、もう既にあるモデルからスケルトンだけ抜き出して、あとは位置調整&バインドすればいい。一番手っ取り早いし、Unity上で必ずスケルトンは認識されるし

書き出し

fbxで書き出せば良い。

Unityでやること

FBXを設定

Unityに読み込んで(Asset以下に放り込んで)、rigのアニメーションタイプが、Humanoidになってることを確認。configureから、リグがちゃんと効いてるかどうか、確認できる。

Locomotion

キーボードでテスト的に動かしたいときは、Locomotionを使う。
https://www.assetstore.unity3d.com/jp/#!/content/7673

やり方

  • Locomotionをアセットストアからダウンロードしてくる
  • GameObjectのAnimationControllerに、Locomotionをつける
  • スクリプトでLocomotionPlayerをつける

完成

Kobito.glzAbd.png

4
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
4
2