private void Start() { camara = this.transform; if (camara == null) { Debug.LogError("No existe camara en el objeto.", this); } motor = GetComponentInParent <Motor>(); personaje = motor.transform; dirFija = personaje.forward; actualDirFija = personaje.forward; barEffect = GetComponent <BarsEffect>(); if (barEffect == null) { Debug.LogError("Agrega el efecto BarsEffect al objeto.", this); } camPos = new PosicionCamara(); camPos.Init("Camara" + netId, new Vector3(0.0f, 1.6f, 0.2f), new GameObject().transform, motor.transform); // Inicializa valores offSetPersonaje = personaje.position + new Vector3(0f, distanciaArriba, 0f); distArribaLibre = distanciaArriba; distLejanaLibre = distanciaLejana; dirRigData = DirRig; }
//Calcula la posición de la cámara durante el diálogo según el que está hablando actualmente y //lo que debemos mover la cámara respecto a la dirección de este public void PosicionDialogo(PosicionCamara posicionCamara, GameObject interactuableGO) { //La cámara mira al jugador if (posicionCamara.lookAt == -1) { //- 1.769/2 (mitad cuerpo) temporal Vector3 translado = targetLookAt.TransformDirection(new Vector3(posicionCamara.coordX, posicionCamara.coordY - 1.769f / 2, posicionCamara.coordZ)); Vector3 pos = targetLookAt.position + translado; //Asignamos la posicion actual con la posicion suavizada transform.position = pos; //Asignamos el lookAt //- 1.769/2 (mitad cuerpo) temporal transform.LookAt(targetLookAt.position - new Vector3(0f, 1.769f / 2, 0f)); } //La cámara mira al Interactuable else { Vector3 translado = interactuableGO.transform.TransformDirection(new Vector3(posicionCamara.coordX, posicionCamara.coordY, posicionCamara.coordZ)); Vector3 pos = interactuableGO.transform.position + translado; transform.position = pos; transform.LookAt(interactuableGO.transform); } }
//Posiciona la cámara, si el interactuable no es nulo private void PosicionaCamara(PosicionCamara posicionCamara) { if (interactuable != null) { TPCamera.instance.PosicionDialogo(posicionCamara, Manager.instance.GetInteractuable(interactuable.ID)); } }
private void Setup() { dirFija = personaje.forward; actualDirFija = personaje.forward; camPos = new PosicionCamara(); camPos.Init("Camara", new Vector3(0.0f, 1.6f, 0.2f), new GameObject().transform, motor.transform); // Inicializa valores offSetPersonaje = personaje.position + new Vector3(0f, distanciaArriba, 0f); }
public List <DialogueOption> options; //Contiene las opciones del nodo. Puede estar vacío // parameterless constructor for serialization public DialogueNode() { posCamara = new PosicionCamara(); intros = new List <DialogueAddIntro>(); mensajes = new List <DialogueAddMensaje>(); grupos = new List <DialogueGrupo>(); gruposVariables = new List <DialogueGrupoVariable>(); objetos = new List <DialogueAddObjeto>(); nombres = new List <DialogueNombre>(); rutinas = new List <DialogueRutina>(); options = new List <DialogueOption>(); }
public List<DialogueOption> options; //Contiene las opciones del nodo. Puede estar vacío // parameterless constructor for serialization public DialogueNode() { posCamara = new PosicionCamara(); intros = new List<DialogueAddIntro>(); mensajes = new List<DialogueAddMensaje>(); grupos = new List<DialogueGrupo>(); gruposVariables = new List<DialogueGrupoVariable>(); objetos = new List<DialogueAddObjeto>(); nombres = new List<DialogueNombre>(); rutinas = new List<DialogueRutina>(); options = new List<DialogueOption>(); }
//Calcula la posición de la cámara durante el diálogo según el que está hablando actualmente y //lo que debemos mover la cámara respecto a la dirección de este public void PosicionDialogo(PosicionCamara posicionCamara, GameObject interactuableGO) { //La cámara mira al jugador if (posicionCamara.lookAt == -1) { //- 1.769/2 (mitad cuerpo) temporal Vector3 translado = targetLookAt.TransformDirection(new Vector3(posicionCamara.coordX, posicionCamara.coordY - 1.769f/2, posicionCamara.coordZ)); Vector3 pos = targetLookAt.position + translado; //Asignamos la posicion actual con la posicion suavizada transform.position = pos; //Asignamos el lookAt //- 1.769/2 (mitad cuerpo) temporal transform.LookAt(targetLookAt.position - new Vector3(0f,1.769f/2,0f)); } //La cámara mira al Interactuable else { Vector3 translado = interactuableGO.transform.TransformDirection(new Vector3(posicionCamara.coordX, posicionCamara.coordY, posicionCamara.coordZ)); Vector3 pos = interactuableGO.transform.position + translado; transform.position = pos; transform.LookAt(interactuableGO.transform); } }
//Posiciona la cámara, si el interactuable no es nulo private void PosicionaCamara(PosicionCamara posicionCamara) { if(interactuable != null) TPCamera.instance.PosicionDialogo(posicionCamara, Manager.instance.GetInteractuable(interactuable.ID)); }