夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

MeshSyncでBlenderのモデリングをランタイムにUnityで表示する

本日はUnity調査枠×Blenderモデリング枠です。

 BlenderでのモデリングをランタイムにUnityに表示して見た目や大きさ、マテリアルをアタッチした時の感覚など確かめたいなと思っていたところ便利なパッケージを見つけましたので今回はMeshSyncを使用していきます。

〇MeshSyncとは?

MeshSyncUnity Technologies JapanがリリースしているUnity向けのパッケージです。

github.com

 冒頭で紹介したようにBlenderやMaya,MotionBuilderなどDCC(Digital Content Creation)ツールでの編集内容をリアルタイムにUnityのシーン上に配置でき確認できるパッケージです。

docs.unity3d.com

 今回は使用するうえでよくわからず沼った点もあるので合わせて細かく紹介していきます。

〇環境

 ・Unity2021.3.2f1(LTS)

 ・MeshSync 0.13.1 -preview

 ・MeshSync DCC Plugin 0.13.0

 ・Blender 3.1.0

 MeshSyncはDCCツールとUnityの対応バージョンの制限が多い点が特徴です。

詳細はGitHubの情報を参考にしてください。   github.com

〇パッケージの導入

MeshSyncMeshSyncMeshSync DCC Pluginの二つのパッケージを使用して動きます。

 MeshSync DCC Pluginはその名の通り各DCCツールでのプラグインが提供されており、Blenderの場合はアドオンとして提供されています。

①UnityのPackageManager上部からAdd Package form git URLを選択します。

②以下のURLを入力しパッケージを導入します。

・com.unity.meshsync@0.13.1-preview

・com.unity.meshsync.dcc-plugins

正常に導入されると次の画像のようになります。

Hierarchyウィンドウからゲームオブジェクトを追加します。MeshSync→Create Severを選択します。

シーン上にMeshSyncServerオブジェクトが追加されます。

④ターゲットプラットフォームをWindows,Mac,Linuxに変更します。

MeshSyncはスタンドアロンプラットフォームのターゲット(AndroidやUWP)では動かない点が注意が必要です。 筆者はこれでヌマりました

以上でUnity側の準備は完了しました。

⑤Blender用のプラグインを導入します。

エクスプローラーから(Unityプロジェクト名)\Library\PackageCache\com.unity.meshsync.dcc-plugins@0.13.0-preview\Editor\Plugins~ を開きます。

ここでは各種DCCツールのプラグインがZipファイルとして格納されています。

⑥ Windows版のBlenderプラグインを解凍します。

ここではBlender版の各種バージョンに応じたプラグインがあります。

⑦Blenderを開き対応しているバージョンのzipファイルをアドオンとして導入します。

アドオンが導入されるとアクティブツールにウィンドウが追加されます。

⑧Unityが開いている状態で(シーンを実行している必要はありません。)Auto Syncを選択することでランタイムにシーン内のオブジェクト情報がUnityに表示されるようになります。

Unityでは通常のメッシュ同様形成されるためUnity側はUnity側でBlenderと関係なくマテリアルをアタッチすることができます。

以上でMeshSyncを使用することができました。

PCプラットフォームのみ対応ですが、改造してHoloLensでリアルタイムにオブジェクトを表示しながらモデリングできるような仕組みを作りたいです。