Files
multi-user/README.md
T
Swann Martinez f60c3937e5 Update README.md
2019-09-30 16:43:59 +00:00

3.7 KiB

Multi-user blender addon

Enable real-time collaborative workflow inside blender

⚠️ Under development, use it at your own risks. Currently tested on Windows platform. ⚠️

This tool aims to allow multiple users to work on the same scene over the network. Based on a Clients / Server architecture, the data-oriented replication schema replicate blender datablocks across the wire.

Installation

  1. Download lastest release here.
  2. Install last_version.zip from your addon preferences

Usage

Settings are under: View3D -> Sidebar -> Multiuser

Before starting

1. User

settings

  • name: username.
  • color: color used to represent the user into other user workspaces.

2. Network

⚠️ If you host a session over internet, special network configuration is needed ⚠️

Host Join
asd
host_panel join_panel
Start empty: Cleanup the file before hosting IP: host ip
Port: host port

2.1 Advanced

properties

Right strategy (only host) enable you to choose between a strict and a relaxed pattern:

  • Strict: Host is the king, by default the host own each properties, only him can grant modification rights.
  • Common: Each properties are under common rights by default, on selection, a property is only modifiable by the owner.

On each strategy, when a user is the owner he can choose to pass his rights to somemone else.

Propertie frequency gird allow to set a custom replication frequency for each type of datablock

In-session

Connected users

users

This pannel displays all connected users, including you. The camera button allow you to focus on a user.

Properties outliner

properties

Current development statut

Actually, not all datablock are supported for replication over the wire. The following list summarizes the status for each ones.

Name Statut Comment
action ❌ WIP
armature ❌ WIP
camera ✅
collection ✅
curve ✅ Not tested
gpencil ✅
image ✅ Local only
mesh ✅
material ✅
metaball ❌
object ✅
scene ✅
world ✅

Performance issues

Since this addon is writen in pure python for a prototyping purpose, perfomance could be better from all perspective. Soon I will start to port the multi-user addon concept to a blender branch.

Dependencies

Dependencies Version Needed
ZeroMQ latest yes
msgpack latest yes
PyYAML latest yes

Contributing

  1. Fork it (https://gitlab.com/yourname/yourproject/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request