numessanguis / facsvatar-blender Goto Github PK
View Code? Open in Web Editor NEWCompanion Blender add-on to the FACSvatar project. Provides an interface in Blender and non-blocking data transfer.
License: GNU General Public License v3.0
Companion Blender add-on to the FACSvatar project. Provides an interface in Blender and non-blocking data transfer.
License: GNU General Public License v3.0
Key frame capture seems to only work if you do not have the OpenFace program open when you click Connect Socket, and Insert Key Frame in the FACSvatar-Blender plugin.
As long as you set Connected, and Insert Key Frames before you open OpenFace, it captures key frames successfully. If you have the OpenFace program open, even just idling, when you set these parameters in the FACSVatar_Blender plugin, although the avatar moves from the information being streamed, no key frames are captured.
Hi, I am running Blender 2.81 (sub 16) on Windows 10 Enterprise
After selecting the FACSvatar-Blender-0.4.0-alpha.zip file under Edit>Preferences>Add-ons>Install... FACSvatar does not appear in the list of add-ons. Terminal output reads as follows:
Modules Installed () from '...\FACSvatar-Blender-0.4.0-alpha.zip' into 'C:\\AppData\Roaming\Blender Foundation\Blender\2.81\scripts\addons'
System Info:
Windows 10 x64 v1909
FACSvatar v0.4.0
FACSvatar-blender v0_4_0-alpha
Blender v2.82a
MB-Lab v1.7.7
I have FACSvatar up and running via the Docker for Windows directions. I am using the webcam version and I can see the data sent from OpenFaceOffline.exe to my Docker container ip address 127.0.0.1. I have the openface_2.1.0_zeromq\config.xml set to ip = 127.0.0.1 port =5570
Below is my docker container info when I run docker-compose up
.
Attaching to modules_facsvatar_facsfromcsv_1, modules_facsvatar_facstoblend_1, modules_facsvatar_bridge_1
facsvatar_facsfromcsv_1 | tail: cannot open 'anything' for reading: No such file or directory
facsvatar_facstoblend_1 | INFO:root:Current libzmq version is 4.2.5
facsvatar_facstoblend_1 | INFO:root:Current pyzmq version is 17.1.2
facsvatar_facstoblend_1 | INFO:root:Publisher port is specified
facsvatar_facstoblend_1 | INFO:root:Creating ZeroMQ context on: tcp://:5572
facsvatar_facstoblend_1 | INFO:root:Bind to tcp://:5572 successful
facsvatar_facstoblend_1 | INFO:root:Write timestamps to: logging/timestamps_pub.csv
facsvatar_facstoblend_1 | INFO:root:Publisher socket set-up complete
facsvatar_facstoblend_1 | INFO:root:Subscriber port is specified
facsvatar_facstoblend_1 | INFO:root:Creating ZeroMQ context on: tcp://facsvatar_bridge:5571
facsvatar_facstoblend_1 | INFO:root:Connect to tcp://facsvatar_bridge:5571 successful
facsvatar_facstoblend_1 | INFO:root:Write timestamps to: logging/timestamps_sub.csv
facsvatar_facstoblend_1 | INFO:root:Subscriber socket set-up complete
facsvatar_facstoblend_1 | INFO:root:deal_port not specified, not setting-up dealer
facsvatar_facstoblend_1 | INFO:root:deal2_port not specified, not setting-up dealer
facsvatar_facstoblend_1 | INFO:root:deal3_port not specified, not setting-up dealer
facsvatar_facstoblend_1 | INFO:root:rout_port not specified, not setting-up router
facsvatar_facstoblend_1 | INFO:root:ZeroMQ sockets successfully set-up
facsvatar_facstoblend_1 |
facsvatar_bridge_1 | INFO:root:Current libzmq version is 4.2.5
facsvatar_bridge_1 | INFO:root:Current pyzmq version is 17.1.2
facsvatar_bridge_1 | INFO:root:Publisher port is specified
facsvatar_bridge_1 | INFO:root:Creating ZeroMQ context on: tcp://:5571
facsvatar_bridge_1 | INFO:root:Bind to tcp://:5571 successful
facsvatar_bridge_1 | INFO:root:Write timestamps to: logging/timestamps_pub.csv
facsvatar_bridge_1 | INFO:root:Publisher socket set-up complete
facsvatar_bridge_1 | INFO:root:Subscriber port is specified
facsvatar_bridge_1 | INFO:root:Creating ZeroMQ context on: tcp://:5570
facsvatar_bridge_1 | INFO:root:Bind to tcp://:5570 successful
facsvatar_bridge_1 | INFO:root:Write timestamps to: logging/timestamps_sub.csv
facsvatar_bridge_1 | INFO:root:Subscriber socket set-up complete
facsvatar_bridge_1 | INFO:root:deal_port not specified, not setting-up dealer
facsvatar_bridge_1 | INFO:root:deal2_port not specified, not setting-up dealer
facsvatar_bridge_1 | INFO:root:deal3_port not specified, not setting-up dealer
facsvatar_bridge_1 | INFO:root:Router port is specified
facsvatar_bridge_1 | INFO:root:Creating ZeroMQ context on: tcp://127.0.0.1:5580
facsvatar_bridge_1 | INFO:root:Bind to tcp://127.0.0.1:5580 successful
facsvatar_bridge_1 | INFO:root:Router socket set-up complete
facsvatar_bridge_1 | INFO:root:ZeroMQ sockets successfully set-up
facsvatar_bridge_1 |
facsvatar_bridge_1 | INFO:root:Awaiting FACS data...
The FACSvatar-Blender add-on ip address is set to 127.0.0.1 I have tried ports 5570, 5571, 5572, 5580 but I do not see the avatar moving. I noticed in your instructions video that in the add-on you have your port set to 5572. As mentioned I tried that still no joy.
Any ideas?
Thanks
Dan
Hello Numes,
Hope you are well!
I am setting up a workflow for creating offline animations using FACSvatar in bulk. I am using the FACSvatar-Blender addon. As part of this process, I try connect the socket from within Blender using bpy.ops.socket.connect_subscriber(). But somehow this does not actually connect the socket. It shows below message in the python console when connecting:
Info: Connecting ZeroMQ socket...
Info: Sub connected to: tcp://127.0.0.1:5572
Waiting for data...
{'FINISHED'}
And when disconnecting:
Nothing yet...
Info: Subscriber socket closed
{'FINISHED'}
But I don't get a message in the info editor 'sub connected to....' or 'subscriber socket closed' the way I do when I manually click 'connect socket' and 'disconnect socket'. Also, the UI interface of the add-on's panel does not change either, until I hover the mouse pointer over the panel. But when I run facsvatar, there is no data transfer to the model.
So I wonder whether you have any ideas on how to make this work.
I looked for how to simulate UI interaction with the addon's panel through python, but could not find anything useful.
By the way, the main idea of the bulk process is like this:
Loop from within blender python script:
Hi,
My first question is how do I use Docker to send my own .csv data to the Facsvatar Blender plugin?
Should I set up one container for the Bridge process, one for the FACStoBlend process and one for the Input process, using the Dockerfiles in the respective directories?
If yes, I assume the next step is to run main.py in all three containers?
Second question is can you help me fix the ZeroMQError: Address already in use I get when I run main.py in the Facstoblend container, as well as in the Bridge container:
facsvatar_facstoblend:
INFO:root:Current libzmq version is 4.3.2
INFO:root:Current pyzmq version is 18.1.1
INFO:root:Publisher port is specified
INFO:root:Creating ZeroMQ context on: tcp://127.0.0.1:5572
Traceback (most recent call last):
File "main.py", line 124, in
facsvatar_messages = FACSvatarMessages(**vars(args))
File "main.py", line 56, in init
super().init(**kwargs)
File "/app/process_facstoblend/facsvatarzeromq.py", line 73, in init
self.pub_socket = FACSvatarSocket(self.zeromq_context(pub_ip, pub_port, zmq.PUB, pub_bind),
File "/app/process_facstoblend/facsvatarzeromq.py", line 152, in zeromq_context
socket.bind(url)
File "zmq/backend/cython/socket.pyx", line 550, in zmq.backend.cython.socket.Socket.bind
File "zmq/backend/cython/checkrc.pxd", line 25, in zmq.backend.cython.checkrc._check_rc
zmq.error.ZMQError: Address already in use
facsvatar_bridge:
INFO:root:Current libzmq version is 4.3.2
INFO:root:Current pyzmq version is 19.0.0
INFO:root:Publisher port is specified
INFO:root:Creating ZeroMQ context on: tcp://127.0.0.1:5571
Traceback (most recent call last):
File "main.py", line 259, in
facsvatar_messages = FACSvatarMessages(**vars(args))
File "main.py", line 53, in init
super().init(**kwargs)
File "/app/process_bridge/facsvatarzeromq.py", line 73, in init
self.pub_socket = FACSvatarSocket(self.zeromq_context(pub_ip, pub_port, zmq.PUB, pub_bind),
File "/app/process_bridge/facsvatarzeromq.py", line 152, in zeromq_context
socket.bind(url)
File "zmq/backend/cython/socket.pyx", line 550, in zmq.backend.cython.socket.Socket.bind
File "zmq/backend/cython/checkrc.pxd", line 26, in zmq.backend.cython.checkrc._check_rc
zmq.error.ZMQError: Address already in use
This issue and this issue seem to be related to this error. These discussions are too complicated for me, so your help is much appreciated.
Finally, I tried to run a container for the input process, but it did not start up. No logs are shown in the Docker dashboard so I have very little info on this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.