2020年9月

参考資料

Mulan | Breakdown Reel

Image Engineによる映画「ムーラン」のブレイクダウン。

Tips

ZBrushにクリースをインポートする方法

Maya、3ds Max、modoからZBrushにサブディビジョンサーフェイスの「クリース(折り目)」をインポートする方法について書いてみたいと思います。

一般的な3Dソフトのサブディビジョンサーフェイスには、クリースと呼ばれる鋭角なエッジを設定する機能が搭載されています。クリースは曲線と直線で構成された機械的なモデルを作るときに便利です。
FBXファイルはクリースの情報を保存することができるので、3DソフトからZBrushにクリース情報を持ったままモデルを読み込むことができます。

 

 

ZBrushにクリースをインポートする

一般的な3Dソフトではクリースに0~100など、重みを無段階で設定することが出来ます。しかし、ZBrushは特定の値が設定されたクリースしか読み込みまないので注意する必要があります。

 

Maya

Mayaからクリースを出力する場合は polyCrease で「折り目」の値を 10 に設定します。

 

3ds Max

Maxからクリースを出力する場合はエッジプロパティで「折り目」の値を 1.0 に設定します。

 

modo

modoからクリースを出力する場合はサブディビジョンのウェイトを 100% に設定します。modoではマイナスや100%以上の値で保存することができますが 100% 以外は無視されます。

 

ZBrushに読み込んだ結果

ZBrushにFBXをインポートし、ダイナミックサビディビジョンを適用したモデルです。エッジに破線が表示されクリースの設定が読み込まれるのを確認できます。

 

 

ZBrushからクリースをエクスポートする

ZBrushから クリースを出力する場合は「FBXエクスポートインポート」の「スムースレベルをエクスポート」をONにします。

「スムースレベルをエクスポート」はマニュアルに説明がないので何を意図した機能なのかわかりませんが、恐らくキャットマルクラークサブディビジョンの折り目(Crease、エッジウェイト)の出力に関連する機能だと思われます。
スムースレベルという名称なのでSubDivの値を変更してエクスポートして見ましたが、折り目の出力意外に目立った変化はないように見えました。

 

ZBrushのFBXは特定の値のクリースしか読み込まないという仕様が罠ですね。本来は無段階に設定できるクリースをZBrushではON/OFFしかできないのはいいのですが、その値がキャットマルクラークの実用的な値の範囲である0~50%ではなく最大値以外読み込まないのはわかり難いかもしれません。FBXインポート時には少しでも値が入ってたらクリースとして読み込んでくれる方が動作がわかりやすい気がします。

 

参考

このビデオではクリースを1000に設定していますが、ZBrush 2020でFBX2020で出力したファイルをMayaに読み込むとクリースの値は 10 でした。Mayaで出力する場合は一度ZBrushからファイル出力して値を確かめるといいと思います。

Tips

modoのエッジウェイトをFBXに出力する方法

modoのエッジウェイトをFBXに出力する方法について書いてみたいと思います。

FBXファイルはメッシュやモーフ、スケルトン、アニメーションの他にも、頂点法線、選択セット、画像、コンストレイントなど3DCGに必要な様々なデータを格納することができるようになっており、サブディビジョンサーフェースの「エッジウェイト」の保存にも対応しています。

 

エッジウェイトとは

エッジウェイトサブディビジョンサーフェイスに重みづけし、鋭角なエッジを設定する機能です。例えばiPhoneのように曲線と直線で構成される機械的なモデルで、直線的なエッジを立てるときに便利です。MayaやMaxでは折り目(クリース)と呼ばれています。

modoには2種類のサブディビジョンサーフェイスが搭載されていますが、FBXにエッジウェイトを保存する場合はキャットマルクラークを使用します。

 

FBXファイルの出力結果

modoでエッジウェイトを設定したデータをFBX形式で保存してMayaとMaxで読み込むテストをしてみました。

テストに使用したエッジウェイトの画像です。キャットマルクラークは「頂点」「エッジ」2種類のウェイトを設定することができます。画像ではキューブ左側に頂点ウェイト、右側にエッジウェイトを設定しました。

左からウェイト値を-100、-50、0、10、20、30、40、50、100、200に設定しています。

modoはエッジウェイトとして-1000や1000のように好きな値を設定してFBXに保存/読み込みできますが、MayaとMaxではマイナス値に対応してないためファイル読み込み時にマイナスは無いものとして扱われます。

 

Maya

FBXファイルを開くと「折り目」の設定が読み込まれます。

polyCreaseでエッジや頂点の折り目の値が正しく読み込まれてるのが確認できます。

 

 

3ds Max

FBXファイルを開くと「折り目」の設定が読み込まれます。

エッジプロパティで「折り目」の値が正しく読み込まれてるのが確認できます。

 

 

エッジウェイトの検証はここまで、以降はキャットマルクラークのちょっとした解説です。

 

Catmull–Clark subdivisionとは

キャットマルクラーク(細分割曲面)は1978年に開発された歴史のあるサブディビジョンサーフェイスです。以前はアルゴリズムが特許で守られていたため、3Dソフトは独自にサブディビジョンサーフェイス機能を開発していました。このため使用する3Dソフトごとにサブディビジョンサーフェイスの結果が異なっていました。

2012年「OpenSubDiv」としてオープンソースライブラリとして公開され、Mayaや3ds Maxなど多くの3Dソフトが「OpenSubDiv」を追加しました。これによりどの3Dソフトを使用しても同じ見た目になるサブディビジョンサーフェイスを使用できるようになりました。

他の3Dソフトでモデルを読み込むときはFBXを使うことが多いと思いますが、キャットマルクラークを使用すればエッジウェイトの情報も受け渡し可能なので、modoでモデリングした状態と他の3Dに読み込んだ状態が一致するのが最大のメリットです。

 

そもそもエッジウェイトを使うのか問題

昔は3Dソフトごとに独自のサブディビジョンサーフェイス機能を開発していた経緯から、ソフトをまたぐ場合はエッジウェイトを使用する代わりに、エッジ付近にループスライスを追加して鋭角なエッジを立てることが多かったです。
ループスライスを追加するとエッジウェイトに比べてポリゴンは多くなりますが、エッジがラウンドされた感じが出るのでレンダリングしたとき好ましい場合があります。

ループスライスを使用してエッジを立てる例。

エッジウェイトを使用してエッジを立てる例。

 

サブディビジョンレベルによってエッジのRが変わる問題

キャットマルクラークは様々なソフトで採用されていますが、エッジウェイトに関しては使いやすいアルゴリズムだとは感じません。エッジウェイトがサブディビジョンレベルの影響を受けるため、ウェイト設定後にサブディビジョンレベルを変えるとエッジのRが変わってしまいます。

3Dソフトが独自に開発したサブディビジョンサーフェイスでは、このような問題が発生しにくいアルゴリズムになってたりします。古い時代に開発されたキャットマルクラークにはこのような問題もありますが、機械的な形状で便利に使えるしソフト間でエッジウェイトをやり取りできるので必要に応じて使うといいと思います。

 

参考

参考資料

Xiaomi Mi 10

スマフォのCMでしょうか、分解系の映像好き。レンダリングが綺麗です。

参考資料

ひみつ道具登場

Xiaomi Mi 10 Youth Edition ドラえもん限定版のCMのようです。レンダリングが綺麗。

CG News

CINEMA 4D R23 リリース

CINEMA 4D R23 がリリースされました。キャラクター関係の機能強化がいいですね。Magic Bullet Looks搭載やシーンノード(次世代のCinema 4Dのコアとオブジェクトシステム)のスニークプレビューが含まれてるようです。海外のフォーラムでは骨董品と揶揄されてるのを見かけるUV機能も強化されてるようです。

https://www.maxon.net/jp/%E8%A3%BD%E5%93%81/cinema-4d/r23%E6%96%B0%E6%A9%9F%E8%83%BD/
https://www.maxon.net/jp/%E8%A3%BD%E5%93%81/cinema-4d/r23%E6%96%B0%E6%A9%9F%E8%83%BD/r23-featurelist-complete/

 

アニメーションワークフローの機能強化

 

強力なUV編集機能

 

Magic Bullet Looksの統合

 

次世代Cinema 4D コアとオブジェクトシステムのスニークプレビュー

 

ワークフローの調和

Tips

modoでパーティクルをサーフェースでうず状に動かす表現

modoでパーティクルをサーフェースに沿ってうず状に動かす表現について書いてみたいと思います。

 

スケマティックはこんな感じです。

 

スケマティックの右側は以前書いた「パーティクルをサーフェースに沿って動かす方法」と同じです。
今回はうず状にパーティクルを動かしたかったので、うず状のカーブを作成してSurface Particle GeneratorとReplicatorを使ってメッシュ表面に複製しました。
このカーブをMerge Meshesで1つのメッシュにまとめて、Curve Forceを使ってうず状のフォースを発生させています。

カーブを表示した状態。

パーティクルの軌跡は、プラグインの Particle Tracer X を使用してます。レンダリングはmodo標準の「カーブをレンダリング」を使用し、カーブの質感には「虹色マテリアル」を使用して金属っぽくしてます。

カーブをアニメーションさせても面白い表現が出来そうです。

 

ロゴでアニメーションしたやつ。

 

今回のパーティクルアニメーションはC4DのField Forceのデモ映像がかっこよかったのでまねしてみました。
Curve Forceは影響範囲が重なると相互に影響を受けてしまうため、Field Forceに比べると軌跡が交差してしまうのがちょっと残念です。綺麗な軌跡を描けるように、プロシージャルテクスチャからフォース生成するような機能追加して欲しいですね。

 

参考

参考資料

CG Breakdown - EDAG Citybot

コンセプト映像でしょうか、倉庫の奥側は実写かと思ったらフルCGだった。

Tips

ZBrushの基本操作

ZBrushで利用頻度の高い基本操作や、ツール操作をまとめたページです。

ZBrushはモディファイヤキー(Ctrl Shift Alt)を組み合わせて使用しますが、キー入力後に別のキーを押したり、キー入力後にキーをはなしたり、一般的なグラフィックソフトのショートカットに比べると複雑に感じます。
またトランスポーズのように、1つのツールに複数の異なる機能が組み合わさっていることもあるため、初見ではなかなか操作方法がわからないことがあります。

しばらくZBrushを使わないと操作を忘れてしまうので、画像つきでまとめてみました。

 

ビュー操作

キャンバスの3Dナビゲーションに関する操作です。

移動

  • Alt + キャンバスドラッグ

 

回転

  • キャンバスドラッグ

 

回転を90度に制限

  • Shift + キャンバスドラッグ

 

Z軸回転

  • Shift + キャンバスドラッグ 中に Shift をはなす

 

ズーム

  • Ctrl + キャンバス 右ドラッグ
  • Alt + ドラッグ中に Alt をはなす

 

メッシュに表示を合わせる

  • F

 

 

メッシュの表示/非表示

ポリゴンメッシュの可視性に関する操作です。

四角選択

  • Ctrl + Shift + ドラッグで表示
  • Ctrl + Shift + Alt ドラッグで非表示

 

全て表示

  • Ctrl + Shift + キャンバスクリック
  • Ctrl + Shift + A

 

表示反転

  • Ctrl + Shift + キャンバスドラッグ

 

なげ縄選択

  • Ctrl + Shift + ドラッグで表示
  • Ctrl + Shift + Alt ドラッグで非表示

 

ループ非表示

  • なげ縄選択でエッジをクリック

 

選択領域の移動

  • なげ縄や四角選択ドラッグ中に Shift + Space

 

表示の拡張と収縮

  • Ctrl + Shift + X
  • Ctrl + Shift + S

 

縁のみ表示

  • Ctrl + Shift + O

 

マスクされてないメッシュを非表示

  • 可視性の「Pt非表示」クリック

 

選択したポリグループのみ表示

  • Shift + Ctrl + メッシュクリック

 

選択したポリグループを非表示にする

  • Shift + Ctrl + ダブルクリック

 

選択したポリグループを非表示にする

部分的に表示されている場合の動作です。

  • Shift + Ctrl +クリック

 

 

マスキング

マスキングに関する操作です。

マスクペイント

  • Ctrl を押しながらペイントで追加
  • Ctrl + Alt を押しながらペイントで削除

 

マスク反転

  • Ctrl + キャンバスクリック
  • Ctrl + I

 

全てマスク

  • Ctrl + A

 

マスククリア

  • Ctrl + キャンバスドラッグ

 

四角マスク

  • Ctrl + キャンバスドラッグで追加
  • Ctrl + Alt + キャンバスドラッグで削除

 

なげ縄マスク

  • Ctrl +ドラッグ で追加
  • Ctrl + Alt + ドラッグ で削除

 

カーブマスク

  • Ctrl +ドラッグでカーブの描画を開始し、ドラッグ中に Alt + クリック でカーブ
  • カーブ描画中に Alt を2回押すと直線

 

マスク領域の移動

    • なげ縄や四角マスク使用中に Shift + Space

 

マスクのブラーとシャープ

  • Ctrl + メッシュクリックでブラー
  • Ctrl + Alt + メッシュクリックでシャープ

ブラーとシャープの強さは「環境設定」のトランスポーズサブパレットの「マスクブラー強度」「マスクシャープ強度」で設定することが出来ます。

 

 

ブラシ

ブラシに関する操作です。

ドローサイズ

  • S
  • ] 設定した単位で大きく
  • [ 設定した単位で小さく

 

焦点移動

  • O

 

Z強度

  • U

 

ZAddとZSubを切り替え

  • Alt

 

最後のストロークを再生

  • 1

 

ストロークの記録と再生

  • 3 記録ストローク
  • 2 記録されたすべてのストロークを再生

 

カーソルの下の色を選択

  • C

 

シンメトリ

  • X

 

 

ギズモ 3D

ギズモ3Dは一般的な3DソフトのようにXYZ 3軸の矢印(ギズモ)を使用してメッシュを編集する機能です。

基本操作

  • E R ギズモ 3Dを有効
  • Q ドローモードへ戻る
  • Y  トランスポーズに切り替え

 

ギズモをサーフェス法線に合わせて再配置

  • Alt + クリック

 

ギズモを回転

  • Alt + ドラッグ

 

位置や回転のリセット

 

複数のSubToolを編集

  • 複数のサブツール アイコン

 

トポロジカルマスキング

トポロジーの繋がりを加味したマスキングです。

  • Ctrl + メッシュドラッグ

 

ポリグループをマスク

隣接するポリグループをクリックするとブラーになります。

  • Ctrl + クリック

 

複製

  • Ctrl + ドラッグ

 

等間隔複製

  • Ctrl + ドラッグ 中に Ctrl をはなし、そのままドラッグ

 

ネガティブメッシュ複製

ダイナメッシュの減算に使用するメッシュとして複製します。

  • Ctrl + Alt + ドラッグ

 

ポリゴン押し出し

  • マスクしてる状態で Ctrl +ドラッグ

 

膨張

  • Ctrl + ギズモ中心の四角ドラッグ

 

クリッピング

  • Ctrl + スケール軸ドラッグ

 

 

トランスポーズ

トランスポーズはギズモ3Dが追加される前からあるトランスフォーム編集ツールです。トランスポーズにしかできない操作があります。

  • トランスポーズの切り替えは W E をクリック後に Y
  • トランスポーズのリングはアクションラインに沿うようにドラッグして操作します

共通操作

アクションラインを再配置

  • メッシュクリックでサーフェス法線に合わせて再配置
  • 軸をクリックするとアクションラインの方向が切り替わる

 

ビューをZ軸回転

  • Ctrl + 終点の白色リング ドラッグ

 

描画中にアクションラインを移動

  • ドラッグ中に Space

 

描画後にアクションラインを移動

  • アクションラインをドラッグ
  • 中央のオレンジ色リングをドラッグ

 

アクションラインを15度ずつスナップ

  • Shift + ドラッグ

 

アクションラインの始点/終点の変更

  • 始点のオレンジ色リングをドラッグ

 

トポロジカルマスキング

  • Ctrl +メッシュドラッグ
  • CtrlShift +メッシュドラッグでマスク追加

 

移動モード

移動モードを使用したリングの動作です。

  • 始点 ドラッグ : 平面化
  • 中心 ドラッグ : 移動
  • 終点 ドラッグ : ストレッチ
  • 終点 右ドラッグ : 膨張

 

移動軸を制限

  • Shift + 中心の白色リング ドラッグ
  • アクションライン描画中に Ctrl クリックで描画を確定し、そのまま Shift

 

ベンド

  • Alt + 中心の白色リング ドラッグ

 

複製

  • Ctrl + ドラッグ
  • Ctrl + ドラッグ中に Shift を押すと移動軸を制限

 

ネガティブメッシュ複製

ダイナメッシュの減算に使用するメッシュとして複製します。

  • Ctrl + Alt + ドラッグ

 

ポリゴン押し出し

  • マスクしてる状態で Ctrl + 中心の白色リング ドラッグ

 

ポリゴンの分離

  • マスクしてる状態で Ctrl + 終点の赤色リング ドラッグ

 

スケールモード

スケールモードを使用したリングの動作です。

  • 始点/終点ドラッグ : 均一スケール
  • 中心ドラッグ : 垂直スケール

 

エッジループを作成してデフレート/インフレート

  • マスクしてる状態で Ctrl + 中心白色リングドラッグ

 

特殊なスケーリング

  • Alt + ドラッグ

 

回転モード

回転モードを使用したリングの動作です。

  • 始点/終点 ドラッグ : 回転
  • 中心 ドラッグ : Z軸回転

 

スナップ回転

  • Shift +ドラッグ

 

ツイスト

  • Alt + ドラッグ

 

メッシュ操作

ポリゴンメッシュに関する操作です。

メッシュの削除

 

メッシュの分割

  • サブツール「分割」の「マスク箇所を分割」「非表示分割」

 

 

ポリグループ

ポリグループに関する操作です。

マスクからポリグループ作成

 

ポリグループの境界を滑らかにする

  • 変形の「ポリッシュ(グループ)」

 

 

参考

http://docs.pixologic.com/user-guide/keyboard-shortcuts/shortcuts-by-category/