multi-user/README.md
2019-09-30 18:16:38 +02: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

All user-related infos fields.

settings

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

2. Network

Session-related managment tools

⚠️ 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