Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo crear un complemento que llame a Kinect en Unity?

¿Cómo crear un complemento que llame a Kinect en Unity?

Desarrollo de juegos somatosensoriales Kinect+Unity3D: Kinect SDK v 1.5, que proporciona varias soluciones. He realizado los intentos correspondientes y ahora haré un resumen:

ZDK de Zifu

Tenía. Usé OpenNI antes, pero no esperaba que fuera compatible con Kinect, así que descargué felizmente la versión de prueba y realmente funcionó. Pero me sentí confundido cuando descubrí que podía encender el dispositivo Kinect al instante. Más tarde, descubrí que 360 ​​Security Guard y 360 Antivirus usaban el servicio Kinect como mensaje de troyano, así que decidí configurarlo como confiable y cerrar 360 Security Guard y 360 Antivirus. La tasa de éxito al abrir el dispositivo Kinect fue mucho mayor en las pruebas, pero aún así.

2. Empaquetado de CMU

Este conjunto se descargó después de leer este artículo. Solo es compatible con Kinect SDK 1.0. Originalmente quería modificar el uso, pero era demasiado vago para hacerlo de inmediato. En cambio, encontré este artículo aquí y descargué el archivo de reemplazo. Después de echar un vistazo, Kinect SDK 1.5 y Kinect SDK 1.6 siguen siendo diferentes y realmente no funciona después de usarlos.

3. Un complemento desarrollado por Devine 1618.

La desventaja es que no tiene mantenimiento, así que no lo probé.

4. Escribe una biblioteca de clases C# basada en el propio Zifu.

Como se mencionó anteriormente, la apertura de Zigfu es inestable, por lo que quiero escribir un paquete que pueda admitir tanto Kinect como OpenNI. No mucho después, resumí los requisitos para varias capas de abstracción y comencé a escribir datos esqueléticos, y los puse en Unity para probarlos. Descubrí que no había ningún problema con la compilación de MonoDevelop y recibí un error de compilación en el Editor. El artículo menciona que Unity3.5 solo lo admite. Net 3.5, el requisito mínimo para Kinect SDK v1.5 es. Red 4.0. Por lo tanto, no es viable utilizar el ensamblado v1.5 directamente en Unity. Pero no fue hasta que lo probé que realmente me di cuenta de que no tenía ningún beneficio. Si lo cambio a . Net 3.5 en VS2012, no puedo compilarlo. Si lo cambio a . Net 4.0, no puedo compilarlo. El valor predeterminado es . Neto 4.5. Tengo curiosidad por saber cómo lo hizo Zifu. Hay referencias a Kinect10.dll y OpenNI.Net en ZDK, que también es un conjunto de bibliotecas de clases escritas en C#. Sí Kinect SDK 1.5 y. ¿Neto 3,5? Al utilizar Kinect SDK 1.5, ¿por qué no se puede ejecutar el paquete CMU (reemplazo de archivos)?

5. Modo complemento de Unity, escribir DLL en C++

Esto definitivamente era factible antes de escribir a mano, pero lo escribí a mano y lo probé, y descubrí que la luz infrarroja de Kinect. puede iluminarse. Esto es más ventajoso que la encapsulación CMU y se implementa de una forma C++ más natural, simplemente exportando las interfaces requeridas.

Con tantos planes, lo más esperanzador es hacer realidad Zigfu y meter más funciones como el reconocimiento facial Kinect. Por supuesto que se necesita solidaridad para apoyar esto. Neto 4.5. La solución actual es un complemento de Unity y los requisitos se pueden completar en C++.