← All ideas
  • Published 26 Oct 2019

Blender Real-Time Collaboration

Blender should get a real-time collab system using BlenderID. This would be a great idea so if you have Blender collab, multiple people can model, rig, animate, edit nodes, and much more in real-time! This would make everything easier when it comes to people wanting to do Blender together. It could also speed up the process of making something beautiful. Since it is real-time people can save each other work and you don't have to manually update and possibly lose all your edits, unlike Unity. This is an idea I thought will be amazing. Thank you for reading! BTW sorry for the crappy thumbnail. I made this with my mouse.

blendercollab.PNG

86.2%

Development Status: Open

Upvote 25 Downvote 4
owenjh12345
26 Oct 2019

14 Comments

slumber

Hi !

In my opinion, Blender is the best way to start experimenting real-time collaborative workflow for many reasons:

  • Its a multi-purpose DCC, It can handle almost all of the animation pipeline ! So we can easily test multi-stages collaborations (without a lot of painful data I/O...)!
  • The community is awesome and can easily contribute !
  • Its opensource !

@owenjh12345 it could be awesome to integrate BlenderIDs into the Multi-User addon with a lobby system to allow community exchanges ! I think this could be achievable after a performance, stabilization pass ;)

A blender file can be anything from a donuts to a full movie. It's a lot harder to build an app that is stable at every scale like this, and for a feature to make it into Blender, it has to work at full scale.

My initials goal is to experiments different collaborations workflows for animation production, if we found a solution for this scale, it should also work for a donuts.

It's not trivial to write a software in such a way that multiple users can edit different sorts of data at the same time.

What would happen if one artist tries to use a data-block and another deletes it? Or if two tried to edit it at the same time? Or if two tried to edit it at the same time?

Right management exist for that, to prevent interference, conflicts between users. My goal is to find a right pattern which allow natural interactions between users without being a break for the creativity. By the way, Blender already have great data-structures to help dealing with this problem (Collections, Scenes, ViewLayers...)

How would Blender handle modes?

In the Multi-User add-on, the replication is Data-oriented which means that it doesn't care of the context. Each user can be in different modes since the add-on only cares about underlying data.

5
thinsoldier

* @Swann Martinez * Even if both users were limited to being in the same mode and the sculpt mode did not work at all, I would want it to help beginners and clients. Most clients need help just resizing an object and changing the color and refuse to watch tutorial videos.

1
xan2622

owenjh12345 :

It is funny that you are asking for this feature because it is already possible thanks to this MULTI-USER add-on:

blenderartists.org/t/addon-multi-user/1187118

It literally allows to model on the same scene with several users, in real-time!

I love the idea of being able to model with several users (it could be really fun with some friends) and I thank Swann Martinez (slumber) for making this come true.

Note that it is still in development, currently in "alpha" version, so there might be bugs but the add-on is promising!

Ultimately, if this add-on is added to Blender, it will allow new Blender users get help remotely, thanks to other more experimented users. Those will even be able to show how to do this or that, directly in the software. IMO, it is a great improvement for the helping community and for interaction between users.

It would also allow a group of users (working on the same project) to model different objects together in the same scene, for example.


Swann Martinez will be demonstrating his add-on at the Blender Conference today, at 3:30pm. conference.blender.org/2019/presentations/529

You can watch the Conference live on Youtube: youtube.com/user/BlenderFoundation/videos

5
Draise

* @ xan2622 * Wow, it is possible already!?

1
Josephbburg

* @ xan2622 *

Ultimately, if this add-on is added to Blender, it will allow new Blender users get help remotely, thanks to other more experimented users

OK, that sounds like a good idea. I'm still skeptical that it's worth the work, but I might be convinced.

xan2622

* @Josephbburg * Do you also think that "real-time document editing" (Google Docs/Sheets, Microsoft Office) was a unnecessary feature?

IMO, it is one of the best collaborative feature that has been done.

2
Josephbburg

* @ xan2622 * A blender file can be anything from a donut to a full movie. It's a lot harder to build an app that is stable at every scale like this, and for a feature to make it into Blender, it has to work at full scale.

What I think about Google docs is irrelevant. You're comparing apples to oranges.

Draise

* @Josephbburg * There should be a data limit when it comes to collab, as yes.. it would be ridiculous to have entire worlds, movie pipelines and setups with a 500mb+ file and all it's data to collaborate on. But for training and modeling, and layout, and animation direction, this would be extremely useful. A simple data check on file size for interpobility online or over LAN should work around that issue, so you know to what extent you can use it. It's more a troubleshooting/training tool - which Blender thus far lacks.

26wilmotwa1

something that could be done, is that you could set up a web server on a beefy computer, and then it works like a multiplayer game. The .blend file it self would be stored on the server, and you could just view little parts of a scene at the same time. It would be a more long term solution.

toxicbits

There is also the Mixer addon by Ubisoft : gitlab.com/ubisoft-animation-studio/mixer

"Mixer is a Blender addon developed at Ubisoft Animation Studio for Real Time Collaboration in 3D edition. It allows multiple Blender users to work on the same scene at the same time. Thanks to a broadcasting server that is independent from Blender, it is also possible to implement a connection for other 3D editing softwares."

jason

For what it's worth, Blender did have this feature long ago when it incorporated the Verse protocol. Unfortunately, the protocol never caught on and users never actually took advantage of the collaboration features because the majority of workflows in existence conflicted with real time collaboration.

It's quite possible that the idea was well ahead of its time (like, by 10+ years), but I'm personally skeptical about that.

Josephbburg

I think this might be possible with Clara.io ... but I'm 99% sure this would be impossible to do that in Blender. It's not trivial to write a software in such a way that multiple users can edit different sorts of data at the same time. Especially a program that manages its memory as directly and carefully as Blender does ( a blend file is essentially a copy of the RAM used by the file, which consists of pointers to and between all kinds of blocks of data).

This isn't actually as good an idea as it seems, anyway. How would you keep your friends from breaking things while you're away, or keep them off of stuff that should only be yours? How frustrating would it be if another person crashed Blender while you are doing something totally innocuous? And how much more often would crashes occur? What would happen if one artist tries to use a data-block and another deletes it? Or if two tried to edit it at the same time? How would Blender handle modes? This sort of thing couldn't work with more than three or four people, if at all.

The best solution is to improve Blender's pipeline tools-- it's asset management system, file I/O, and static/dynamic overrides. Then you can use a server to store your files, and each artist works on a specific task.

Roadkill

Agreed this feature will be part of Blender's future and many, most or all the above downsides could be overcome. Another possibility would be to use something like clara.io and implement it on the blender cloud, though there would be a charge for it.* @Josephbburg *

___11

"How would you keep your friends from breaking things while you're away, or keep them off of stuff that should only be yours? " Blender could have an option for locking objects from change (for future or finished work), hide objects (make them gray) from others if needed...