unity3d-jp / MeshSync

A package for synchronizing meshes/models editing in DCC tools into Unity in real time.
Other
1.55k stars 174 forks source link

Multiple machines syncing with one scene support #26

Closed AndreyZhukov closed 5 years ago

AndreyZhukov commented 5 years ago

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

AndreyZhukov commented 5 years ago

Edit: I managed to make it work that way by using only one MeshSyncServer object and one port number (shared), so all the objects go under the same Root object, only every object has to have it unique name, for it will be being overwritten by the object with the same name form the other DCC (here we used Blender) scene. So, some automatic namespace would come in handy.

i-saint commented 5 years ago

thanks for your feedback. but I can't understand what is your problem. can you send me a screen capture?

multiple-client single-unity case is unintended use and almost untested, but possible in theory.

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

this should work. at least it is working on my machine with simple test scenes.

AndreyZhukov commented 5 years ago

Thank you for quick reply! :) After I read it, I gave it one more try and it worked! :) The thing was I had different scene scale in two Blender scenes, so I wasn't noticing the tiny objects (scale 0,01) appearing from the second Blender instance. I'm happy it works this way! 😇👍 ​​​​​​​So the naming is not an issue anymore.

image

Actually this functionality has a great potential for me. There is a tool which works in a similar way, only it doesn't sync with DDC, just Unity: https://www.reddit.com/r/Unity3D/comments/9974m0/scenefusionsynty_speed_build_with_3_artists_1/ http://www.kinematicsoup.com/scene-fusion/ I haven't tested this one yet, neither have I tested MeshSync with multiple-Unity (about to do this). [Edit:] Unfortunately the changes a synced only with one Unity.

With this test I came up with another request :) It would be cool (i think) to be able to make a "Force Manual Sync" from inside Unity, which would behave like the Manual Sync button was pressed in Blender. This is needed for such a situation like when I would need to update/sync with the scene of a friend of mine, and don't have an access to his computer. E.g. he made some changes in his Blender scene, while my Unity scene wasn't open, and after I open it I'd like to "update" it with all/selected Blender scenes.

i-saint commented 5 years ago

glad to hear it worked.

multiple-Unity "Force Manual Sync" from inside Unity

these are too special use cases. and implementing these are not easy. I won't do it unless I got several same requests.