Jump to content
UnitySpain

Casti23

Registrados
  • Content Count

    4
  • Joined

  • Last visited

  • Days Won

    1

Casti23 last won the day on May 20

Casti23 had the most liked content!

Community Reputation

2 Neutral

About Casti23

  • Rank
    Recién Llegado

Profile Information

  • Especialidad
    Coder

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Casti23

    Camaras script

    hola, tengo una duda a cerca del cambio de camaras y el zoom, en mi juego eres una nave que va saltando de planeta en plante entre varios sistemas, en principio habria dos camaras , una que esta desde arriba y en ella se ven todos los sitemas y otra a la que cambia cuando la nave empieza a moverse, no he trabajado con camras nunca(siempre fijas o un simplre seguimiento) y no se que es mejor, algun conseojo? esta seria la camara principal(fase de prueba) y no se si es mejor que haga zoom con la rueda del raton o que cuando pulses sobre un sistema cambie la camara pd el movimiento de la nave es que cuando pulsas sobre un planeta se mueve a el, no puede ser una distancia larga por que si no se queda sin energia.
  2. Gracias Compañero, voy a realizar pruebas, y a ver si me funciona
  3. hola compañeros, tengo una duda sobre si es posible o no realizar este planteamiento: En mi proyeto controlas a una nave que va de planeta en planeta(vijando entre diversos sistemas solares), los planetas giran al rededor del sol, y la nave estara orbitando al rededor del planeta hasta que te desplaces a otro planeta gastando enerjia, el movimiento es parecido a un click to move, pero tienes que seleccionar un planeta para moverte. Mi planteamiento es crear un objeto vacio que orbite en cada planeta, la nave(como un objeto aparte) comienza asociado a uno, y cuando selecciona otro planeta se desasocia, se mueve hasta el siguiente punto y se asocia al que esta orbitando en el otro planeta. lo unico que he conseguido es hacer un movimiento click to move, donde pinchas sobre un planeta y se mueve a la cordenada aun que el planeta siga desplazandose. using System.Collections; using System.Collections.Generic; using UnityEngine; public class controler : MonoBehaviour { public GameObject cam;//maincamera public GameObject camPos;//empty object associated with the camera to track public GameObject targetPos;//worcks like a objetive market public GameObject eyePos;//object that traces a straight line with the objective to identify if there is an obstacle public GameObject ostaculePos;//worcks like a obstacule market Vector3 newpos; bool moving; void start() { moving = false; } void update() { if (Input.GetMouseButtonDown(0)) { RaycastHit hitplanet; RaycastHit hitsun; Ray ray = cam.GetComponent<Camera>().ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hitplanet)) { if (hitplanet.collider.CompareTag("planetas")) { newpos = hitplanet.point; targetPos.transform.position = newpos; camPos.transform.SetParent(null); transform.LookAt(new Vector3(newpos.x, transform.position.y, newpos.z)); camPos.transform.SetParent(transform); if (Physics.Raycast(eyePos.transform.position, newpos - eyePos.transform.position, out hitsun, Vector3.Distance(transform.position, newpos))) { if (hitsun.collider.CompareTag("sol")) { ostaculePos.transform.position = hitsun.point; Debug.Log("Sun in the middle of the path"); } else { moving = true; } } else { moving = true; } } } } if (moving == true) { transform.Translate(new Vector3(0, 0, 100f)); if (Vector3.Distance(transform.position, newpos) < 50f) { moving = false; } } cam.transform.position = Vector3.Lerp(cam.transform.position, camPos.transform.position,0.1f); } } tambien tengo el codigo de traslacion y rotacion de los planetas. using System.Collections; using System.Collections.Generic; using UnityEngine; public class Traslacion : MonoBehaviour { int factor = 12; public long timeAround; public Transform origin; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { transform.RotateAround(origin.position, Vector3.down, 360.0f / (timeAround / factor) * Time.deltaTime); } } inserto el de traslacion por que es el importante. Gracias de ante mano.
×
×
  • Create New...