[Blender 2.8] 全く別物に変形させるのに便利な、キャストモディファイアーの機能と使い方のご紹介
今回の記事は、Blenderの『キャストモディファイアー』についてです。
『キャストモディファイアー』は、メッシュ、カーブ、サーフェス、またはラティスの形状を、球、円柱、直方体のいずれかに向かってシフトします。
これは、編集モードの[球へ変形(To Sphere)]ツール、及び他のプログラムが”Spherify”または、”Spherize”と呼称するものと同等のものですが、上記のように、このモディファイアーでは、球以外の形状へのキャストも可能です。
ちなみに、キャストシェイプは、見栄えを良くしたり、シェーディングアーティファクトを修正するためにスムージングが必要な場合があるため、『スムーズモディファイアー』は、『キャストモディファイアー』との相性が良いです。
パフォーマンス上の理由から、このモディファイアーはローカル座標でのみ機能します。
変更されたオブジェクトが正しく表示されない場合、特に円柱にキャストする時に、そのトランスフォームを適用する必要があります。
ちなみに、ある程度「決まった形に変形する」という点では、『シンプル変形モディファイアー』と似ているように思います。
※2020年11月10日 追記を行いました。
目次
まず最初に
『キャストモディファイアー』を追加したいオブジェクトを選択しておき、[プロパティエディタ]>[モディファイアー]>[モディファイアーを追加]ボタンをクリックすると表示される一覧から、[キャスト]という項目を選びます。
追加されると↓のように表示されます。
[キャスト]の詳細設定項目一覧
- [成型タイプ(Cast Type)]
- [X]、[Y]、[Z]
- [係数(Factor)]
- [半径(Radius)]
- [サイズ(Size)]
- [半径から(From Radius)]
- [頂点グループ(Vertex Group)]
- [制御オブジェクト(Control Object)]
[成型タイプ(Cast Type)]
投影のターゲット形状を選択するメニュー。
以下の3つから選択できます。
- [球(Sphere)]
- [円柱(Cylinder)]
- [直方体(Cuboid)]
[X]、[Y]、[Z]
チェックボックスのチェックを切り替えて、X、Y、Z軸方向のモディファイアーを有効/無効にします(円柱キャストタイプの場合、Z軸は影響を受けない為、実質X軸とY軸のみ)。
[係数(Factor)]
元の頂点位置とキャスト頂点位置の間のブレンドを制御するための係数。
これは、線形補間で、”0.0″は元の座標(つまり、モディファイアーの効果無し)、”1.0″はターゲットシェイプにキャストします。
“0.0”未満または”1.0″を超える値は、ターゲットシェイプから更に効果を誇張した変形をします。時折、面白い方法で変形することもあります。
[半径(Radius)]
“0”以外の場合、この半径は影響範囲を定義します。それ以外の頂点はモディファイアーの影響を受けません。
[サイズ(Size)]
投影された形状の代替サイズ。”0″の場合、初期形状と[制御オブジェクト](存在する場合)によって定義されます。
※[半径から]が有効になっている場合、[半径]から[サイズ]を計算するようになるので、[サイズ]の数値による操作は効きません。
[半径から(From Radius)]
有効にした場合、よりスムーズな結果を得るために、[半径]から[サイズ]を計算します。
無効にした場合には、それぞれの項目から操作できます。
[頂点グループ(Vertex Group)]
設定されている場合、効果をその頂点グループ内の頂点のみに制限します。これにより、頂点のウェイトペイントすることにより、選択的なリアルタイムのキャストが可能になります。
『頂点グループ』そのものについてや、基本的な扱い方など、詳しくは下記記事をご覧ください。
例えば、上から下へグラデーションするようなウェイトの割り当て方をした↓のような頂点グループを用意します。
その[頂点グループ]を設定すると、[係数]を操作した場合に、↓のように、割り当てられているウェイト値が”1.0″(赤色)に近い部分程、影響を強く受けて変形しているのに対し、”0.0″(青色)に近い部分程、あまり変形していないのが見て取れます。
[制御オブジェクト(Control Object)]
効果を制御するオブジェクトの名前。このオブジェクトの原点の位置は、投影の中心を定義します。また、そのサイズと回転により、投影された頂点がトランスフォームされます。
この[制御オブジェクト]をアニメーション化(キーフレーミング)すると、変更されたオブジェクトのキャスト変形もアニメーションされます。
[トランスフォーム使用(Use Transform)]
形状への投影の制御にオブジェクトのトランスフォームを使用します。
この項目は、[制御オブジェクト]を設定した場合のみ表示されます。
有効にした場合、[制御オブジェクト]に設定したオブジェクトの拡大縮小([S])に影響を受けて変形します。
おまけ: 作ってみた物
『スクリューモディファイアー』を使って作成した回転体を、一部だけ四角く変形するのに使用しました。
ちなみに、『スクリューモディファイアー』について、詳しくは下記記事をご覧ください。
まずは適当なオブジェクトを用意します。
成型を加えたい部分だけウェイト”1.0″を割り当てた頂点グループを作成します。
後は『キャストモディファイアー』で設定して成型するだけです。
今回は成型する部位が、複雑な設定を必要としない丁度良い位置にあったので特に複雑な操作は必要ありませんでしたが、位置によっては[半径]や[制御オブジェクト]などでの操作が必要になるかと思います。
ちなみに、作ったオブジェクトを使って、最終的に↓の様なものを作成しました。
こちらには、部品作成から、作成した部品を並べるのにも、カーブと『カーブモディファイアー』を多用しています。
もしご興味湧かれましたら、『カーブモディファイアー』についても詳しく執筆させていただいた記事がございますので、そちらをご覧ください。
参考にさせて頂いたサイト・ページ一覧
- Cast Modifier — Blender Manual
- Blender Deform Modifier #02 – Cast Modifier – YouTube
- Blender 2.8 Tutorial: Cast Modifier – YouTube
- Blender モディファイア(Cast)
モデル作成資料一覧
モディファイアー関連の記事のご紹介
この記事の他にも、Blenderの様々なモディファイアーについて、機能や使い方を私自身も試しながらではありますが、ご紹介させていただいております。よろしければ、こちらも併せてご覧ください。
変更
- データ転送
- メッシュキャッシュ
- メッシュ連番キャッシュ
生成
変形
- アーマチュア
- スムーズ
- スムーズ(修正)
- スムーズ(ラプラシアン)
シミュレート
- コリジョン
- ダイナミックペイント
色々なモディファイアーを駆使しての変形技術、驚愕しています。
ところで、記事とはあまり関係のない悩み相談があるのですが、こちらからでよろしいでしょうか?
トップページにコメントを書けなかったので。
顔などの複雑な造形をする時、歪んでしまったポリ割り(トポロジーというのかな?)を整える方法を悩んでいて、「頂点スムーズ」などを使って、なんとか形は整うのにトポロジーがぐちゃぐちゃに・・・。
基本的に美しいトポロジーを前提に複雑な造形をする事が苦手です。
他の方の顔モデリングの画像とかを拝見すると、超美しいですよね~。
「選択物をアクティブZ座標に揃える」事とかベジェ曲線っぽく揃える事できないかな~。
このままでは、最終目標である人体のモデリング(特に顔)にステップアップできません。
訳あって、Blender2.8を使う事ができません。
「2.78まで」で何か良い技術や考え方などあればアドバイスください。
PCが古いモデルなのでCPUの都合上、使えるOpenGLのバージョンに限界があります。
Blenderの描画はJavaに依存し、JavaはOpenGLに依存しています。
Blender2.79になると、OpenGLが非対応です系のエラーがでるんです。
2.8使いたいよ~!!
KNさん、再度のコメントありがとうございます。
モディファイアー、調べてみたら結構便利なものが多くてビックリですよね。
まだ勉強中で、全ては使いこなせていないのですが、何とかここまでは出来るようになりました。
お悩み相談、こちらで大丈夫ですよ。
人体は基本的に難しいですよ、私も苦手ですし笑
顔のポリ割りは、本当に苦労しますよね。
「選択物をアクティブZ座標に揃える」という事ですが、
[ピボットポイント]を[アクティブ要素]に変更した上で、
[S]→[Z]→[0]のショートカットを使うという方法はいかかでしょうか?
「ベジェ曲線っぽく」という方法は分かりませんが。
良い技術や考え方ですか…、
私が知る限りでは「上手い人のポリ割を観察して真似る」くらいですかね。
あと、強いて言うなら、「三角形と四角形だけで割る」とか、
「なんとなく顔全体が格子状になるように構成する」とかだと思います。
結局根性論的なアドバイスになってますね、申し訳ないですがこれが今の私の精一杯です汗
2.78までしか使えないとのこと、
色々なご事情がおありだと思います。
どうか現状にめげず、モデリング頑張ってください!