YAMADA TAISHI’s diary

ゲームについてとか私の日記とか。このブログのあらゆるコードは好きにどうぞ。利用規約があるものは記事内のGitHubのRepositoryのリンクで貼られていると思うので、そちらを参照ください。

BlenderとUnityの3Dモデルの状態を同期してくれるMeshSyncを触ってみる

こんにちは、やまだたいし( やまだ たいし (@OrotiYamatano) / Twitter )です。
今回はMeshSyncツールの備忘録です。
短い記事になってしまったので、ずっと公開していないでアーカイブしていたのですが、勿体ないかなぁと思い公開しました。

目次


MeshSync?


MeshSyncとはUnity公式が作っているMayaやBlenderなどDCCツールとUnityを連携させる機能です!

これを使うことによって毎回モデルをインポートしなおす必要がなくUnity上で動作確認が出来ます。
VRChatterも嬉しいね!

しかも、日本語の説明もある。

docs.unity3d.com

環境


Blender3.0.0
URP環境
Unity側のプラグインは0.12.6-previewを利用
(0.12.0ではなくて0.12.6を使う理由としてはURP対応してるため)
github.com
docs.unity3d.com

Blender側は0.12.0-preview
github.com
(0.16.2でも挙動確認済み)

Unityバージョンは2021.2.17f
(2021.3.15でも確認済み)
Windows 10
(Windows 11でも確認済み)

Unity側のインストール


Window>Package Manager

  • ボタンをクリック、Add package from git URL…

com.unity.meshsync@0.12.6-preview と記入(com.unity.meshsyncと入力すれば最新版取得できる)

インストールされたか確認

ダウンロードされたら更新マークをクリックして、
InProjectで絞り込んで、検索ウィンドウにMeshなどと入れ
候補に表示されていたらインストールされている。

Blender側のインストール


Unity側でインストールしたら、Unity側のプラグインと一緒にUnityのプロジェクトフォルダにBlenderプラグインもダウンロードされています。(多分)

Unityのプロジェクトフォルダ\Library\PackageCache\com.unity.meshsync.dcc-plugins@0.12.0-preview\Editor\Plugins~\UnityMeshSync_Blender_Windows.zip

(バージョンはインストールしたものを使ってください)
(最近Pythonファイルに変わったっぽいけど手順は一緒のはず……知らんけど)

無理だったら、別途コチラからzipインストール。
github.com

UnityMeshSync_Blender_Windows.zipを解凍しておきます。

アドオンインストールをしていきます。
編集→プリファレンス

アドオン、インストール

そして先程解凍した、UnityMeshSync_Blender_Windowsフォルダ配下の該当Blenderバージョンのzipを選択。 今回はBlendr3.0がないので、一旦前バージョンのもの、blender-3.0.1を選択しておきます。
(ちゃんと動かなかったらBlender側のバージョンを上げたほうが良いかも?ちなみに2.93.7は動きませんでした)

チェックを入れて有効化

使い方

UnityのGameObjectメニューから、MeshSync> Create Serverを選択して、サーバーオブジェクトを作成。
(なかったらUnity開き直す、ダウンロードバージョンの見直しなどを行ってください)

MeshSyncServerがつくられたらシーンを実行。

同じPC上でBlenderを開き、同期したいメッシュを持つプロジェクトを開きます。

[アクティブツールとワークスペースの設定]タブの[MeshSync]パネルにある[AutoSync]ボタンをクリック

シーン上にメッシュが生成されれば成功です。

↓日本語で各パラメータの説明を見たい人はコチラ

docs.unity3d.com


まとめ

Unity上でのアニメーションをさせる場合Unityのアセットでアニメーションさせるツールも有るが、やはりBlenderなどのDCCツールには使い勝手が及ばない部分も非常に多い。
かといって、Unity上でちゃんと上手く動くかインポート作業を何度もするのも問題です。
そういったときにこのMeshSyncはを作るときに便利そうだなーと思いました。マル