MODO 機能紹介・チップスサイト このサイトでは、MODOの基本機能やチップスをご紹介していきます。

ModoとUnityでデータをやり取りするUnityブリッジの使い方


https://www.youtube.com/watch?v=lWKrSw5Od_Y

従来のバージョンまでModoとUnrealでデータのやり取りを可能にするUnrealブリッジ機能が搭載されていましたが、バージョン13.0からはさらにModoとUnity間の通信もサポートされるようになりました。

このUnityブリッジを使用するには、Unity側にプラグインが必要となります。バージョンによってはマーケットプレイスからダウンロードできるようになるかと思いますが、本バージョン13.0ではインストーラと一緒にダウンロードサイトから配布していますので、そちらを使用してください。

まず、空のUnityプロジェクトがあります。プラグインはプロジェクト単位にインストールすることになります。AssetsフォルダのなかにPluginsフォルダを作り、その中にプラグインが格納されているFoundryフォルダをコピーします。この状態でUnityを起動すると、新たにFoundryメニューが表示されるようになります。

Foundryメニューを開くと、Set Client Optionsがありますので、こちらでModoと通信する際のIPやポート番号を指定します。同じマシン上でModoとUnityを動作させる場合、Server IP/nameには127.0.0.1、ポート番号には12000と設定すると良いでしょう。この設定は、Modo側の設定と合わせるようにしてください。Saveボタンで設定を保存するようになります。Start Clientメニューを選択し、接続を開始しておきます。

次にModo側の設定です。きっとボタンを押すと出てくる橋のアイコン、これがModoブリッジです。Unreal EngineとModo、UnityとModoをつなぐキットとなります。Unityの場合も、Unreal Engineと同じです。設定ボタンを押すと、アドレスとポートを指定するパネルが開きますので、Unityの設定と同じ番号を入力するようにしてください。開始ボタンで接続を開始します。

それでは、プリセットからUnity用の設定が施されているメッシュを読み込んでみましょう。Assets > Mesh > Game > Unityの中にあるChestをダブルクリックして読み込みます。シェーダツリーからマテリアルグループを開いてみると分かる通り、Unity専用のマテリアルが施されている他、テクスチャのエフェクトもUnity用に変更されています。特殊なマテリアルスタイルのため、デフォルトのビューポートスタイルでは表示できませんので、ビューポート上で確認するにはアドバンストビューに切り替えてください。もしくは確認するだけであれば、プレビューのビューポートでも可能です。

ではこれをUnity側へと送信してみましょう。全アイテムボタンをクリックすると、シーン上にある全てのアイテムがUnityへと送られていきます。送られたアセットはどこにあるのかというと、Assetsフォルダの中に自動的に配置されます。Unity側で配置などを変更した状態をModoに反映させたければ、UnityのFoundryメニューからPush Selectedを選択すると、選択しているアイテムのみをModoへと送信することができます。

では、さらにテクスチャに変化をつけてみましょう。Modoの3Dペイント機能で落書きをしてみます。ペイントした段階ではまだ画像ファイルへと反映されていませんので、画像タブでファイルを保存したら、Unityブリッジのパネルでテクスチャをオンにした状態で選択ボタンをクリックします。そうすると、Unityの中でも画像が更新されたのがわかります。

Modoから送信できるのは実体のあるアイテムだけではありません。インスタンスも送信することができます。モデルパレットの複製タブにあるインスタンス配列ツールでChestを配列状に複製したら、メッシュインスタンスオプションをオンにした状態で選択アイテムをクリックします。すると、Unity上でもメッシュインスタンスが大量に配置されるようになります。

このように、Unrealブリッジと同様のインターフェイスで迷うことなく、ModoとUnityの間でも相互にデータのやり取りが可能になります。

2019年4月2日