From BlenderWiki

Jump to: navigation, search

User Documentation for Verse integration to Blender

Blender containing integration to verse isn't that different from the normal Blender. The user can work as usual, but he or she can also share or easily exchange data with other users. Other users can be running different clients (like Maya, 3DS Max, etc). Keep in mind, that client has to have some support for verse (usualy a plugin) to be able to share/exchange data with Blender. When no verse plugin exists for your favorite 3d app, it will not be able to share data with your friends running cool Blender! ;-)

Testing builds

All testing builds contain the blender binary as well the verse server. Both the blender binary and the verse server print some debug information to stdout. When you work with large amounts of data, it is recommended to run both binaries with redirection of stdout:

./blender > /dev/null
./verse > /dev/null

Note: _Linux testing builds and source codes are updated every day at night (GMT). Mac OS X build is created occasionaly by Timothy and may not be up to date! Windows build is created by Chris and needn't be up to date either._

Starting of verse server

Starting the Verse server is very simple. Just type the following command in the unix console:

./verse

windows users will have to type the following command:

verse.exe

There is no need to run verse server as root or admin user. Be aware of too restrictive firewalls and NAT. Verse server runs at port 4950.

Connecting to Verse server

Blender containing the integration with verse has a new item in the main File menu: Verse connect submenu

When you are running the verse server on your system (at localhost), you can select "Connect to localhost". When the verse server is running on some other connected computer, then you select "Connect ...". When you choose the latter, you will be prompted to enter the name of the machine running the verse server. You can specify machine with either the IP number or domain name:

Set up verse server domain name or IP

After clicking "Connect to localhost" or pressing Ok button depending on the setup, Blender will try to connect to verse server. It can take several seconds (depends on your system ... Blender will be generating a secure key). If the connection isn't accepted (because the server isn't running, your network setting is wrong, etc.), then the following error messages will appear:

Set up verse server domain name or IP

It is recommended to exit Blender and start Blender again, because Blender doesn't handle verse sessions perfectly yet.

When you are successfully connected to verse server you will see the corresponding item in Outliner: Visualisation of connection in Outliner

Outliner is useful and powerfull tool when you want to share data at verse server. Work with Outliner will be mentioned later.

Pushing mesh object to Verse server

It is possible to push mesh object to the verse server, when you are connected. The mesh object must be in edit mode. Enter edit mode and click on the Mesh item in the header of 3dview:

Vb-screenshot-06.jpg

Select 'Push to Verse server'. Blender will send all neccessary data to the Verse server.

Dev verse note: _Blender will create both object and geometry node on the verse server. These nodes will be linked together with "VerseLink" called 'geometry'. Names of nodes will be created depending to blender names (ob->id.name and mesh->id.name). The geometry node will contain two layers (vertex layer and polygon layer). Blender will automaticaly subscribe to changes in both layers and changes in the transformation matrix of object node._

When an object is pushed to the verse server you will see two new items in Outliner (other verse clients connected to the verse server will see these nodes too).

Object and geom node visualised in Outliner

You can see that there is one item called Cube and a second "subordinated" item called Cube too. First item represents the object node and it is equivalent to a Blender Object. The second "subordinated" item represents the geometry node and it is equivalent to Mesh data.

Subscribing to "foreign" data

After some data has been pushed to the verse server, we can test that we are able to subscribe to "foreign" data. We will start a new blender session (at another computer or the same one ... it doesn't matter). Don't forget to connect to the right verse server ;-) . When we are connected to the verse server then we can see some well known items in Outliner:

Subscribing to verse node

We can click with RMB at object node (not the subordinated geometry node) and select 'Subscribe'. Blender will now create a new mesh object node and new mesh. The object will be in edit mode. We can then exit edit mode and try to move, rotate and/or scale the Object. The Object should be moved in the first blender session too :-) . This means that we are subcribed to all changes (again).

Sending changes of geometry to verse server

Most of the edit mesh tools work without problem now. I noticed some problems with _Bevel_ and _Merge_. Other tools should work correctly. If you find any buggy tool, then feel free and send me email (address can be found on my personal page).

Note: _Undo and redo work quite good, but keep in mind, that support of unod/redo experimental in edit mode._

Receiving changes of geometry from other verse clients

Blender can receive in theory all changes from other verse clients. Changes are visualised in edit mode as well in object mode.

Outliner

Outliner is used for the visualisation of all verse sessions (you can be connected at the same time to several verse servers), all object and geometry nodes and all avatars (avatar is a "special" verse object node representing verse client). When you click with RMB on the verse session, you can disconnect from the verse server. When you click with RMB on the verse object node, you can subscribe or unsubscribe from the verse node. When somebody is connected to verse server you will see the coresponding avatar node.

Avatar

You can see an object node called blender_237:latitude on several screenshots. =blender_237= is the name of the verse client and =latitude= is my hostname (exported system variable =$HOSTNAME=). If you want to see your hostname in outliner too, then you will have to execute the following command (UNIX only):

export HOSTNAME="name_of_my_computer"

users using _csh_ or _tcsh_ have to type the following command:

setenv HOSTNAME "name_of_my_computer"

You can also add these commands to your =~/.bashrc= or =~/.tcshrc= configuration files.

Renaming of verse node/session

Renaming of verse nodes or the verse session doesn't work in the Outliner. You can rename object node in button window or in Transform Propertis panel in 3dview.

TODO

I would like to visualise verse layers too in the future.

Disconnecting

When user is connected at least to one verse server, then he or she can disconnect from all verse servers or can disconnect from each verse server separately:

Vb-screenshot-03.jpg

You can end the verse sersion in the Outliner too.

Warning: _reconnecting to same verse server will not work properly. It is recommended to restart Blender (and wait few seconds)._

When the user is connected to several servers, the user will be prompted which session he or she would like to end:

Vb-screenshot-04.jpg

Conclusion

I hope everything is clear now. Feel free to add any comments or correct my terrible grammatical mistakes.

Links

[1] http://wiki.blender.org/bin/view.pl//VerseIntegrationToBlender
[2] http://verse.blender.org
[3] http://purple.blender.org
[4] http://www.uni-verse.org
[5] http://www.quelsolaar.com
[6] http://www.blender.org/modules/verse/

Jiří|Hnídek 31 Jul 2005