Modo

参考資料

メッシュ位置を一致させるmodoスクリプト

ソースメッシュをターゲットメッシュに一致させるmodo用のスクリプトが公開されています。

https://gist.github.com/Eterea/a028ce392a8fd41f46922d505406614f

ソースで3頂点を選択し、ターゲットで3頂点を選択して一致させます。スクリプトには3つ引数があります。

  • @etr_match_posrot_smart.py relative
  • @etr_match_posrot_smart.py targeted
  • @etr_match_posrot_smart.py original

 

Tips

modoとZBrushを併用する場合の注意点

modoとZBrushを併用する場合の注意点について書いてみます。

ZBrushは他の3Dソフトに比べて独自の制限や動作があります。全てZBrush内で作業が完結するのであれば問題ないかも知れませんが、modoで作成したモデルをZBrushに読み込んで使用すると高確率で制限につまずいてしまいます。基本的な仕様について書いておきます。

 

三角、四角ポリゴン以外は使用しない

ZBrushは三角、四角ポリゴンで構成されるポリメッシュのみ使用可能です。五角形以上のいわゆるN-gonはGoZしても面が生成されることがなく、穴が開いた状態になります。modoのカーブもN-gon扱いになるようです。

 

三角、四角しか使えないのはやや不便に感じますが、メモリ使用量を少なくし処理速度を早くするための仕様ではないか?ということらしいです。

 

UV座標の0.0、1.0上に頂点を配置してはいけない

ZBrushは0.0、1.0上の頂点を結合してしまい、正常なマップが作成できなくなります。3DソフトのプリミティブはUV空間を広く使うように展開されていますが、プリミティブをZBrushに持ち込んで使用する場合は注意が必要です。

 

UVを少し小さくスケールすると、UVを正しく使用することができます。

 

 

マルチUVに対応してない

ZBrushはマルチUV、複数のUVデータの読みこみに対応していません。modo、3dsMax、Mayaなど多くの3Dソフトは1つのメッシュに複数のUVマップを作成することができますが、ZBrushでは読み込めるUVマップは1つに制限されています。

  • modoから複数のUVマップを持ったデータをGoZした場合は、どれか1マップ転送されます。メッシュの一部にしかUVがない場合、UVは転送されません。
  • MayaからGoZした場合は「既定のUVセット」のみ転送されます。
  • 3ds MaxからGoZした場合は「マップチャンネル 1」を転送します。

ZBrushでマルチUVを使用したい場合にはUDIMのように、1つのUVマップにメッシュを配置して使用します。

 

 

久々にZBrush使おうとすると毎回基本的なところを忘れてしまうので、忘れないようにメモしておこうと思いました。

Tips

modoのIntel Open Image Denoise使ってみた

modo 14.1から追加されたIntel Open Image Denoise使ってみた。modoには何種類かデノイズが搭載されてますが、Intel Open Image Denoiseは他のデノイズに比べて良好な結果が得られます。

特に新しく搭載されたmPathはパストレーサーであるため、以前から搭載されている放射度キャッシングを使用したランダラーに比べてノイズが多く発生します。mPathとデノイズの組み合わせは効果的そうです。
(放射度キャッシングを使用しない場合はモンテカルロパストレースを行うので、設定によっては以前からあるレンダラーでもデノイズは有効です)

 

比較

デノイズなし

 

Intel Open Image Denoiseあり。屈折ラフネスやソフトシャドウのノイズが綺麗に除去されます。

 

デノイズなし

 

Intel Open Image Denoiseあり。反射のサンプリングが足りなくてノイズになってるピクセルが綺麗になってます。

 

デノイズの比較

ついでなので、各デノイズを比較してみました。Intel Open Image Denoiseが一番実用的だと思います。

 

デノイズなし

デノイズのテストに使用したシーン、レンダラーはmPathで「最高品質」は8サンプルと低めに設定しました。レンダリング時間は4分、全体的にノイズがのってます。

左の円柱はバンプを使用した質感で、右2つはディスプレイスを使用。

 

サンプリングを256に上げた画像、レンダリング時間は8分。デノイズを使用していないため正確なレンダリング結果と言えます(参考用)。

 

Occlusionマテリアル「オクルージョンレイ」12。「最高品質」8サンプル。

 

Occlusionマテリアル「オクルージョンレイ」256。「最高品質」256サンプル。

 

Intel Open Image Denoise

Intel Open Image Denoiseはディープラーニングベースのノイズ除去フィルターで、デノイズの中で最も良好な結果が得られました。

右下のメタルな質感で、細かな凹凸がデノイズによって筋状の流れになってしまってます。左の円柱のスペキュラが強い部分が若干ぼけてる。

 

NVIDIA OptiX

NVIDIA OptiX AI-Accelerated DenoiserはAIとGPUを使用したデノイズです。Intel Open Image Denoiseに比べると若干ノイズが残りやすいようです。左のバンプを使用した質感と相性がよくないようです。

 

AMD AI

AMD AI-accelerated denoisingは機械学習を使用したGPU対応のデノイズです。 様々なフィルターを搭載したライブラリであるためか、全体的にデノイズの品質はよくないです。

 

AMD Wavelet

複数の画像(カラー、サーフェース法線、深度、サーフェースID)を使用するデノイズフィルターです。デフォルト設定だとフィルターが強すぎるようです。

 

AMD Bilateral

複数の画像(カラー、サーフェース法線、深度、サーフェースID)を使用してバイラテラルによるデノイズを行うフィルターです。バイラテラルはAfterEffects等にも搭載されてるエッジを残すようにブラーするフィルターです。

 

AMD Median

従来のよくあるデノイズフィルターのようです。

 

デノイズは細かなテクスチャやバンプが苦手なようです。また、オクルージョンのような単色の画像では、よいデノイズが得られませんでした。デノイズは短いレンダリング時間でそこそこの結果が得られるので、テストレンダリングに最適だと思いました。

デノイズはあくまで近似のため、サンプリングを上げてレンダリングした方が正確なレンダリングになります。またHDRがクランプされることもあるようなので、使えるシーンで効果的に使っていきたいですね。

 

参考

Tips

modoでランダムにパーティクルを動かす方法

modoでランダムにパーティクルを動かす方法について書いてみます。

 

グリッド

サンプルファイル

 

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

Particle Operatorに「ID」「位置(R/O)」「位置」の3つの特性を追加します。Randomize IDを追加して、パーティクルIDの範囲を「最小値」-0.5「最大値」0.5に設定します。

条件式ノードを追加してパーティクルを3つのグループに分けます。このグループはXYZ軸のいずれかの1方向に移動するためのもので、条件がTrueの場合はパーティクルID値を出力し、Falseの場合は0を出力します。
TrueのときはパーティクルID値ではなくてもよくて適当に値を出力すれば移動し、Falseの場合は0を出力して移動しないという処理にしてます。

演算ノードで「位置(R/O)」と条件式の出力値を足して「位置」に値を戻します。こうすることで毎フレームパーティクルIDの値が「位置」に加算され続けます。

最後に Randomize IDのキーにキーフレームを設定して、一定間隔でパーティクルIDのランダムシードをアニメーションします。パーティクルIDがランダムに変わるため、パーティクルの移動方向もランダムに変わるという仕組みです。

 

電子回路

電子回路のように動くパーティクルです。

サンプルファイル

 

スケマティックはこんな感じ。移動する軸が少ないので単純です。

ユーザーチャンネルにグラディエントチャンネルを追加して、Gradient Scaleノードでパーティクルが移動するタイミングと移動量を制御してます。角度で計算してるものではないので、見た目がそれっぽければOKという作りです。

 

条件式が使えるとパーティクルの制御に幅が出て面白いですね。TheGridというアセンブリも公開されているので、より高度なことがしたい場合は使ってみるといいかもしれません。

 

参考

Tips

Oculus Questでmodo VR使ってみた

Oculus QuestとOculus Linkを使用してmodo VR使ってみた。使用方法は簡単です。Oculus Linkを使用してPCにQuestを接続した状態でmodoを起動し、VRタブをクリックするとQuestにmodoのビューポートが表示されます。

グラフィックボードがGeForce RTX 2060で画面解像度3840×2160で表示すると描画が崩れてしまうため、2560×1440表示で使用して画面キャプチャしました。

VRを使用した感想は没入感があって思いのほか楽しいです。modoVRはツールUIがVR専用のため、ツールパレットを覚え直しになるのが面倒でVRをモデリングに使用したいとは思いませんでしたが、モデル確認に使用するのはアリだと思いました。

 

教室

Webのホームに使用してるモデルです。未調整ですが意外といい感じに見えました。

 

キャラクターモデル

現在モデリングしてるオリジナルキャラです。サブディビを使用したポリゴン数の多いモデルのためか、モデルに接近したときに描画遅延が発生しました。影やポリゴン描画の精度が落ちるようです。

フィギュアを見るようにモデルを確認できるのが楽しい。

 

modo VRの練習

画面の回転やズームは一般的なVR操作なので普通に使えます。モデルの編集は難しいですが、モデルビューワと割り切って使うには十分楽しめそう。

 

Oculus Questのディスプレイは2,880×1,600 (片目1,440×1,600) なので、もう少し低い解像度で表示してもよかったかもしれません。modo起動したままPCの画面解像度を変更したらPCがフリーズしたので細かなテストはしませんでした。

VRゴーグルがあるなら一度試してみると楽しいかもしれません。

Tips

modoでUDIMを使う方法

modoのUDIMの使い方について書いてみます。AfterEffectsやPremiereなどの動画編集ソフトでは連番画像を1つの素材として扱いますが、UDIMを使用すると複数のテクスチャ画像を1つの画像レイヤーとして扱うことができるので便利です。

 

UDIMとは

UDIM (U-Dimensionの略称)は、UV空間の整数ブロックに番号を割り振って管理する方法です。UVブロックと画像は1001、1002、1003...のような4桁の番号を使用してペアとして扱い管理されます。

UDIMは既存のUV作業工程と大きく変わりません。一般的なUVは0~1の範囲にメッシュを配置していましたが、UDIMでは0~1の外側の領域も使用します。UV空間の0~1の範囲を1001、1~2の範囲を1002のように番号で管理します。画像も同様にUV範囲に対応した番号をファイル名に含めることでUVとペアとして管理する仕組みです。

 

UVブロック

 

画像のファイル名称

 

UDIMの歴史は思いのほか古く、Weta Digitalが2002年公開の映画「ロード・オブ・ザ・リング/二つの塔」制作時に開発しました。その後Weta DigitalのインハウスツールだったMARIMudboxが一般販売されたことから、広く使用されることになります。

 

UDIMのメリット

UDIMのメリットは大きく2つあります。

  • 高解像度の画像を1枚だけ使う代わりに、複数の画像を使用できる
  • 単一の画像レイヤーとして管理できる

 

複数の画像を使用して高解像度化

高解像度の画像を1枚だけ使う代わりに、そこそこの大きさの画像をいくつも並べて、結果的に解像度の高いテクスチャにすることができます。
PhotoShop等で画像を編集するときも高解像度の画像1枚より、そこそこの大きさの画像複数枚のほうが取り回しが楽です。

 

1枚の画像レイヤーとして管理

複数のUVマップを使用する方法だと、画像レイヤーが複数必要でした。または、画像ごとにマテリアルを分ける必要がありました。UDIMを使用すると1レイヤーで済むようになり管理が楽になります。

 

複数のUVマップを使用した例(従来のUV設定方法)

1つのメッシュ内で複数のUVマップを使用した場合、シェーダーツリーではUVマップと同じ数の画像レイヤーが必要になります。画像レイヤーでは1枚ごとに使用するUVマップを指定する必要があり、画像枚数が多いと設定するのが手間です。

 

UDIMを使用した例

UDIMを使用した場合、シェーダーツリーは画像レイヤー1枚ですみます。下の画像ではディフューズ色のみの設定ですが、スペキュラー、ディスプレイスメント、法線など複数種類のマップを使用する場合は、UDIMを使用した方が管理が楽になります。

UDIMは元々は高解像度で大量のテクスチャを使用するWetaのインハウスツールに適した仕様として考えられたのだと思いますが、ゲームエンジンでもテクスチャのストリーミング等でメモリ使用量を少なくできるなどのメリットがあるようです。

 

modoでUDIM画像を読み込む方法

UDIM画像の読み込みには「新規UDMIの読み込み」を使用します。

  1. シェーダーツリー の「レイヤー追加」から「新規UDMIの読み込み」をクリックしします。
  2. ファイルオープンダイアログから、使用する画像を選択して「開く」をクリックします。
    開いた画像は自動的にフォルダにまとめられ「ファイル名称からUDIM番号を設定」が実行されます。
    画像レイヤーでは「画像」にフォルダが設定されることにより、UDIMとして動作するようになります。

 

UDIMはZBrushのように複数のUVマップに対応していないソフトでも使用できるので覚えておくと便利です。

ゲームではUDIMが使われることは少ないようですが、先日Substance PainterがUDIMに対応したので今後ゲームでの利用も増えたりするかもしれません。

 

参考

UDIMワークフロー
https://learn.foundry.com/modo/14.0/content/help/pages/uving/udim_workflow.html

Tips

modoのパーティクル速度で色を変える方法

パーティクル色の使い方」の応用で、パーティクルの速度でアイテムの色を変える方法について書いてみたいと思います。

 

modoのグラディエントレイヤーは様々な「入力パラメータ」を使用して色を設定することができます。「パーティクルエージ」「パーティクルID」「パーティクル速度」などパーティクル情報を使用して色を設定することができますが、使用可能なアイテムが「ブロブ」「スプライト」「ボリューム」に限定されています。

このためReplicatorを使用して複製したメッシュアイテムを、グラディエントの「パーティクル速度」を使用して色を変えることができません。

 

Replicatorを「パーティクル速度」に応じて色を変えたい場合は、Particle OperatorとShader Inputsを使用します。

サンプルファイル

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

Particle Operatorに「速度」と「色」の特性を追加し、「速度」を「色R」に接続します。

「速度」はXYZ軸に分かれてるため、速度XYZを加算してどの方向に飛んでも単一の速度になるようにします。このとき速度を絶対値に変換してから加算します。速度はマイナス値が入るようなのでそのまま加算しても意図した通りの結果にならないようです。

次にShader Inputsを追加し「パーティクル色 R」をGradientの「in Val」に接続します。こうすることで、Gradientの「入力パラメータ」に「パーティクル速度」を設定したことになります。後は通常通りGradientの色を設定すれば、パーティクル速度に応じてGradientの色が反映されます。

この方法を使えば速度以外のパーティクル特性を使用して色を設定することができるので、表現力が上がると思います。

 

標準機能として「パーティクル速度」に対応してるスプライトの画像と比較すると、同じように色が変化してるのを確認できます。

 

水しぶきの表現に使えそう。

 

同様の方法で「衝突カウント」を使用すると、コリジョンと衝突した場合に光るような表現もできます。

 

 

modoにパーティクルが搭載された初期の頃はGradientの「パーティクルエイジ」を使用してReplicatorに色を設定することが出来ませんでした。このため「パーティクルエイジ」を「パーティクルID」に接続するテクニックが紹介されてました。

この方法はスケマティックがシンプルでいいのですが、残念ながら速度を入力したときに意図した通りに動作しませんでした。速度が遅くなった場合に色がループしてしまいます。

サンプルファイル

 

パーティクルとReplicatorは併用することが多いと思います。今回紹介したようにShader Inputsを使えばReplicatorに色を設定することはできますが、グラディエントの「パーティクル速度」をそのまま使えた方が便利だと思うので、将来的に対応して欲しいですね。

参考資料

Modo Quixel Bridge

Modo Quixel Bridgeが公開されています。公開してるのはmodoの開発者の方です。
https://github.com/NoirQ/Modo-Quixel-Bridge-Kit

概要

このキットは、Quixel BridgeからModo 14.1以降への基本的な「カスタムディスクエクスポート」を可能にします。詳細については、元のQuixelサンプルを参照してください。

 

使用方法
  1. キットをダウンロードしてQuixelBridgeフォルダーをModo KitsディレクトリWin:%appdata%/ Luxology / Kitsに配置します
  2. Modo + Bridgeを起動します。Bridgeの[Export Settings]で、[Export To]> [Custom Socket Export]を選択し、ポートを24981(デフォルト)に設定します。
    キットには構成フラグメントがあるため、modoを起動すると自動的に開始します。それ以外の場合は、上部のキットメニューで、[Quixel Bridge]> [開始]を押します(必要に応じて、そこから停止することもできます)。

エクスポートされたメッシュは、Modo FBXインポーターダイアログを表示します。
注:メッシュに適用されたサーフェスのテクスチャロケーターは、UVマップとポリゴンタグを正しく設定しません。インポート後、メッシュに一致するようにマテリアルのポリゴンタグを変更し、画像のテクスチャロケータをUVマップと正しいマップに設定する必要があります。

サーフェスはModo 14.1 PBRローダーを使用してインポートします。一部の定義はキットの一部として提供されていますが、必要に応じてこれらを調整/有効にすることができます。

パックされたマップは現在サポートされておらず、1つのシェーダーツリーレイヤーとしてインポートされます。

CG News

Modo 14.1 リリース

Modo 14.1がリリースされました。
https://community.foundry.com/discuss/topic/153356/modo-14-1-is-now-available
https://learn.foundry.com/modo/content/help/pages/welcome_modo/whats_new_summary_modo14_1.html

 

アドバンスドビューポートのゴーストとX線表示サポート

モデリングでもアニメーションでも、一貫性がありカスタマイズ可能なジオメトリの視覚化が不可欠です。ゴーストおよびX線のビューポートモードを使用すると、必要なときに必要なものを確認できるため、クリエイティブなフローを維持できます。

 

アドバンスドビューポートで頂点マップテクスチャサポート

頂点マップの視覚化により、パラメーターをいじる必要なく、迅速な決定と編集を行うことができます。これで、アドバンスドビューポートでウェイトマップ、UV歪み、および頂点カラーを視覚化できます。

 

高度なビューポートによる処理の改善

複雑なシーンは高品質に視覚化するのが難しい場合があります。Modo 14.1ではアドバンスドビューポートが最適化されて、シェーダーツリーとシェーダーグループの処理が高速化され、複雑なモデルや環境での作業時のパフォーマンスが向上しています。

 

パフォーマンスの改善

Modo 14.1は常にパフォーマンスの向上に努めており、パフォーマンスを少し改善して毎日の作業をスピードアップします。UVリラックスメッシュオペレーションはアダプティブモードでマルチスレッド化されており、UVをリラックスするときに最大5倍の速度向上を実現します。エッジ削除操作も大幅に改善され、速度が5〜20倍に向上しました。

 

ベベル自動融合

Modo 14.1の新しいベベル自動融合機能では、ベベル時のジオメトリの重複を心配する必要はありません。ポリゴンベベルの新しいオプションである自動融合は、選択されたポリゴンの境界ループを計算し、接触点でインセット頂点を停止します。ダイレクトモデリングでも手続き型モデリングでも、ベベル自動融合は非常に強力なツールであり、多くのModoモデラーが高く評価しています。

 

カーブスイープポイントモード

カーブスイープに新しいモードが追加され、カーブスイープを使用してメッシュの頂点をカーブに沿ってスイープできるようになりました。

 

ポリゴンベベルフォールオフコントロール

フォールオフはModoのワークフローの強力で柔軟な部分であり、これを使用してポリゴンベベルを制御できます。ポリゴンベベルシフトとインセットでお気に入りのフォールオフをすべて使用できます。

 

エッジ面取り境界を拡張

場合によっては、面取りとEdge Chamferの新しい境界を拡張オプションでそれを実行するときに、境界を超えてプッシュしたいことがあります。外方向は外面の法線ベクトルとエッジベクトルによって計算されます。この新しい拡張機能は、Edge Chamferの手続き型バージョンとダイレクトモデリングバージョンの両方で利用できます。

 

ポリゴン作成の機能強化

単純な操作をよりスマートにすることで、モデリングプロセスにスピードと俊敏性が追加されます。ポリゴンメイクは2つのエッジのみが選択されている場合に、新しい四角形ポリゴンを作成できるようになりました。

 

UVリラックスメッシュ操作

手続き型のUVリラックスメッシュオペレーターを利用できます。スムーズツールを使用してモデルの表面をスムースツールを使用して正則化するのとほぼ同じ方法で、既存のUVマップを調整のに使用できます。

 

メッシュ操作の展開&リラックス

展開&リラックスは、複雑なUVタスクをすばやく実行できる強力なツールであり、手続き型メッシュ操作として利用できるようになりました。

 

mPath Embree CPUパストレース

mPathはIntel Embree 高性能レイトレーシングライブラリの追加により、市場に出回っている最新のマルチコアCPUシステムを最大限に活用します。EmbreeはMACを含むCPUプラットフォームのレイトレーシング計算を高速化します。

 

mPath Optix 7アップデート

認定されたNVIDIAハードウェア上のGPUレイトレーシングは、OptiX 7を使用するようにアップグレードされました。
mPathはNVIDIA OptiX 7を使用してレイトレースされたシーンのレンダリング速度が大幅に高速になりました。mPathの更新により、OptiXでのレイトレーシング2頂点ポリゴンのサポートが追加され、ヘアとファーのレンダリングに役立ちます。

 

自動EIS

シンプルさは障壁を取り除き、手元のアートワークに集中できるようにします。環境に影響を与えるイメージマップがあるかどうかに基づいて、mPathでレンダリングするときに環境重要度サンプリング(EIS)が自動化されるようになりました。

 

デノイズの改善

ノイズ除去は最新のレンダリングワークフローの重要な部分であり、ModoのmPathはノイズ除去のための2つの新しいオプションと、現在のNvidia OptiXノイズ除去の改善を提供します。

IntelのOpen Image Denoiseは、AIを使用してホストCPUの画質を向上させる新しい高品質デノイズで、ユーザーパラメーターはありません。

AMD AIは、AIを使用してGPUの画質を向上させる新しい高品質デノイズです。AMDハードウェアで最も効率的です。

反復ごとのデノイズは、mPathの反復間で画像をデノイズすることによりワークフローをスピードアップできます。現在、IntelまたはOptiXデノイザーを使用している場合に使用できます。

 

PBRローダー/エフェクト設定

PBRローダーを使用すると、Substance Designerなどの他のアプリケーションで作成されたPBRテクスチャをシェーダーツリーにすばやくロードできます。関連するすべての画像をすばやく読み込んで、ファイル名に基づいてレイヤーエフェクトを設定します。

 

ピクセル拡張によるギャップ

UVパックとUVフィットメッシュオペレーションに、ギャップサイズをピクセルで設定する新しい属性が追加されました。

 

IK / FK切り替え

IKとFKの切り替えは面倒な場合があります。平面IKを使用した新しいIK / FK切り替えにより、IKをFKに、FKをIKにすばやく一致させることができます。アニメートするときには、IK線のフェードとIKまたはFKのカスタムIKゴールを使用して、状態を簡単に視覚化できます。

 

IKを無効にしてレストポーズを更新

IKを適用した後で、ジョイントを調整する必要がある場合があります。IKを無効にすると、IKを設定した後でも、ジョイントの配置を微調整するだけでそれを行うことができます。フルボディIKと平面IKの両方をセットアップモードで無効にできるようになり、両方のタイプのIKチェーンのレストポーズを更新するコマンドが追加されました。

 

USDインポーター

Usd Modoプラグインを使用すると、PixarのUniversal Scene Descriptionで作成されたアセットをModoにインポートできます。ジオメトリ、カーブ、ライト、カメラ、マテリアル、アニメーションのタイプがサポートされています。

 


どれも便利になる新機能であることは間違いありませんが、これまでのリリースに比べて数が少ないのが気になりますね。新機能ではIntel Open Image Denoiseの性能が素晴らしいです。あとベベルの自動融合が便利そう。

USDはインポートのみの対応で、うまくいけば14.2でエクスポートに対応する予定だそうです。USDは将来的に参照機能をサポートする予定があります。modoの参照機能は制限があり実用性がいまいちなので、USDで便利に使えるようになって欲しい。USDでーたはPixarのサイトからダウンロードすることができます。

新機能ではふれられていませんが、カラーマネジメントにVFX界隈で人気のACESが追加されています。

Tips

modoのパーティクルでアイテム切り替え

modoのパーティクルでアイテムを切り替える方法について書いてみます。

 

衝突でアイテム切り替え

サンプルファイル

 

スケマティックはこんな感じです。Particle Operatorの「アイテム」と「衝突カウント」を使用します。

「アイテム」はReplicatorが複製するアイテムを指定することができるチャンネルです。Replicatorに接続されたアイテムは0~1の通し番号が自動的に割り当てられます。「アイテム」に複製したいアイテムに対応した値を指定することで、自由にアイテムを切り替えることができます。
「衝突カウント」は物理演算でコリジョンと衝突した回数をカウントアップするチャンネルです。

スケマティックでは「衝突カウント」をReplicatorに接続しているアイテムの数、4で割った値を「アイテム」に入力することで、コリジョンと衝突するたびにアイテムが切り替わるようにしています。

 

フォールオフでアイテム切り替え

サンプルファイル

 

スケマティックはこんな感じです。Falloff Probe条件式を使用して、フォールオフ内にあるパーティクルの「アイテム」値を変更します。

Falloff Probeはフォールとパーティクルの位置関係に応じて値を出力するノードです。条件式ノードは値Aと値Bを比較して、条件に合う場合は任意の値を出力することができます。
このサンプルではフォールオフの範囲内にあるパーティクルがある場合は、アイテムに対応した値を出力することでアイテムを切り替えてます。

 

Particle Operatorの「アイテム」を使えばLODのように距離に応じてアイテムを切り替えたり、アイテム切り替えによるアニメーションができるようになります。

modoのパーティクルはアイテムの切り替えやモーフの切り替えができるので自由度が高くていいですね。

CG News

EmberGenFX for OctaneRender ベータ版リリース

EmberGenFX for OctaneRender ベータ版がリリースされました。OctaneRenderサブスクユーザーはベータ期間中無料で利用できるようです。EmberGenFXとOctaneRender の統合バージョンの価格やリリース日は発表されてませんが、JangaFXによると標準のOctaneRenderサブスクリプションの有料アドオンになるらしいです。

レンダリング品質がいいですね。元NewTekでLightWaveの開発に携わってたLinoがデモビデオを公開してます。

https://render.otoy.com/forum/viewtopic.php?f=7&t=75386

 

EmberGenFXスタンドアロンの完全な商用ライセンスが追加料金なしで利用可能になりました。パブリックベータ期間中のすべてのOctaneRender 2020サブスクライバーが利用できます。

最終リリース時に、OTOYサブスクライバーはEmberGenFX(およびその後のLiquiGenFX)をBlender、Maxon Cinema 4D、3DS Max、Maya、Unity、Unreal、NukeなどのすべてのOctaneRender DCCプラグインに直接統合する機能を備えた、完全なEmberGenFXスイートにアップグレードするオプションを利用できます。

EmberGenFXパブリックベータ機能

  • リアルタイムの反復モーショングラフィックスワークフローとゲームボリュームに関する中間ベーキングプロセスをバイパスする、プロシージャルベースのパーティクルと流体シミュレーション
  • すべてのOctaneRender DCC統合で使用するVDBファイルとしてエクスポート
  • イメージシーケンスとボリュームのVDB、PNG、TGA、EXRエクスポートのサポート
  • シミュレーションおよびアニメーションキーフレーミング中に、EmbergenFXビューポートで完全にインタラクティブなリアルタイムレイマーチボリューム

 

更新履歴

  • 実験的なGPUパーティクル。GPUパーティクルが基礎となるシミュレーションデータを使用して移流される新しいレンダリングモード。単独で使用することもハイブリッドモードでボリュームレンダリングと一緒に使用することもできます。
    このモードは不安定で、一部の機能が不完全である可能性があります。ボリュームノードのGPUパーティクルにアクセスするには、レンダリングモードのドロップダウンでGPUパーティクルを選択します。「GPUP」で始まるプリセットは、これらの新しいGPUパーティクルを使用することを意味します。
  • イメージをエクスポートするためのアルファブレンディングが改良されました。描画モードは、SettingsではなくCaptureノードに表示されるようになりました。
    また、Straight Alphaモードには、透明な背景カラーの基本的な塗りつぶし形式があり、描画後のカラーは以前よりもわずかに良くなっています。
  • 個々のウィンドウのサイズを変更できるようになりましたが、レイアウトはまだ変更できません。
    ビューポートのサイズを変更すると、レンダターゲットのサイズのプレビューが表示されます。これは、ビューポート内直接スクリーンショットまたは記録機能を使用したときに生成されるイメージのサイズになります。
  • 書き出しモードでは、カメラは操作できなくなりました。
  • 基本的なログシステムを追加しました。毎日エンコードされるログは、「ログ」フォルダに表示されます。
  • 基本的なタイルレンダリングが追加されたため、長いレンダリングを実行してもUIの停止が少なくなり、最悪の場合、時間がかかりすぎてOSがドライバを強制的にクラッシュさせて回復させるためにクラッシュすることがなくなりました。
  • すべての書き出しイメージノードが完了したら、シミュレーションを一時停止するオプションを追加します。
  • EmberGenFXの起動時に更新された有効期限をチェック
  • タイムラインのズーム機能の改善
  • ノードグラフの相互作用の改善
  • ウィンドウタイトルのリフレッシュレートが向上しました。
  • 合計19の新しいプリセットが追加されました。
Tips

GoZ for Modoのインストール方法と使用方法

たまにしかインストールしないので、GoZ for Modoのインストール方法をメモしときます。今回はmodo 14.0とZBrush 2020.1を使用しました。

 

GoZ for Modoのインストール方法

GoZ for Modoとは

GoZはmodoとZBrush間でメッシュやテクスチャをワンクリックで転送できる便利ツールです。901以前はPixologicがmodo用のGoZを開発していましたが、10.1以降はFoundryがGoZを開発しています。

modo 10.1以降用のインストーラー

http://modogroup.jp/modo/free_kits/goz

modo 901 用のインストーラー

http://download.pixologic01.com/download.php?f=Plugins/ZBrush4R7-WIN/GoZ_for_MODO901SP1_Installer_WIN.exe

 

GoZ for Modo インストール手順

インストールの流れは以下の通りです。

  1. ZBrushのインストール
  2. GoZ for Modoのインストール
  3. GoZで使用するmodoのパスを設定

 

1. ZBrushのインストール

GoZを使用するにはZBrushとmodoがインストールされている必要があります。

 

2. GoZ for Modoのインストール

GoZ_win.exeを使用してGoZ for Modoをインストールします。

 

3. GoZで使用するmodoのパスを設定

ZBrushを起動して「環境設定」で「Path to Modo(New)」をクリックし、一覧から使用するmodo バージョンを選択します。

ZBrushを再起動すればGoZが使用できるようになります。

 

GoZ for Modoがインストールされていない場合は、「Path to Modo(New)」は表示されません。ZBrushを起動した状態でGoZ for Modoをインストールした場合は、ZBrushを再起動する必要があります。

Mayaや3dsMaxはmodoと異なり、ZBrushのパス設定ボタンからGoZインストーラを起動することができます。

 

 

GoZ for Modoの使用方法

modoからZBrush

GoZ for ModoがmodoのKitパスにインストールされている場合、「modoツールバー」の右端にあるキットボタン内にGoZが表示されます。

 

適当にTeapotを作成してGoZボタンを押すと、ZBrushにTeapotを転送することができます。

 

 

ZBrushからmodo

ZBrushからmodoへデータを転送するにはGoZボタンを押せばいいのですが、せっかくなのでmodoから転送したTeapotを「ディバイド」して適当にスカルプトしてみます。

 

スカルプトが完了したら「SubDiv」を1にして「ディスプレイスメントマップ作製」を実行します。

 

「ツール」のGoZボタン押すと、modoにTeapotとディスプレイスメントマップが転送されます。modoのデフォルトのレンダリング設定では「マイクロポリゴンディスプレイスメント」の評価間隔が荒いので、小さな値を設定します。

 

新規シーンにGoZした場合、アイテムとマテリアルは「Teapot_GoZ」のようなグループにまとめられます。

 

GoZの保存先のディレクトリ

GoZで使用されるマップやメッシュのデータは以下のディレクトリに保存されています。

C:\Users\Public\Pixologic\GoZProjects\Default

 

 

GoZをインストールしておくとメッシュとマップを転送することができるので便利です。

Tips

modoで糸を編む表現

modoで糸やバスケットを編む表現を作ってみた。

 

サンプルファイル

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

Spiral Curveでカーブを1本作って、TransformやTwistでアニメーションさせます。そのカーブをMerge Meshesを使って別メッシュにコピー、Radial Arrayを使ってカーブのアニメーションを複製します。

レンダリングは「カーブをレンダリング」を使用します。カーブをレンダリングしてる関係で糸のバンプがずれて動いてしまってます。
オプションの「カーブをポリゴンとしてレンダー」を使うとUV指定でズレないように設定できるのですが、プロシージャルのノイズを使ったのが原因なのかUVの切れ目が目立ったので今回はずれを気にしないことにしました。

 

バスケット

サンプルファイル

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

バスケットの編み目の形状のカーブを1つ作りArrayで面状に複製しています。編み目がランダムに伸びて見えるようにカーブのDeleteにLinear FalloffとTexture Falloffを使用しました。そのカーブを元にCurve Sweepで面を作成し、Thickenで押し出します。

バスケットは思い通りに作れませんでした。プロシージャルモデリングでランダムな速度で一方向に伸び続けるという設定が上手く作れなくて、単純にノイズで切り抜いたようになってしまいました。

プロシージャルリボンの作り方」のようにパーティクルを使ってカーブを生成したほうが、イメージした動きが作れそうです。

 

ニットパターンも作ったのですが、モディファイヤ依存ループエラーが多発するシーンになってしまい調整を断念しました。

以前も同じ問題に遭遇したのですが、Texture Falloffに接続したテクスチャにFalloffを設定していると、何かのタイミングでループするというエラーが出てしまいノードが動作しなくなってしまいます。テクスチャを削除すれば一時的に改善することもあるのですが、何か問題が潜んでる気がします。

 

参考