Giter VIP home page Giter VIP logo

meshsync's Introduction

demo

Latest official docs

MeshSync

ReleaseBadge ReleaseBadge

Working together with MeshSyncDCCPlugins, MeshSync is a package for synchronizing meshes/models editing in DCC tools into Unity in real time. This allows developers to immediately see how things will look in-game while modelling.

Supported Platforms

  • Windows 64 bit
  • Mac (Intel/Silicon)
  • Linux

Please refer to the installation page to install MeshSync package.

Basic usage

From the GameObject menu, choose MeshSync > Create Server to create a server object.
This object has MeshSyncServer component that handles the sync process.

Menu

Features

Internal Plugins

License

Related Tools

meshsync's People

Contributors

i-saint avatar phoxmcleod avatar schinkowski avatar sindharta avatar sindharta-tanuwijaya avatar sonnycampbellunity avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

meshsync's Issues

"Bake Modifiers" mode

in some cases, this is preferable than "import skinning / blendshape as-is". (mainly for film/TV customers)

More DCC Tools support

Possibly be done in the future

  • Houdini
  • Cinema 4D
  • Photoshop (texture and screen painting)

Done

  • Modo
  • VRED
  • Motion Builder
  • 3ds Max
  • Maya
  • Blender
  • xismo
  • Metasequoia

Gave up

  • ZBrush
    • no plugin API and it's software rendering (= impossible to snoop vertices)

release note for next release

  • VRED
    • 対応
  • Maya
    • デフォーマを全て適用した状態で送るオプションを追加 ("Bake Deformers")
    • 両面化オプションを追加 ("Double Sided")
    • テクスチャの同期を部分的にサポート
  • 3ds Max
    • モディファイアを全て適用した状態で送るオプションを追加 ("Bake Modifiers")
    • 両面化オプションを追加 ("Double Sided")
    • テクスチャの同期を部分的にサポート
    • インスタンシングを部分的にサポート
    • Bone オブジェクトの Mesh データは送らないように改良
    • pivot が設定されているとき Skinning の同期が崩れるのを修正
    • 特定条件のマテリアルがある時クラッシュするのを修正
  • Motion Builder
    • デフォーマを全て適用した状態で送るオプションを追加 ("Bake Deformers")
    • 両面化オプションを追加 ("Double Sided")
  • Blender
    • 2.80 beta たぶん対応
    • モディファイアを全て適用した状態で送るオプションを追加 ("Bake Modifiers")
    • 両面化オプションを追加 ("Double Sided")
    • テクスチャの同期を部分的にサポート
    • dupli group を持つオブジェクトの削除が正しく同期されないのを修正
  • Metasequoia
    • 両面化オプションを追加 ("Double Sided")
    • テクスチャの同期を部分的にサポート
    • "Sync Normals" を切るとクラッシュするのを修正
  • Unity
    • 更新が来た時呼ばれるイベントハンドラを追加
    • Scene View に D&D でマテリアルをアサインしたとき、Material List も連動するように対応
    • ブラウザで見ている時、シーンに変化があるとブラウザ側のスクリーンショットも更新されるように改良
    • StreamingAssets/MeshSyncServerRoot のファイルをいじることでブラウザの画面をカスタマイズできるように改良

animation Syncについてjoint animationを認識する場合としない場合があるようです

テスト環境
Unity2018.2.9f1/MeshSync-master180918/Maya2017Update5

animation Syncについて
Mayaでjointにコントローラーを付けてanimationさせ、Unityに転送した場合、正しくanimationが再現される場合とそうでない場合があります
jointにanimationをbakeすると正しく転送されるのですがそれだと不便というかUnityで手軽にpreview確認ができるイメージではなくなります
コントローラーはjointにコンストレインで接続されているだけです

要望:同名マテリアル検出とアサイン機能

これは要望になるのでこちらに記載してもいいものかわかりませんが
マテリアルリストで検出されたのと同名のマテリアルをUnity Project内から検出して(フォルダを指定して検出とかでもいい)同名があれば自動アサインとか可能にならないでしょうか

todo list & release notes for next release

  • Modo
    • first public release
  • Maya
    • pivot が FBX で出力したときと一致するように改良
    • 物理カメラパラメータに対応
    • visibility のアニメーションに対応
    • 空のアニメーションも curve に残すオプションを追加 ("Keep Flat Curves")
  • 3ds Max
    • 2020 対応
    • 座標系が FBX で出力したときと一致するように改良
    • 物理カメラパラメータに対応 (Physical Camera 限定)
    • visibility のアニメーションに対応
    • 空のアニメーションも curve に残すオプションを追加 ("Keep Flat Curves")
  • Motion Builder
    • 物理カメラパラメータに対応
    • visibility のアニメーションに対応
    • 空のアニメーションも curve に残すオプションを追加 ("Keep Flat Curves")
    • bug fixes:
      • 特定のモデルで sync 時にクラッシュするのを修正 (2019 限定?)
      • Quad ポリゴン部分が Unity 側で 2 重に面が貼られていたのを修正
  • Blender
    • 座標系が FBX で出力したときと一致するように改良
    • 物理カメラパラメータに対応
    • visibility のアニメーションに対応
    • 空のアニメーションも curve に残すオプションを追加 ("Keep Flat Curves")
  • Metasequoia
    • 4.7 版を実験的に追加
      • 4.7 版はモーフターゲットの同期に対応
  • Unity
    • 2019.1 の 4 以上の頂点のボーン影響数に対応
    • bug fixes
      • bone を持つ Mesh の更新時にクラッシュすることがあったのを緩和
      • MeshSyncServer を作成し、消去した後に DCC 側からデータの送信があると、以降 MeshSyncServer を再度作成した後もその port は応答しなくなるのを修正

カメラの同期他

・メタセコのカメラの同期のオンオフ
・頂点カラー対応
・Unity側からメタセコにインポートされる際にMat1...となるのを元のマテリアル名を適用

カメラの同期がないので、メタセコで編集されている箇所を確認するために毎回Unityでカメラを回転しないといけないので…。
適応するカメラはMain Cameraとかピックして指定できたらいいですね。
勿論カメラにアニメがある場合もあるので、オンオフ出来る形で

とても便利なので、上記対応して頂けると幸いです。

Maya: crash by blendshape

a customer reported an issue about Maya:
complex meshes (non-manifold mesh?) that contain blendshape will cause a crash.

Should MeshSync allow users to set default renderer or components?

The idea is this:

  • Instead of using SkinnedMeshRenderer by default, perhaps users could set a custom prefab as the "template object".
  • On sync, new objects will be created using this template object, and sharedMesh/transform for each object will be set accordingly.
  • MeshSync workflow appears to be designed for character models, but I find this tool quite useful for modular asset modeling: where we export many objects in batch.
  • Being able to set custom Renderers (like MeshRenderer instead of SkinnedMeshRenderer) or even custom Components, are great for this workflow.

3ds Max: Biped Skin

in some cases, biped skin doesn't sync correctly. it can reproduce by example assets (BWom0001-M3-Cat.max, etc)

Compatible Unity versions?

Unity 2018.3.6f1 と数日前に出たBlender2.8に利用しています。
meshsyncの最新バージョン「0315」はエラーなくインストールできますが、Auto-syncを有効にした上に、Blender側で編集するとUnity側に反映しません。

Unity 2018.3.6f1はしばらく使い続けるため、Blender2.8とMeshSyncのバージョンをそろわなければいけないでしょうか。

大雑把に言うと、Blender、Unityの バージョンを MeshSyncリリースの日付とできるだけ合わせればいいですか。

20190423の更新についてご質問

20190423版のリリースありがとうございます

確認させていただいたのですがカメラのanimationについてご質問があります
テスト環境は
maya2017 update5
Unity2018.2.9f1
です

以前まではカメラのanimationはSyncしてUnityに送られるとUnityの画角に変換されていたと思います
今回のリリースではPhysical Cameraのままと言いますか、画角がmayaのForcal Lengthのままになっていますが今回の更新でこちらの仕様に変更になったのでしょうか
20190423cam
20190423cam2

Will support blender cycles render?

Hi, i like this addon and i'm a blender user.
Current released light is only support blender render?Will support cycles default emission node light?
And will support Cycles Render Principled BSDF Node?I think it maybe easy bake to standard shader.
image
Finally,I hope support NLA.NLA is a good idea, it can make animation clip easy.
NLA like this.
image
maybe it sync like this.
image

I like this addon and Good luck!

Should MeshSync correct mesh to use Y-up on export?

I am using MeshSync with Blender 2.8 and found that it decides to rotation gameobject instead of fixing the mesh coordinate (from Z-up to Y-up).

I think it's fine to keep the Z-up in scene view, but on "Export Mesh", I would say it's more appropriate to convert them into Y-up. Perhaps there should be a toggle to allow changing this behavior?

OpenSubdiv support

not so high priority, but this is one of a cause of DCC / Unity inconsistency.
it will be tricky. if we to support skinning with subdiv, we must apply subdiv before skinning. that means we must apply subdiv for bone weights.

Blender: Mirror Modifier with Mirror Object Support

Hi,

First I thought that Mirror modifier doesn't work at all, but it turned out it works only along it's true pivot point, not when a Mirror Object is specified: then it just ignores it and mirrors using it's own pivot.

Also if it's possible, please make an option in Blender addon "Apply Modifiers", which will, like in FBX export, apply all the modifiers before exporting (here syncing). :)

Best wishes,
Andrey

(Blender) Object parented with empty not working correctly in Unity

内容

Blender上でEmptyを親としたobjectがUnity上で位置がおかしくなり、Blender上で位置を変更しても同期しなくなる。
EmptyではないObjectを親にした場合は問題なくUnity上にもってこれてます。

Object parented with empty is not working correctly in unity. Breaks sync with unity and not shown in correct position in unity.

再現手順

  1. blender上でemptyを作成し、適当なobjectとparent設定(ctrl-p)
  2. Unityと同期させる。

解決方法 Solution

親にEmptyをつかわない。

Don't use empty as parent.

The specified procedure could not be found. (MeshSyncClientMaya)

I copied the plugins and scripts to my user/Documents/maya. When I try to load the plugin, I get this error:
// Error: file: C:/Program Files/Autodesk/Maya2018/scripts/others/pluginWin.mel line 290: Unable to dynamically load : C:/Users/christopher.rogers/Documents/maya/plug-ins/MeshSyncClientMaya.mll The specified procedure could not be found. // // Error: file: C:/Program Files/Autodesk/Maya2018/scripts/others/pluginWin.mel line 290: The specified procedure could not be found. (MeshSyncClientMaya) //

Maya 2018.5, Windows10, Unity2019.1

Maya: Crash by invalid bones

feedback from my coworker (John Oh):
in some case, SkinCluster contains invalid (?) bone and it causes a crash.
(exact condition is unclear but I got scene data that can reproduce the issue)

Find Material From Assetsが一部正しくアサインされない

お世話になっております
新機能のリリースありがとうございました
早速試させていただきましたが表題の通り一部マテリアルが自動アサインされませんでした
(#43でご対応いただいたときは問題なく同期いたしておりました)
正しく同期されるものもあります
何か細かい仕様などございますでしょうか ご教示いただけますと助かります
画像だけではわからないようでしたらお手数ですがご連絡いただけますでしょうか
FindName

Blender: Euler Rotations

Hi! This tool/plugin/addon is amazing! I love it! <3 :)

I just gave it a try and discovered that if bones' rotation mode is set to Euler, the exported clip has micro values, so when playing animation in Blender everything syncs perfectly, but if played just inside Unity, the rotations are tiny (rotations in the created anim. clip). Tried to change to Quaternions and then it works just fine, even played in preview just in Unity.

Thank you in advance! :)

Kind regards,
Andrey Zhukov

todo / release notes for next release

3ds Max

  • 正式リリース

Maya LT

  • 実験的サポート

Maya

  • Camera/Light/Mesh の Transform の同期が機能しなくなっていたのを修正…。

DCC 全般

  • 負のスケールを部分的にサポート
    • XYZ 全てのスケールが負のケースは同期可能に
    • X だけ、Y だけ負のようなケースは非対応
      • DCC 側では X だけ負でも、Unity 側では XYZ 全て負になってしまう。対応は困難であり、未定

Unity

  • "Update Mesh Collider" オプションを追加
    • 同期対象が MeshCollider を持つ場合、Mesh の更新の際 MeshCollider の Mesh も更新する
  • Play モードの時物理シミュレーションをリセットしないように改良
    • Play モードのまま DCC 側でアニメーションを再生すると、Unity 側で Cloth などがちゃんとそれに連動するようになった
  • コンポーネント別同期オプションを追加
    • Unity 側でも Transform / Camera / Light / Mesh 個別の同期 on/off を切替可能
    • Play モードで物理シミュレーションの挙動を確認する時 Transform の同期を切りたい、というのが主な使用目的

20190423の更新版でのご質問 animation clipの置き換えについて

20190423版を試しまして生成されたanimation clipの更新についてご質問があります

生成されたanimation clipですが一度Timelineに組み込んだ後、mayaでanimationの修正をしてMeshSyncでanimation clipをSyncしなおすとmetaデータも書き換えられてしまうようになり、Timelineに組み込んでいたanimation clipがLostしてしまうようになりました(これは3/30にIssues#53で下記ご対応いただいたバージョン(MeshSync_20190330_internal.zip)から起きていたようです すみません 今日まで気づきませんでした)

Issues#53
「少なくとも提供いただいたデータは正しく出るようになりました。お手数ですが確認お願いいたします。
Maya の skinning に絡む処理は非常に複雑であり、おそらくこのバージョンでも意図した結果にならない状況はあると思います。その時はお手数ですがまたテストデータをいただけると幸いです。

また、#51 のマテリアルの件も対応が入っています。
同名マテリアルがあった場合、編集可能な方を優先して割り当てるようにしています。FBX prefab に入っているマテリアルは編集不可能なので、結果的に要件を満たします。」

Blender: Sync animation without backing (as is)

Hi,

Is it possible to export animation as is, without backing it every N'th frame? Sometimes animations are quite simple and there's no need to bake them, for baking makes a lot of keys. It would be nice to disable baking by e.g. setting Frame Step to 0. I tried this but it usually just crashes Blender.
I understand that if one uses weighted tangents in Blender it could be supported only with the latest versions of Unity (from 2018 I guess), cause earlier versions didn't have weighted tangents support.

Second machine not syncing

I have setup everything I think correctly, I have local machine unity and blender syncing properly, but a second machine on same network can not sync scene or load x.x.x.x:8080 in to web browser and get a response, I am using Unity 2017.2.3 is this version supported or are there any extra steps, I have opened up port on firewall on both machines and no other security software running during test and still unable to get things syncing up, any suggestions?

Multiple machines syncing with one scene support

Hi,

Is it possible with this addon to make two or more computers sync together with one scene, as to work on one level at once, e.g. I make and animate a character and a friend of mine makes enviro, simultaneously?

We tried to do that by making second MeshSyncServer object and assigning to it other empty game object in the scene as a Root Object, we tried to use different port numbers, but what we ended up with is simple screen sharing inside unity. I mean the game view was updating to the blender scene last "touched", though new objects (from the friend's blender scene) weren't popping into the Unity scene, they were visible only in the game view.
It seems that it's not possible to use more than one MeshSyncServer object, as they overwrite each other (as I understand).

So, could you please explain how to do that properly? If it's not possible yet, please treat this message as a feature suggestion :)

Best regards,
Andrey Zhukov

pivot issue

Hi ,i'm a max and maya user. Your great tool is quite valuable for setup a bridge between DCC and unity.
But if I modify the pivot in both MAX and Maya, the plugin will sync the movement onto the mesh itself instead of its pivot. Now my workaround is to link the mesh on another one which is put to a location of the new pivot i want. Is it an issue or I missed something? Many thanks.

Non-nonvex polygon support

not so high priority, but this is one of a cause of DCC / Unity inconsistency. also, I got the same request for AlembicForUnity.

(Blender) broken UV issue

内容

Blenderから吐き出したobjのUVが壊れる。
テクスチャがちゃんと貼れない。

UVs exported from blender are broken.
Can't set texture properly.

環境

windows 10 64bit 1709
Unity 2018.1.f2
Blender2.7.9b
MeshSync 20180514

再現手順

  1. Cubeをsmart UVで展開
  2. 適当なテクスチャを貼る
  3. Auto SyncかManual SyncでUnityへ
  4. Unityでテクスチャを貼る

または、Unity上でUVの状態を確認
以下の方法で確認しました。
http://esprog.hatenablog.com/entry/2016/09/30/165057

上記の方法で確認したUnity上でのUVの状態。
15

blender上でのUVの状態
14

解決方法

何度かblender上で2つ目のUVを作成してUnity上にもっていたときに、
うまくテクスチャ貼れたことがありますが、再現性がなかったです。

ご質問:生成されたanimation clipについて

MeshSyncで生成されたanimation clipデータについて質問があります

容量をみますと、生成されたanimation clipの容量はそのままだと随分小さいようで
image
例えばsave projectをする、とかすると容量が増えます
image

Syncしただけのデータは実体がないとかそういったものでしょうか?
Syncで生成されたanimation clipを使いまわせるといいな(FBXでDCCツールからanimationデータを書き出さなくてもそのまま本番用animation clipとして使えないかな)と思ったのですがそういった用途で使うようにはできてないですか?

テスト環境
Unity2018.2.9f1/MeshSync-master181130/Maya2017Update5

要望:選択したものだけSyncするのは可能でしょうか

何項目もすみません
また要望がございます

例えばmayaのシーン内にモデルが10体存在していたとして、Syncさせると現在はmayaのシーンにある10体全部をUnityに送信していると思います
選択したモデルだけをSyncさせることは可能でしょうか
VisibillityをoffすればUnityGameView上では非表示になると思いますが、Visibillityのon/off切り替えではなく、選択したものだけSyncが可能になるとより便利になると思いました

ご検討いただけると幸いです

テスト環境:Maya2017Update5/Unity2018.2.9f1/MeshSyncV181130

Animation: time range issue

a customer reported an issue about animation on Maya (but this is not Maya-specific)
if the start frame is not 0, 0 to start frame will be empty animation on Unity. i.e.: if the time range is 30-60 frame @ 30fps on Maya. it will be converted to 1.0s - 2.0s animation (0.0s - 1.0s is empty animation)

Sync textures

texture is already supported in protocol level and already done in Motion Builder. just port it to other tools.

More bone influence support

Unity 2019.1 or newer supports more than 4 bone influence per vertex - that is a long-awaited feature especially for film/animation customers. MeshSync also must support it.

BlendShapeについてご質問

BlendShape animationについて質問があります

MeshSyncでUnity内に生成されるanimation clipの中にBlendShapeのanimationカーブは確認でき、実際にMeshSync sceneではBlendShape animationが再生されました

が、このanimation clipはmayaからfbx出力したモデル(Skinned Mesh Renderer にBlendShapeは持っている)には(BlendShape animationが)再生されないのですが、仕組み上そういうものですか?

Todo to Next release

  • Export Mesh が機能しなくなってるのを直す
    • ひとつ前のリリースで常に SkinnedMeshRenderer 使うように変えたのが原因…
  • Skinning の weights の re-indexing 処理が微妙に間違ってるのを直す
  • mq: 親が非表示、子が表示 という状況に対応する

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.