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つあるいは複数のポリゴンの集まりである.