Search the Community
Showing results for tags 'syncker'.
-
We used Unigine Sim 2.6 for Cave system. When doing Cave tracking, we encountered the problem of scene node vanishing and abnormal display of engine screen. The code for Cave tracking is as follows: SetSyncCAVE (1, Unigine: : Math: : vec3 (x, y, z)); X, Y, and Z obtain rigid body position information from OptiTrack, call setSyncCave function in update() function, and real-time follow the position information of new Cave head. The video shows the problem described: In the trace test 02.mp4 file, there was a strange flashing ripple on the right side of the white box on the screen. In the tracking test 01.MP4 file, some items are removed as the character moves forward, then return to normal after a distance, with a jumble of images on the screen and a distinct diagonal stripe.I don't know what the setup is, This does not appear when using normal camera Settings. It was generated by using setSyncCAVE, but we did not find the relevant Settings and parameters. Is this a BUG in Unigine Sim 2.6? 1c9a49ccf457d3697be70850e1d89bee.mp4 731b03acb1b77aa9409b9933deaaceda.mp4
-
Custom messages between master and slaves with syncker
Amerio.Stephane posted a topic in Sim IG (Image Generator)
Hello, I'm trying to exchange custom messages between the master and slaves. I've tried using the setTCPUserReceiveCallback on the slave, and sendTcpUser on the master, but when receiving a message, the slaves just freeze. Here is the code I used (I couldn't find an example in the samples/demo, so I just had to guess how to use it): class TcpUserReceive : public Unigine::CallbackBase1<const BlobPtr&> //< Is it the way to do it? { public: void run(const BlobPtr& blob) { String str = blob.get()->readString(); Log::warning("Received: %s\n", str.get()); } } tcpUserReceive; int AppWorldLogic::init() { int syncker_index = Engine::get()->findPlugin("Syncker"); if (syncker_index != -1) { Syncker::ManagerInterface* syncker_manager = (Syncker::ManagerInterface*)Engine::get()->getPluginData(syncker_index); if (!syncker_manager->isMasterInitialized()) //< do it only on slaves { syncker_manager->getSlave()->setTCPUserReceiveCallback(&tcpUserReceive); } } return 1; } int AppWorldLogic::update() { if (App::get()->clearKeyState('x') && !Console::get()->getActivity()) { int syncker_index = Engine::get()->findPlugin("Syncker"); if (syncker_index != -1) { Syncker::ManagerInterface* syncker_manager = (Syncker::ManagerInterface*)Engine::get()->getPluginData(syncker_index); if (syncker_manager->isMasterInitialized()) { BlobPtr blob = Unigine::Blob::create(100); //< what if I pass 0? Is the buffer resized auto? blob->writeString("custom message"); syncker_manager->getMaster()->sendTCPUser(~0, blob); } } } return 1; } Thanks for your help. -
Hello, I am just building a test with Unigine Syncker. Now I want to configure a CAVE environment. The documentation says that a mesh needs to specified, but did not show in which coordinate system it has to be configured. I got a configuration working where the positive Z-Axis of the Mesh shows to the left, the positive Y-Axis up and the positive X-Axis towards me, but I am not sure if this is right. I also run into the problem that the projection is not calculated correctly on the slave (see attachement). If I set the aspect ratio to 1:1 it works but not for 1920:1080. Here is the code example for the mesh: int slave_0=mesh.addSurface("slave_0"); //Z-Positive left , Y-Positive up, X-Positive towards mesh.addVertex(vec3(-1.f, -0.108f, 2 * +0.192f), slave_0); //bottom-left corner mesh.addVertex(vec3(-1.f, -0.108f, 0), slave_0); //bottom-right corner mesh.addVertex(vec3(-1.f, +0.108f, 2 * +0.192f), slave_0); //top-left corner mesh.addIndex(0, slave_0); mesh.addIndex(1, slave_0); mesh.addIndex(2, slave_0); mesh.save("slaves.mesh"); May someone know what to do exactly?
-
i get test with the syncker demo ,but it does.t work . In shell commond i input the commond "main_x86 -data_path ../ -editro_script core/systeems/syncker/sycker_slave.cpp",and then input editor_load,then the slave output name: unknow udp:8890 tcp:8891 in the master computer ,i input "main_x86 -data_path ../ editor_script core/systerm/syncker/sycker_master.cpp,and it output address:192.168.2.255 udo:8890 tcp:8891 and i changed the ip as the master ip editor_reload and it shown that address:11.2.2.11 udp "8890 tcp"8891 and then there's nothing response. the slave aways show a black screen,and the master shows the goddess scuptures. can any one help me?