Blenderで、クロス・シミュレーション(Cloth Simulation)を行う

【概要】Blenderにおけるクロス・シミュレーションは、布の物理的な動きを再現する機能である。メッシュは1つまたは複数のポリゴンから構成される3D形状であり、布のシミュレーションの基本要素となる。面の細分化により多数の細かなポリゴンを生成し、より自然な布の動きを表現することができる。シミュレーションを行うには、まず布を表現するメッシュにクロスを設定し、他のオブジェクトにはコリジョンを設定する。セルフコリジョンを有効にすることで、布が自身を貫通することを防ぎ、より現実的な挙動を実現できる。さらに、サブディビジョンサーフェスのモディファイアーとスムースシェードを組み合わせることで、より滑らかで自然な布の表現を実現できる。

【目次】

  1. 前準備
  2. Blenderの基本操作のまとめ
  3. メッシュを学ぶ
  4. クロス・シミュレーション(Cloth Simulation)を学ぶ
  5. スムースシェード(smooth shade)
  6. 全体まとめ
クロス・シミュレーションの結果

サイト内の関連ページ

関連する外部ページ

前準備

Blenderのインストール

Blenderのインストール

メニューの日本語化を行っておくと使いやすい。

Blenderの基本操作のまとめ

サイト内の関連ページ

メッシュを学ぶ

ここでのBlenderの設定

このページでは、ここに書いた設定を終えた状態で、スクリーンショットを載せている(ここに書いた設定を行わなくても、細かな画面表示が変わるだけで問題ない)。

メッシュを作り変形する

面の細分化により、多数の細かなポリゴン(3Dグラフィックスにおける多角形の面)で構成されたメッシュ(頂点、辺、面から構成される3Dモデルの構造)を作る。その後、頂点、辺、面の移動により、メッシュを変形する。

メッシュの変形例
  1. 平面を追加する

    立体の追加(新規作成)は、メニューでできる。[SHIFT] aキーでもできる。

    平面の追加
  2. 平面を選択する

    選択は、マウスの左クリックである。左クリックで選択できないときは、ツールバーの選択ツールを選んだあとで、左クリックする。

    平面の選択
  3. 平面を拡大縮小する。拡大縮小(スケール)ツールを利用する。

    拡大縮小ツールへの切り替えは、sキーでもできる。

    平面の拡大縮小
  4. 平面を移動する。上に(z軸の向き)移動する。移動ツールを利用する。

    移動ツールへの切り替えは、gキー(Grabの頭文字)でもできる。

    平面の移動
  5. 次の手順で、面の細分化を行い、メッシュを作る
    1. まず、編集モードにモード切り替えを行う。

      モード切り替えは、メニューでできる。Tabキーでもできる。

      編集モードへの切り替え
    2. 選択対象の切り替えで、面を選ぶように切り替える

      選択対象の切り替え(編集モードでの選択で、頂点を選ぶのか、辺を選ぶのか、面を選ぶのかの切り替え)は、メニューでできる。

    3. 面の細分化を行う。

      面の細分化は、編集モードで、細分化したい面を選択のうえ、右クリックメニュー(コンテキストメニュー)でできる。

      3Dビューポート(3D空間を表示・操作するための主要な作業領域)の左下に「細分化」と表示されるので展開する。

      細分化の設定

      分割数を設定する。ここでは、練習のために、10あるいは15に設定する。

      分割数の設定

      細分化されるので確認する。

      細分化の結果
  6. 頂点あるいは辺あるいは面を選択し移動してみる。変形するので確認する。

    選択対象の切り替え(編集モードでの選択で、頂点を選ぶのか、辺を選ぶのか、面を選ぶのかの切り替え)は、メニューでできる。

    移動は、移動ツールを利用する。移動ツールへの切り替えは、gキーでもできる。

    メッシュの変形
  7. 練習のため、頂点あるいは辺あるいは面を2つ以上選択し移動してみる。

    追加選択は、追加したいオブジェクトを、[SHIFT] 左クリックする。

    複数選択による変形

プロポーショナル編集

メッシュに対してプロポーショナル編集(選択した点を中心に周囲の要素も影響を受ける編集モード)を行い、広範囲のなめらかな変形が簡単にできることを確認する。

プロポーショナル編集の結果
  1. プロポーショナル編集するモードに切り替える

    プロポーショナル編集するモードへの切り替えは、編集モードで、メッシュを選択のうえ、メニューでできる。oキーでもできる。元に戻す(プロポーショナル編集しないモードに戻る)のも同じ操作である。

    プロポーショナル編集モードへの切り替え
  2. 頂点あるいは辺あるいは面を選択し移動してみる。変形するので確認する。

    選択対象の切り替え(編集モードでの選択で、頂点を選ぶのか、辺を選ぶのか、面を選ぶのかの切り替え)は、メニューでできる。

    移動は、移動ツールを利用する。移動ツールへの切り替えは、gキーでもできる。

    このとき、画面の右下に移動のオプションが表示される。移動のオプションで「プロポーショナル編集」にチェックされていない場合はチェックする。

    プロポーショナル編集のオプション
  3. 移動のオプションで、プロポーショナルのサイズを変更すると、変形が広がる(プロポーショナル編集)。このとき設定した値は保存される。
    プロポーショナルのサイズ変更

クロス・シミュレーション(Cloth Simulation)を学ぶ

2つの立体(立方体と平面)の準備

クロス・シミュレーション(布や柔らかい表面の物理的な動きをシミュレートする機能)を行う。いま作成したメッシュはそのままにして、2つの立体(立方体と平面)を追加する。

立方体と平面の配置
  1. オブジェクトモードにしてから開始する。

    モード切り替えは、メニューでできる。Tabキーでもできる。

    オブジェクトモードへの切り替え
  2. 立方体を追加する

    立体の追加(新規作成)は、メニューでできる。[SHIFT] aキーでもできる。

    立方体の追加
  3. カーソルを、別の場所に移動する

    カーソルの移動は、ツールバーのカーソルツールでできる。カーソルツールを選んだあとで、左クリックする。

    カーソルの移動
  4. 今度は、平面を追加する

    立体の追加(新規作成)は、メニューでできる。[SHIFT] aキーでもできる。

    平面の追加
  5. 平面を選択する

    選択は、マウスの左クリックである。左クリックで選択できないときは、ツールバーの選択ツールを選んだあとで、左クリックする。

    平面の選択
  6. 平面を拡大縮小する。拡大縮小(スケール)ツールを利用する。

    拡大縮小ツールへの切り替えは、sキーでもできる。

    平面の拡大縮小
  7. 平面を移動する。平面は、立方体の下になるようにする。移動ツールを利用する。

    移動ツールへの切り替えは、gキーでもできる。

    平面の移動

    以上で、立方体と平面の準備ができた。

クロス・シミュレーション(Cloth Simulation)の設定と実行

立方体と平面にコリジョン(衝突判定)を設定、クロス・シミュレーションを行いたいメッシュにクロス(Cloth)を設定し、クロス・シミュレーションを行う。

  1. 立方体にコリジョンを設定する

    オブジェクトモードで、立方体を選択し、プロパティの「物理演算」をクリックし、「コリジョン」をクリックする。

    立方体へのコリジョン設定
  2. 次に、下の平面にコリジョンを設定する

    オブジェクトモードで、平面を選択し、プロパティの「物理演算」をクリックし、「コリジョン」をクリックする。

    平面へのコリジョン設定
  3. クロス・シミュレーションを行いたいメッシュにクロス(Cloth)を設定する

    オブジェクトモードで、クロス・シミュレーションを行いたいメッシュを選択し、プロパティの「物理演算」をクリックし、「クロス」をクリックする。

    メッシュへのクロス設定

    設定を行う。「コリジョン」を展開し、「セルフコリジョン」(メッシュ自身の衝突判定)をチェックする。これは、メッシュを構成するオブジェクト同士の衝突を判定させるためのものである(チェックをしないと、布が布を突き抜けるようになる)。

    セルフコリジョンの設定
  4. メニューの「Animation」をクリックして、ワークスペースをアニメーションに変える。ワークスペースの切り替えは画面上部のタブから行うこともできる。
  5. 「アニメーションの再生」をクリックする。シミュレーションが始まる。
    アニメーションの再生
  6. シミュレーション結果をアニメーションで確認する。
    シミュレーション結果の確認
  7. 先頭フレームに戻したいときは、下図のボタンをクリックする。
    先頭フレームへの移動

メッシュをさまざまに変形したり、メッシュや立方体や平面の配置を変えたりしながら、クロス・シミュレーションの結果がどう変わるか確認する。立体の移動などは、アニメーションの画面で、先頭に巻き戻してから行う(一時停止や再生中では行わず、先頭に巻き戻すこと)。

スムースシェード(smooth shade)

クロス・シミュレーションするメッシュを、スムースシェード(面と面の境界を滑らかに表示する描画モード)する。

スムースシェードの結果
  1. クロス・シミュレーションするメッシュに、「サブディビジョンサーフェス」(メッシュを滑らかに細分化するモディファイアー)のモディファイアー(オブジェクトに非破壊的に効果を適用するツール)を追加する。
    1. アニメーションを一時停止する。
      アニメーションの一時停止
    2. オブジェクトモードで、クロス・シミュレーションするメッシュを選択し、プロパティの「モディファイアー」をクリックする。
      モディファイアーの選択
    3. 次に、モディファイアーを追加をクリックし、「サブディビジョンサーフェス」をクリックする。
      サブディビジョンサーフェスの追加
    4. 細分化の設定を確認する。設定は変えずに続けることにする。
      細分化の設定確認
  2. クロス・シミュレーションするメッシュに、スムースシェードを設定する。

    スムースシェードにするには、オブジェクトモードで、スムースシェードにしたい立体を選択し、右クリックメニュー(オブジェクトコンテクストメニュー)で、スムースシェードを選ぶ。

    Blender 4では、シェーディングの設定を変更する際に右クリックメニューの代わりに、右側のプロパティパネルの「オブジェクトプロパティ」から「シェーディング」セクションを探して設定することもできる。

    スムースシェードの設定
  3. 「アニメーションの再生」をクリックする。シミュレーションが始まる。
    アニメーションの再生
  4. シミュレーション結果をアニメーションで確認する。
    最終的なシミュレーション結果

この時点でのBlenderファイル: 04a.blend

全体まとめ

布を、多数のポリゴンから構成されるメッシュで表現した。メッシュとは、1つあるいは複数のポリゴンの集まりである。