【Blender 3.3】ロボットを作って動かしてみよう!

URLをコピーする
URLをコピーしました!

こんにちは!

コチラの記事では、フリーの3DCGソフト「Blender」を使う上でのヒントになる情報を発信しています。

今回は、Blenderでロボットを作って動かすための基本的なやり方について紹介します。

別々のオブジェクトに分かれたパーツとボーンを関連付けて、ボーンコンストレイントなどを使ってロボットっぽい動きをさせる方法を解説するので、ロボットを作りたい方はぜひ参考にしてみてください。

目次

ロボットの特徴

「ガンダム」のようなロボットを、Blenderで作って動かしたいという方は多いのではないでしょうか?

「ロボット」のモデリングの特徴をざっくりと挙げると、以下2点になるかと思います。

  • パーツが分かれていて、別々に動く
  • 関節の曲がる方向が決まっている

パーツが分かれていて、別々に動く」のイメージとしてはこんな感じです。

手前のオブジェクトは2つに分かれていて、それぞれのパーツを別々のボーンにペアレント設定し、奥のオブジェクトは自動でウエイトペイントしたものです。

奥のオブジェクトは生物っぽく関節部分がやわらかく変形して見えるのに対して、手前のオブジェクトはロボットのように硬そうに見えるかと思います。

関節の曲がる方向が決まっている」のイメージはこんな感じです。

手前と奥のオブジェクトは両方ともボーンにIKコンストレイントを追加してターゲットオブジェクトに追従させて動かしています。

奥のオブジェクトは各関節が自由な方向に曲がっていますが、手前のオブジェクトは各関節の曲がる方向を固定したのでよりロボットっぽい動きを表現できています。

これらの動きを表現するために、次の「ロボットアームの作り方」のセクションで、「各ボーンを各パーツに関連付ける」「関節の曲がる方向を固定する」やり方を具体的に紹介します。

ロボットアームの作り方

ロボットの動きを表現する方法を、具体例を交えて紹介していきます。

最終的には、コチラのようなアニメーションを作れるようになります。

今回紹介する方法は、ロボット全般のアニメーション作成に使える方法なので、ぜひ参考にしてみてください。

モデリング方法

まず、立方体オブジェクトからロボットアームの腕のパーツを作っていきます。

コチラの例のように、関節部分の形状はループカット&押し出しなどを使って表現します。

アームの先端の関節は軸回りに回転させたいので、円柱オブジェクトから作ります。

アームの先端の物をつかむ部分(マジックハンド)は、コチラのように円柱オブジェクトを押し出して作ることができますが、ぜひみなさんの好みの方法で作ってみてください。

ボーン・リグの追加

ボーン(リグ)を追加します。

「Shift+A」をクリックして「アーマチュア→単一ボーン」を選択すると3Dカーソル位置にボーン(リグ)が追加されます。

このままだとメッシュオブジェクトに隠れてボーン(リグ)が見えないので、「オブジェクトデータプロパティ(人のマーク)」をクリックして「ビューポート表示」→「最前面」にチェックを入れると、ボーン(リグ)が常に最前面に表示され編集しやすくなります。

Tabキーで編集モードに切り替え、ボーン先端が関節位置に来るように、Eキーで押し出しを繰り返して、リグにボーンを追加していきます。

マジックハンドの部分は、画面右上の「X軸対称」を有効にしてショートカットキー「Shift+E」キーをクリックすると、左右両側に押し出せます。

リギングの基本についてはコチラの記事で紹介しているので、あわせて参考にしてみてください。

あわせて読みたい
【Blender2.9】リギングの方法:まずはここから基礎編! こんにちは! Blenderでの3DCG制作を勉強中のUEDAです。 Blenderを勉強して、アウトプットの場としてそれぞれの機能をまとめられればと思っています。参考にもなれば嬉...

パーツとボーンのペアレント設定

リグの各ボーンと各オブジェクトを1対1で関連付けていきます。

リグを選択した状態でTabキーをクリックし、編集モードに切り替え、関連付けたいボーンを1つだけ選択します。

Tabキーでオブジェクトモードに切り替え、Shiftキーをクリックしながら「関連付けたいオブジェクト」→「リグ」の順番でクリックし、ショートカットキー「Ctrl+P」をクリックします。

「ペアレント対象」の選択画面が開くので、「ボーン」を選択します。

「Ctrl+Tab」でポーズモードに切り替え、ボーンを動かすとオブジェクトもそれに追従して動くようになります。

同じように、すべてのオブジェクトを、各ボーンとペアレント設定してください。

オブジェクトに親子の関係を持たせる「ペアレント」について、詳しくはコチラの記事にまとめているので参考にしてみてください。

あわせて読みたい
【Blender2.9】ペアレントでオブジェクト同士を紐づけ・解除の方法 こんにちは! Blenderでの3DCG制作を勉強中のUEDAです。 Blender Guruさんが新しくソファーのチュートリアルを出しましたね。 僕はpart5まで終わりました。まだチュート...

ロボットのパーツとボーンを1対1でペアレント設定する方法については、コチラの記事を参考にしました。

油圧シリンダーの作り方なども含めて丁寧に紹介されているので、あわせて参考にしてみてください。

Vook(ヴック)
ロボット開発への妄想を具現化 Blenderで作るメカニカルな動きの表現 はじめに 今年、機械業界からCG業界に転職したchappy9と申します。CGプロダクションで仕事をする傍ら、プライベートではBlenderでゾイドなどのロボットを作り、TwitterやYo...

リグ関節の「IK」コンストレイントの設定

ロボットアームにアニメーションをつけるために、ボーンコンストレイント「IK(インバースキネマティクス)」を追加します。

まず、「Shift+A」→「エンプティ(Empty)→十字」をターゲットオブジェクトとして追加し、アームの先端付近に配置します。

つぎに、リグを選択し「(Ctrl)+Tab」からポーズモードに切り替え、回転部分につながるアーム先端のボーンを選択し「ボーンコンストレイントプロパティ」から「ボーンコンストレイントを追加」をクリックします。

「インバースキネマティクス」を選択し、「ターゲット」に「Empty」を選択します。

オブジェクトモードに切り替えてエンプティオブジェクトを移動させると、リグの各関節が、それに追従するように曲がるようになります。

このままだと関節が自由に曲がってしまいロボットっぽくないので、各ボーンのIKをロックします。

まず、各ボーンのローカル座標系のX,Y,Z方向が分かるように、「オブジェクトデータプロパティ」→「座標軸」にチェックを入れて座標軸を表示します。

「ボーンプロパティ(骨のマーク)」を選択し、「インバースキネマティクス(IK)」→「IKをロック」で、関節の曲がってほしい方向以外の成分にロックを掛けます。

すると、IKでリグを動かしたときに、設定した関節はロックを掛けた方向には曲がらなくなります。

同じように、すべてのアームのボーンにIKロックを設定すると、各関節が一方向にのみ曲がるようになり、ロボットのような機械的な動きを表現できるようになります。

関節を動かすのに便利な「IK」「FK」の設定方法については、コチラの記事で詳しく紹介しているので、あわせて参考にしてみてください。

あわせて読みたい
【Blender2.9】IK・FKとは?Part.1「下半身のリギングを行おう!」 こんにちは! モデリングを勉強中のHyoketsuです。 今回はリギングの中でも、発展的な制御方法になるコンストレイトを用いる方法を紹介します。 IKやFKなどの仕組みやレ...

アーム先端の「トランスフォーム変換」コンストレイントの設定

アーム先端の部品を回転させるのには、ボーンコンストレイント「トランスフォーム変換」を使います。

エンプティオブジェクトを追加し、グローバルX軸上に配置します。

ポーズモードでアーム先端の回転させたいボーンを選択し、「ボーンコンストレイントプロパティ」から「トランスフォーム変換」を追加し、「ターゲット」に追加したエンプティを設定します。

このままだと動かないので、トランスフォーム変換の「変換元」と「変換先」に以下を設定します。

  • 変換元:「位置」を選択
    • 「Yの最小値」を-1m
    • 「Yの最大値」を1m
  • 変換先:「回転」を選択
    • Yの変換元」は「Y」
    • 「Yの最小」を-90°
    • 「Yの最大」を90°

下の例のようにエンプティをY方向に移動してもボーンのY軸回りに回転してくれない場合は、「変換先」の「順序」をデフォルトから「YXZオイラー」に変更します。

すると、エンプティをY方向に移動すると、ボーンおよびペアレント設定されたオブジェクトがボーンのY軸回りに回転するようになります。

マジックハンドについても、別のエンプティオブジェクト(見分けやすいように「矢印」を使用しています)を追加して「トランスフォーム変換」コンストレイントを追加してやることで、コチラのように物をつかむ動きを表現できるようになります。

ボーンの動きをコントロールするのに便利な「ボーンコンストレイント」の使い方については、コチラの記事もあわせて参考にしてみてください。

あわせて読みたい
【Blender3.0】コンストレイントでアニメーション作業を効率化!! こんにちは! 皆さんはBlenderでアニメーションを作っていますか? たいてい、モデルには多くのボーンがあり、それを一つ一つ制御するのは非常に大変です。 そのため、...

オブジェクトコンストレイントの設定

オブジェクトコンストレイント「チャイルド」を使うと、コチラのように物をつかんで動かすアニメーションを作ることができます。

やり方を簡単に紹介します。

STEP
先ほど設定した「IK」および「トランスフォーム変換」のターゲットにキーフレームを追加して、アームの動きを定義します。
STEP
アームでつかみたいオブジェクトを追加し、「オブジェクトコンストレイントプロパティ」から「チャイルド」を追加します。

チャイルドの「ターゲット」は、アーム先端のオブジェクト、またはエンプティオブジェクトに設定します。

STEP
チャイルドコンストレイントの「影響」にキーフレームを打ちます。

「影響」の値を1にするとボールはオブジェクトに追従して動き、「0」にすると元の位置に戻ります。

STEP
ボールが落下してその場に留まるようにするために、ボールの位置にキーフレームを追加します。

チャイルドコンストレイントの「影響」を1にした状態のまま、180フレーム(ボールを離す瞬間)にキーフレームを追加し、185フレームでボールを垂直方向に動かしてキーフレームを追加します。

190フレーム目で「影響」を0にするとボールは元の場所に戻ってしまうので、189フレーム目でボールの位置にキーフレームを追加した後、3Dカーソルをボールの位置に設定します。

190フレーム目で、3Dカーソルの座標をボールのトランスフォーム位置X,Y,Zにコピペしキーフレームを打つと、ボールがその場に留まるように見せることができます。

変形アニメーションの作り方

先ほど紹介した「チャイルドコンストレイント」を使うと、コチラのように「ある物体が変形してロボットが現れる」アニメーションを作ることができます。

簡単にやり方を紹介します。

STEP
ロボットを作ります。

関節は、「ロボットアーム」で紹介したように「IK」+「ボーンのIKロック」で設定します。

STEP
キーフレームを追加して、ポーズを付けます。
STEP
変形前のモンキーを追加し、前後が分離するようにキーフレームを追加します。
STEP
モンキーが分離したあとで手足が生えてくるように、ロボットの各パーツのスケール・位置・回転にアニメーションを付けます。
STEP
モンキーにチャイルドコンストレイントを追加します。

モンキーにチャイルドコンストレイントを追加し、ロボットのボーンをターゲットに設定します。

ロボットに変形した後、ポーズをとる前に「影響」が0から1に変わるようにキーフレームを追加すると、モンキーがロボットの体の一部として、ボーンに追従するように動きます。

参考チュートリアル

今回紹介した方法を複雑なパーツに応用することで、コチラの動画のようにバイクからロボットが変形するアニメーションが作れちゃいます。

パーツ一つ一つにキーフレームを設定するのは大変かと思いますが、興味がある方はチャレンジしてみてください!

なお、よりリアルなロボットをモデリングするには、「ハードサーフェスモデリング」の手法を取り入れることをオススメします。

ハードサーフェスモデリングの基本については、コチラの記事で紹介したのであわせて参考にしてみてください。

あわせて読みたい
【Blender2.9】ハードサーフェスモデリングを始めよう! こんにちは! 本記事では、3DCGソフト「Blender」を使った「ハードサーフェスモデリング」の始め方やコツについて紹介します! 【「ハードサーフェスモデリング」とは?...

また、「Fluent」や「Hard Ops & Box Cutter」といった有料のアドオンを使うことで、工業製品のようにリアルなロボットのパーツを短時間でモデリングすることができます。

よりロボットの完成度を上げたい方は、コチラの記事を参考に検討してみてはいかがでしょうか?

あわせて読みたい
【Blender3.1】「Fluent Power Trip」で簡単ハードサーフェスモデリング! こんにちは! コチラの記事では、フリーの3DCGソフト「Blender」を使う上でヒントとなる情報を紹介しています。 今回は、簡単にブーリアンを使ったハードサーフェスモデ...
あわせて読みたい
大人気のハードサーフェスアドオンBoxcutter&Hard Opsを紹介! こんにちは! コチラの記事では、フリーの3DCGソフト「Blender」の作品作りに役立つ情報を紹介しています。 今回は、本格的なハードサーフェスモデリングができて大人気...

まとめ

Blenderでロボットを作って動かすための、基本的な方法について紹介しましたが、いかがだったでしょうか?

コチラの記事を参考に、「ペアレント設定」「ボーンコンストレイント」「オブジェクトコンストレイント」をうまく使いこなして、ロボットの世界に一歩足を踏み出していただければ幸いです。

最後に、今回のまとめです。

  • ロボットの特徴
    • パーツが分かれていて、別々に動く
    • 関節の曲がる方向が決まっている
  • ロボットアームの作り方
    • モデリング方法
    • ボーン・リグの追加:「可視化」→「最前面」をオンにすると良い
    • パーツとボーンのペアレント設定:編集モードでボーンを選択してから「Ctrl+P」
    • リグ関節の「IK」コンストレイントの設定:「座標系」の表示をオンにし、各関節のIKをロック
    • アーム先端の「トランスフォーム変換」コンストレイントの設定:回転がおかしい場合は「変換先」の「順序」を設定
    • オブジェクトコンストレイントの設定:チャイルドコンストレイント
  • 変形アニメーションの作り方:チャイルドコンストレイントなどを使う
よかったらシェアしてね!
URLをコピーする
URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

CAPTCHA


目次
閉じる