CGBoxの一部の記事にはアフィリエイト広告が含まれております。
【Blender3.0】 無料アドオン”Rigacar”を使って車を走らせてみよう!
はじめに
こんにちは!
今回は、無料アドオン「Rigacar」を使って、車をリギングしてアニメーションを作成する方法を紹介します。
車はフリーで配布されているモデルを使うので、モデリングに自信がなくても大丈夫です!
また、ボーンやコンストレイントなどリギングの知識がなくてもできますので、ぜひこちらの記事を読んで試してみてください。
フリーの車のモデルをダウンロードしてみよう!
フリーの自動車のモデルをダウンロードできるサイトを紹介します。
Rigacar公式ページからは、こちらのBMWのモデルをダウンロードできます。
すでにリグ生成済みなので、あとで説明するモデルの下準備とリグ生成が不要です。
また、こちらの記事で紹介されている以下サイトからも、高品質のモデル(商用利用可)をダウンロードできます(フリーダウンロードへのリンクあり)。
今回は、こちらのランボルギーニ・アヴェンタドールのモデルを使用してRigacarの使用手順を説明します。
ドライバーを使った簡単なアニメーションの作り方
Rigacarを使わなくても、こちらのようにドライバーを使って車を一方向に走らせるアニメーションを作ることができます。
詳しい手順は、こちらの記事を参照ください。
ドライバーを使った方法は、オブジェクトプロパティに式を打ち込むだけなので非常に簡単です。
ただし、↑の動画のように、一方向に走らせることしかできず、ステアリングやサスペンションなどの動きも表現できません。
無料アドオン”Rigacar”を使って車を走らせてみよう!
「Rigacar」を使ってリグを組むことで、ドライバーでは表現できないリアルな車の動きを表現できます!
“Rigacar”とは?
「Rigacar」はBlenderで昔から使われている無料のアドオンです。
車のモデル形状に合わせて、リグを自動生成してくれます。
Rigacarを使うことで、たとえばこちらのような車の動きを表現できます。
- 車が曲がるときの車輪の左右の動き
- 車輪の回転運動
- 凸凹のある道でのサスペンションの上下運動
- ブレーキをかけたときに車輪の回転を停止する
- カーブやブレーキをかけたときの車体の動き
最近では「Car-rig pro」などのより高機能な有料アドオンがありますが、Rigacarを使いこなすことで大抵の車の動きは表現できます。
ダウンロード先・チュートリアル
Rigacarのアドオン(rigacar.zip)は製作者の公式サイトからダウンロードできます。
Blender2.9, 3.0いずれでも使用することができます。
使用方法は、製作者のチュートリアル動画で紹介されています(英語)。
チュートリアル動画はBlender2.7で作られたものなので操作画面が古いですが、基本的な設定はBlender2.9/3.0でも同じです。
こちらのチュートリアルを参考に、使用手順・注意点について解説したいと思います。
Rigacarのインストール方法
Rigacarを使用するには、ダウンロードしたアドオン(.zip)をBlenderにインストールする必要があります。
アドオンのインストール方法はこちらの記事を参照ください。
リグの組み方
Rigacarを使って、モデルにリグを組む(リギングする)方法を紹介します。
公式サイトで配布しているBMWのモデルを使用する場合は、すでにリギング済みなので、リグの組み方の説明は飛ばしていただいて構いません。
モデルの下準備
Rigacarでリグ生成を行うためには、以下の下準備をしておく必要があります。
- オブジェクトの分離/ペアレント設定
- 原点位置の調節
- オブジェクト名の設定
- 車の向き/位置の調節
オブジェクトの分離・ペアレント設定
Rigacar公式サイトにも説明がありますが、モデルをこちらの9個のオブジェクトに分けて紐付けておく必要があります。
オブジェクト名のリスト(Rigacar公式サイトより引用)
オブジェクト名の末尾 | モデルのどの部位か | オブジェクト名の例 |
---|---|---|
body | ボディ | mycar-body |
wheel.Ft.L | 左前輪 | mycar-wheel.Ft.L |
wheel.Ft.R | 右前輪 | mycar-wheel.Ft.R |
wheel.Bk.L | 左後輪 | mycar-wheel.Bk.L |
wheel.Bk.R | 右後輪 | mycar-wheel.Bk.R |
wheelbrake.Ft.L | 左前輪ブレーキおよび左前輪の回転しない部品 | mycar-wheelbrake.Ft.L |
wheelbrake.Ft.R | 右前輪ブレーキおよび右前輪の回転しない部品 | mycar-wheelbrake.Ft.R |
wheelbrake.Bk.L | 左後輪ブレーキおよび左後輪の回転しない部品 | mycar-wheelbrake.Bk.L |
wheelbrake.Bk.R | 右後輪ブレーキおよび右後輪の回転しない部品 | mycar-wheelbrake.Bk.R |
ボディ・車輪・ブレーキが複数のオブジェクトに分かれている場合は、ひとつのオブジェクトを親、それ以外は子とするようにペアレント設定しておく必要があります。
ペアレント設定の方法はこちらの記事で紹介していますので参照ください。
具体的な手順について、こちらのアヴェンタドールのモデルを例に説明します。
まずは、こちらのように車の台座と、車にペアレント設定しているエンプティオブジェクトを削除します。
エンプティオブジェクトを削除した時にバラバラになってしまうオブジェクトがある場合は、「Ctrl+Z」で一旦操作を戻し、エンプティオブジェクトを削除する前にボディとペアレント設定しておきます。
ボディが複数のオブジェクトに分かれているので、ペアレント設定でメインの部分に紐付けます。
また、タイヤ(車輪)とブレーキが4個でひとつのオブジェクトになってしまっているので、オブジェクトを分離します。
オブジェクトを分離するときは、編集モードに切り替えて「A」で全選択したあと、「P」→「構造的に分離したパーツで」を選択します。
オブジェクトを分離する方法はこちらの記事で詳しく解説していますので、あわせて参照ください。
オブジェクト原点の設定
タイヤ(車輪)・ブレーキのオブジェクトの原点位置を車輪の中心軸上に合わせておく必要があります。
こちらのように、「オブジェクト→原点をジオメトリに移動」で原点位置を調整します。
後でペアレント設定をする際に親となるオブジェクトについては、原点位置が車輪の中心軸上にくるように調節します。
こちらの車輪は原点が中心軸からずれているので、ブレーキディスクと同じ位置になるよう3Dカーソルを使って調節します。
オブジェクト原点についてはこちらの記事で紹介していますので、あわせて参照ください。
分離・原点位置を設定したタイヤ(車輪)・ブレーキのオブジェクトは、ボディと同じようにそれぞれペアレント設定して紐づけておきます。
ペアレント設定で9個の親オブジェクトに紐づけられ、車輪・ブレーキの原点が車輪の回転軸上にあればOKです。
オブジェクトの位置・方向の設定
こちらのように車のボンネットが-Y方向を向き、車のタイヤの接地面がZ=0にくるようにオブジェクトの位置を調節します。
オブジェクト名の設定
Rigacarを使用する前に、こちらの表を参考にオブジェクト名を設定しておきます。
オブジェクト名のリスト(Rigacar公式サイトより引用)
オブジェクト名の末尾 | モデルのどの部位か | オブジェクト名の例 |
---|---|---|
body | ボディ | mycar-body |
wheel.Ft.L | 左前輪 | mycar-wheel.Ft.L |
wheel.Ft.R | 右前輪 | mycar-wheel.Ft.R |
wheel.Bk.L | 左後輪 | mycar-wheel.Bk.L |
wheel.Bk.R | 右後輪 | mycar-wheel.Bk.R |
wheelbrake.Ft.L | 左前輪ブレーキおよび左前輪の回転しない部品 | mycar-wheelbrake.Ft.L |
wheelbrake.Ft.R | 右前輪ブレーキおよび右前輪の回転しない部品 | mycar-wheelbrake.Ft.R |
wheelbrake.Bk.L | 左後輪ブレーキおよび左後輪の回転しない部品 | mycar-wheelbrake.Bk.L |
wheelbrake.Bk.R | 右後輪ブレーキおよび右後輪の回転しない部品 | mycar-wheelbrake.Bk.R |
アヴェンタドールのオブジェクト名も、上の表にならってこちらのように設定しました。
以上で、モデルの下準備は完了です。
少々面倒ですが、一度やり方を覚えてしまえば大抵の自動車モデルのリギングはできるようになるので、ぜひトライしてみてください!
ボーンの追加
以上の下準備が完了したところで、ボーンを追加します。
ボーンについてはこちらの記事を参照ください。
ボーンを追加するときは必ず、「Rigacar」のアドオンを有効にしてください。
まずは、オブジェクトモードで、車のオブジェクトを選択してください。
「Shift+A」→「アーマチュア」→「ボーン」で「Car(Deformation rig)」を選択します。
すると、こちらのように車体・車輪・ブレーキに9個のボーンが追加されます。
下準備が正しく行われていれば、ボーンが各オブジェクトの原点位置に追加され、ボーンがオブジェクトの親としてペアレント設定されているはずです。
ボーンが生成されない、位置がおかしい、オブジェクトとペアレントされない場合は、下準備ができていない、あるいはボーン追加時にオブジェクトを選択していない可能性がありますので、手順をやり直してください。
やり直す場合、追加したボーンは右上のシーンコレクションから削除してください。
ボーンの位置の調整
ボーンを追加すると、こちらのように車の位置がずれてしまうことがあります。
この場合は、ボーンのトランスフォーム位置がずれてしまっているのが原因なので、「オブジェクトプロパティ」からトランスフォーム位置X,Y,Zを0にすることで車の位置を修正できます。
リグの生成
ボーンが正しく生成されて、オブジェクトとペアレント設定できていることを確認したら、リグを生成します。
「N」キーを押すと表示されるメニューから「Rigacar」を選択し、「Generate」ボタンをクリックします。
すると、こちらのようにリグが生成され、矢印や四角形が表示されます。
これらは「ウィジェット」というリグ操作に使用するボーンで、ウィジェットを操作することで関連付けたボーンが動き、車を動かすことができます。
ウィジェットを動かすときは、「Ctrl+Tab」を押して表示されるパイメニューから「ポーズモード」を選択します(以降のボーンの個別操作は「ポーズモード」で行います)。
「編集→プリファレンス→キーマップ」で「Tab for Pie Menu」にチェックを入れている方は、「Tab」を押すとポーズモードに切り替えられます。
ポーズモードを選択すると、ウィジェットを個別に動かせるようになります。
たとえば、車全体を囲む青い「Rootウィジェット」を「G」キーで動かすと、車全体が追従して動きます。
また、車の前方にある緑色の矢印「Steeringウィジェット」を動かすと、前輪が左右に動きます。
これで、リグを使って車を動かせるようになりました!
車を動かしてみよう!
Rigacarを使ってリグを組めたところで、アニメーションの作成方法を説明します。
パスアニメーションを作成しよう!
車を「パス」という曲線に沿って走らせます。
パスに沿って走るアニメーションの作成方法については、Rigacar公式のこちらの動画(英語)が参考になります。
簡単なパスアニメーションの作成については、こちらの記事でも紹介していますので、あわせて参照ください。
まず、パスを作成します。
テンキーの「7」で上からの視点に切り替えた状態で、「Shift+A」で「曲線→パス」を選択します。
こちらのように、パスを選んで編集モードで制御点を移動させることで、パスを自由な形に変形できます。
パスを長くしたいので、オブジェクトモードでパスを拡大し、「Ctrl+A」でスケールを適用します。
▼【重要な〔適用〕を解説】はコチラ!
曲線(カーブ)の編集方法はこちらの記事を参照ください。
パスの編集が完了したら、「Ctrl+Tab」でポーズモードに切り替え、「Rootウィジェット」(車の下の四角)を選択し、「ボーンコンストレイントプロパティ」を選択します。
ボーンコンストレイントによって、各ボーンごとに拘束を追加できます。
「ボーンコンストレイント」は「オブジェクトコンストレイント」と紛らわしいですが、間違えないように注意してください!
「ボーンコンストレイントプロパティ」→「パスに追従」を選択します。
ターゲットオブジェクトに「NurbsPath」(先ほど追加したパス)を選択し、「パスの向きに従う」「-Y」を選択すると、車がパスの向きに従います。
「定位置」を選択し、「オフセット」の数値を動かすと、こちらのように車がパスに沿って動きます。
車を動かすために、「オフセット係数」にキーフレームを設定します。
キーフレームについてはこちらの記事でも紹介していますので、合わせて参照ください。
タイムラインで1フレーム目を選択します。
オフセット係数の値を0とし、オフセット係数の右の「プロパティのアニメーション」(白い点)をクリックして(または「I」キー)キーフレームを挿入します。
するとキーフレームが挿入され、Rootウィジェットを選択すると、タイムラインにキーフレームを示す黄色い点が追加されたのが確認できます。
タイムラインの終点を適当なフレーム数に設定し、「ボーンコンストレイント」の「オフセット」の値を1にして同じようにキーフレームを挿入します。
タイムラインを再生すると、こちらのように車がパスの始点から終点に向かってアニメーションします。
車輪の動き・回転をベイクする
パスアニメーションを生成したら、車輪の動きと回転をRigacarでベイクします。
こちらのように、「N」キーでRigacarのメニューを表示し、「Bake car steering」を選択します(特に設定は変更する必要ありません)。
すると、キーフレームが追加され、パスに追従するように車輪(ステアリング)が左右に動くようになります。
また、「Bake wheels rotation」を選択すると、車の動きに合わせて車輪が回転するようになります。
道路の作り方
公式チュートリアルでも紹介されていますが、カーブ・配列・ディスプレイスモディファイアを使った凹凸のある道路を簡単に作る方法を紹介します。
「Shift+A」で平面メッシュを追加し、「モディファイアープロパティ」→「配列モディファイア」を追加します。
カーブモディファイアを追加し、先ほどカーブアニメーションに使用した「NurbsPath」を選択します。
すると道路が生成されます(配列の数はパスの長さに合わせて調節します)。
車のサイズに合わせて道路の幅を拡大し、「Shift+A」でスケールを適用します。
こちらのように、パスを編集して高低差を付けると、上下の動きが追加されて面白いと思います。
カーブモディファイアの使い方は、こちらの記事で詳しく紹介していますので、合わせて参照ください。
道路に凹凸を追加する前に、「サブディビジョンサーフェスモディファイア」(レベル6)を追加してメッシュを細かくしておきます。
「境界スムーズ→境界を維持」を選択することで道路の形状が保たれます。
ディスプレイスモディファイアを追加します。
テクスチャを新規追加・選択し、「Cloud」を選択しサイズを小さくします。
このままだと凹凸が強すぎるので、ディスプレイスモディファイアのメニューに戻り、ディスプレイスの強さを小さくし凹凸を調整します。
ディスプレイスモディファイアの使い方について、詳しくはこちらの記事を参照ください。
サスペンションの動きの付け方
車輪が地面の凹凸に追従するように、Rigacarでサスペンションの動きを追加します。
「N」キーでRigacarのメニューを表示します。
6個の「Ground Sensor」をすべて選択し、先ほど生成した道路のオブジェクト(Plane)をターゲットに設定します。
これで、サスペンションの動きが追加され、車輪が道路に追従して動くようになりました。
以上で、パスに沿ったアニメーションの作成は終了です!
アニメーションをレンダリングする方法やカメラブレの追加方法については、後ほど説明します。
急ブレーキをかけて止めてみよう!
急ブレーキをかけて車を停止するアニメーションの作り方は、こちらの公式チュートリアルで紹介されています。
手順はこちらになります。
キーフレームの追加
走っている状態から急ブレーキをかけて止めるまでの車の動きを表現するために、キーフレームを追加します。
「Ctrl+Tab」でポーズモードに切り替えた後、「Rootウィジェット」を選択して以下のキーフレームを追加します。
- 1フレーム目:Y=30 (走りはじめ)
- 50フレーム目:Y=5 (ブレーキ)
- 54フレーム目: Y=0 (停止)
- 55フレーム目: Y=0 (停止)
こちらのように、ボーンのトランスフォームのY座標にキーフレームを挿入します。
また、ブレーキをかけたときの車輪の動きを表現するために、こちらの「ブレーキウィジェット」の大きさを調節します。
デフォルトの状態では車の動きに合わせて車輪が回転しますが、こちらのようにブレーキウィジェットのスケールを小さくすると、ブレーキがかかった状態となり車輪の回転が停止します。
前輪・後輪のブレーキウィジェットに対して、以下のようにキーフレームを追加します。
- 49フレーム目:ブレーキなし(ウィジェットの大きさはそのまま)
- 50フレーム目:ブレーキあり(ウィジェットを「S」キーで縮小)
車輪の回転をベイクすると、こちらのようにブレーキをかけた50フレーム目で車輪の回転が止まります。
最後に、車が停止するときの車体の動きを表現します。
車が停止するときは、車体が慣性でいったん前に動いたあと、サスペンションで後ろに戻されます。
この動きを表現するためには、こちらのように「サスペンションウィジェット」を前後に動かします。
ポーズモードでサスペンションウィジェットのY方向位置にキーフレームを追加します。
- 54フレーム目:車体通常位置
- 60フレーム目:車体を前に動かす(-Y方向)
- 70フレーム目:車体通常位置に戻す。
再生すると、こちらのように車が停止した時に車体がいったん前に揺れ、後ろに戻る動きを表現できます。
さらに、「グラフエディタ」を使って、「補間モード」を「バウンス」にすると、サスペンションの振動を表現できます。
グラフエディターの使用方法はこちらの記事を参照ください。
アニメーションの説明は以上になります。
Rigacarのリグを使えば、ドリフト走行などより複雑な動きも表現できるので、実際に使って試してみていただければと思います。
Rigacarを使ったドリフト走行の作り方は、こちらのチュートリアル動画(英語)が参考になります。
レンダリングしよう!
最後に、アニメーションをレンダリングするための方法や、リアルに見えるためのコツをいくつか紹介します。
以下の内容を参考にしていただければ、最終的にはこちらのような走行アニメーションを作ることができます。
カメラの設定~簡単な手ブレを追加する方法
レンダリングするためには、カメラを追加する必要があります。
先ほど説明した「パスアニメーション作成」のシーン上で、カメラをパスアニメーションで動かすことで、走る車から撮影したような映像を作りたいと思います。
パスアニメーションの作成
まず、Pathを複製し、車とカメラの距離分ずらして配置します。
カメラを追加し、「オブジェクトコンストレイント」→「パスに追従」でパスアニメーションを設定します。
先ほど複製したパスをターゲットに指定し、「定位置」「カーブに従う」にチェックを入れます。
車のアニメーションと同様に「オフセット係数」にキーフレームを追加し、開始フレームを0, 終了フレームを1に設定しておきます。
さらに、カメラが常に車(のボンネット)の方を向くように、こちらのように「トラック拘束」を追加します。
カメラブレの追加方法
グラフエディターのモディファイアを使って、リアルなカメラブレを追加します。
カメラのオブジェクトプロパティの「トランスフォーム位置Z」にキーフレームを挿入します。
タイムラインで「トランスフォーム位置Z」を選択し、グラフエディタに切り替えます。
グラフエディター上で「N」キーで表示されるメニューから「モディファイア→ノイズ」を追加し、「強さ」を調節します。
すると、こちらのように動く車の上から撮影したようなカメラブレを表現できます。
グラフエディタのモディファイアについては、こちらの記事で説明していますので合わせて参照ください。
動画レンダリングの方法
「レンダープロパティ」でレンダリングに使用するレンダラーを選択します。
「Cycles」はフォトリアルな画を出力するのに向いていますが、レンダリングに非常に時間がかかってしまうのが難点です。
「Eevee」は高速でレンダリングできますが、Cyclesほどリアルな画を出力ことはできず、うまく使うにはコツが必要です。
(Workbenchはシェーディング表示用なので、レンダリングには使用しません。)
「Cycles」「Eevee」でレンダリングする際の詳細設定については、こちらの記事で紹介していますので合わせて参照ください!
「Cycles」「Eevee」でレンダリングする際の詳細設定については、こちらの記事で紹介していますので合わせて参照ください!
以下はEeveeでレンダリングする場合のおすすめ設定です。
- スクリーンスペース反射・屈折:ON
- モーションブラー:ON、ステップ5
- 影:カスケードシャドウマップ最高、ソフトシャドウON
- カラーマネージメント:ルックはHigh Contrast
モーションブラーの詳しい説明・使い方についてはこちらの記事を参照ください。
つぎに、「出力プロパティ」で出力する動画の設定をします。
- フォーマット:動画の解像度・フレームレートを設定する。
- フレーム範囲:出力する開始/終了フレームと何フレーム毎に出力するかを設定する。
- 出力:ファイルのフォーマットとエンコード形式を設定する。
出力「フォーマット:FFmpeg」「エンコード形式:MPEG 4」にしておくと、mp4形式で出力されて各種メディアで再生できるのでおすすめです。
「レンダリング→動画をレンダリング」(または「Ctrl+F12」)を選択します。
すると、動画がレンダリングされ、レンダープロパティで設定したフォルダ(デフォルトでは「\C:tmp/」のフォルダ)に動画ファイルが出力されます。
Blenderでアニメーションをレンダリングする方法は、こちらの記事で紹介していますので合わせて参照ください。
ライト・マテリアルを調整する(Eeveeの場合)
Eeveeを使用する場合は、マテリアルの設定をひと工夫するとリアリティが上がります。
Cyclesではこちらのようにライトが点灯しているのが見えますが、Eeveeのデフォルト設定ではライトが見えません。
ライトのガラスマテリアルを選択し、ブレンドモードを「不透明→アルファブレンド」に変更することで、ガラスが透明になりライトが見えるようになります。
同じように車の窓ガラスも透明に出来ます。
また、「スクリーンスペース屈折」をONにし、「屈折の深度」にガラスの厚さを設定することで、自然な屈折を表現できます。
Eeveeのガラスの透過・屈折については、こちらの記事でも紹介していますので合わせて参照ください。
車作成で使える便利なアドオン
最後に車制作をするときに便利なアドオンをいくつか紹介していきます。
Launch Control – リアルな車のアニメーション作成!
車のリアルなアニメーションを作るために便利なアドオンです。
車の自動リギングはもちろんのこと、反動やクッション性の調整など車のアニメーションを作る上で便利な機能が盛りだくさんです。
詳しくは以下の記事を参考にしてみてください。
Car Transportation – 高品質なリギング済み車両ライブラリ!
車両をシーンに素早く追加できるライブラリアドオンです。
車両のアセットだけでなくHDRIと背景画像も含まれるので、これらを使用するだけで簡単にリアルな作品を作成できてしまいます。
詳しくは以下の記事を参考にしてみてください。
まとめ
Rigacarを使った自動車リグの生成・アニメーションの作成・出力方法について一通り紹介しました。
手順などを細かく解説したので、大変長い記事になってしまい読むのも一苦労だったと思いますが、最後までお付き合いいただきありがとうございました。
記事を読んで「大変そう」と思われたかもしれませんが、Rigacarの扱いに慣れてしまえば手軽に車のアニメーションが作れるので、Blenderライフが楽しくなること間違いなしです!
まずは車のモデルとRigacarをダウンロードして、本記事を片手に試してみていただければと思います。
今回の記事のまとめです。
- フリーの車のモデルをダウンロードしてみよう!…モデルの配布サイトの紹介
- ドライバーを使った簡単なアニメーションの作り方…一方向に走らせる方法の紹介
- 無料アドオン”Rigacar”を使って車を走らせてみよう!
- Rigacarは、自動でリグ生成してくれるBlenderの無料のアドオン
- リグの組み方
- モデルの下準備が必要
- ボーンのペアレント設定・リグの生成はRigacarが自動でやってくれる
- アニメーションの作り方
- パスアニメーションの作り方
- 車輪の動かし方:Rigacarでベイク
- 道路の作り方:配列・カーブ・ディスプレイスモディファイアを使用。
- サスペンションの動かし方:「Ground Sensor」を設定
- 急ブレーキのかけ方:ウィジェットにキーフレームを追加する
- レンダリングの仕方
- カメラの設定~簡単な手ブレを追加する方法…コンストレイントを追加、グラフエディターのモディファイアを追加
- 動画レンダリングの方法
- ライト・マテリアルを調整する(Eeveeの場合):透過・屈折の設定