Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: Dramoscuello en Marzo 23, 2016, 02:25:20 AM

Título: Asignar nueva rotacion y posicion a mi fps
Publicado por: Dramoscuello en Marzo 23, 2016, 02:25:20 AM
Estoy intentando que mi firstperson controller al suceder un evento (click en un botón) tome una nueva posición y rotación, el problema esta en lo segundo, la posición si la toma pero la rotación no! ayuda!!
 (//<fileStore.core_Attachment>/monthly_2016_03/Screenshot_1.png.5d3ea255a85c741a3f84e3a3d72013bb.png)
 (//<fileStore.core_Attachment>/monthly_2016_03/Screenshot_2.png.9a83266daa359ea6701dcdf973438641.png)
Título: Asignar nueva rotacion y posicion a mi fps
Publicado por: GSG3D en Marzo 23, 2016, 05:55:24 AM
Sino mal no recuerdo, deberías usar Quaterniones para las rotaciones.
Título: Asignar nueva rotacion y posicion a mi fps
Publicado por: esr en Marzo 23, 2016, 08:51:42 AM
Vale, lo primero ¿la camara camfps es un componente del GameObject fps?, si es asi no utilices el transform de la camara (en realidad el transform de la camara deberia ser el mismo que el del GameObject). Para iguales rotaciones de dos GameObjects lo mas sencillo es igualar sus vectores forward. Prueba lo siguiente 
fps.transform.forward = pos.transform.forward;
Título: Asignar nueva rotacion y posicion a mi fps
Publicado por: Dramoscuello en Marzo 23, 2016, 06:40:59 PM
[quote author=esr" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35467" data-ipsquote-contentcommentid="128576">Vale, lo primero ¿la camara camfps es un componente del GameObject fps?, si es asi no utilices el transform de la camara (en realidad el transform de la camara deberia ser el mismo que el del GameObject). Para iguales rotaciones de dos GameObjects lo mas sencillo es igualar sus vectores forward. Prueba lo siguiente 
				Título: Asignar nueva rotacion y posicion a mi fps
Publicado por: esr en Marzo 23, 2016, 08:25:27 PM
Si usas los first person controller de los asssets de unity es un poco mas complicado. Para que lo entiendas bien he hecho una pequeña demo. Te lo comparto.Vale, no te permite hacer la rotación por que esta la controla el objeto  MouseLook que contiene el FirstPersonController. Para hacer que funcione tienes que ambiar en el FirstPersonController elobjeto MouseLook  de privado a publico. Después desde tu código accede al FirstPersonController  a través del GetComponent del fps y llama al método Init del MouseLook con el nuevo transform que quieres asignarle. No se si me he explicado bien, te quedara mas claro si ves proyecto que he compartido.
TestForo.rar