253 lines
11 KiB
ReStructuredText
253 lines
11 KiB
ReStructuredText
===========
|
|
Quick start
|
|
===========
|
|
|
|
.. hint::
|
|
*All session related settings are located under: `View3D -> Sidebar -> Multiuser panel`*
|
|
|
|
The multi-user is based on a session management system.
|
|
In this this guide you will quickly learn how to use the collaborative session system in three part:
|
|
|
|
- :ref:`how-to-host`
|
|
- :ref:`how-to-join`
|
|
- :ref:`how-to-manage`
|
|
|
|
.. _how-to-host:
|
|
|
|
How to host a session
|
|
=====================
|
|
|
|
The multi-user add-on rely on a Client-Server architecture.
|
|
The server is the heart of the collaborative session,
|
|
it will allow each users to communicate with each others.
|
|
In simple terms, *Hosting a session* means *run a local server and connect the local client to it*.
|
|
When I said **local server** I mean accessible from the LAN (Local Area Network).
|
|
|
|
However sometime you will need to host a session over the internet,
|
|
in this case I strongly recommand you to read the :ref:`internet-guide` tutorial.
|
|
|
|
.. _user-info:
|
|
|
|
-----------------------------
|
|
1. Fill your user information
|
|
-----------------------------
|
|
|
|
In the **User Info** panel (See image below) allow you to constomize your online identity.
|
|
|
|
.. figure:: img/quickstart_user_info.png
|
|
:align: center
|
|
|
|
User info panel
|
|
|
|
|
|
Let's fill those tow field:
|
|
|
|
- **name**: your online name.
|
|
- **color**: a color used to represent you into other user workspace(see image below).
|
|
|
|
|
|
During online sessions, other users will see your selected object and camera hilghlited in your profile color.
|
|
|
|
.. _user-representation:
|
|
|
|
.. figure:: img/quickstart_user_representation.png
|
|
:align: center
|
|
|
|
User viewport representation
|
|
|
|
--------------------
|
|
2. Setup the network
|
|
--------------------
|
|
|
|
When the hosting process will start, the multi-user addon will lauch a local server instance.
|
|
In the nerwork panel select **HOST**.
|
|
The **Host sub-panel** (see image below) allow you to configure the server according to:
|
|
|
|
* **Port**: Port on wich the server is listening.
|
|
* **Start from**: The session initialisation method.
|
|
|
|
* **current scenes**: Start with the current blendfile datas.
|
|
* **an empty scene**: Clear a data and start over.
|
|
|
|
.. danger::
|
|
By starting from an empty, all of the blend data will be removed !
|
|
Ensure to save your existing work before launching the session.
|
|
|
|
* **Admin password**: The session administration password.
|
|
|
|
.. figure:: img/quickstart_host.png
|
|
:align: center
|
|
:alt: host menu
|
|
|
|
Host network panel
|
|
|
|
|
|
.. note:: Additionnal configuration setting can be found in the :ref:`advanced` section.
|
|
|
|
Once everything is setup you can hit the **HOST** button to launch the session !
|
|
|
|
It will do two things:
|
|
|
|
* Start a local server
|
|
* Connect you to it as an :ref:`admin`
|
|
|
|
.. _how-to-join:
|
|
|
|
How to join a session
|
|
=====================
|
|
|
|
This section describe how join a launched session.
|
|
Before starting make sure that you have access to the session ip and port.
|
|
|
|
-----------------------------
|
|
1. Fill your user information
|
|
-----------------------------
|
|
|
|
Follow the user-info_ section for this step.
|
|
|
|
----------------
|
|
2. Network setup
|
|
----------------
|
|
|
|
In the nerwork panel select **JOIN**.
|
|
The **join sub-pannel** (see image below) allow you configure the client to join a
|
|
collaborative session.
|
|
|
|
.. figure:: img/quickstart_join.png
|
|
:align: center
|
|
:alt: Connect menu
|
|
|
|
Connection pannel
|
|
|
|
Fill those field with your information:
|
|
|
|
- **IP**: the host ip.
|
|
- **Port**: the host port.
|
|
- **Connect as admin**: connect you with **admin rights** (see :ref:`admin` ) to the session.
|
|
|
|
.. Maybe something more explicit here
|
|
|
|
.. note::
|
|
Additionnal configuration setting can be found in the :ref:`advanced` section.
|
|
|
|
Once you've set every field, hit the button **CONNECT** to join the session !
|
|
When the :ref:`session-status` is **ONLINE** you are online and ready to start to collaborate.
|
|
|
|
During online session, various actions are available to you, go to :ref:`how-to-manage` section to
|
|
learn more about them.
|
|
|
|
.. _how-to-manage:
|
|
|
|
How to manage a session
|
|
=======================
|
|
|
|
This section describe tools available during a collaborative session.
|
|
|
|
---------------
|
|
Connected users
|
|
---------------
|
|
|
|
.. image:: img/quickstart_users.png
|
|
:align: center
|
|
|
|
This panel displays all connected users information's, including yours.
|
|
By selecting a user in the list you'll have access to different **actions**:
|
|
|
|
- The **camera button** allow you to snap on the user viewpoint.
|
|
- The **time button** allow you to snap on the user time.
|
|
- The **cross button**[ :ref:`admin` only] allow the admin to kick users
|
|
|
|
-------------------
|
|
Presence show flags
|
|
-------------------
|
|
|
|
.. image:: img/quickstart_presence.png
|
|
|
|
This pannel allow you to tweak users overlay in the viewport:
|
|
|
|
- **Show selected objects**: display other users current selection
|
|
- **Show users**: display users current viewpoint
|
|
- **Show different scenes**: display users on other scenes
|
|
|
|
---------------------
|
|
Replicated properties
|
|
---------------------
|
|
|
|
.. image:: img/quickstart_properties.png
|
|
|
|
The **replicated properties** panel shows all replicated properties status and associated actions.
|
|
Since the replication architecture is based on commit/push/pull mechanisms, a replicated properties can be pushed/pull or even committed manually from this panel.
|
|
|
|
+---------------------------------------+-------------------+------------------------------------------------------------------------------------+
|
|
| icon | Action | Description |
|
|
+=======================================+===================+====================================================================================+
|
|
| .. image:: img/quickstart_push.png | **Push** | push data-block to other clients |
|
|
+---------------------------------------+-------------------+------------------------------------------------------------------------------------+
|
|
| .. image:: img/quickstart_pull.png | **Pull** | pull last version into blender |
|
|
+---------------------------------------+-------------------+------------------------------------------------------------------------------------+
|
|
| .. image:: img/quickstart_refresh.png | **Reset** | Reset local change to the server version |
|
|
+---------------------------------------+-------------------+------------------------------------------------------------------------------------+
|
|
| .. image:: img/quickstart_unlock.png | **Lock/Unlock** | If locked, does nothing. If unlocked, grant modification rights to another user. |
|
|
+---------------------------------------+-------------------+------------------------------------------------------------------------------------+
|
|
| .. image:: img/quickstart_remove.png | **Delete** | Remove the data-block from network replication |
|
|
+---------------------------------------+-------------------+------------------------------------------------------------------------------------+
|
|
|
|
.. _advanced:
|
|
|
|
Advanced configuration
|
|
======================
|
|
|
|
This section contains optionnal settings to configure the session behavior.
|
|
|
|
.. image:: img/quickstart_advanced.png
|
|
|
|
**Synchronise render settings** (only host) enable replication of EEVEE and CYCLES render settings to match render between clients.
|
|
|
|
**Properties frequency gird** allow to set a custom replication frequency for each type of data-block:
|
|
- **Refresh**: pushed data update rate (in second)
|
|
- **Apply**: pulled data update rate (in second)
|
|
|
|
.. note:: Per-data type settings will soon be revamped for simplification purposes
|
|
|
|
|
|
Glossary
|
|
========
|
|
|
|
.. _admin:
|
|
|
|
.. rubric:: administrator
|
|
|
|
*A session administrator can manage users (kick) and have a write access on
|
|
each datablock. He could also init a dedicated server repository.*
|
|
|
|
.. _session-status:
|
|
|
|
.. rubric:: session status
|
|
|
|
*Located in the title of the multi-user panel, the session status show
|
|
you the connection state. All possible state are listed here with their meaning:*
|
|
|
|
+--------------------+---------------------------------------------------------------------------------------------+
|
|
| State | Description |
|
|
+--------------------+---------------------------------------------------------------------------------------------+
|
|
| WARMING UP DATA | Commiting local data |
|
|
+--------------------+---------------------------------------------------------------------------------------------+
|
|
| FETCHING | Dowloading snapshot from the server |
|
|
+--------------------+---------------------------------------------------------------------------------------------+
|
|
| AUTHENTIFICATION | Initial server authentication |
|
|
+--------------------+---------------------------------------------------------------------------------------------+
|
|
| ONLINE | Connected to the session |
|
|
+--------------------+---------------------------------------------------------------------------------------------+
|
|
| PUSHING | Init the server repository by pushing ours |
|
|
+--------------------+---------------------------------------------------------------------------------------------+
|
|
| INIT | Initial state |
|
|
+--------------------+---------------------------------------------------------------------------------------------+
|
|
| QUITTING | Exiting the session |
|
|
+--------------------+---------------------------------------------------------------------------------------------+
|
|
| LAUNCHING SERVICES | Launching local services. Services are spetialized daemons running in the background. ) |
|
|
+--------------------+---------------------------------------------------------------------------------------------+
|
|
| LOBBY | The lobby is a waiting state triggered when the server repository hasn't been initiated yet |
|
|
| | |
|
|
| | Once initialized, the server will automatically launch all client in the **LOBBY**. |
|
|
+--------------------+---------------------------------------------------------------------------------------------+
|