multi-user/README.md
2019-09-30 17:24:02 +02:00

95 lines
3.2 KiB
Markdown

# Multi-user blender addon
> Enable real-time collaborative workflow inside blender
:warning: Under development, use it at your own risks. Currently tested on Windows platform. :warning:
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. Set user infos
![settings](medias/user.png)
- **name**: username.
- **color**: color used to represent the user into other user workspaces.
#### 2. setup network
:warning: If you host a session over internet, special network configuration is needed :warning:
| Host | Join |
| :------------------------------------------- | :----------------------------- |
| ![host_panel](medias/host.png) | ![join_panel](medias/join.png) |
| Start empty: Cleanup the file before hosting | IP: host ip |
| | Port: host port |
#### 2.1 Advanced settings
![properties](medias/properties.png)
### In-session
#### Connected users pannel
![users](medias/users.png)
This pannel displays all connected users, including you. The camera button allow you to focus your 3D viewport on a user.
#### Properties outliner pannel
![properties](medias/properties_in_session.png)
## 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 | :x: | WIP |
| armature | :x: | WIP |
| camera | :white_check_mark: | |
| collection | :white_check_mark: | |
| curve | :white_check_mark: | Not tested |
| gpencil | :white_check_mark: | |
| image | :white_check_mark: | Local only |
| mesh | :white_check_mark: | |
| material | :white_check_mark: | |
| metaball | :x: | |
| object | :white_check_mark: | |
| scene | :white_check_mark: | |
| world | :white_check_mark: | |
### 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