Cómo escribir middleware Kinect y Unity en C sostenido
ZDK de Zigfu
Usé OpenNI antes. pero no esperaba que fuera compatible con Kinect. Así que estaba muy feliz de descargar la versión de prueba y fue muy fácil de usar. Sin embargo, descubrí que de repente podía abrir el dispositivo Kinect y luego no podía abrir el dispositivo Kinect. Más tarde descubrí que 360 Security Guard y 360 Antivirus consideraron el servicio Kinect como un troyano, lo configuraron decisivamente como confiable y también dejaron que 360 Security Guard y 360 Antivirus salieran. La tasa de éxito al abrir el dispositivo Kinect en la prueba fue muy alta. más alto, pero todavía hubo fallas.
2. Empaquetado de CMU
Este conjunto de artículos cayó en desuso cuando leí este artículo por primera vez. Solo es compatible con Kinect SDK 1.0. Quería modificarlo y usarlo. Fue vago. Gene no comenzó de inmediato. Más tarde, buscó en Google y encontró el archivo de reemplazo descargado aquí. Después de observar las diferencias entre Kinect SDK 1.5 y Kinect SDK 1.6, fue algo efectivo. Hay diferencias entre Kinect SDK 1.5 y Kinect SDK 1.6. Después de usarlo por un tiempo, realmente ya no puedo usarlo.
3. Complemento desarrollado por adevine1618
Las deficiencias no se mantienen, así que no lo probé.
4. Escriba una biblioteca de clases C# basada en Zigfu
Se dice que Zigfu es abierto e inestable, por eso quiero escribir un paquete que pueda admitir tanto Kinect como OpenNI. No tomó mucho tiempo resumir los datos del esqueleto escritos a mano necesarios para cada capa de abstracción y ponerlos en Unity para probarlos. Descubrí que MonoDevelop se compila sin problemas, pero genera errores de compilación en el editor. Este artículo menciona que Unity 3.5 admite hasta .Net 3.5, mientras que Kinect SDK v1.5 requiere .Net 4.0. Por lo tanto, usar ensamblados v1.5 directamente en Unity no funcionará. Sin embargo, después de probarlo, descubrí que realmente no funciona. Si lo cambio a .Net 3.5 en VS2012, no se puede compilar; si lo cambio a .Net 4.0, se puede compilar y aprobar, pero lo hace. no funciona en Unity. El valor predeterminado es .Net 4.5. Tengo curiosidad por ver cómo Zigfu hace esto, porque se menciona Kinect10.dll en el ZDK, y también se menciona OpenNI.Net, un conjunto de bibliotecas escritas en C#.Net 3.5. OpenNI.Net es una biblioteca de clases escrita en C#.Net 3.5. ¿Por qué no funciona el contenedor CMU (archivo de reemplazo) cuando se usa Kinect SDK 1.5?
5. Método del complemento Unity, escribir DLL en C
Esto definitivamente era factible antes de escribir a mano, pero aun así escribí una prueba y descubrí que la luz infrarroja de Kinect puede hacerlo. iluminar. Esto tiene ventajas sobre la encapsulación CMU, ya que la implementación C es más natural y solo exporta las interfaces requeridas.
Con tantos programas, lo que más espero es implementar Zigfu y ponerle el reconocimiento facial de Kinect y otras funciones. Por supuesto, Unity necesita ser compatible con .NET 4.5.