こんにちは! ボーンデジタル テクニカルサポートの黒河です。本連載では様々なソフトウェアの深掘りと、クリエイターに役立つテクニカルな情報をお届けします。
今回はMayaプラグイン「Bifrost」で生成したパーティクルの座標を、UDP通信を用いてUnityに送信する実験的な連携方法をご紹介します。今回のリアルタイム通信には制限がありますが、BifrostとMayaの構造、Pythonへの理解が深まり、ソフト連携の可能性に目を向けるきっかけになれば嬉しいです。

黒河 建
ボーンデジタルのテクニカルサポート担当。前職ではIT企業にて基幹システムの導入に従事。現在はRevitを中心に、建築業界向けのサポート業務を担当している。
X:@BD_SoftwareDiv
※本記事は、月刊『CGWORLD + digital video』vol.325(2025年9月号)掲載の連載「TECH ROOM:このソフト、どこまでやれる?」を再編集したものです。

Bifrost(バイフロスト)

Mayaに標準搭載されているノードベースのビジュアルプログラミング環境。パーティクル、煙、液体などのシミュレーションだけでなく、ジオメトリ生成やカスタムツール開発にも対応。複雑な処理をノードグラフで構築でき、プロシージャルな制作フローを可能にする。
www.borndigital.co.jp/product/maya
グラフエディタを2つ表示して作業効率アップ!
はじめに、オートデスクのM&E向け情報サイト「AREA JAPAN」でも紹介されていた、Bifrostの操作に慣れるためのちょっとしたTipsを1つ。
通常、Bifrostのグラフエディタはエディタメニューから起動すると「Bifrost Graph Editor」ウインドウ1つのみが開きますが、スクリプトエディタで「cmds.vnnCompoundEditor()」を実行することで、もう1つのグラフウインドウ「Compound Editor」を追加表示できます。この2つのエディタを開いておくと、ノード構成を見比べながら作業できるので便利です。

ステップ① Bifrostでのパーティクル生成





ステップ② MayaからUnityへ送信するためのPython & C#構築
Mayaのスクリプトエディタを開き、Pythonでコードを記載していきます。今回はローカルホスト内でUDP通信を利用し、MayaからUnityにデータ送信を行なっていきます。

Unity側のC#スクリプトでは、Maya側と同じポート番号でリッスンするように設定しておきましょう。
▲ここでは、「ListenPort」の値を「9000」と記述し、Mayaの送信スクリプトで指定したものと一致させています。ポート番号が一致しないとUDP通信が確立されないため、データの送受信が行えません
ステップ③ Unityで座標データを受信し、プレハブを配置
Unityでは、C#スクリプトを空のゲームオブジェクトにアタッチし、事前にプレハブのモデルとマテリアルを設定しておきます。
Mayaから送信された座標情報を基にプレハブのモデルを配置するので、どのようなモデルでも構いません。





情報が多少欠落しても毎フレームで処理できないか、と思うかもしれませんが、MayaのscriptJobは再生中に動作しないように、仕様で制御されています。そのため、リアルタイム連携をMayaとBifrost単体で完結させるのは現実的ではありません。外部プロセスを介した構成であれば実現の可能性もありますが、それ自体にどれほどのメリットがあるかは目的次第です。
熟練のテクニカルアーティストであれば既知の制約かもしれませんが、近年ではテクニカルアーティストを志す方やデザイナーの方でも、プロシージャルなアプローチに関心をもつ人が増えています。今回の検証が、そうした方々にとって取り組みの一助となれば幸いです。
参考:scriptJobの概要
(help.autodesk.com/cloudhelp/JPN/MayaCRE-Tech-Docs/CommandsPython/scriptJob.html)
次回予告|3Dスキャン

次回はゲストにexAgentの中山智博さんをお招きし、3Dスキャンの撮り方を紹介します。最近はスマホでも手軽に3Dスキャンが行えるようになってきましたが、実践してみると「思い通りにいかない」といった悩みも多いのではないでしょうか?
どうすれば綺麗にスキャンできるのか、理論も踏まえつつ、初めての方にもわかりやすく解説していきます。ぜひ制作の一部に3Dスキャンを採り入れてもらえればと思います。次回もお楽しみに!
テクニカルサポートが選ぶ今注目のソフト|openFrameworks

openframeworks.cc/ja
openFrameworksは、C++で開発されたオープンソースのクリエイティブ・コーディング用フレームワークです。2005年頃から開発が続けられており、今でもアート、デザイン、映像、インスタレーション分野で広く活用されています。映像や音声のリアルタイム処理、インタラクティブな表現、センサー入力を活用した作品制作、プロジェクションマッピングなど、できることは様々です。
プログラミング初心者の方にとっては少しハードルが高いかもしれませんが、一度触ってみると虜になる不思議な魅力、そして実用性があります。知らなかった方は、ぜひ調べてみてください!
INFORMATION

月刊『CGWORLD +digitalvideo』vol.325(2025年9月号)
特集:セガの現在地
定価:1,540円(税込)
判型:A4ワイド
総ページ数:112
発売日:2025年8月8日
SUPPORT ROOM
■気になるソフトウェアがある方
製品の購入や導入におけるご質問はこちらからお寄せください。
■すでにソフトウェアを活用中の方
使用におけるお困りごとやご質問はこちらからお寄せください。
TEXT_黒河 建/Takeru Kurokawa(ボーンデジタル)
EDIT_李 承眞/Seungjin Lee(CGWORLD)