Hola, tengo una duda:tengo esto escrito "thisTransform.position = new Vector3 (thisTransform.position.x, thisTransform.position.y, thisTransform.position.z + velocidad * Time.deltaTime);"y el objeto avanza hacia la coordenada z pero quiero que avance hacia donde mire la cámara y annque gire este sigue moviéndose por z. ¿que hago mal?
Has planteado mal el problema, si la cámara está mirando hacia la "derecha" (1,0,0) tendrías que mover en X el jugador para que se moviera hacia "adelante". Echa un ojo al código del ThirdPlayerController que trae Unity en los Assets. Pero básicamente crea un vector nuevo con la z movimiento vertical y la x movimiento horizontal, este vector lo relacionas a la pantalla (como hacen en el código del ThirdPlayer, que les queda muy bien) y por último lo relacionas a la pantalla con transform.InverseDirection() creo que se llamaba la función, pero en el código de antes también la usan
No tienes en cuenta la rotación actual, hacia dónde está mirando el GameObject...Como no das más detalles, no sabemos si te refieres a 2D, 3D, etc...
[quote author=pioj" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="34535" data-ipsquote-contentcommentid="124383 date=1448986543]No tienes en cuenta la rotación actual, hacia dónde está mirando el GameObject...Como no das más detalles, no sabemos si te refieres a 2D, 3D, etc...[/quote]es en 3d
Si quieres una solución deberías mirar los scripts que te he comentado, precisamente el CharacterController mueve al personaje según la cámara y es en 3D...!! Échale un ojo y si aún así no sabes vuelve a comentar...