【Blender2.9】クロス×シェイプキー×コリジョン で カーテンを作ってみよう!

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

CGBoxの一部の記事にはアフィリエイト広告が含まれております。

Blenderでリアルな部屋の中のシーンなどを作ろうとしたとき、モデリングに一番苦戦するオブジェクトは何でしょうか?

服やカーテン、ソファなどの布製のものなのではないでしょうか。

布はCGで表現するのが最も難しいものの一つと言われているようです。

でも、布は生活の中でありふれた素材なので、作品に登場させないわけにはいきませんし、見慣れているものであるだけに 中途半端なクオリティでは違和感が大きくなってしまいます。

Blenderには、布のモデリングを助けてくれる クロスシュミレーション という機能があり、これを使うことでオブジェクトを自然な布らしく見せられるようになります。

この記事では、布製品の中でも比較的シンプルな形状であるカーテンの、クロスシュミレーションを使った作り方を紹介します。

クロスシュミレーションについて詳しくは、こちらの記事も参考にしてみてください:

CGbox
【Blender2.9】クロスを学ぶイントロダクション~基礎編~ | CGbox こんにちは! Blenderの使い方や機能、ノウハウについてまとめているUEDAです。 自分のためのアウトプットの意味合いもありますが、読んだ方の参考になれば嬉しいです。 今...
目次

クロスシュミレーションでカーテンを作ろう

今回は平面(Plane)オブジェクトを使ってカーテンを作ってみます。

シーンに平面を追加して、編集モードで細分化(Subdivide)をしておきます。

このときメッシュが細かくなればなるほど、シュミレーションに時間がかかるようになりますが、仕上がりはきれいになります。

今回は分割数を100にしてみました。

細分化するかわりにサブディビジョンサーフェスを使う方法もあります。

▼【細分化(分割)する方法まとめ】はコチラ!

CGbox
【Blender2.9】細分化(分割)する方法まとめ:モデリングの基礎技術 | CGbox こんにちは! Blenderの使い方や機能、ノウハウについてまとめているUEDAです。 自分のためのアウトプットの意味合いもありますが、読んだ方の参考になれば嬉しいです。 今...

クロスの設定

物理演算(Physics Properties)のタブの中から、クロス(Cloth)を選んで追加します。

たくさんの設定項目が現れます。

シュミレーションの前に設定しておきたいのは、素材・コリジョン・固定する頂点の三点です。

まず素材についてですが、今回は便利なプリセットを使ってカーテンを作っていこうと思います。

デフォルトのプリセットの中から選択すると、物理プロパティ(Physics Properties )・剛性(Stiffness)・減衰(Damping)の三つの項目は自動入力されます。

私は今回は軽く柔らかい質感にしたかったので、シルクを選択してみました。

続いてコリジョンのところを開き、面の交差を防ぐために オブジェクトのコリジョン(Object Collisions) と セルフコリジョン(Self Collisions) にチェックを入れて、距離(Distance)の値を小さくしておきます。

このままだとシュミレーションしても無限に下に落ちていくだけなので、固定する頂点を一つ以上決める必要があります。

クロスの項目のうち シェイプ(Shape)の中に、固定グループ(Pin Group)を設定できるところがあります。

編集モードにして、一番上の頂点を選択してグループを作り、ピンに設定しました。

このときの頂点の選び方でも最終的な仕上がりがかなり変わってくるので、後で選びなおせるように 別々のパターンでいくつかグループを作っておいても面白いと思います。

頂点グループの作成は、ショートカットキー Ctrl+G、または緑色の逆三角形マークのオブジェクトデータプロパティから行えます。

オブジェクトはスムーズシェード(Shade Smooth)にします。

シェイプキーを設定してカーテンらしい形状にする

このままシュミレーションしても布っぽいシルエットにはなるのですが、もう少し手を加えて、カーテンらしい形にしていきます。

キーフレームというアニメーションやシュミレーションのための機能と、シェイプキーといういろいろなパターンの形状の変化を保存しておける機能を使っていきます。

キーフレーム挿入のショートカットは Iキーです。

キーフレーム初挑戦という方は、こちらの記事を先に読んでいただくとよいかもしれません:

CGbox
【Blender2.9】キーフレームの基礎知識を理解する! | CGbox こんにちは! Blenderでの3DCG制作を勉強中のUEDAです。 Blenderを勉強して、アウトプットの場としてそれぞれの機能をまとめられればと思っています。参考にもなれば嬉しい...

シェイプキーの設定は、オブジェクトデータプロパティの中の、頂点グループについての項目の下にあります。

それぞれのシェイプキーについて値(Value)を0から1の範囲で指定することができ、この数字の大きさによって、変化後のシェイプキーの影響力の強さが決まります。

このシェイプキーの値をキーフレームに打って、カーテンのドレープの形をシュミレーションしてみたいと思います。

  1. オブジェクトデータプロパティを開き、何も変形させていない状態で + をクリックして、ベース(Basis)のシェイプキーを追加します。これは元の形状を保存しておくキーです。
  2. もう一度 + をクリックして、キー1を追加してから、編集モードに入ります。これが変化後の形状を扱うキーになります。
  3. 一番上の頂点一列(クロスの設定でピンにして固定した頂点)を縮小します。
  4. オブジェクトモードに戻って、キー1について ドープシート1フレーム目に値0、50フレーム目くらいに値1.0でキーフレームを挿入します。
  5. 0フレーム目からシュミレーションしてみます。
縮小するときには、一番端の頂点のところに3Dカーソルを持ってきて、トランスフォームピボットポイントを3Dカーソルにしておくと、端に寄るので よりカーテンらしい形になります。

これだけではまだ単純な形ですが、5.のところで頂点を変形するときに形を工夫することでいろいろな表現ができます。

例えばタックを寄せてあるカーテンにしたい場合は、タックを真上から見たときの形に頂点を並べます。

さらに、カーテンが開いていて窓が見えているようなシーンにしたい場合は、頂点を蛇腹に変形して、もっと幅を狭くしておくことができます。

別のシェイプキーを追加して、下のほうの頂点を編集して、風でカーテンがめくれているような形をシュミレーションしたりもできます。

ただし、頂点数が変わるような編集はしないように注意してください。

ちなみに、風に吹かれるカーテンを作りたい場合は、風のフォースフィールドとクロスシュミレーションを組み合わせる方法もあります。

この記事で紹介されている方法を参考にしてみてください:

CGbox
?Blender2.9???? ????????????? | CGbox こんにちは! Blenderの使い方や機能、ノウハウについてまとめているUEDAです。 自分のためのアウトプットの意味合いもありますが、読んだ方の参考になれば嬉しいです。 今...

または シュミレーションではなく手作業になりますが、スカルプトのクロスブラシでも似たような形を作ることができます。

コリジョンで束ねてみる

さらにコリジョンを使って、タッセルでカーテンを束ねたようなイメージで、真ん中のところを束ねる方法を紹介します。

▼【コリジョンで衝突判定】はコチラ!

CGbox
【Blender2.9】コリジョンでオブジェクト同士の衝突判定を追加できる! | CGbox こんにちは! Blenderの使い方や機能、ノウハウについてまとめているUEDAです。 自分のためのアウトプットの意味合いもありますが、読んだ方の参考になれば嬉しいです。 今...
  1. オブジェクトモードでトーラスを追加して、カーテン全体が収まる大きさにします。
  2. 物理演算タブからコリジョンを追加します。
  3. ドープシートで1フレーム目を選択して、拡大縮小(Scale)のキーフレームを挿入します。
  4. ドープシートの50フレーム目くらいを選択して、カーテンを束ねた部分の大きさになるようにトーラスを縮小し、同じようにキーフレームを挿入します。
  5. 再生してシュミレートしてみます。もしおかしく見える部分があるなら、できるだけ自然な見た目になるようにトーラスの大きさや太さを調整したり、プロパティの数値を変えてみて、キーフレームを打ち直します。

トーラスに対して拡大縮小以外の操作をした場合は、それに対応しているキーフレームを選択してください。

カーテンを端に寄せたような形にしたいときには、トーラスを編集モードでU字型に加工したものをコリジョンに使うといい感じになります。

この時は、位置(Location)のキーフレームを使います。

シェードカーテンのような形状のものは、円柱や平面をコリジョンにして下から持ち上げるようなシュミレーションにしてもいいですね。

カーテンがある部屋の中のシーンを作っているなら、カーテンと接触する壁や床、窓枠、その他の家具なども忘れずにコリジョンにしておいてください。

うまくいかない場合

シュミレーションをかけてみて、不自然なところができてしまったり、オブジェクトがぐちゃぐちゃになってしまう場合は、以下の方法を試してみてください。

サブディビジョンサーフェスモディファイアを追加する

クロスにしたいオブジェクトの頂点数を増やすと、シュミレーションに時間がかかるようになりますが、正確な結果が出やすくなります。

モディファイアプロパティでサブディビジョンサーフェスを追加して、クロスの上にくるようにしてみてください。

▼【サブディビジョンの使い方】はコチラ!

CGbox
【Blender2.9】Blenderを使うならサブディビジョン! | CGbox こんにちは! Blenderでの3DCG制作を勉強中のUEDAです。 Blenderを勉強して、アウトプットの場としてそれぞれの機能をまとめられればと思っています。参考にもなれば嬉しい...

クロスの 品質のステップ数 を上げる

これまたシュミレーションが重たくなる方法ですが、クロスの設定の一番上にある 品質のステップ数(Quality Steps) を上げると、精細な表現ができるようになります。

コリジョンの品質や距離を調整する


クロスの設定の中で コリジョン(Collisions) の 品質(Quality) を上げることで、面の交差判定が精確になり、よりリアルな表現に近づきます。

距離(Distance) は、面どうしの距離が最小でどこまで近づいてよいか決めるものです。

また、カーテンと接触するオブジェクトに設定したコリジョンにも、ソフトボディとクロス(Softbody & Cloth) の中に 外側の厚さ(Thickness Outer) という項目があり、この値を変えるとほかのオブジェクトにどこまで近づけるかが変わります。

距離が大きすぎても小さすぎてもおかしくなるので、何度もシュミレーションをしながら探っていかなければならない場合があります。

片面(Sigle Sided)にチェックを入れるか入れないかでも、結果が変わることがあるので、これもどちらが良いか試してみてください。

面が裏返っていないか確認する

今回は平面からカーテンを作る方法を紹介してきましたが、平面であっても編集しているうちにどこかの面が裏返ってしまっている場合があります。

コリジョンに指定したオブジェクトについても同様です。

いったん編集モードに入って、面を全選択して、Shift+N で面の向きをそろえてみてください。

▼【ノーマル(法線)の向きを揃えよう】はコチラ!

CGbox
【Blender2.9】ノーマル(法線)の向きを揃えよう! | CGbox こんにちは! Blenderでの3DCG制作を勉強中のUEDAです。 Blenderを勉強して、アウトプットの場としてそれぞれの機能をまとめられればと思っています。参考にもなれば嬉しい...

0フレーム目からシュミレーションする

どこかの設定を変えたり、キーフレームを打ち直したりしたときは、必ず0フレーム目まで戻って再度シュミレーションをかけてください。

途中からだとうまくいかないことが多いです。

クロスシミュレーションを効率化できるアドオン

最後にクロスシミュレーションを効率化できるアドオンを紹介してきます。

Simply Cloth Pro – クロス作成を素早くハイクオリティに!

Simply Cloth Proはクロス機能を強化するアドオンです。

プリセットがいくつか用意されており、オブジェクトの質感によってシワの加減などを調整可能です。

詳しくは以下の記事を参考にしてみてください。

あわせて読みたい
【アドオン紹介】Simply Cloth Pro – クロス作成を素早くハイクオリティに! こんばんは! 今回はアドオンの「Simply Cloth Pro」を紹介します。 アドオンのあれこれ  値段$45~$420 機能クロス機能の補助 制作者VjaceslavT こちら...

まとめ

オブジェクトに自然な布らしさを演出してくれるクロスシュミレーションと、シェイプキーやコリジョンなど他のシュミレーション機能を組み合わせると、雰囲気のあるカーテンをモデリングすることができます。

今回は詳しくは紹介しませんでしたが、素材の設定や頂点グループの作り方を変えたり、シェイプキーに登録する形状を工夫することで、さまざまなバリエーションのカーテンを作ることができます。

ぜひいろいろなパターンを試して、理想の一枚を作り上げてみてください。

最後までお読みいただき、ありがとうございました!

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

CGBox編集部。CGに関する様々な記事を執筆しております。

目次
閉じる