Modo

Tips

modoのモデリング機能紹介

modoを使ってて便利に思うモデリング機能について紹介してみたいと思います。いずれもモデリング時に利用頻度の高い機能や、知ってると便利な機能です。

modoのダイレクトモデリングの使いやすさは、選択機能の豊富さとトポロジーの再構築が簡単なところにあると思います。トポロジーの流れがうまくいかないとき、こまごま編集するよりポリゴンを削除して作り直した方が早い。というスピード感のあるツールが気に入っています。

 

目次

・選択機能
・モデリングツール
・ビュー操作
・表示と非表示
・編集のロック
・センターをバウンディングボックスへ
・ドロップアクション

選択機能

モデリングで必須の操作、選択に関する機能です。

連結選択

ポリゴンのつながりを選択する機能です。

  • ダブルクリック
  • ]

 

選択の拡張と縮小

いわゆる「グロー選択」と「シュリンク選択」です。

  • Shift+ = 選択を拡張
  • Shift+ = 選択を縮小

 

パターン選択

ポリゴンを1つおき、2おきのようにパターンで選択する機能です。

  • = 選択を増やす
  • = 選択を縮小

 

ループ選択

ループ選択です。エッジダブルダブルクリックで動作します。選択後 Delete でエッジを簡単に削除できるので、トポロジーの調節に便利です。

  • L
  • Shift+ = 前のループを追加選択
  • Shift+ = 次のループを追加選択

エッジが分岐してる場合に、エッジのループ選択が止まってしまう場合があります。そんな時はモディファイヤキーを組み合わせます。

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

 

クローズループ 選択

指や腕のような形状で末端側を選択する機能です。

  • Shift]

 

ビトウィーン選択

直線や、矩形範囲を選択する機能です。

  • Shift+ 右マウスボタン クリック
  • Shift + G

 

同一平面上

三角ポリゴンを四角ポリゴンに変換したいときに使用します。同一平面上を実行して Delete でエッジを削除。形状によっては完璧ではありませんが知ってると便利です。

 

最短パス

UV展開用のエッジを選択するのに便利です。

 

自動選択

コンポーネント(頂点、エッジ、ポリゴン)を自動的に選択してくれるオプションです。

 

変換

現在の選択状態を任意のコンポーネント(頂点、エッジ、ポリゴン)に変換する機能です。Alt を押すと各コンポーネントが「変換」ボタンに切り替わります。

 

境界

メッシュの開いたエッジを選択する機能です。Ctrl を押すと「エッジ」が「境界」ボタンに切り替わります。

 

トポロジー対称

対称機能のオプションなのですが、トポロジーから対称位置にあたるコンポーネントを選択することができます。Alt を押すと「対称」が「オプション」ボタンに切り替わります。

 

モデリングツール

使用頻度の高い機能だけ紹介してみます。移動回転スケールがWERキー操作なのは、MayaやMaxと同じです。

 

移動

移動ツールです。Ctrl を押しながらドラッグすると軸固定で移動できます。

  • W

 

回転

回転ツールです。Ctrl を押しながらドラッグすると15°刻みで回転できます。modoはツールアクティブ後、ビューのクリックしたところを基準にトランスフォームを使用することができて便利です。

  • E

 

セレクトスルー

移動や回転ツールのままコンポーネントやアイテムを選択するオプションです。このオプションをONにすると、上に書いたビューのクリック基準での操作が無効になります。アイテムモードの時は基本的にONにした方が便利です。

 

エレメント編集

コンポーネント編集ツールです。頂点、エッジ、ポリゴンを切り替えることなく編集できて便利です。メッシュの微調整はほぼこのツールを使用してます。ツールハンドル(矢印)が邪魔なので、ツールパイプから表示を消すと使いやすくなります。

  • T
  • 右マウスボタン =ドラッグでフォールオフを調節

 

ブリッジ

面の張り直しに便利です。利用頻度が高いツールです。

 

放射状に整列

選択を円形に整列するツールです。メッシュに円形のモールドを作成する時に便利です。

 

四角塗り潰し

Nゴンを四角ポリで埋めたいときに便利です。メッシュが意図しない角度で貼られるときがあるので、そんなときは選択が少し手間ですがブリッジの方が意図した通りに面を貼りやすいです。

 

ポリゴンのコピー

移動、回転、スケールツールのとき Shift+Alt+ 左マウスボタン ドラッグすると、トランスフォーム編集しながら複製することができます。エッジモードの場合はエッジを拡張します。

 

ドラッグ スナップ リジッド

modoはスナップ機能が豊富ですが、ポリゴンのつながり単位でスナップできるドラッグスナップリジッドが便利です。

 

エッジからカーブ

選択したエッジからカーブを作る機能です。

 

エッジリラックス

エッジリラックスの「収束」を使用すると、ベベルのラウンドを消すことができます。

 

トポロジペン

トポロジペンはリトポ用のツールですが、面を貼ってモデリングする場合にも便利です。ペンツールにもショートカット機能追加して欲しい。

  • 左マウスボタン クリック = 移動
  • 右マウスボタン クリック = エッジループ移動
  • 中マウスボタン クリック = 分割
  • Shift + 左マウスボタン = 複製
  • Shift + 右マウスボタン = ループ複製
  • Shift + 中マウスボタン = ループ追加
  • Ctrl + 左マウスボタン = スライド
  • Ctrl + 中マウスボタン = 削除
  • Shift + Ctrl + 左マウスボタン = スムージング
  • Shift + Ctrl + 右マウスボタン = スムージング + エッジループ

 

メッシュコンストレイント(背景)

背景にあるメッシュにくっつける機能です。曲面にロゴのようなメッシュをそわせるときに便利です。

オブジェクトが球にモーフィングするようなモデリングにも最適です。

 

UVリラックスのピン

ピンを使ってリラックスを編集することができます。便利なUV機能もmodoの特長の1つです。

 

プロシージャルモデリング

modoではダイレクトモデリングと同じ機能がプロシージャルモデリングとして提供されています。プロシージャルモデリングは後からベベルの幅を調節したりできて便利です。

リギングやアニメーションにも対応してます。詳しくは「プロシージャルモデリングの基本」の記事を読んでみてね。

 

ビュー操作

3Dビューポートの操作方法は「マウス入力プリセット」で自由に変更できるので、好きなソフトに切り替えるとよいと思います。私の場合は3dsMaxのプリセットを使用してますが、とくに不便さはありません。

modoのビューポートで唯一変に感じるのが回転です。他の3DソフトのようにY軸を固定してビュー回転したい場合は「トラックボール回転」をOFFにするといいです。

  • Alt + 左クリック = ビューを回転
  • Alt + 中クリック = ビューポートを Z 軸で回転 (バンク)
  • Alt + 右クリック = ビューをフリック回転
  • Shift + Alt + 左クリック = ビューをパン
  • Shift + Alt + 右クリック = ビューをパン (上下のみ)
  • Ctrl + Alt + 左クリック = マウス位置にズーム
  • Ctrl + Alt + 右クリック = ボックスズーム (ドラッグで囲んだ部分を拡大)
  • マウスホイール = マウス位置を中心にズームイン、ズームアウト
  • . = ズームイン (コンポーネント選択モードのみ)
  • Shift + .  = ズームイン (2 倍)
  • ,  = ズームアウト (コンポーネント選択モードのみ)
  • Shift + ,  = ズームアウト (2 倍)
  • G = マウスポインタ位置をビューポートの中央に
  • / = ターンテーブル (コンポーネント選択モードのみ)
  • Shift + / = 縦のターンテーブル (ターンテーブル使用時)
  • A = すべてをビューに収める
  • Shift + A = 選択をビューに収める
  • Ctrl + A = 選択アイテムが正面に見えるようにビューを調整
  • Ctrl + Shift + A = 選択アイテムにズームして正面に見えるようにビューを調整

選択してるコンポーネントやアイテムにビューをフィットさせるショートカットは覚えた方がいいですよ。

 

表示と非表示

モデリングで必須のコンポーネントの表示や非表示機能です。

  • H = 選択を非表示
  • Shift + H = 非選択を非表示
  • Ctrl + H = 非表示の反転
  • U = すべて表示

アイテムモードでも同じショートカットが使用できます。

 

編集のロック

モデリングで必須のコンポーネントのロック機能です。メッシュを誤って編集しないように使います。

  • J = 選択をロック
  • Shift + J = 非選択をロック
  • Ctrl + J = ロックを反転
  • I = ロックを解除

アイテムモードでも同じショートカットが使用できます。

 

アクションセンター

アクションセンターはツールの基準となる位置を決める機能です。ポリゴンの面に合わせたりさまざまなルールを指定することができます。

  • Alt + W = 原点
  • Alt + E = ピボット
  • Alt + A = 自動
  • Alt + S = 選択
  • Alt + D = 選択中心と自動軸
  • Alt + F = スクリーン
  • Alt + Z = エレメント
  • Alt + X = ローカル

「ローカル」を使用すると、複数のポリゴンをまとめて編集することができて便利です。

 

作業平面

作業平面は3D座標系とは別にモデリングツールの基準となる平面です。modoのモデリングツールは基本的に作業平面を基準に動作します。使用方法がわかると、とても便利な機能です。

作業平面は選択したコンポーネントに設定する事が出来ます。作業平面を使用してメッシュを作成したり、「地面整列」の基準に使用することができます。

  • Home = マウスポインタの下の形状に合わせる
  • Shift + Home = 選択に合わせる
  • Ctrl + Home = ビューポートに合わせる
  • End = 作業平面 のリセット
  • Shift + End = 作業平面 プロパティポップオーバーを開く
  • Page Up = プラス方向に移動
  • Page Down = マイナス方向に移動

作業平面を使用して指定したポリゴン位置にアイテムを移動することもできます。スナップを使用しても同じことができますが、作業平面はマクロと組み合わせることができるので便利です。

 

スクリーンに整列

他の3Dソフトではパースビューでコンポーネントを編集した場合、パースビューから見た平面でツールが動作します。modoで同じようにツールを動かした場合は「スクリーンに整列」を使用します。

似た機能としてアクションセンターの「スクリーン」もありますが、アクションセンターはツールごとの設定であるため、ツール切り替えのたびに変更が元に戻ります。作業平面であればツールに関係なく、ビュースクリーンを使用して動作します。用途に合わせて使い分けると便利です。

 

センターをバウンディングボックスへ

アイテムのセンターやピボットをメッシュのバウンディングボックスに移動する機能です。中心、上下左右に設定できて便利です。センターはアイテムモードで回転するときの基準になる位置です。詳しくは「modoのセンターとピボット」の記事を読んでね。

 

参照システムを設定

参照システムはワールド座標系から、アイテムのローカル座標に切り替える機能です。シーンにアイテムを配置した後や、アニメーション後にモデルを修正したい場合に便利な機能です。

 

ドロップアクション

ドロップアクションはアイテムをレイアウトするときに便利な機能です。例えばテーブルの上や、でこぼこの地面にぴったりアイテムを配置するときに便利です。

リギングではロケータの位置をスケルトンと同じい位置に移動したいことが多々ありますが、ドロップアクションを使用するとドラッグアンドドロップで素早く配置できます。

 

今回は紹介しきれませんでしたがループ追加のような定番ツール、頂点に格納されてるのでメッシュをカットしても壊れないモーフマップやUVマップ、トランスフォームマップを使うと頂点単位で制御可能なインスタンスなどなど、他にも多くの便利な機能が搭載されてます。

modoは初期バージョンがモデラーとしてリリースされたこともあり、モデリング機能が充実してます。他の3Dソフトでは別途スクリプトやプラグインが必要な機能も標準で搭載されていて便利です。
また既存のツールも継続的にアップデートして改善するという開発ポリシーがあるため、古くなったツールが使いやすくアップデートされるのも便利さに貢献しています。最近のバージョンだとベベルメッシュペイントジッターツールが更新されました。

これらのmodoのモデリング機能は、他の3Dソフトにも影響をあたえてきました。現在では他のソフトに類似機能が搭載され、カタログスペック上は同じことができるようになってます。ですが「アーティストフレンドリーなツールによって生産性を向上させる次世代3Dコンテンツ作成ソフトウェア」を目標に開発されてきたmodoの使い勝手のよさは、まだまだ色あせてないと思います。

私は他の3Dソフトも使うのでmodo 601の頃は不便に感じるところもありましたが、modo 10以降は不便さも解消されてると感じます。現在は強力なプロシージャルモデリングも搭載されて満足度の高いソフトに成長してます。ポリゴンモデリングに興味あるひとは、ぜひmodoにチャレンジしてみてね!

次回はmodoのUI機能を紹介してみたいと思います。

 

参考

モデリングのチュートリアルビデオのリンクを貼っておきます。どんなプロセスでモデリングしてるか参考になると思います。

https://youtu.be/dLoZDQ2WoQo

CG News

V-RAY NEXT FOR MODO リリース

V-RAY NEXT FOR MODO が リリースされました。
https://www.chaosgroup.com/news/v-ray-next-for-modo-now-available

価格
  • レンタル月額 € 40、年間 €250
  • 新規購入 €570
  • アップグレード € 285

MODOに含まれるV-Rayの次のヘッドライン機能

アダプティブドームライト

インテリアシーンにポータルライトを追加する必要なしに、V-Rayシーンインテリジェンスを使用して、より速く、よりクリーンでより正確なイメージベースの照明。

新しいマテリアル

Physical Hair Materialはリアルに見える髪をレンダリングします。さらに標準のV-Ray Materialには、PBRシェーダワークフローをサポートするための新しいMetalness反射コントロールが追加されています。

2X FASTER GPU

レンダリングよりハイエンドなプロダクション機能をサポートする、高速で新しいGPUレンダリングアーキテクチャ。

より優れたノイズ除去

新しいNVIDIA AI Denoiser を使用すると、V-Rayはより少ないノイズでビューポートIPRに即座にフィードバックを提供します。そして、あなたは合成の追加コントロールのために個々のレンダーエレメントをノイズ除去できます。

新しいエフェクト

グレアとブルームレンズの効果はより速くより正確になるように完全に再設計されました。ローリングシャッターはデジタルビデオと携帯電話のカメラでよく見られる歪んだモーションブラー効果をエミュレートできます。

もっと詳しく

CG News

MeshSync for Modo

DCC ツール上のモデルの編集をリアルタイムに Unity に反映させるツール「MeshSync」のmodo用プラグインが公開されました。
https://github.com/unity3d-jp/MeshSync

概要

  • ポリゴンメッシュ、カメラ、ライトの同期に対応しています。Mesh Instance や Replicator も部分的にサポートしています。
  • ポリゴンメッシュはスキニング / Joint と Morph も Unity へ持ってこれるようになっていますが、デフォーマの扱いには注意が必要です。
    • MeshSync が解釈できるデフォーマは Joint + Weight Map 方式のスキニング、および Morph のみです。それ以外のデフォーマは無視されます。
    • “Bake Deformers” をチェックすると、デフォーマを全て適用した結果を送ります。複雑なデフォーマ構成であっても Unity 側の Mesh の内容がほぼ一致するようになりますが、代償としてスキニングや Morph/Blendshape の情報が失われます。
    • Mesh Instance や Replicator のスキニングは正しく Unity 側に反映できません。”Bake Deformers” を使う必要があります。
  • “Double Sided” をチェックすると Unity 側で Mesh が両面化されます。
  • 負のスケールは部分的にしかサポートしていないので注意が必要です
    • XYZ 全てが負の場合は正しく同期できますが、X だけ、Y だけ負のような場合も Unity 側では XYZ 全てが負として扱われてしまいます
  • コマンドからも MeshSync の機能にアクセスできます。unity.meshsync.settings で設定の変更、unity.meshsync.export でエクスポートできます

 

Modo は 13 以降 Mood Bridge for Unity という機能が搭載されており、Unity に直接 Mesh や Material を送ることができるようになっています。MeshSync と機能的に近い部分もありますが、以下のような違いがあります。(2019/04 現在)

  • Mood Bridge は Modo <-> Unity の双方向の同期をサポートします。MeshSync は Modo -> Unity の一方向のみをサポートします。
  • MeshSync は Replicator、Mesh の Skinning/Morph、アニメーションを同期できます。Mood Bridge は現状これらはサポートしていません。
  • MeshSync は できるだけ FBX 経由で Unity にデータを持っていった時と近い結果になるように努めています。一方、Modo Bridge では座標系が異なる (Z 方向が反転する)、Mesh のインデックスが展開されている (1000 triangles のモデルは 3000 頂点になっている) などの顕著な違いが出ます。
Tips

modo 入門向けコンテンツの紹介

これからmodoをはじめる人向けのリンクをまとめました。modoを使ってみたいけど、どこからはじめればいいかわからない。どんな感じのソフトか知りたいという人は、上から順番にリンクたどってみるといいと思います。

とりあえず、ビデオ見ながらボタンを押しまくって覚えよう!

 

modo 入門ビデオ

modoをはじめるときに見ておくべき入門ビデオです。インターフェイスの説明からモデリング、UV、スカルプト、ペイント、レンダリングと一通りの機能が解説されていて、大まかにどんな感じで使えばいいかわかるようになります。
http://modogroup.jp/modo/training_materials/901basic

 

コーヒーマグ

modoの概念や基本機能を使用してモデリングとレンダリングの基礎を学べます。内容は古いものですがステップバイステップでモデリングとレンダリングを学べる内容です。下のリンクは英語マニュアルですが、日本語マニュアルにも同じチュートリアルが含まれています。
https://learn.foundry.com/modo/content/help/pages/tutorials/tutorials_written.html

 

Modo Japan Group 連載コラム

モデリング、レンダリング、アニメーション機能のチュートリアルです。3DCG初心者が読んでもわかるように丁寧に書かれてます。はじめてモデリングにチャレンジする方は、このコラムに沿ってモデリングしてみるといいと思います。
http://modogroup.jp/modo/column

 

Modo Japan Group の機能紹介・チップスサイト

modoの新機能や基本機能の使い方のビデオが多数公開されてます。この機能どうやって使うんだろ?と思ったらここで検索するといいです。オフィシャルの日本語ビデオがここまで充実してる3Dソフトは他にない気がします。
http://modogroup.jp/tipsblog/contents/

 

modo トレーニングビデオ

modo 101 ~ modo 10.2 までの基本機能の紹介や、機能を組み合わせた応用的な使い方のビデオが公開されています。
開発者じゃないと知り得ないようなデモがあったりして面白いです。modoの機能に慣れてきたら見るといいと思います。
http://community.thefoundry.co.uk/tv/training/
http://community.thefoundry.co.uk/tv/training/index.aspx?page=65

 

modo 公式のチュートリアル

英語のチュートリアルですが、さまざまな業種向けのチュートリアルビデオが公開されています。ムービーなので見ながら学べます。3dsMax、Maya、Softimage、Cinema 4Dユーザーがmodoをはじめるためのムービーも公開されています。
https://learn.foundry.com/modo/content/help/pages/tutorials.html

・基本トレーニングシリーズ
・宇宙船を作る
・建築モデリング
・インテリア照明

 

マニュアルの付録、ショートカット集

下のリンクは英語マニュアルですが、日本語マニュアルにも同じショートカット表が含まれています。作業をスピードアップするにはショートカットは必須です。
https://learn.foundry.com/modo/content/help/pages/appendices/appendix_a_keyboard_shortcuts/keyboard_shortcuts.html

 

pixelfondue

pixelfondueはLuxology創設者のBrad氏らが運営する2Dや3D関連のトレーニングや情報を提供するサイトです。中でもmodoの機能やテクニックを解説したVaughan氏の60秒ビデオは投稿数が360個を超えており、とてもわかりやすい内容で必見です。現在はmodoのマニュアル内にもビデオへのリンクがあります。
https://www.pixelfondue.com/training

 

Modo Premium Contents

modoのメンテナンス&サブスクリプションユーザー向けに、有料販売しているチュートリアルを無償で公開しています。
モデリング、レンダリング、アニメーションなどさまざまなジャンルに特化した有料チュートリアルを見ることができます。
全て英語ですがサンプルシーンもダウンロードすることができます。ステップアップに少し複雑なチュートリアルにチャンレンジしたい場合にお勧めです。
https://community.foundry.com/modonaut/training

 

MODOにおけるアニメーションの原理

いわゆるアニメーションの基礎、「アニメーションの12の原則」をmodoを使用して解説したムービーシリーズです。
https://community.foundry.com/playlist/1045/exploring-the-principles-of-animation-in-modo

「アニメーションの12の原則」とはウォルト・ディズニー・スタジオ内の経験から生み出されたいきいきとしたアニメーションを作るための原則で、伝説的な9人のアニメーター「ナイン・オールドメン」のうち2人、フランク・トーマスとオリー・ジョンストンよって書かれた本「ディズニーアニメーション 生命を吹き込む魔法 ― The Illusion of Life」で紹介されているものです。アニメーションを作る上で普遍的な要素なので覚えておいたほうがよいです。

 

modoを使ってる個人ブログは多くないかもしれませんが、Modo Japan Groupさんが多くの情報を公開してくれてます。公式の正確な情報源があるのは助かりますね。

modoのリギングなど、少し手の込んだことをやりたくなったら、私のTips記事も参考にしてみてね。

Tips

modoでコンポーネントのランダム選択

modoのコンポーネント(頂点、エッジ、ポリゴン)をランダム選択する方法を紹介します。使用頻度は多くないかもしれませんが、地面やレンガなどランダムに選択して起伏をつけたいときに便利です。

 

modo 12.0にはHatchet Collection Python Scriptsから、いくつか便利スクリプトがmodoに搭載されるようになりました。マニュアルには「曲線のオフセット、ランダム選択、フラット化など、さまざまな新しいツールがインターフェイスから利用できるようになりました」と書かれてるのですが「ランダム選択」はメニューにもツールパレットにも表示されていません。

しかしスクリプトはインストールされているので、コマンドを実行すれば「ランダム選択」を使用できます。

 

ランダム選択 コマンド

  • @ppi_Random_Select_Edges.py
  • @ppi_Random_Select_Polys.py
  • @ppi_Random_Select_Verts.py

 

半分選択 コマンド

もう一つUIに表示されていない選択機能があります。象限を指定して選択する機能です。対象モデリングで半分だけ選択して削除したい場合に便利だと思います。

  • @ppi_Select_Half.py

 

参考

フォーム編集でUIにボタンを追加しておくと便利に使えるようになると思います。

Tips

modoのプロシージャルメッシュをリジッドボディダイナミクスで使用する方法

modoのプロシージャルメッシュをリジッドボディダイナミクスで使用する方法について書いてみたいと思います。

modoではメッシュを選択して「アクティブリジッドボディ」ボタンを押すと、プロパティに「ダイナミクス」タブが追加されて「シミュレーションを演算」することができます。

ところがプロシージャルメッシュ(メッシュオペレータ)でメッシュを生成した場合、通常の手順で「シミュレーションを演算」してもうまく動作しません。ダイナミクス タブで「スタティック」をOFF、「衝突シェイプ」を任意に変更する必要があります。

恐らく「アクティブリジッドボディ」ボタンはメッシュオペレータでメッシュを生成したものを認識せず、空のメッシュアイテムとしてダイナミクスの初期設定を行います。手動で適切に設定してあげれば、リジッドボディダイナミクスとして計算する事ができます。

今回のスケマティックはこんな感じ。Encode Stringはmodo 13以降は不要です。

 

プロシージャルメッシュをSwitch Stringで切り替えた場合、リジッドボディは0フレーム目のメッシュを使用してシミュレーションを実行する気がします。また、プロシージャルメッシュを「ソフトボディ」で計算することはできないようです (modo 13.0現在)。「シミュレーションの再生」ボタンではシミュレーションが実行されるのですが、「シミュレーションを演算」しても演算結果がキャッシュできないようです。

プロシージャルメッシュとダイナミクスの組み合わせは、もう少し改善してくれると助かりますね。

 

参考

Tips

modoでオブジェクトの内側のパーティクルを検出する方法

modoでオブジェクトの内側のパーティクルを検出する方法を紹介したいと思います。今回もFoundryのフォーラムで公開されていたYahllさんのアイディアです。

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

サンプルファイル(再アップ)

基本的にはIntersectを2個使ってメッシュの内側を判定して、内側になったパーティクルからParticle Operatorでパーティクルを発生させています。
Intersectは+YとーY方向からメッシュの内側を判定してるのでトーラスの穴の部分も内側と判定されていますが、X方向のIntersectを追加すれば解決すると思います。

 

modo13からはMergeMeshがパーティクルに対応したので、アセンブリの「Select By Volume」を使って手軽にメッシュの内側を判定できるようになりました。ただし、直接パーティクルを制御する方法に比べると、少し動作が重くなります。

サンプルファイル

 

基本的なノードを組み合わせてパーティクルを制御するYahllさんのサンプルはどれも凄く勉強になりますね。

参考

Tips

modoでカーブに沿ってパーティクルを動かす方法

modoでカーブに沿ってパーティクルを動かす方法を紹介したいと思います。前回同様にFoundryのフォーラムで公開されていたYahllさんのアイディアです。

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

 

サンプルファイル(再アップ)

このシーンではPath Constraintを使用することで完全にパスに沿ったパーティクルを実現しています。
1つめのParticle Simulation(青色)はY軸方向に移動するだけの単純なシミュレーションです。このシミュレーションのパーティクル位置をPath Constraintノードを使用してパスに沿わせ、Collector / Emitterノードを使用してカーブに沿ったパーティクルを発生させています。 2つめのParticle Simulation(オレンジ色)。

以前はParticle Simulation を2つ使って計算するという発想がありませんでしたが、このサンプルを見てパーティクルの位置をブレンドするとことができそうだと思いつきました。

 

modoには Curve Force という、カーブに沿ってフォースを発生させるノードがあります。しかし、あくまでフォースであるためパーティクルの速度が速くなるとCurve Forceの影響範囲を飛び出したり、Curve Force の影響範囲が干渉してパーティクルが止まってしまうことがあります。

サンプルファイル

 

modo 13からはMerge Meshがパーティクルに対応したので、シミュレーションしたパーティクルをデフォーマで変形することができます。

サンプルファイル

 

同じような表現をするにも複数のアプローチがありますが、Path Constraintを使用する方法が一番計算速度が早いように思います。発想的にも面白いので、他のパーティクル制御に応用出来る気がします。

 

参考

Tips

modoでサーフェースの色をパーティクル色に設定する方法

サーフェースの色をパーティクル色に設定する方法を紹介したいと思います。Foundryのフォーラムではさまざまな質問と共に多くの面白いサンプルファイルが共有されています。

今回紹介するのは「パーティクルがサーフェース色を継承できないか?」というスレッドのものです。
https://community.foundry.com/discuss/topic/88111

パーティクルをサーフェースから発生させる場合に、発生元のサーフェース色をパーティクルに継承したいことがあります。このスレッドでYahllさんが公開してたサンプルファイルは、私にはよく理解できませんが、確かに問題をクリアしている素晴らしいものです。

サンプルファイル(再アップ)

スケマティックを見るとParticle Operatorで「色」を「位置」に繋げていているのが面白いトリックです。Shader Inputsの「パーティクル色」をパーティクルの位置として扱っていて、Intersectを使用してサーフェースとパーティクルの方向を計算しています。最後にRaycastでサーフェース色を拾って、マテリアルの「ディフューズ色」に割り当ててます。

Particle Operatorの値をシェーダーノードが直接受け取れないので「色」を「位置」に繋げてる所は理解できます。その後の計算が成立してる意味かよく理解できないですが、パーティクルがサーフェース色を継承できています。

しかし、この方法では球体が回転するとパーティクルの色も回転に合わせてかわります。Time Offsetで1フレーム固定のようなことができればいいのですが、残ながらTime Offsetをシェーダーノードに使用するとmodonがフリーズしてしまいます。フォースでパーティクルを動かす場合は、パーティクル発生時の色を利用する仕組みを考える必要がありそうです。

 

Raycastを使用してサーフェース色を使用する単純なシーンも公開しておきます。このシーンはロケータの-Y方向の色をRaycastノードを使用して拾ってます。

サンプルファイル

スケマティックはこんな感じ。上半分は関係ありません。GLの見た目上のものです。

 

シェーダーノードはLightWaveで挫折してから苦手意識があって使わなくなってましたが、こういう自分では想像もつかないサンプルファイル公開してくれるのはすごく助かります。

CG News

V-Ray Next Modo パブリックベータ開始

V-Ray Next Modo のパブリックベータが開始されています。パブリックベータのライセンスは誰でも取得できるようです。
https://oakcorp.net/archives/9753
https://forums.chaosgroup.com/forum/v-ray-for-modo/v-ray-for-modo-general/1031376-v-ray-next-for-modo-beta-is-ready-for-you-to-test

V-Ray Next for MODOの主な新機能

  • Modo 13 サポート
  • アダプティブドームライト – V-Rayシーンインテリジェンスに基づく、より速く、よりクリーンでより正確なイメージベースの環境ライティング。新しいアダプティブドームライトはインテリア用のポータルライトを設定する必要がなくなります。
  • 2倍速い GPUレンダリング – よりハイエンドなプロダクション機能をサポートする、高速で新しいGPUレンダリングアーキテクチャ。
  • GPUのボリュームレンダリング – V-Ray GPUは、煙、炎、フォグなどのボリュームエフェクトの超高速レンダリングをサポートします。
  • GPU DISPERSION – V-Ray GPUで利用可能になりました。それらのコンポーネントカラーに分割する非常に正確な光屈折をレンダリングします。
  • GPU VRスキャン – VRスキャンは、パフォーマンスと柔軟性を向上させるためにV-Ray GPUと互換性があります。
    ノイズのないレンダリンダーエレメント – 合成のためのノイズのない個々のレンダリンラーエレメント。ノイズ除去されたエレメントはシームレスにノイズ除去されたビューティーパスに再構成されます。
    フィジカルヘアーマテリアル – 正確なハイライトと新しい輝きとのコントロールで、よりリアルに見える髪を演出します。
  • METALNESS – V-Ray Materialは、新しいMetalness反射コントロールを使ってPBRシェーダのサポートを追加します。
  • トゥーンシェーダー – ノンフォトリアルな漫画やセルシェーディング効果を簡単に作成できます。高度なラインコントロールのための新しいオプションが追加されました。
  • 新しいレンズの効果 – 新しいグレアとブルームのレンズ効果は、より速くより正確になるように完全に再設計されました。
  • ローリングシャッター – デジタルビデオカメラや携帯電話のカメラでよく見られる、歪んだモーションブラー効果をエミュレートします。
  • 強化された色補正 – VFB色補正(背景とLUTを含む)は、最終的なレンダリングで生の.vrimgまたはOpenEXRファイルとして保存できます。LUTの強度も制御できます。
Tips

modoのスクリプトやプラグインのインストール方法

modoのスクリプトやプラグインのインストール方法について書いてみたいと思います。

modoは他の3Dソフトと同様にスクリプトやプラグインで機能拡張することができます。FoundryのフォーラムMODO Japan GroupGitHubでは便利なフリースクリプトやプラグインが公開されています。

 

配布形態

modoのスクリプトやプラグインにはいくつかの配布形態があります。

 

スクリプトファイル単体

一番多いのがスクリプトファイル単体で配布されてる場合です。.pyや.plファイルだけ公開されてる場合がそれです。

 

Kit

次に多いのが「Kit」として配布されている場合です。有料プラグインやFoundryが配布しているAfterFX IOやGozはKit形式です。

Kitはスクリプト、プラグイン、UI、画像など複数のファイルで構成されていて、配布に便利な仕組みです。KitはUIの「Kitボタン / キットマネージャ」から有効/無効を切り替えることができます。Mayaのモジュールと似た仕組みですね。

キットは複数のファイルで構成されているため、.lxpや.zipのような圧縮形式で公開されてることが多いです。

 

インストール方法と使用方法

インストール方法は簡単です。ファイルをスクリプト フォルダ、またはKitフォルダにコピーします。

 

スクリプトのインストールディレクトリ

modoのスクリプトは、スクリプト実行時に以下のフォルダを検索します。

C:\Users\ (ユーザー名) \AppData\Roaming\Luxology\Scripts

C:\Program Files\Foundry\Modo\ (バージョン番号) \extra\scripts

Luxologyフォルダは全てのmodoバージョンから参照されるので、基本的には Luxology\Scriptsフォルダにファイルをコピーしておけば問題ありません。

 

スクリプトの使用方法

スクリプトを実行するときはmodoのUI右下にあるコマンド入力に「@+ファイル名」を入力してEnterで実行します。

 

Kitのインストールディレクトリ

Kitをインストールするときは基本的にインストールマニュアルに従うとよいです。modoは起動時に以下のフォルダを参照し、フォルダ内のKitを自動でロードする仕組みになっています。

C:\Users\ (ユーザー名) \Documents\Luxology\Content\Kits

C:\Users\ (ユーザー名) \AppData\Roaming\Luxology\Kits

C:\Program Files\Foundry\Modo\ (バージョン番号) \resrc

Content\Kits はmodoのコンテンツファイルをインストールしてる場合に作成されるフォルダなのですが、多くのKitはContentフォルダにインストールする気がします。

Kitが.zip形式の場合は、ファイルを解凍して Content\Kits フォルダにコピーすればロードされるようになります。

.lxp形式の場合は、modoを起動してウィンドウに.lxpファイルをドラッグアンドドロップします。.lxp形式はただの.zipファイルなのですが、Kitのディレクトリに自動的にファイルをコピーしてくれる便利ファイル形式です。.lxpは拡張子を.zipに変えると、圧縮・解凍ソフトを使用してファイルを直接取り出すこともできます。

.lxはバイナリ形式のプラグインファイルですが、このファイル単体で配布してるのをほぼ見かけたことがないです。多くの場合はKitフォルダを使用してmodoに読み込ませるのが一般的だと思います。

Kitは「index.cfg」内にキットが定義が書かれていて、Kitが使用するスクリプトやプラグインへ相対パスが記述されているのが一般的です。しかし絶対パスの決め打ちでパス指定されているKitもあるため、Luxology\Kits にコピーしないと動かないKitもあります。サードパーティのKitは、インストールマニュアルにしたがった方が無難です。

 

Kitの使用方法

Kitの使用方法はKitごとに異なるので、Kitのマニュアルを見ましょう。ファイルメニューに項目が追加されたり、特定のフォームにボタンが追加されたり、手動でフォームを編集する必要があったり、Kitによって動作がさまざまです。

新しいmodoでKitが動かない

余談ですが、modoを12から13にメジャーバージョンアップしたら、Kitが使えなくなることがあります。

modoのプラグインやスクリプトは後方互換性があるので、新バージョンでも基本的に動きます。しかしVrayなど一部のKitはバージョンごとに読み込みを制限しているため、新バージョンで動かなくなります。これは「index.cfg」内でバージョンを指定することで制限しています。configuration の行でバージョン番号を書き換えれば、新しいバージョンのmodoでKitを使用することができるようになります。

例えばmodo 901のみで動作する場合は以下用に記述してあります。

<configuration and=”rel]900″ and=”rel[1000″>

modo 11のみで動作する場合は以下の通り。

<configuration and=”rel]1100″ and=”rel[1200″>

modo 12のみで動作する場合は以下の通り。

<configuration and=”rel]1200″ and=”rel[1300″>

バージョンの記述方法はメジャーバージョンが見てわかる物や、ビルド番号っぽいものといくつか種類があるようです。

バージョンを制限してるのには理由がある場合があります。フォーラムを見てるとmodoの問題を避ける場合や、新しく追加された機能を使用している場合に動作するバージョンを制限することがあるみたいです。
もし開発が終了してしまってメンテナンスされていないKitが動かなくなってしまったというときは、バージョン番号を書き換えると使えるようになるかも知れません。

 

スクリプト情報 (おまけ)

スクリプト言語

modoが対応しているスクリプト言語は以下の3つです。

  • Perl スクリプト
  • Pythonスクリプト
  •  luaスクリプト

Pythonは古くからサポートしてたPython APIの他に、modo 901で追加された TD SDK というTD向けのPython APIラッパーもあります。

modoのインストールディレクトリを見ると、.pyや.plファイルが大量にあるのがわかると思います。

C:\Program Files\Foundry\Modo\13.0v1j\extra\scripts

スクリプトについては、以下のディレクトリに日本語のスクリプト ドキュメントがインストールされています。

C:\Program Files\Foundry\Modo\13.0v1j\help\Scripting_and_Commands.pdf

最新の情報はSDK Wikiにまとまっています。
http://modo.sdk.thefoundry.co.uk/wiki/Main_Page

modoのスクリプトまとめページです。
http://www.etereaestudios.com/modoshare/tips_python_modo.html

modoの開発者のリポジトリです。
https://gist.github.com/Farfarer
https://gist.github.com/mattcox

 

私はスクリプトは全く書けないので、スクリプト書ける人は凄いなと尊敬しながらフリースクリプトを使わせていただいてます。

 

参考

http://lifewithmodo.blogspot.com/2011/01/modo-501_04.html

Tips

modoのプロシージャルモデリング

modo10.1からプロシージャルモデリングが搭載されましたが、プロシージャルモデリングってどんな時に使うの?どんなことができるのかについて書いてみたいと思います。

 

プロシージャルモデリングとは

プロシージャルモデリングは手続き的、非破壊的にメッシュを編集するモデリング手法です。

これまでのモデリング手法は「ダイレクトモデリング」と呼ばれ、メッシュのコンポーネント(頂点、エッジ、ポリゴン)を直接編集してモデリングしていました。
ダイレクトモデリングはメッシュを直接切り貼りして編集するため編集内容がわかりやすい反面、「面取り」にエッジベベルを使用後、再度ベベル幅を調整するには作り直しに近い手間が発生していました。

ダイレクトモデリングの例

 

プロシージャルモデリングはメッシュを直感的に編集する機能ではありませんが、メッシュオペレーター(メッシュを編集するノード)をいくつもスタックすることで、モデリングの工程をさかのぼってメッシュを編集することができます。例えばスムースシフトのシフト量や、エッジベベルの幅をいつでも編集できます。

プロシージャルモデリングの例

メッシュ編集がリストにスタックするのは、Maxのモディファイヤ スタックに似てますね。メッシュオペレーターの数が多くなると、他のソフト同様に動作が重くなります。

 

プロシージャルモデリングの使いどころ

プロシージャルモデリングは難しそうと思うかもしれませんが、利用頻度の高い機能は限られています。代表的なのは以下のようなメッシュオペレーターです。これらの機能は3dsMaxやC4Dなんかでも非破壊編集できるように専用機能が提供されてたりします。

  • エッジベベル (Edge Bevel)
  • 厚み(Thicken)
  • カーブ押し出し(Sweep Effector)
  • 複製系(Clone、Radial Array、Scatter Clone)

 

エッジベベル (Edge Bevel)

面取りに便利です。

 

厚み(Thicken)

服などの厚みに便利です。

 

カーブ押し出し(Sweep Effector)

パイプやコードに便利です。

 

複製系(Clone、Radial Array、Scatter Clone)

建物など規則的な形状で便利です。

一般的にプロシージャルモデリングはモデリングの最後の工程、後から修正したくなるような編集に使用すると便利です。全てプロシージャルモデリングでモデリングするのではなく、ダイレクトモデリングにちょい足しして使うのがお勧めです。

modoのプロシージャルモデリングの優れている点は、3dsMaxのように用途を限定して非破壊編集機能を提供してるわけではなく、ダイレクトモデリングツールの多くがプロシージャルモデリング機能として使用できることです。普段ダイレクトモデリングツールで使用する機能が、そのままプロシージャルモデリングでも使用できるというのは画期的だと思います。

 

プロシージャルモデリングとリギング

modoのプロシージャルモデリングでユニークなところは、メッシュオペレーターがノードとして提供されていることです。キャラクターのリギングと同じ感覚で、メッシュオペレーターをリギングすることができます。具体的にはHoudiniのデモで見かけるような、プロシージャルな家具や建物を作ることができます。

シンプルなファイルを公開しておくので、興味があるひとはダウンロードしてみてください。いずれもプリミティブのキューブをベースに使用しています。アセンブリとして再利用できるようには作ってないので、自作するときの参考にしてみてね。

 

サンプルファイル

Cloneを使用してメッシュを複製してます。デフォーマを使用するためにMerge Meshesを使用しています。デフォーマを使用しない場合はReplicatorを使用した方が処理が早いです。

 

サンプルファイル

管理を楽にするために天板の形状を作ってから、Merge Meshesで天板アイテムと天板下のフレームに分岐させています。恐らく分岐させると処理が遅くなるので、各アイテムごとにCubeとVertex Bevelノードがあった方が軽くなる気がします。

 

建物

サンプルファイル

壁用のアイテムをGroupにまとめてReplicatorで複製しています。Groupを使用したのはランダムに複製するためで、複製するアイテムが固定でよいならGroupを使用する必要はありません。壁のアイテムはキューブの法線方向を向けるためにセンターを回転してます。
このファイルでは全て同じ壁を複製してますが、Cubeを各面ごとに分解すれば好きな壁を並べることができます。

 

プロシージャルモデリングは元々CAD系のソフトから来た概念らしいです。RhinocerosのプラグインGrasshopperや、3DCGソフトだとHoudiniがプロシージャルモデリングの代表的なソフトでしたが、今後はmodoもプロシージャルモデリングを代表するソフトとしてメジャーになって欲しいですね。

 

参考

CG News

MODO 13.0 リリース

MODO 13.0 がリリースされました。大きな機能追加はPro Render、アニメーションレイヤー、アレイ、Unity Bridgeでしょうか。永久ライセンスが$1799、年間レンタルライセンスが$599です。
https://www.foundry.com/products/modo/new-releases?_ga=2.39875810.13171086.1553482579-113635308.1486795389

ProRenderはまだベータ段階です。未対応の機能については、以下のURLに記載されています。
https://learn.foundry.com/modo/content/help/pages/appendices/prorender/prorender_settings.html

 

MODO 13.0 主要な機能

AMDのRadeon Pro Renderを使用したオフラインGPUレンダリング

AMDのGPUアクセラレーテッドパストレーサーであるRadeon Pro Renderは、Modoの強力なレンダリングオプションのコレクションの一部です。レンダリングの柔軟性の向上とModoの改良されたAPIの始まりです。

AMDの強力なデノイズテクノロジも追加されました。AMDのデノイズツールはベンダー固有のものではなく、WindowsおよびOSX上のすべてのユーザーが利用できるレンダリングオプションです。

 

KitFusingが加わった MeshFusion

Modoのダイレクトモデリングツールセットは3Dアーティストにとって最も直感的な経験であり、エッジリラックスや最短パス選択などの新機能を使用して、ワークフローを強化および高速化します。

Modo 13.0はKit Fusingを導入しました。これによりアーティストはブール演算の作成に使用するメッシュの一部のみを定義することができます。この強力な機能強化により、複雑なメッシュの活用が容易になり、サーフェスの内側に見える機械的な構成要素を持つファングリルのような複雑な凹状の穴を作り出すことができます。

 

レイヤーシステムによるアニメーションワークフローの向上

Modo 13では新しいアニメーションレイヤー機能を使用して特定のアクションを非破壊的に編集できます。各レイヤーはトップダウン形式で、オーバーライドまたは追加として適用できます。
マスキングを使用すると、アニメーションの個々の要素を分離して定義することができます。

 

MODO のプロシージャルモデリング機能を高める Array (配列)

配列はModoのリギングシステムに新しく追加されたもので、高度な保存、操作、さまざまな形式でのデータの出力を可能にし、さらにテクニカルアーティストがModoで設計できるものを可能にします。

配列を使用すると、リギング、プロシージャルモデリング、パーティクルなど、Modoの多くのシステムで活用できる複雑な関係を構築して、カスタムモデリングツールでも高度な高度なモーショングラフィックシステムでも、クリエイティブなビジョンを実現するために必要なツールや動作を作成できます。

 

Modo BridgeがUnityをサポート

Modo Bridge for Unity は、Unreal Bridgeと同じ機能を追加しました。共有インターフェースを通じて、リアルタイムのシーン作成とやり取りを効率化します。ユーザーは双方向通信を使用して、メッシュ、インスタンス、テクスチャ、マテリアル、カメラをModoとUnity間で転送することができます。

 

UV強化

Modo 13.0のUVツールセットは、クリーンなUVマップを生成するのに必要な時間を減らすためにさらに洗練されました。新しいUVカットマップを使用すると、3Dビューポートで色分け表示される選択セットを定義できます。UV分割、ワイヤフレーム表示、パッキング、エッジと頂点のスライドの機能強化により、Modo UV性能が強化され、複雑なUVマップの展開と利用をさらに制御できるようになりました。

 

新機能一覧

http://modogroup.jp/modo/modo13s/modo130v1_newfeatures

 

バグ修正

http://modogroup.jp/modo/modo13s/modo130v1_details

 

既知の問題点と回避策

http://modogroup.jp/modo/modo13s/modo130v1_known_issues

 


個人的に嬉しいのはモデリングやUV関連の機能改善、パス選択、整列ツール、ノードの整列や自動データタイプ変換などのスケマティック改善、配列とプロシージャルモデリングのポリゴン作成ノードです。

MergeMeshのパーティクル対応は凄く便利になりますね。パーティクルシミュレーションをデフォーマで直接変形できるようになった他に、キャッシュしなくとも色々使い回せるようになる。アニメーションレイヤーはモーションキャプチャの編集用に便利な感じですね。

配列はメッシュの頂点、カーブ、ロケータの位置、アニメーションの軌跡なんかを使ってポリゴンやカーブを生成できるようになります。これまでのプロシージャルモデリングはダイレクトモデリングツールの移植がメインでしたが、ようやくプロシージャルモデリングに特化した機能が追加されはじめました。

下の画像は球の頂点からArrayを作ってポリゴン生成して、Offset Arrayでアニメーションしてるように見せてます。Arrayを好きに作れれば、どんなメッシュも作れるので可能性が無限に広がります。

配列はメッシュ、パーティクル、ダイナミクスなど機能ごと微妙にアクセスしづらい隙間を埋めたり、アセットやサードパーティの開発者が新しいツールを生み出すのを意図したものだそうです。応用範囲が広すぎて、使いこなせる気がしない。

そんなmodo 13に関するライブストリームが公開されています。このビデオでは次のリリースとなるMODO 13.1のAVPのAO表示改善の画像を見ることができます。また13シリーズの予定として、今年後半にかけて以下のような機能開発に取り組んでいるとのことです。パフォーマンスの改善に期待したい!

  • 外部マテリアルライブラリのリンクを提供したがメッシュプリセットを使って「似たようなことをすることを検討中」
    外部ファイルからジオメトリコンポーネントを参照することが可能になります
  • AVPのAO表示改善
  • ノンリニアアニメーション機能
  • 改善したSDKの公開。現在年間の多くはSDKの改善にあててる
  • 多くのパフォーマンスの問題に取り組んでおり、現在は大規模なグループがある。
    メッシュ評価の問題はグラフィックカードの描画ループにある。大規模なシーンの問題、例えばシェーダーツリーの数。