Hola, a ver si entre todos podemos añadirle a durovis dive la posibilidad de girar el cuerpo con alguno de los ejes de un gamepad.
Lo he intentado pero se me escapa algo, he añadido a la trasformada del objeto una rotación controlada por mi con Quaternion.AngleAxis(rotacion, Vector3.up);, y aunque consigo girar la cámara del jugador, deja de funcionar el movimiento de cabeza, pasando a moverse al revés en el eje vertical, al mirar arriba la cámara baja, y al bajar la mirada la camara sube, según entiendo yo las matemáticas, al aplicar este giro, eso no debería suceder.
Alguien lo ha intentado y tiene alguna idea para seguir.
Yo tambien tengo bastantes problemas con ello, creo que el problema es del mando idroid, cuando lo conectas como gamepad solo funciona el stick izquierdo y el derecho solo para un lado, hay una pequeña solución que es utilizando el idroid como teclado y raton.
En el inspector de la camara debe estar asi...
Y en Edit/Project Settings/input tienes que tener estos valores...
Espero haberte ayudado algo, a ver si entre los dos solucionamos algo!!!
Su pérgola en Murcia y Alicante al mejor precio en www.pergomur.com
Pues yo sigo con los mismos problemas después de compilar....aunque hago todo exactamente como me dijo Albertopina y el video que ha hecho el creador de durovis....cuando insstalo la app y la abro....se escucha la musica veo la doble camara peero no se mueve...no entra el head tracker. Incluso he probado a borrar todo y reinstalarlo todo el java,el android SDK,....una KK y desesperanza.ya que todo lo que hago en el ordenador va pero no en el movil.
"albertopina1"Yo también tengo bastantes problemas ..
No me has entendido, he tenido problemas para mapear los controles de un gampad genérico por USB, pero lo he medio solucionado, pero eso es para otro hilo.
Lo que quiero es modificar el script del dive para poder girar el personaje con los controles además de girando la cabeza, y ahí es donde lo consigo lo que esperaba. He usado el Quaternion de objet, translate, y le he añadido un giro controlado en el eje Y, pero en cuanto hago eso, el script del dive ya no va bien.
"bigcan"Pues yo sigo con los mismos problemas ... ya que todo lo que hago en el ordenador va pero no en el movil.
No se que problemas tienes, pero cuando pones el script del dive, en el ordenador deja de funcionar el mouse look script, que hasta donde yo se es el encargado de mover la vista en el ordenador, y entonces solo funcionaria el movimiento de la vista en el móvil.
Para mover el personaje, yo utilizo FPSInput Controller, que pone las teclas de movimiento wsda, y la de salto en espacio, y esto por lo general funciona bien en casi cualquier gamepad, el mio genérico por USB que tiene un mapeo de botones rarísiomo, funciona perfectamente para controlar el movimiento del personaje adelanta, atras, derecha e izquierda, no así el salto, que he tenido que modificar el mapeo de la propiedad Input de Unity.
"albertopina1"Yo también tengo bastantes problemas ..
No me has entendido, he tenido problemas para mapear los controles de un gampad genérico por USB, pero lo he medio solucionado, pero eso es para otro hilo.
Lo que quiero es modificar el script del dive para poder girar el personaje con los controles además de girando la cabeza, y ahí es donde lo consigo lo que esperaba. He usado el Quaternion de objet, translate, y le he añadido un giro controlado en el eje Y, pero en cuanto hago eso, el script del dive ya no va bien.
"bigcan"Pues yo sigo con los mismos problemas ... ya que todo lo que hago en el ordenador va pero no en el movil.
No se que problemas tienes, pero cuando pones el script del dive, en el ordenador deja de funcionar el mouse look script, que hasta donde yo se es el encargado de mover la vista en el ordenador, y entonces solo funcionaria el movimiento de la vista en el móvil. Para mover el personaje, yo utilizo FPSInput Controller, que pone las teclas de movimiento wsda, y la de salto en espacio, y esto por lo general funciona bien en casi cualquier gamepad, el mio genérico por USB que tiene un mapeo de botones rarísiomo, funciona perfectamente para controlar el movimiento del personaje adelanta, atras, derecha e izquierda, no así el salto, que he tenido que modificar el mapeo de la propiedad Input de Unity.
Siguo esperando alguna ayuda para el script.
Si eso ya se, para probarlo en el pc activo mouseloock Y desactivo el script del head tracker,a la hora de compilado activo solo el head tracker,una vez compilado cuando abro la app me sale nogyro asi que es problema de compilado.y no encuentro el por qué. Incluso haciendo algo básico,terrain con FPScontroller junto con las camaras de durovis o un prefab de durovis con todo ya hecho.en cuanto va al móvil no gyro message y la pantalla estática y la música del juego.tengo bien todo.en unity la carpeta de ubicacion del java, abierto el sdk con sus apis instaladas todas y actualizadas...todo ok y nada, todas las texturas en overdrive android y la cosa es que hay veces Que incluso compilo algo que si funcionaba a otro dialo compilo sin tocar nada y ya no va, lo he probado en un S4,en un Xiaomi mi3 y en mi nuevo Xplay 3S y nada...
Asi k frustrado y desencantado k no veas... Y cuando veo el SDK d vrAse se me abre el culo... Lo pruebo y de pena. El head tracker va pero loco totalmente andas y la cámara mira dnd le sale
"bigcan"Pues yo sigo con los mismos problemas ....
Pues no se que decirte, yo he compilado algún ejemplo de tutorial con tenernos, arbole y personaje en FPS y la modificación del angrybots y no he visto nada ni remotamente parecedo a lo que cuentas, siempre a funcionado bien.
Lo único, es que dices indirectamente que desactivas el mouse look
"bigcan"a la hora de compilado activo solo el head tracker
, yo no lo descativo, a ver si es por eso que no tienes giro, por que yo creo que el mouse look es necesario para el dive, pero puedo estar equivocado.
Al final no era tan difícil hacer que el personaje gire, seguro que hay formas mas elegantes y fáciles de hacerlo, y eso quiere decir que necesito leer mas manuales de Unity.
El caso es que he modificado el script de durovis, OpenDiveSensor.cs, tras activar la opción RotationGameObject y le he añadido un giro en función de la pulsación de dos teclas, ahora puedo jugar a angrybots sin tener que levantarme y girarme físicamente.
Ahora necesito mas botones activos y estoy mirando como configurar correctamente la entrada de unity, no se porque cada gamepad tiene unos códigos diferentes, y eso que android identifica bien los códigos de gamepad, lo he visto en el mapeo que android tiene en el fichero Generic.kl, pero Unity no lo mapea así.
En cuanto tenga controlado lo del gamepad publicaré una actualización de angrybots con este nuevo control de giro.
El giro del player se puede hacer facilmente en tres pasos, no se si sera la manera correcta pero a mi me funciona. Poneis el objeto que este por encima de la camara que lleva las dos camaras de dive en rotate gameobject que viene en el script. Añadis mouse lookup al principal. Y finalmente editais el eje del raton en los axis x e y, poniendo 3er axis en eje x y 4 axis en eje y. Asi deberiais poder girar al player con el joystick derecho sin problemas. Espero que os sirva¡¡¡¡
"koshuke"El giro del player se puede hacer facilmente en tres pasos, no se si sera la manera correcta pero a mi me funciona. Poneis el objeto que este por encima de la camara que lleva las dos camaras de dive en rotate gameobject que viene en el script. Añadis mouse lookup al principal. Y finalmente editais el eje del raton en los axis x e y, poniendo 3er axis en eje x y 4 axis en eje y. Asi deberiais poder girar al player con el joystick derecho sin problemas. Espero que os sirva¡¡¡¡
"koshuke"Y finalmente editais el eje del raton en los axis x e y, poniendo 3er axis en eje x y 4 axis en eje y.
¿Por editar eje de raton te refieres a ir a Edit + Projet setting+ Input, y ahí poner 3er axis a eje x y 4axis a eje y? Si es así, no me ha funcionado.
Sisi justo eso. A mi me funciona asi y va perfecto. Acuerdate de poner en el script del giroscopio como rotate object al padre "parent" del conjunto de la camara.
Efectivamente, ha funcionado, pero faltaba poner "Joystick Axes" tanto al tipo del mouse X, como al tipo del mouse Y, aunque el eje Y no va muy bien cuando se usa junto al "open dive sensor".