satoruhiga / ofxnatnet Goto Github PK
View Code? Open in Web Editor NEWAddon for Optitrack NatNet protcol (http://www.naturalpoint.com/optitrack/products/natnet-sdk/)
Addon for Optitrack NatNet protcol (http://www.naturalpoint.com/optitrack/products/natnet-sdk/)
I'm getting an error when streaming two rigid bodies in the Example project (streaming one rigid body works perfectly, btw). Here's the output:
example(10915,0x7000002a0000) malloc: *** mach_vm_map(size=18446744073388515328) failed (error code=3) *** error: can't allocate region *** set a breakpoint in malloc_error_break to debug
Here's a screenshot during debugging:
Running Motive Tracker 1.9.0 and NatNet 2.9 on OSX 10.11.4
When running Natnet2OSCbridge using ofxNatNet on windows 10 I get an error:
[ error ] ofxNatNet: Net Exception
And therefor cannot connect to NatNet/Motive.
Using Motive version 1.8.0 and NatNet version 2.8.0.0
Using latest build with OF 0.9.8 and ofxNatnet master of github (https://github.com/satoruhiga/ofxNatNet)
Further research leads to locating the error in ofxNatNet.cpp starting on line 120 in the following try/catch:
try{ interface = Poco::Net::NetworkInterface::forAddress(Poco::Net::IPAddress(interface_name)); } catch (const Poco::Net::InvalidAddressException& e) { interface = Poco::Net::NetworkInterface::forName( interface_name, Poco::Net::NetworkInterface::IPv4_ONLY); }
The problem is that the Poco library returns a malformed IPV6 address instead of a IPV4 address.
WORKAROUND
A workaround is to turn of IPV6 in you network adapter settings and then it will work fine.
NOTE
This bug could be because of the use of static IPV4 IP addresses on the NATNET data network without any DHCP or DNS services.
We ran into an issue that we think is caused by the "copy to mainthread" code of a MessageID == 7 packet (NatNet 2.8, Motive 1.8)
In the loop rigidbodies[i] is copied to this->rigidbodies[RB.id], which causes a jumble to happen when you do the following:
In this case we received the data in the order: 2, 3, 1, but the names in the order 1, 2, 3 (or the other way around, it's confusing)
Fix appears to be easy, change this->rigidbodies[RB.id] to "this->rigidbodies[i]" (works for us so far).
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.