HCom

HCom communication system for Houdini, Maya and Nuke.

 To download the latest version :



  1. Intro
  2. Server
  3. Houdini Client
  4. MayaClient
  5. Maya Alembic support
  6. Nuke Client


Intro:


HCom is a client / server communication system which allows the user to send data between software like Houdini, Nule and Maya through local network. It allows to send meshes, bitmaps, and houdini digital assets ( more to come soon ... ).

It is based on Python 2.7 and the rpyc library, the UI is written with PySide ( shipped with Houdini and Maya ).

How it works:

- A hCom python server runs on a machine on the network
- On each user machine you can connect an hCom client ( from Maya or/and Houdini )  to the server.
- you can send data to any user connected to hCom, for houdini digital assets, only maya with Houdini Engine installed can receive them.




Server :

To run the server, with python installed on the server machine (with rpyc library), simply double-clic on the HcomServer.py. You can change the port used by the server in the line 111 of the python file :

t = ThreadedServer(HCom_Server, port = 5000, protocol_config={"allow_public_attrs" : True, "allow_pickle" : True})


Hcom server fine and running


Houdini Client :

Houdini client demo on vimeo ( v0.5.0)

Hcom client is only supported by Houdini 14.0+. To install it, just copy all the files and folder "HComHoudiniClient" from the github deposit to $HOME/houdini14.0/scripts/python or in any folder in your PYTHONPATH.

Copy the Hcom.pypanel to the folder $HOME/houdini14.0/python_panels and launch Houdini.


 Add a panel « Python Panel » :



On the python panel, click on the cog-wheel icon then « edit meny » and by sur « HCom » is on the « menu entries » side.

You have now access to the Hcom UI :


Hcom UI

To connect Hcom first click on the cog-wheel icon of Hcom UI, then change the server adresse to the computer's adress where the server has been launched from.


Then choose a name then click on the connect button ( the plug icon ), you are now connected and you can see all other Hcom users connected on the left list, on the tooltip of an user, you can see which software he/she is using as well as the version:





All messages or data you send from the « Open Chat Room » tab will be sent to all user connected.

You can double-clic on a user name to open a new tab in order to send data only to this user.


What your can send to a houdini client:



 Node or digital assets.



Node or digital assets parameters only.



 Selected sop node result sent as bgeo format.



Selected sop node result sent as obj format.


Image file.


Alembic cache data.


For alembic export you have to select one obj node and choose the frame range of the cache you want to export.

When you receive a message from an user, a new tab will be added to your UI ( if it is sent from the open chat room, the message will be appended directly to this tab ).
The envelope icon shows you that you have unread messages.




If you click « Accept » the data ( here, a simple node ) will be added to your current session with on comment saved on the node :



If a user send you an otl your don't have, Hcom will save the otl ( and all sub-otls if any ) in the folder « HCom_Received_Files », and install the otl in your current houdini session, you can access to this folder using this icon : 

  

OTL received and installed in your "HCom_Received_Files" folder.


By default, Hcom keep an history of every message you sent / recieved. This can be switch off in the settings window. The history files can be check using this icon :

Maya Client :


Maya client demo on vimeo

Copy the HComMayaClient to your $HOME\maya\2015-x64\scripts folder
Copy the shelf_HCom.mel to $HOME\maya\2015-x64\prefs\shelves
and the hcom_shelf.png to $HOME\maya\2015-x64\prefs\icons

Launch Maya and you have now access to the HCom shelf.


You can dock the UI where you want just as a normal tool. You can connect to the server as you do with Houdini, if you have Houdini Engine for Maya loaded, you will see it on the user tooltips ( other users will see it as well ).


For the moment what you can send from maya is only pictures and mesh as .obj and alembic cache with these three icons:

  

For alembic export, you have to select one or more meshes, then choose the frame range of the cache you want to export.

If you have Houdini Engine instller and loaded, a Houdini user can send you a digital asset, you can accept it just like a normal data:



Henry is sending a digital asset to your current Maya session

Digital asset received


Alembic support demo:






Nuke Client:



HCom supports also Nuke, in order to have it in your session, follow the install.txt instructions and in Nuke, clic on the HCom icon on the toolbar:


HCom will show up in a new panel:


Just like other clients, you can send 3D meshes ( obj and alembic ) by selecting a 3D node and press the obj button or alembic button.

You can also select any 2D node and send the comp result of that node by pressing this button:


You can choose in what format you want to send the comp in the settings window:



The nuke client can also receive 3D meshes or 2D bitmap from other clients. The 3D object will be read with a ReadGeo node, and the picture with a simple reader node.




Created by Guillaume Jobst - contact@guillaume-j.com -