Jump to content
UnitySpain

Search the Community

Showing results for tags 'vector3'.



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)

Blogs

  • byGui
  • El Blog de Pioj

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 8 results

  1. Hola foro. Estoy tratando de calcular una distancia entre dos puntos, con el objetivo de mover un gameObject con vector3.slerp, desde su posiciòn actual hasta un punto y q al llegar a este ocurra una acciòn. La cosa es q ni vector3.Distance, ni restando la magnitud de las posiciones y comparàndolas, ni modo... si digo: <<ManagerPlayer.instancia_ManagerPlayer.PlayerActivo.transform.position = Vector3.Slerp (ManagerPlayer.instancia_ManagerPlayer.PlayerActivo.transform.position, ManagerPlayer.instancia_ManagerPlayer.posicionSalvada, 0.5f*Time.deltaTime);>> no se supone q mi objeto en cuestiòn llegue EXACTAMENTE al punto q quiero? y còmo comparar y saber el momento en q lo hace? por favor... y ya q estoy tengo otra duda, esta de "atachar" gameObjects. en la foto se puede ver como el pelo de mi personaje va a su bola, es hijo de la cabeza pero no es afectado por la rotaciòn de esta, solo se traslada y ya. Antes lo habìa hecho asì, es el caso de armas y manos, aunque eran personajes simples. Este es con un sistema de huesos + avanzado y con animaciòn tipo humanoide, no se si esto afecta. Doble gracias
  2. Hola a todos, el problema es el siguiente: quiero instanciar un proyectil y que llegue a cierta posición, entonces lo instancio, lo roto mirando al punto pero no llega nunca a dicho punto y es que haciendo pruebas resulta que la variable Vector3 por el cual le paso el punto destino (ya que cuando llegue a ese punto quiero que se destruya) se cambia sola, cuando se lo paso mediante un set se cambia sus valores. El código es el siguiente: public void Disparar(Buggy target) { if (enfriamientoactual > 0) return; //objetivo = Vector3.zero; Vector3 obj = CalcularPrediccion4(target); Debug.Log("Primero"); objetivo = CalcularPrediccion4(target); transform.LookAt(obj); objetiv.position = obj; Debug.Log(obj); Debug.Log("Segundo"); GameObject misilobj = Instantiate(misil, transform.position, transform.rotation); misilobj.transform.LookAt(obj); Debug.Log(obj); Debug.Log("Tercero"); Misil misilscript = misil.GetComponent<Misil>(); misilscript.Velocidad = velocidadbala; misilscript.Objetivo = obj; Debug.Log(obj); Debug.Log("Cuarto"); enfriamientoactual = enfriamiento; } El de la clase Misil es este: public float velocidad; public Vector3 objetivo; public float Velocidad { set { velocidad = value; } } public Vector3 Objetivo { set { Debug.Log(value); objetivo = value; } } void Update () { //Debug.Log(objetivo); transform.Translate(Vector3.forward * velocidad * Time.deltaTime, Space.Self); transform.LookAt(objetivo); if (Vector3.Distance(transform.position, objetivo) < 0.25f) { Destroy(gameObject); } } Luego en la captura de pantalla del editor se imprime por consola un vector distinto al guardado en la variable "objetivo" de Misil. Alguien sabe por qué ocurre esto? Gracias.
  3. Hola, estoy haciendo un juego en unity 3d, utilizando playmaker para la programación. Me ha surgido un problema, y es que quiero decir a playmaker que si un objeto está en una determinada posición, reproduzca una animación, y si está en otra determinada posición que reproduzca otra, y todo esto al hacer mouse down sobre otro objeto. He creado una variable global para determinar una posición exacta, pero creo que el único tipo de variable que trabaja con coordenadas de posición es vector3, y el problema es que cuando quiero utilizar una acción de compare, no existe ninguna con vector3. Las acciones de compare que existen son con Int, string, float, enum, etc. ¿Cómo puedo solucionar esto?
  4. Hola gente, estaba haciendo unas pruebas para mover un personaje usando el código siguiente: using UnityEngine; using System.Collections; public class mover : MonoBehaviour { private Rigidbody _rb; void Start () { _rb = GetComponent<Rigidbody> (); } void Update () { if (Input.GetKey(KeyCode.D)) { _rb.velocity = new Vector3 (4, 0, 0); } if (Input.GetKey (KeyCode.A)) { _rb.velocity = new Vector3 (-4, 0, 0); } } } No es que no funcione, es que sea cual sea su yaw siempre se desplaza en el eje X del mundo virtual. A lo que me refiero es cómo se podría hacer para que se desplazara horizontalmente según su orientación, no el del mundo virtual. Muchas gracias por la ayuda.
  5. Hola a la comunidad, queria preguntar como puedo hacer para que un vector 3 tenga un valor, pero este se modifique con el movimiento de otro.Por ejemplo: Creo un vector 3 pero quiero que este se modifique si el personaje mueve la camara, esto me serviria para un arma para que esta se cree en una posicion y que cuando el personaje presione el click derecho del raton esta se mueva a la posicion del vector 3, pero como el personaje siempre se mueve entonces necesito que el vector 3 mantenga la posicion del arma pero al mismo tiempo la mueva.No se si me explique bien, pero si no entienden me avisan.Por favor si me pueden explicar en C# seria lo mejor ya que no entiendo mucho el UnityScript, pero tambien me lo pueden explicar en el UnityScript si no hay mas opcion.Gracias
  6. Hola muchachos... bueno le explicare de una manera sencilla mi problema, estoy preparando un programa de mecánica para mi tesis el cual se debe basar en fallas mecánicas en rodamientos. el problema va en que debo hacer rotar un engranaje sobre su eje central, pero por algún momento me toma el centro del engranaje en una punta, no importa si le selecciono eje "PIVOT" o eje "CENTRAL", en la pantalla de SCENE me muestra que el centro de mi imagen precisamente es el centro correcto, pero al momento de la animación.... todo cambia. ya que gira sobre el eje fantasma sobre la punta antes mencionado, he revisado muchos foros y códigos, pensando que el error puede ser mio... pero en todos es el mismo resultado, gira pero no sobre su propio eje, ya intente realizar un cubo desde el programa y efectivamente gira sobre su eje central de manera normal, pero para mi tesis no me sirve un cubo, necesito un engranaje con medidas y formas especificas el cual construyo en 3D MAX, chicos les agradecería pronta ayuda... por andar tan pendiente de esto, me deje colgar del tiempo. si lo desean para mayor comodidad mi numero de móvil es (+57 305 784 5268) mi correo es (sebasangar9956@gmail.com) adjuntare screenshot, con el fin de que vean mi problema y puedan ayudarme. de ante mano gracias y si es necesario no dude, solo miren la rotacion del objeto, los errores que se muestran son por las interminables maneras que he intentado para hacer girar ese engranaje sobre su eje, los SLIDE aun no tienen ningún código. nuevamente gracias.
  7. Hola a todos: Verán, quiero calcular una distancia. Hasta ahí no hay problema, magnitude hace magia. Pero no, no quiero calcular distancia punto a punto, si no superficie a superficie. Tal como está el objeto, si igualo los ejes X e Y ya está... Pero no. no me sirve ¿por qué?. Porque ahora está así... ¿Y si está girado de forma rara?. mis matemáticas no son las mejores... El caso es que tampoco encuentro mucho, no obstante seguiré buscando cálculos con vectores aunque estoy empezando a pensar que no es la idea más adecuada. En definitiva. Lo que quiero es calcular la distancia entre 2 objetos, pero no entre sus centros. No sé si me explico. Un saludo y gracias de antemano.
  8. Buenas, tengo una duda con respecto a lo siguiente: Si hay un objeto (A) a una posición Vector3(0,0,0) y otro objeto (B) que quiero que se desplace a la coordenada X=1 Vector3(1,0,0), pues fácilmente se hace un cambio sin problema como se ve en la figura siguiente: (A) (B) Luego de darle una rotación Vector3(0,45,0) a ambos objetos, al realizar la acción con la rotación los objeto en el Editor de Unity da como resultado: Pero al realizar esta misma operación, por código y rotación por separado me da este resultado: Cosa que quiero que me de el mismo resultado que me da con el editor de Unity. Se que para conseguirlo debo usar algún tipo de calculo matemático que desconozco, se que un objeto sin rotación se mueve fácilmente aplicándole un valor a el (X),(Y) o (Z), pero si tiene una rotación creo que hay que aplicar valores a 2 Vectores y calcular ese valor con la rotación o usar alguna función de Mathf. Espero que me puedan ayudar, se los agradecería mucho gracias .
×
×
  • Create New...