MayaでCurveに沿ってオブジェクトを複製する

こんにちは!Rhinoです。
今日はCurveに沿ってオブジェクトを複製する方法を2通りご紹介したいと思います。
よく使用する方法だと思いますよ。

Animation Snapshot

Animation Snapshotとは付けたアニメーションの軌跡に沿って複製するという機能になります。
その為、まずはCurveに沿ったアニメーションを付ける必要があります。

エッジをCurveに変換する

オブジェクトを配置したい箇所のエッジを選択し、Polygon Edges to Curveで選択エッジをCurveに変換します。

Degreeを1 Linearにして頂点の位置にCurveのエディットポイントができるようにします。

このようなCurveが出来上がりました。

Curveに沿ったアニメーションを付ける

今回複製するのはこのようなシリンダー状のオブジェクトになります。
これがCurveに沿って動くようにアニメーションを付けます。

オブジェクトとCurveを選択します。

今回は計48個に複製したいと思いますので、タイムスライダのレンジを0~47に変更し、[Constrain][Motion Paths][Attach to Motion Path]でCurveに沿って動くようにします。
この際オブジェクトの向きなどには気を付けて下さい。意図しない方向を向くようでしたら、軸の設定を調整してみて下さい。

Graph Editorを開いてモーションパスのU Valueのアニメーションをリニアに変換します。

こういうアニメーションが付きました。

Animation Snapshotを使って複製する

[Visualize][Create Animation Snapshot]のオプション画面を開き、スナップショットを作成する範囲を0~46にします。始点と終点でオブジェクトが重ならないようにするためです。

円状のCurveに沿って複製されました。

Position Along Curve

Position Along CurveとはCurveに沿ってオブジェクトの位置をスナップしてくれる機能になります。
これを使って予め複製したオブジェクトをCurveのエディットポイント上に移動させることができます。

オブジェクトは予め複製する

今回は少し形状の違うCurveを用意してみました。中心に小さくあるのがシリンダー状の配置オブジェクトになります。

配置オブジェクトをDuplicate Specialを使って複製します。
その為、インスタンスやコネクションを保持したまま複製することも可能になります。
今回は通常コピーにしました。
同じ位置に複数のオブジェクトが重なるはずです。

Curveに沿ってスナップする

[Modify][Snap Align Objects][Position Along Curve]を使ってCurveに沿ってスナップさせます。

何だか随分偏った配置になりました。
Curveのエディットポイントの位置に偏りがある為です。

Curveを編集しスナップさせる

[Curves][Rebuild]でCurveのエディットポイントの偏りを修正します。

Spansの値を変更して調整します。

Position Along Curveで再度スナップします。今度はうまくいったみたいですね。

回転軸には注意が必要

Position Along Curveは便利な機能なのですが、1つだけ注意する必要があります。
それは回転軸がCurveに沿わないということです。
複製したオブジェクトの回転軸がすべてWorldと一致していますね。

例えばこれをCurveに沿った向きにしたい場合はCurveとオブジェクトの間でTangent Constrainなどをしてあげる必要があります。

Mayaの標準機能を使ってCurveに沿ってオブジェクトを複製する方法のご紹介でした。
如何でしょうか?
いずれも以前からある方法ではありますが、ちょっと手順や問題点も多く改善して欲しい部分ではありますね。
これらの他にもMASHを使う方法などもあります。外部ツールなどを使う方法もあるでしょう。
いずれにせよ、知っておいて損はない方法かと思いますので、ぜひお試し下さい。
では、また!

コメント

タイトルとURLをコピーしました