Jump to content
UnitySpain

Aceptamos donaciones vía Paypal.

UnitySpain.com es un servicio gratuito, pero mantener la Comunidad conlleva una serie de gastos.

Fondo Anual Unityspain: Donados 58,34€ de 150,00€

  • Servidor: Dominio.com y Hosting Web
  • Mantenimiento de los Foros
  • Contenido y Servicios Extras
  • Mantenimiento para Redes Sociales

Search the Community

Showing results for tags 'firstperson'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Inicio
    • Proyectos
    • Offtopic
    • Unity Feeds
    • Website
  • Mesa de ayuda
    • Unity
    • Arte
    • Otras Especialidades
    • Builds & Dispositivos
  • Aportes de la Comunidad
    • Recursos
    • Eventos
    • Buenas Prácticas
  • Bolsa de trabajo & Colaboraciones
    • Ofertas y Demandas
  • Post Antiguos
    • General (Antiguo)

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Especialidad

Found 2 results

  1. Hola , Mi objetivo es crear un First Person propio para modo vuelo tipo Dron en modo Cardboard, para eso me he creado un GameObject que tiene de componentes un Rigidbody, un Capsule Collider y naturalmente el Script de la Clase Dron, que ahora os pondré, además como hija, tiene un GameObject cámara para poder hacer el cabeceo en pitch (Vertical) y en yaw (Horizontal). Este es el Script: using UnityEngine; public class DronVirtual : MonoBehaviour { //Ejes private float forward; public float yaw; private float height; private float translate; //Velocidades public float forwardSpeed; public float yawSpeed; public float heightSpeed; public float translateSpeed; private float Speed; //Variable estado private bool swap = false; //Coordenadas public Transform cam; public Transform RbFPC; void Start() { Speed = 2.5f; } //Proceso continuo void Update() { //Inputs Joysticks/Mouse translate = Input.GetAxis("Horizontal") * translateSpeed * Speed;// X Axis forward = Input.GetAxis("Vertical") * forwardSpeed * Speed; // 4th Axis yaw = Input.GetAxis("Analog X") * yawSpeed * Speed;// 3rd Axis height = Input.GetAxis("Analog Y") * heightSpeed * Speed; //Actualiza con Time.deltaTime; translate *= Time.deltaTime; height *= Time.deltaTime; forward *= Time.deltaTime; yaw *= Time.deltaTime; // Asigna valor de la Cámara (Hija) de su rotacion en EulerAngles a una variable float float eixY = cam.transform.localEulerAngles.y; //Copia valor a la rotación del GameObject Padre RbFPC.transform.rotation = Quaternion.Euler (0f, eixY, 0f); // actualiza posición GameObject Padre RbFPC.transform.Translate (translate, height, forward); } } Seguimos, Lo que busco es igualar la rotación del GameObject (FPS) que es el padre de la camara, que esta como hija, cosa que realmente en datos en el inspector puedo ver que funciona perfectamente el script, veo la rotación en Y de la camara y es exactamente igual, pero que a la hora de que el FPS siga la trayectoria hacia donde estoy mirando, que debe estar pasando? estoy fallando y donde?. Unity según la documentación trabaja internamente en Quaternions, y para nosotros, o mejor dicho para mi, lo entiendo algo mejor si la rotación la veo en ángulos, soy humano. Pero, observando mientras escribo este post, llego a la conclusión que realmente lo que veo que pasa es que la camara rota a la vez que rota mi FPS, a la vez, realmente , cada grado que gira la camara , realmente está girando 2, es decir, que en cada grado que rota la camara, el FPS rota otro más, y el total es la suma de las dos rotaciones, por lo que el razonamiento que habia hecho en ese Script, al querer copiar el eje y de la cámara era incorrecto. Al ver la rotación fisicamente desde la vista superior en la Scene , me he dado cuenta de ese fallo y donde, mi lógica fallaba contundentemente, ya que en el inspector podia ver que en el giro del primer angulo recto de la camara o del GameObject Padre, como cada uno habia recorrido sólo 45º, y no 90º los 2, por lo que la trayectoria que hacia al desplazarme hacia adelante no era la visual sino justo la mitad, si es que....enfin.Mama quiero ser Artista..... y me meto a coder...hahahaha. Una vez entendido eso, he hecho esta ñapa en el control del Dron. (Script). // solucion 2 // Creo dos vector3 y les asigno los angulos de la cámara y del fps Vector3 rotacion1 = cam.transform.localEulerAngles; Vector3 rotacion2 = RbFPC.transform.localEulerAngles; //Asigno la rotacion en Y al FPS, así el FPS gira y la camara con él rotacion2.y = rotacion1.y; // Asigno la rotacion yaw al FPS RbFPC.transform.localEulerAngles = rotacion2; // Asigno el valor de la camara en su rotacion Y a cero rotacion1.y = 0f; // Asigno la rotación resultante a la cámara cam.transform.localEulerAngles = rotacion1; Tengo que probar la Build pero en el inspector ahora sí, que hace lo que le pido. Quizás los coders, me puedan decir una forma más elegante de conseguir lo mismo. Quizás con las Constrains...no se. Primero estaba asignando mal el giro en Yaw, pero es que además es en VR, que lo complica un poco más, al ser más lento el probarlo, simplemente por desconocimiento, cómo quien manda en esos ejes desde el Cardboard, es el Head, y estoy aún entiendo su funcionamiento . No se si la solucion de obligar a la camara a estar en 0f, en ese eje Y de rotación, me puede dar problemas. ya casi está el Build. Qué opinais?. Un saludo.
  2. Hola estimados, he estado trabajando en un proyecto que llevo bien avanzado consta de una escena solamente pero bien variado. El problema surgio cuando un dia cerre unity reinicie el pc y al volver a cargar el proyecto todo lucia como siempre, pero cuando voy a darle play para probar unos cambios en las ventanas solo podia ver el personaje moverse en las 3 ventanas menos en la de vision 3D. Pense que era un problema de refresco de esa ventana en particular, pero podia jugar en las otras vistas. El personaje esta con el script FirstPersonCharacter que viene en los paquetes pre-establecidos, no toque nada de ese script. Simplemente no esta funcionando la vista en primera persona, borre el personaje (prefab) y lo volvi a insertar y tampoco. Cree un proyecto nuevo vacio con un terreno y este personaje y SI funciona, no se porque en mi proyecto no. Importe la escena a este nuevo proyecto y no funciona entonces no se más por donde abordar el problema. Importe todos los paquetes y tampoco se arreglo. Ayudaaaa....
×
×
  • Create New...