Jump to content

Search the Community

Showing results for tags 'rotation'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Proyectos
    • Offtopic
    • Unity Feeds
    • Website
    • Youtube
  • Mesa de ayuda
    • Unity
    • Arte
    • Builds & Dispositivos
    • Otras Especialidades
  • Aportes de la Comunidad
    • Recursos
    • Eventos
  • Bolsa de trabajo & Colaboraciones
    • Ofertas y Demandas

Blogs

There are no results to display.

There are no results to display.


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 1 result

  1. Muy buenas. Tengo un problema con el que llevo unos días liado y no consigo resolver. Me pregunto si alguien podría ayudarme. En esta StartCourutine, la cámara de mi personaje FPS centra la vista en un objetivo concreto y hace un zoom In. Tras pasar unos segundos, hace un zoom Out. Hasta aquí bien. El problema viene cuando al terminar de hacer este zoom out y volver a tener control sobre mi personaje, la cámara hace un giro muy brusco. He estado mirando por ahí y parece que esto se debe a que la cámara guarda la rotación anterior a cuando centra al objetivo. De manera que cuando vuelve, la cámara vuelve a la rotación original. Supongo que la solución está en guardar las coordenadas de esta rotación antes y establecerlas cuando termine el zoom out. Pero no sé cómo se hace. Si alguien pudiera ayudarme lo agradecería enormemente. Un saludo y gracias por leerme. Aquí el script: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; using UnityStandardAssets.Characters.FirstPerson; public class centrarObjetivo : MonoBehaviour { public float segundos = 1f; IEnumerator tiempoCentrarObjetivo () { GameObject.Find ("FPSController").GetComponent<CharacterController> ().enabled = false; GameObject.Find ("FPSController").GetComponent<FirstPersonController> ().enabled = false; Vector3 relativePos = new Vector3 (GameObject.Find ("objetivo").transform.position.x, GameObject.Find ("objetivo").transform.position.y + 0f, GameObject.Find ("objetivo").transform.position.z) - GameObject.Find ("FirstPersonCharacter").transform.position; Quaternion toRotation = Quaternion.LookRotation (relativePos); GameObject.Find ("FirstPersonCharacter").transform.rotation = Quaternion.Lerp (GameObject.Find ("FirstPersonCharacter").transform.rotation, toRotation, 2.5f * Time.deltaTime); GameObject.Find ("FirstPersonCharacter").GetComponent<Camera> ().fieldOfView = Mathf.Lerp (GameObject.Find ("FirstPersonCharacter").GetComponent<Camera> ().fieldOfView, 10f, Time.deltaTime * 0.2f); yield return new WaitForSeconds (segundos * 4); GameObject.Find ("FirstPersonCharacter").GetComponent<Camera> ().fieldOfView = Mathf.Lerp (GameObject.Find ("FirstPersonCharacter").GetComponent<Camera> ().fieldOfView, 90f, Time.deltaTime * 3f); yield return new WaitForSeconds (segundos * 2); GameObject.Find ("FPSController").GetComponent<CharacterController> ().enabled = true; GameObject.Find ("FPSController").GetComponent<FirstPersonController> ().enabled = true; } void Update () { StartCoroutine ((tiempoCentrarObjetivo ())); } }
×
×
  • Create New...