Tips

Tips

modoでカーブから面を作成する方法

modoでカーブから面を押し出す方法について書いてみます。

 

Illustratorで作成したパスや、パーティクルで生成したカーブから面を押し出したいことがあります。
そんなときはPolygon Extrudeを使用します。Curve Rebuildを使用すると、押し出す面の細かさを制御することができます。

 

面を作成してから押し出したい場合はFreezeを使用します。

 

たまにカーブから面を立ち上げたい時があるのですが、エッジの拡張だっけ?ベベルだっけ?と毎回忘れるので記事にして残しておこうと思いました。

以前作ったプロシージャル等高線のカーブを押し出してみた。

Tips

modoのプロシージャルモデリングをダイレクトモデリングツールで編集する方法

modoのプロシージャルモデリングを使用して作成したメッシュを、ダイレクトモデリングツールで編集する方法についてみます。

 

modoにはメッシュを直接編集する「ダイレクトモデリング」と、手続き的に編集する「プロシージャルモデリング」の2種類のモデリング手法があります。

プロシージャルモデリングは後からベベルの幅などを再編集できて便利ですが、ダイレクトモデリング用のツールで編集しようとすると「従来のモデリングツールで編集することはできません」という警告が表示され編集することができません。

 

プロシージャルモデリングをダイレクトモデリング用のツールで編集したい場合は、ポリゴンを選択してコピー(Ctrl+C)、ペースト(trl+V)を使うと便利です。

 

アイテムリストから右クリックメニューで「メッシュオペレーションをフリーズ」から「フリーズ」しましょうと紹介されることが多い気がしますが、メニューから「フリーズ」コマンドを探して実行するのが少し面倒に感じます。

コピーペーストであればショートカットで頻繁に使うので、より直感的にプロシージャルからダイレクトモデリングに移行できるのでお勧めです。

 

メッシュがコピーできることを知ってれば、Merge Meshesを使用してReplicatorで複製したメッシュをコピーするような使い方もできるので便利だと思います。

 

参考

Tips

modoでプロシージャルロープの作り方

modoのプロシージャルモデリング機能を使ったロープの作り方について書いてみたいと思います。

プロシージャルモデリングの基本では、プロシージャルモデリングの便利な使い所として「エッジベベル」「厚み」「カーブ押し出し」「複製系」を紹介しました。
今回はより具体的な例としてプロシージャルロープの作り方を紹介してみます。

 

ModoJapanGroupのサイトにはダイレクトモデリングでロープを作るチュートリアルが公開されているので見てください。
http://modogroup.jp/modo/column/modeling_basic_27

ロープを作る場合、ダイレクトモデリングで作ると形状の調整に手間が掛かることが多いです。一発でイメージ通りの形状にすることは難しくて、ロープをひねる回数を増やしたい、メッシュを細かくしたい、カーブの形状を変更したい場合など、何度も最初からリトライすることになると思います。

プロシージャルモデリングはいつでも個別の要素を再編集できるので、ロープのような形状をモデリングするのに最適です。作成手順はダイレクトモデリングの手順と同じです。

  1. 平面を作成する
  2. 平面を放射状に複製する
  3. Curve Sweepで押し出す
  4. Subdivideでメッシュを滑らかにする

サンプルファイル

 

ロープのメッシュの細かさはCurve Sweepの「ステップ」を使います。ひねりは「ツイスト」に大きな値を設定します。ツイスト量はカーブごとのツイスト量になっているので、複数のカーブで押し出す場合は、各カーブの長さをそろえると見栄えがよくなると思います。

 

Curve Sweepを使用すると、押し出し元のカーブを編集するだけでロープの形状を変えることができるのも便利です。

 

スケマティックでモデリング工程を見るとこんな感じ。

 

Curve Sweepの「終端パーセント」にキーを設定するとロープが伸びるアニメーションを簡単に作ることができます。(modo 13.2は正常に動きますが、14.0は上手く動かなかったり少し動作が不安定な気がする)

 

全てプロシージャルモデリングする必要はありませんが、ロープのように後から調整したくなる箇所が多いモデルではプロシージャルモデリングは凄く便利です。

プロシージャル弁当容器作ってみたので貼っておきます。これは全てプロシージャルモデリングで作ってますが、エッジベベル以外はダイレクトモデリングの方が圧倒的に早くて便利です。

 

参考

Tips

modoのシェーダーノードでレンズディストーションエフェクト

modoのシェーダーノードを使って、カメラのレンズゆがみのような効果を制御する方法が解説されてたので写経してみました。

カメラの回転とShader Inputのレイ方向をそろえた後、レイ方向のXYを任意に編集した結果をRayCastでFinal Color Outputに戻すというのが基本的な流れのようです。

 

球面

球面のようにレンダリング。

サンプルファイル

 

ディストーションのカーブ制御

カーブを使用してゆがみ制御。

サンプルファイル

 

ディストーションのテクスチャ制御

テクスチャを使用してゆがみを制御。

サンプルファイル

 

レイ方向を制御する方法はポストエフェクトによるゆがみと異なり、ピクセルが荒くなったりせずシャープな画像を維持できるのがメリットです。しかし、欲しいゆがみを計算で求めるのが難しいです。
シェーダーノードはレンダリングも遅いので、テクスチャオフセットのように、もう少し手軽に使えるような機能があると嬉しいですね。

 

参考

詳細な解説をしてくれた館長さんに感謝です。

 

Tips

modoでカメラの視野角を計算する方法

modoでカメラの視野角を計算することができたのでメモしときます。

modoのカメラではプロパティで「視野」を確認することはできますが、「視野」チャンネルをスケマティックに追加することができません。Expressionノードを使用すると「視野」を計算することができます。

 

一般的にカメラの視野角は以下の計算式で求めるそうです。

視野角=2*atan(イメージセンサー幅/(2*焦点距離))

 

これをmodoのExpressionで計算します。Expressionノードには入力Aに「焦点長」、入力Bに「フィルム幅」を接続します。atanを使うとラジアンになるらしいので、最後に角度に変換します。

2*atan(B/(2*A))*180/3.141592

modoの視野チャンネルと同じ値が計算できています。

 

カメラの視野角が計算できるとカメラから見える範囲にだけ処理を行うことができるので、ビューポートが重い場合に効果的です。例えばカメラの見える範囲だけReplicatorを表示することができます。下の画像では視野に合わせて自動的にReplicatorの表示が切り替わってます。

サンプルファイル

ファーには「視錐台カリング」という同様の機能がありますが、Replicatorにはありません。そんな時に視野角を使ってリグを組みます。フォールオフを使用してるので、プロシージャルモデリングと組み合わせても便利かもしれません。

Tips

modoでEmberGenのシミュレーションデータをレンダリング

modoでEmberGenのシミュレーションをレンダリングしてみました。

EmberGenはGPUベースのリアルタイムのボリューム流体シミュレーションソフトです。JangaFXのサイトにはEmberGenで作成されたシミュレーションデータがいくつか公開されています。今回はガソリン爆発のサンプルをmodoでレンダリングしてみた。
https://jangafx.com/software/embergen/download/free-vdb-animations/

 

EmberGenのシミュレーションは90°回転した状態で読み込まれるのでVDBアイテムを回転して位置を調節してます。
VDBファイルを読み込む場合は0フレーム目のファイルを選択します。途中のフレームのファイルを選択して読み込むと、選択したフレームからシミュレーションが再生されます。

 

VDBをレンダリングする場合は、Volumeの「ボクセルソース」にVDBを接続します。

 

質感はGradientを使用してルミナンスを設定しました。Gradientにはmodo 10.2からFluid関連の入力が追加され、Fuel、Fuel、Temperatureを細かく制御できるようになっています。

 

最初にデフォルト設定でレンダリングしたとき、ボクセルグリッドの四角形状やフリッカーが目立ってました。VDBの「ボクセルフィルタ」を設定したら少し軽減された気がします。

フィルターなし。

フィルターあり。

ボクセルフィルターの比較、上がフィルターなし。フィルターを使用するとボリュームの密度が変わってしまいますが、フィルターを使用すると細かなノイズのようなボクセルが軽減されるように見えます。

 

同じデータをArnoldでレンダリングしたもの。Arnoldはフィジカルベースのボリュームシェーダーを搭載しているので、少ないパラメータで見栄えのよい煙や炎の質感を作ることができて便利です。レンダリングも速い気がします。

 

modoとArnoldのレンダリングを比較、上がArnoldのレンダリング。

modoはボクセルグリッドが目立ちます。Arnoldのボリュームシェーダーにはボクセルの補間オプションがあって、煙の表面を滑らかにすることができるのですが、残念ながらmodoには補間のパラメータがありません。

また、modoのボリュームは透明に近いボクセルを省略してレンダリングしてるような印象を受けます。画像右ではフレームを間違えてるのかと思うほど薄いボリュームがレンダリングされていません。VDBのGL表示は薄い部分も確認できるので、ボリュームレンダリングを高速化のための工夫なのかもしれません。

 

EmberGenのシミュレーション結果をmodoで使用することはできますが、レンダリングの品質についてはEmberGenの設定を含めて確認する必要がありそうです。
EmberGenはOctaneRenderと提携を発表してるので、Octaneでどのように活用されるのか気になりますね。

 

参考

Tips

modoでアニメ風の顔をモデリングする方法

modoを使用してアニメやフィギュアのようなキャラクターの顔をモデリングする方法を紹介したいと思います。大まかに顔の形状を作る手順をキャプチャしてみました。
ビデオは一発録り等倍再生(わずかにスローにしてる)で、操作にはマウスを使用してます。10分程度で顔の大まかな形状を作ることができるので、興味があればぜひチャレンジしてみてください。

 

1. 背景画像を読み込む

モデリングのアタリにする顔のラフ画像を読み込みます。Windowsエクスプローラーからビューポートに画像をドラッグアンドドロップして、「透明度」「輝度」を見やすく調節します。

 

2. 面を貼る

顔のモデリングはボックスや球から作り始めたり様々な方法があります。私の場合は円から作ります。

  1. 円柱ツールを使って、口と目の位置に16頂点の円を作成します。
  2. トポロジペンを使って円のエッジを引き延ばすようにして顔のトポロジーを作ります。
  3. 最後にスカルプト移動ツールのスムーズを使用してメッシュをなめらかにします。

トポロジペンを使うと頂点が離れていたり、余計な頂点ができてしまうことがあります。最後にメッシュクリーンアップを実行して、メッシュを綺麗にするとよいです。

ビデオではポリゴンが少なすぎました。目のあいだ、鼻の部分を縦に分割するの忘れたのでエッジループを追加したほうがよいです。
サブディビジョンサーフェースは少ないポリゴンで滑らかな曲面を作成できるのがメリットですが、ポリゴンが少なすぎると形状が作りにくくなるため適度に分割するのが望ましいです。

 

3.顔の奥行きを作る

基本的にスカルプト移動ツールを使用して顔の起伏を整えます。頂点編集はエレメント移動ツールでもできるのですが、スカルプトツールはShiftキーを押したときにスムーズツールに切り替わるのが便利です。

  1. エッジ拡張で顔に厚みを持たせ、サブディビジョンをONにします。
  2. 目と口の円を押し出して凹ませ、エッジウェイトツールで輪郭を強調します(好みの問題)。
  3. スカルプト移動ツールを使用して顔の形状を整えます。角張った所はスムーズで滑らかにします。

これで顔の大まかな形が出来上がりました。顔のような複雑な形状は少ないポリゴン数で全体の形を整えて、後からメッシュを分割して細部を作り込むとよいと思います。

 

4. 完成

メッシュを細かくしたり、イメージの形になるまで頂点を編集してキャラクターの顔を作り上げます。

 

まつげは目の周辺のポリゴンをコピーして形を整えて厚みを付けて作りました。髪はプラグインのPolyStrips From Curvesを使って大まかな形状を配置したものを、細かく調節して形にしました (プラグインを使ってますが、一発で欲しい形状にはならないため手動で調節する必要があります)。

バナナの房のような髪は頭のポリゴンをコピーしたり手動で地道に作るのが定番ですが、modo13.1以降であればCurve Sweepを使うとPolyStrips From Curvesに近いことが出来るので便利かもしれません。

 

ざっくりとした紹介ですが、モデリングの参考になったら嬉しいです。

Tips

modoのリジッドボディで壁が崩壊する表現

modoのリジッドボディダイナミクスで崩壊する表現をテストしてみたのでファイルを公開しておきます。単純なファイルであまり綺麗なデータではありませんが、何かの参考になればと思います。

 

壁が壊れる表現

球体で壁が崩れるサンプルです。複雑なデータではないのでシミュレーション速度は早め。ボリュームのレンダリングが遅いのでレンダリングするのはお勧めしません。

サンプルファイル

 

煙のない画像。

 

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

壁のオブジェクトは形状メニューの「メッシュシャッター」の均一を使用して分割してます。分割したアイテムは「複合ダイナミクス」を使用して、まとめてダイナミクスを設定してます。

Collision Emitterを使用してリジッドボディの衝突を使用してパーティクルを発生させ、そのパーティクルを利用して壁の大小の破片と、煙用のボリュームとスプライト用のパーティクルを発生させています。

今回は破片から煙用のパーティクルを発生させているため、衝突した頂点付近からパーティクルが発生していますが、本来はSurface Particle Generator等を使用して面からパーティクルを発生させた方が自然に見えると思います。Surface Particle Generatorは動作が重くなるので今回は使いませんでした。

煙のパーティクルの制御は他の記事に書いてるので、そちらを参考にしてください。

 

地面が崩れる表現

地面が崩れるサンプルです。シミュレーション結果をキャッシュするとファイルサイズが1GBくらいになりますが、大規模なデータではないので、テストシーンとしては軽い方だと思います。

サンプルファイル

スケマティックはこんな感じです。基本的には上の壁が壊れるシーンと同じです。

地面が崩れるタイミングの調整にはウェイクオンの「衝突フォース」を使用しています。パーティクルに質量を設定して、パーティクルと衝突したアイテムからリジッドボディが動き出します。衝突は近くのアイテムに伝播してしまうので、細かく制御するのに向かない場合があるかも知れません。

 

modoのダイナミクスはシミュレーション速度や精度に難点があるため、ビルが崩壊するような大規模シミュレーションをじっくり見せるために使用するのは大変そうですが、アクションシーケンスの短いカットで使用するには十分使えると思います。

 

参考

Tips

modoのプロシージャル頂点マップ

Foundryのフォーラムで面白いスレッドを見かけたので紹介します。

「Vertexmaps In The Mix」はmodo 14で追加されたプロシージャル頂点マップ活用法を共有しようというスレッドで、アニメーションからレンダリングまで幅広い活用方法が紹介されてます。
https://community.foundry.com/discuss/topic/151806/vertexmaps-in-the-mix?mode=Post&postID=1196476#1196476

スレッドでは様々なサンプルファイルが公開されてます。ファイルが公開されてないものから面白そうな物をまねしてみました。サンプルファイルを公開しておくので参考にどうぞ。

 

徐々に消えるウェイト

現状はウェイトマップを徐々に消えるような機能がありません。そこでパーティクルを使用して、メッシュとパーティクルが離れるにつれてウェイトが消えるようにするハック技です。

サンプルファイル

パーティクルの距離とウェイトの強さはテクスチャリプリケーターを使用しています。Constantはレイヤーを反転、または値を-100%に設定しないとウェイトが意図したように反映されないようです。理由は不明。

14.0ではウェイトをブラーする機能が搭載されてないため、全体的にウェイトが荒い印象になってしまいます。現在はTracerXにウェイトマップをブラーする機能があります。

 

メッシュのパートによるアニメーション

メッシュのパート(連結されたメッシュ)単位でウェイトを設定してアニメーションする方法です。

サンプルファイル

Falloff Operatorのポイントパートを使用して、Boxごとに0~100%のウェイトを適用します。ウェイト位置のアニメーションはmodo 13.2で追加されたグラディエントノードを使用して、Falloff OperatorのグラデーションをGradient Offsetを使用してアニメーションしてます。

 

プッシュデフォーマを使ったバージョン。上の内容と同じです。

サンプルファイル

Falloff Operatorが思いのほか便利だと気がつきました。最初のサンプルではトランスフォームデフォーマを使用しましたが、モーフマップを使用しておなじような表現を作ることもできます。

Falloff Operatorはジオメトリ情報を元にウェイト値を生成できるので、「ポリゴン面積」「ポリゴン平面率」などを使用した標準機能では作れない質感を作れる気がします。

 

 

以下は自分でテストしたものです。

 

広がるウェイト

選択した頂点からウェイトが広がる基本的な使用法です。

サンプルファイル

ソフトボディには「ゴールマップ」という、シミュレーションをおこなわない部分をウェイトで指定する機能があるのですが、残念ながらウェイトのアニメーションには対応してないようです。


クロスシミュレーションする範囲が広がったり、逆にクロスシミュレーションからシミュレーション前の形状に変化させるアニメーションを作りたいときもあるので、将来的にウェイトのアニメーションに対応してくれると嬉しい。

 

波紋

パーティクルでメッシュを変形する使用方法です。基本的には以前紹介したカーブフォールオフでメッシュ変形する方法と同じです。

サンプルファイル

「徐々に消えるウェイト」のようにテクスチャリプリケーターを使用しても同じことができますが、変形する時間を制御するのは、カーブを使用した方が扱いやすいと思います。

 

足跡

雪に足跡が残るような表現です。メッシュが細かいので重い。

サンプルファイル

足跡用のメッシュをアニメーションさせて、Select By Volume を使って足跡メッシュ内に含まれるポリゴンにウェイトを設定してます。

 

エッジウェイトのアニメーション

何に使えばいいのかわからないけど、とりあえずアニメーションしてみた。

サンプルファイル

 

ウェイトマップはデフォーマの変形以外にも、ウェイトマップテクスチャと組み合わせてレンダリングに使用できるのも便利です。UV展開しなくても頂点ペイント感覚でモデルに質感設定することができます。

ウェイトのブラーのようにまだ足りない機能もありますが、プロシージャルでウェイトを設定できるのはアニメーションで大いに役立ちそうです。

 

参考

Tips

3dsMax 2021でPython2を使用する方法

3dsMax 2021ではデフォルトのPythonバージョンが3になりました。しかし、2020以前のバージョンで作成されたPython2のスクリプトを使用したい場合があります。

3dsMax 2021は起動オプション -pythonver 2 を指定するとPython2バージョンのMaxとして使用することができます。ショートカットに起動オプションを追加すると便利だと思います。

 

Pythonの起動バージョンは「Max.log」から確認することができます。

C:\Users\ (ユーザー名) \AppData\Local\Autodesk\3dsMax\2021 - 64bit\JPN\Network

 

参考

http://help.autodesk.com/view/MAXDEV/2021/ENU/?guid=__developer_python_3_support_html

Tips

modoで唇リグ

modoの機能紹介ビデオをまねて唇リグを作ってみた。
modo 13.2で追加されたグラディエントチャンネルとCurve Falloffを組み合わせて使うと、単純なノード構成でも柔軟なアニメーションができます。

サンプルファイル(13.2)

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


唇の閉じた位置にカーブがあり、そのカーブを使ってトランスフォームデフォーマの影響範囲を制御してい ます。影響範囲の制御はユーザーチャンネルに追加したグラディエントと、Curve Falloffの「長さに沿ってフォールオフ」を使用します。

Gradient ScaleやGradient Offsetを使うとカーブをアニメーションすることができるので、唇の開き具合や位置の制御に使ってみました。

 

Curve Falloff使った単純なサンプルも公開しておきます。 Curve SweepとCurve Falloffの相性が悪いのかレンダリングするとmodoが落ちます。

サンプルファイル(13.2)

Gradient BlendやGradient Mathを使えば、もっと複雑なアニメーションを作ることができそうですね。

 

参考

Tips

modoの虹色マテリアル

modoの虹色マテリアルについて書いてみます。

modoには光の干渉による虹色(スペクトル)を表現するためのマテリアルが搭載されています。このマテリアルを使用するとCD、真珠、シャボン玉、金属の油膜や焼き色のような質感を手軽に作ることができます。

 

Iridescence Material と ThinFilm Material

modoにはIridescence(虹色)ThinFilm(薄膜)という2種類のマテリアルがあり、どちらも虹色の効果をシミュレートすることができます。
2つのマテリアル違いはパラメータの設定方法が異なるくらいで、「スペキュラ」「反射」に限定すれば、ほぼ同じようなレンダリング結果になります。ThinFilmはフレネル反射が強いようで少し明るく見えます。

マテリアルの特長は以下の通りです。

Iridescence Material

  • 虹色の繰り返し回数を「波長」カーブと「nanometers」で制御
  • 虹色は「ディフューズ」「スペキュラ」「反射」「透過」「ルミナンス」で個別に設定可能

ThinFilm Material

  • 虹色の繰り返し回数を「厚み」で制御
  • 虹色は「スペキュラ」「反射」に限定した動作

基本的には細かく制御できるIridescence Materialがおすすめです。Gradientを使用しても手動でグラデーションを設定することもできますが、光のスペクトルを表現したい場合はIridescence Materialが手軽で便利です。

Iridescence Material にはThinFilm Materialにある「厚み」が無いように見えますが、チャンネルビューポートのnanometersで設定することができます。レイヤーエフェクトの「虹色」は「nanometers」チャンネルに影響してます。「厚さ」による色の変化はArnoldのマニュアルなど他のソフトのサンプルが参考になります。

 

Iridescence Material と ThinFilm Materialは「グループマスク」「レイヤーマスク」が使用出来ないので、マテリアルをマスクする場合はチャンネルごとレイヤーエフェクトを設定する必要があります。

マスクしたい箇所はウェイトマップを使用すると便利です。

 

ThinFilm Material を使用する場合は「屈折率」を1.0に設定するとレンダリングエラー(黒いピクセル)が発生するので、テクスチャを使用する場合は1.0にならないように注意する必要があります。

Iridescence Materialを使用すると金属の質感がリアルになるのでおすすめです。レザー素材にもいいらしいですよ。

 

テンパーカラー

 

油膜

 

亜鉛メッキ

 

ステンレス

 

追記

modo 14.1からIridescenceなどカスタムマテリアルをグループマスクすることが出来るようになりました。

 

 

参考

Tips

modoで鎖帷子のような表現

modoのUV Transformを使って、鎖帷子(チェーンメール)のような表現をテストしてみた。

サンプルファイル

作り方は単純です。ソフトボディを使って布のようなシミュレーションを行います。

シミュレーションしたメッシュをUV Transformのターゲットメッシュに設定してチェーンメッシュを変形します。
UV TransformはUVを使ってメッシュを変形する機能です。メッシュ表面にメッシュを沿わせるモデリングやアニメーションで便利に使えます。

チェーンはループして見えるように配置した輪を、Arrayを使って複製してます。

 

UV Transformを使うと鎖帷子のように、そのままシミュレーションするのが難しい複雑なメッシュをアニメーションさせることができて便利です。

UV Transformはポリゴン数の少ないメッシュではそれほど遅くないのですが、Arrayと組み合わせると驚くほど遅くなります。また、UV Transformはターゲットの形状によって、計算不能ということなのかメッシュが変な方向に伸びてしまうことがあるようです。

 

参考

Tips

modoのGLキャプチャ コマンド

modoのGLキャプチャ コマンドについて書いてみます。

3Dビューポートを記録するGLプレビューは、アニメーション作成には欠かせない機能です。重いシーンではアニメーションをリアルタイムに再生することができないため、GLプレビューを使用して動きやタイミングを確認します。
modoにはビューポートを記録する「GLプレビュー」と「プレイブラスト」機能が搭載されてます。

 

GLプレビュー

アクティブな3Dビューポートを記録する機能です。記録サイズはビューポートの表示領域をそのまま記録します。「GLプレビュー」は動画形式でビューポートを記録し、記録した動画を自動的に再生します。プレビューはTempフォルダに保存されます。

C:\Users\ ユーザー名) \AppData\Local\Temp

「GL録画」「GL画像シーケンス」はディレクトリを指定してファイルを保存する機能です。

 

プレイブラスト

カメラを指定してビューポートを記録する機能です。記録サイズはRenderアイテムのフレームサイズが使用されます。
プレイブラストは記録専用の3Dビューポートを生成するため、ビューポートの「シェーディングスタイル」や「グリッドを表示」を設定するオプションが用意されてます。

これらのGL記録機能は gl.capture コマンドを使用してます。

追記

下で紹介するgl.capture コマンドのオプションですが、modo 15.1でプレイブラストにオプヨンが追加されて簡単に利用できるようになりました。

 

gl.capture コマンド

gl.capture コマンドには12個の引数があるので紹介してみます。「GLプレビュー」や「プレイブラスト」では使用することのできないオプションが用意されてるので、必要に応じて使用すると便利です。

 

record

「GL録画」と同じです。

gl.capture record:true

 

seq

「GL画像シーケンス」と同じです。

gl.capture seq:true

 

filename

ファイルパスと保存するファイル名の指定です。指定がない場合はファイル保存ダイアログが開きます。

gl.capture filename:"C:\Temp\GLPreview.mov"

 

frameS / frameE

記録の開始と終了フレームです。

gl.capture frameS:10 frameE:25

 

autoplay

動画記録の自動再生です。指定がない場合はautoplay:trueとして動作します。

gl.capture autoplay:false

 

preview

「GLプレビュー」と同じです。

gl.capture preview:true

 

scale

記録サイズを25%か50%に縮小して保存します。指定がない場合はscale:fullとして動作します。

gl.capture scale:quart
gl.capture scale:half

 

savealpha

背景をアルファチャンネルとして保存します。指定がない場合はsavealpha:falseとして動作します。

gl.capture seq:true savealpha:true

 

cleanGL

ビューポートコントロールと情報表示(アイコンや情報など)」を表示します。指定がない場合は cleanGL:trueとして動作します。

gl.capture cleanGL:false

 

useMonitor

GL記録のプログレスバーを表示する。指定がない場合は useMonitor:trueとして動作します。

gl.capture useMonitor:false

 

counter

フレームカウントを表示する。指定がない場合は counter:trueとして動作します。

gl.capture counter:false

 

使用例

複数の引数を使用する時の例です。「シーケンス保存+フレーム範囲指定+スケール50%+アルファ保存」

gl.capture seq:true filename:"C:\Temp\GLPreview.tga" frameS:10 frameE:25 scale:half savealpha:true

 

コマンドの引数は並び順で処理されるので、以下のように引数の値だけ省力して記述することもできます。

gl.capture true true "C:\Temp\GLPreview.tga" 10 25 false false half true

 

私の場合AfterEffectsを使用してフレーム単位で確認することが多いのでシーケンスを使用してます。
gl.captureのバグなのかわかりませんが、0フレームの画像として「ビューポートコントロール」が表示された状態のカレントフレームを出力します。繰り返しタイミングを見るとき邪魔なので、手動で削除するためにシーケンスを使ってるという事情もあります。

 

指定したサイズで3Dビューポートを開く

おまけとして、プレイブラストのように指定したサイズでビューポートを開くコマンドを紹介します。

プレイブラストでプレビューを作成する時にアドバンスドビューポートで記録したい時があります。プレイブラストには「ソース設定をコピー」するオプションがあるのですが対応状況が半端なため、見た目が変わってしまうことがあります(14.1で修正されたようです)。
そんなときは記録したいサイズのビューポートを作成して、手動で表示オプションを調整するといいです。

cmds.batch {Temp} {layout.create Camera width:1280 height:720 persistent:false style:palette layout:"BlankCamera Palette"} {view3d.shadingStyle gnzgl} {view3d.presetload AVPGoodQ}{view3d.sameAsActive true}

 

GLの記録とは異なりますが、プレビュービューポートにもアニメーションをレンダリングする機能があります。
プログレッシブレンダラーであるため1フレームのレンダリング時間を指定できるので、画像は粗くてもGLより最終レンダリングに近い画像でアニメーションを確認できて便利でした。

残念なことに11.1でUI変更されたタイミングで「最大時間」が動かなくなってしまい、短時間でレンダリングができなくなってしまいました。便利な機能だったので修正して欲しいです。

 

参考

https://community.foundry.com/discuss/topic/81912

 

Tips

modoのスタティックメッシュ

modoのスタティックメッシュについて書いてみます。

 

スタティックメッシュとは

スタティックメッシュはメッシュアイテムの種類の1つです。通常のメッシュアイテムと異なりコンポーネント(ポイント/エッジ/ポリゴン)を編集することができない代わりに、CADデータや樹木のような高密度のメッシュデータを開いたときのメモリ使用量を低く抑えることができます。レンダリング可能ですが、デフォーマ等で変形することはできなくなります。

スタティックメッシュは、ZBrushから出力した高密度なメッシュをmodoでリトポする場合に最適です。

 

メモリ使用量を比較

ZBrushのサンプルファイルでおなじみ、サムライスピリッツのアースクェイクをmodoに読み込んでメモリの使用量を比較してみます。ポリゴン数は 6,303,616(三角ポリ)です。

 

modo起動直後

modoを起動した直後のメモリ使用量は「0.45GB」くらい。

 

メッシュ

通常のメッシュとして読み込んだ場合のメモリ使用量は「6.7GB」くらい。

 

スタティックメッシュ

スタティックメッシュとして読み込んだ場合のメモリ使用量は「1.58GB」くらいで、およそ1/4程度になります。

 

スタティックメッシュの使用方法

スタティックメッシュを使用するには、アイテムリスト等で右クリックメニューから「タイプの変更 / Static Mesh」を実行します。

または、objファイル読み込みオプションで「スタティックメッシュとして読み込み」をONにします。

メッシュとスタティックメッシュは相互に変換することができますが、通常のメッシュをスタティックメッシュに変換すると全て3角ポリゴンになるので注意が必要です。

 

リトポ用の高密度なメッシュをmodoに読み込むと、メモリが足りなくなったりビューポートが遅く感じることがあります。そんな時はスタティックメッシュを使用するのがおすすめです。

マニュアルにはレンダリングにもおすすめと書かれてますが、レンダリング時のみ高密度メッシュを使用したいという用途ではレンダープロキシが向いてます。
モデリングが完全にFixしてる場合はディファードメッシュという機能もあるので、用途に応じて使い分けるといいと思います。

 

参考