Jump to content
UnitySpain

Search the Community

Showing results for tags 'rotacion'.



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

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

  1. Buenas tardes, tengo un problemilla un tanto extraño que no se solucionar y es que mi personaje tiene los ejes correctamente alineados y rota bien, pero su cabeza los tiene invertidos (no se por que) y no puedo hacer que mire hacia un punto en concreto, un objeto, etc porque al usar LooKAt o Quaternion.LookRotation los ejes hacen que rote con la cabeza ladeada y de formas muy extrañas. He probado a solucionar el problema corrigiendo los ejes desde el programa de modelado 3D, pero es imposible porque al editar su pivote la cabeza se dobla y las animaciones se estropean. También he intentado darle las coordenadas del eje Y del Quaternion.LookRotation al eje X por script (porque es el eje que la cabeza me usa como eje Y y manualmente rota bien tocándolo desde su ventana de transform), pero sigue haciendo cosas raras. - ¿Alguna forma de resetear o reajustar el pivote de un objeto en Unity o por script para que funcione correctamente?. Un saludo.
  2. Buenas tardes, tengo la esperanza de poder solucionar este problemilla que tengo y que llevo tiempo intentando solucionar (porque no es nada fácil). Mi proyecto es un videojuego de Plataformas-RPG con la cámara al estilo de Fornite, Zelda o cualquier videojuego en tercera persona y mi personaje rota hacia la dirección que queramos ir dependiendo del ángulo que tenga la cámara, de tal modo que si está mirando hacia delante y pulsamos la flecha hacia la derecha rota hacia la derecha y avanza en esa dirección, ¿cual es el problema?, pues una cosa que parece una chorrada y que no es tan fácil de solucionar; el personaje avanza a la vez que rota y cuando está parado y quieres ir hacia una dirección da un pequeño giro como si fuese un coche saliéndose de su ruta en lugar de recolocarse primero en la dirección que queremos ir para después avanzar. He probado que hasta que el angulo de destino y el del personaje no coincidan no avance, pero esto provoca que cuando estés corriendo si quieres rotar en la dirección opuesta se pare porque no coinciden los ángulos. También he probado a crear un pivote el cual mueve al personaje en la dirección que queramos ir y la rotación del personaje va independiente al movimiento del pivote para que por lo menos no avance hacia donde no quiero que lo haga, pero el movimiento se ve muy antinatural (seguramente sea la solución mas acertada porque he visto videojuegos usando este método). - ¿Como puedo hacer que el personaje rote primero y avance después de una forma profesional?. Un saludo y gracias.
  3. Buenas tardes caballeros, paso a detallar mi segunda duda sobre programación y a ver si podemos encontrar una solución, porque le va a servir a mucha mas gente si no para esto para hacer otra cosa parecida. Estoy usando transform.RotateAround para que cuando mi personaje se pare, si por ejemplo se ha quedado mirando a la derecha y no tocamos nada durante unos segundos, la cámara se reposicione detrás y para ello lo he hecho de la siguiente manera: Funciona, pero solo cuando los dos objetos quedan rotados a menos o a mas de 180º, porque cuando no se dan estas circunstancias, la cámara en lugar de rotar por el camino mas corto en ángulos, lo que hace es rotar por el camino mas largo al no poder pasar por el angulo 0º, ya que no entran en la resta de ángulos "Cámara - Personaje" mas de 360º. Lo explico con una imagen para que se entienda mejor y mis dudas son: - ¿Como puedo hallar el camino mas corto si necesito que la cámara pase por los 0º?. - ¿Existe alguna función como Quaternion.Slerp que lo haga automáticamente (¿o incluso la propia función lo hace?)?. Un saludo y felices fiestas!!.
  4. ¡Hola a todos! Antes de nada, decir que estoy realmente encantado de formar parte de esta comunidad, leyendo las preguntas y respuestas de otros compañeros, he aprendido mucho y estoy realmente agradecido. Aqui viene mi duda Estoy trabajando en una camara en primera persona. Tengo un obj player, y en el, ai diferenciadas dos partes; la cabeza y el resto de el cuerpo, dentro de la cabeza esta la camara. La cabeza es movida a través de el ratón, tanto en el eje y como el z. El cuerpo tiene el mismo eje y que la cabeza, de manera que girara a izquierda y derecha al mismo compás que la cabeza, ahora vien, para darle algo de dinamismo a los giros derecha y izquierda, quise usar la funcion Smooth Damp, para darle algo de fluidez,... pero aquí reside mi problema, y es que cuando la rotacion y de la cabeza llega a 0, el cuerpo da un giro de 360 grados y quiero evitarlo... Como lo podria solucionar? Agradeceria cualquier consejo public GameObject Cabeza; public GameObject Cuerpo; float MouseX; float MouseY; public float MaxY; public float MinY; Vector3 current; void Start() { } // Update is called once per frame void FixedUpdate() { MouseX += Input.GetAxis("Mouse X"); MouseY += Input.GetAxis("Mouse Y"); MouseY = Mathf.Clamp(MouseY, MinY, MaxY); Vector3 cuerpoVy = new Vector3(0, Cuerpo.transform.localEulerAngles.y, 0); Vector3 cabezaVy = new Vector3(0, Cabeza.transform.localEulerAngles.y, 0); Cabeza.transform.eulerAngles = new Vector3(-MouseY, MouseX,0 ); Cuerpo.transform.localEulerAngles = Vector3.SmoothDamp(cuerpoVy, cabezaVy, ref current,0.08f); } } Ese es todo el codigo que tengo por ahora(no es muy elegante pero no llego a mas XD) A si y otra duda que no tiene nada que ver... Y es que no se que hace la función root ni como se usa, lo he mirado en la documentación de unity pero no logro aclararme. Gracias por tu atención:) 01110001 01110101 01100101 00100000 01101100 01100001 00100000 01100110 01110101 01100101 01110010 01111010 01100001 00100000 01101111 01110011 00100000 01100001 01100011 01101111 01101101 01110000 01100001 11000011 10110001 01100101
  5. 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.
  6. Problema con el Giroscopio No logro hacer que se active el giroscopio, puedo hacer que un objeto se mueva a los lados: Input.acceleration.x Lo que estoy tratando de hacer es que un objeto rote con este codigo: Input.gyro.enabled = true; Quaternion rotFix = new Quaternion(Input.gyro.attitude.x, Input.gyro.attitude.y, -Input.gyro.attitude.z, -Input.gyro.attitude.w); rot.y = Vector3.Dot(Input.gyro.gravity, Vector3.up) * EscalaMovimiento; Cuando lo pruebo en el ordenador, si me permite activar y desactivar el Giroscopio (Con el Debug.log) pero cuando lo quiero aplicar en un mobil, me aparece como desactivado y no se activa... Si alguien pudiera ayudarme con esto...
  7. Muy buenas, tengo problemas con un scripts. Me sale la siguiente ventana y no madeja añadir el script a la cámara ARcamera. adjunto código también. Saludos y gracias por la ayuda! using System.Collections; using System.Collections.Generic; using UnityEngine; public class ExampleRotate : MonoBehaviour { public GameObject objectRotate; public float rotateSpeed = 50f; bool rotateStatus = false; public void Rotasi() { if (rotateStatus == false) { rotateStatus = true; } else { rotateStatus = false; } } void Update() { if (rotateStatus == true) { objectRotate.transform.Rotate(Vector3.up, rotateSpeed * Time.deltaTime); } } }
  8. Hola! Necesito algo de ayuda en realizar un script (Preferiblemente en JavaScript) para que un InGameObject (En este caso, el del jugador) pueda rotar usando el mouse en un eje, haciendo que el jugador rote de lado a lado usando el mouse, esto se utiliza en juegos como Skyrim y Oblivion cuando la tercera persona está activa, tengo una cámara orbital para el jugador que lo sigue hacia arriba y hacia abajo, también hacia los lados, y lo que quiero es que la cámara siempre muestre la espalda del jugador. Muchisimas gracias de antemano!
  9. Hola gente buenas noches, estoy trabajando en las fisicas de un motor de juegos y tengo un problema que no logro resolver, quiza la respuesta sea simple pero llevo horas con ello y no logro entender el porque. El problema es el siguiente: //Velocidad del cuerpo del personaje var v = _body.velocity; //Rota el angulo alrededor del eje y, Angle:-90 var o = Quaternion.AngleAxis(Angle, Vector3.up); //Regresa la velocidad del cuerpo rotada en el angulo inverso var rv = Quaternion.Inverse(o) * v; //Regresa la velocidad para moverse var speed = Walk.Speed //Obtiene la acceleracion y desaceleracion de camino o del aire var acc = _Walk.Acceleration; //Si se esta moviendo movement:1 speed: 5 dt:deltatime acc:20 rv.z = Mathf.Lerp(rv.z, _movement * speed, dt * acc); rv.x = 0; v = o * rv; _body.velocity = v; Ese es todo el codigo, aclaro nada mas dentro del proyecto afecta el movimiento del objeto y su rotacion es de -90 grados igual que Angle, pero cuando la posicion inicial del objeto esta en 0 en el eje Z, se mueve tanto en x como en z y cuando tiene una cantidad en la posicion inicial del eje Z se mueve solo en x. Si alguien tiene alguna respuesta para esto se lo agradeceria mucho.
  10. hola }soy muy noob, estoy creando un objeto que debe mostrar un texto si rota en vertical, pero si rota arriba con el mouse hace una cosa, sino otra, no se como el drag con el mose se llama si rota hacia arriba y abajo
  11. Hi de nuevo gente Pongo aquí un problemilla que estoy teniendo con una chorraíca. La idea es asignar a una variable el valor de rotación de un objeto, esto es lo que tengo, pero claro esta no funciona ^^' public int Rotate; void Start () { Rotate = GetComponent<Transform>().Rotation.X; } void Update () { if (Rotate > 50) { Debug.Log ("Rotacion"); } }
  12. Holas. Tengo un problema :( Supongamos que en la ventana Scene ajusto la rotación del player, de modo que cuando se inicie el juego, él comience mirando hacia 'x' dirección... Bueno, pues resulta que al iniciar el juego, el jugador ignora la rotación que yo le asigné y en su lugar se orienta hacia el eje Z... siempre. Mirad esta pequeña secuencia de ejemplo. Este es el script del jugador: using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerMovement : MonoBehaviour { private static CharacterController _cc; private static float _currentSpeed = 2f; private static bool _canMove = true; public static CharacterController CC { get { return _cc; } set { _cc = value; } } private void Awake() { _cc = GetComponent<CharacterController>(); } private void Update() { float hAxis = Input.GetAxis("Horizontal") * _currentSpeed; float vAxis = Input.GetAxis("Vertical") * _currentSpeed; Vector3 movement = new Vector3(hAxis, PlayerJump.Gravity, vAxis); movement = transform.rotation * movement; if (_canMove) _cc.Move(movement * Time.deltaTime); } } A ver si alguien me echa el guante. Muchas gracias, de verdad (:
  13. hola a todos, estoy trabajando en un proyecto y se me ha presentado un problema con la inteligencia artificial de un enemigo, lo que sucede es que cuando cambia su animacion de normal a ataque este genera una rotacion en X que no deberia tener, ya revise la animacion y esta no tiene grabado esa rotacion por lo que no se que la esta generando, ya que en el rigidbody ya le restringi las rotaciones en X y Z. utilizo lookat() para fijar la vista en el jugador, no se hacer para que deje de rotar en x.
  14. Hola soy yo otra vez jeje, pues tengo un problema, necesito que mi personaje voltee su cuerpo si muevo la camara(no se si me explico, es un shooter en primera persona pero tengo un modelo del personaje ya que es online, entonces necesito que si el jugador mueve la camara hacia atras pues el cuerpo tambien lo haga, en pocas palabras: que el cuerpo siga la rotacion de la camara)entonces he intentado con un forward para buscar la direccion de un cubo que esta enlazado(esta de hijo) con el personaje, pero unity me dice que no puede cambiar un Vector3 a un Quaternion, entonces de que manera debo de realizarlo? es con el mismo forwad (me imagino) pero como hago que tome la direccion. El codigo que tengo es este, por cierto uso el codigo por defecto de unity (el que se llama Simple mouse rotator para que pueda moverme un poco): public Transform posicionCubo; public GameObject posicionCuerpo; void Update(){ Vector3 posicionNueva = posicionCubo.forward; posicionCuerpo.transform.rotation = posicionNueva; } Por cierto lo hago con el cubo y no con la camara ya que la camara tambien ve hacia arriba, y no quiero que el cuerpo se valla en vertical. Ojala puedan ayudarme gracias.
  15. 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.
  16. Buenas... estoy teniendo un problema al intentar rotar mi personaje hacia una dirección pero sin la coordenada Y, y rotar los brazos hacia esa coordenada en Y ósea que los brazos sólo se mueven hacia arriba y hacia abajo. La parte de rotar el personaje sin cambiar la coordenada Y me funciona bien pero no logro rotar los brazos hacia un lugar pero sólo en Y... además necesito que se tarde X tiempo en rotar hacia esa coordenada ósea que no gire automaticamente, algún consejo??
  17. Estoy intentando que mi firstperson controller al suceder un evento (click en un botón) tome una nueva posición y rotación, el problema esta en lo segundo, la posición si la toma pero la rotación no! ayuda!!
  18. hola gente ,muy buenas paso a comentar el problema: instancia algo similar a una flecha la cual se clavara en alguna pared (por ejemplo), la flecha se clava y ya no se mueve mas.Sin embargo cuando le doy su nuevo parent el cual seria la pared la flecha parece que según el angulo en que impacte la pared, ira cambiando su angulo de caja de colisión.
  19. Hola que tal gente, primero les explico un poco mi problema; estoy desarrollando un juego para moviles con una jugabilidad algo parecida a TempleRun, el problema que tengo es que cuando llego a una esquina y girar este de un brinco ya esta viendo hacia donde gire, lo que yo quisiera hacer es que cuando gire se vea mas smooth, o sea que no gire de golpe y se vea al personaje girando un poco. El personaje usa un Character controller, seria que deba cambiar a rigidbody? Aqui esta mi script en la parte del giro: Estuve investigando y hay unas cosas que se llaman quaternion segun con esto puedo resolver el problema, pero yo no se nada de quaternion, Si alguien me explicara la sintaxis de como usar los quaterniones, o igualmente si alguien tiene una manera diferente de hacer el script estaria muy agradecido que me lo hagan saber. Un saludo a todos!
  20. [SOLUCION] A bajo del todo! Hola, estoy haciendo un juego de plataformas que cambie la gravedad cada vez que hagas click vaya por el techo o por el suelo, he hecho el scrpit para que cambie la gravedat y gire el objeto pero al rotarlo el objeto se queda desconfigurado. Aqui os dejo una imagen del problema y el scprit que tengo hecho per el momento, para que se entienda mejor el error, no siempre se queda asi mal rotado, sino que aveces gira bien, aveces no gira, aveces solo se queda desconfigurado un poco y aveces como la imagen; como si la rotacion no girara siempre con los mismos grados. Gracias. Script: using UnityEngine; using System.Collections; public class ControladorPersonaje : MonoBehaviour { public bool Gravetat = true; public GameObject StormTropper; // Use this for initialization void Start () { } // Update is called once per frame void Update () { if (Gravetat) { if (Input.GetMouseButtonDown (0)) { Physics2D.gravity = new Vector3 (0, 9.8f, 0); Gravetat = false; StormTropper.transform.eulerAngles = new Vector3 (180, 0, 0); } } else { if (Input.GetMouseButtonDown (0)) { Physics2D.gravity = new Vector3 (0, -9.8f, 0); Gravetat = true; StormTropper.transform.eulerAngles = new Vector3 (0, 0, 0); } } } } SOLUCION Buscando por internet el mismo problema pero en ingles he encontrado que para solucionarlo utilizan localScale y no el Rotate. Aqui os dejo mi script: using UnityEngine; using System.Collections; public class ControladorPersonaje : MonoBehaviour { public bool Gravetat = true; public GameObject StormTropper; private bool alTerra = true; public Transform ComprobadorTerra; private float ComprobadorRatio = 0.15f; public LayerMask mascaraTerra; private Animator animator; void Awake(){ animator = GetComponent<Animator> (); } // Use this for initialization void Start () { } void FixedUpdate(){ alTerra = Physics2D.OverlapCircle (ComprobadorTerra.position, ComprobadorRatio, mascaraTerra); animator.SetBool ("isGrounded", alTerra); } // Update is called once per frame void Update () { if (Input.GetMouseButtonDown (0) && alTerra) { if(Gravetat) transform.localScale +=new Vector3(0, -0.6681022f*2 , 0); //Pongo este numero porque mi personaje en un principio la escala enY la tiene en 0.6681022 i lo que hago es que pase a -0,66022 y viceversa//(Borrar esto) else transform.localScale +=new Vector3(0, 0.6681022f*2 , 0); Physics2D.gravity = (Gravetat) ? Vector3.up * 9.8f : Vector3.up * (-9.8f); Gravetat = !Gravetat; } } } Espero que os haya servido! Gracias a todos!
  21. Hola, Estoy tratando de modificar este script que encontré para hacer girar o rotar un objeto con el tacto. Pero lo que quiero es agregarle la función de que rote el objeto al punto de giro inicial tras una inactividad de 2 segundos. Ahora funciona la el giro pero no he logrado hacer que regrese a su punto de rotación original tras 2 segundos de inactividad. Cualquier ayuda es bienvenida! // Moves object according to finger movement on the screen var speed : float = 0.1; var rotationStart = 0.0; var rotatehome = false; var rotationSpeed = 10; function Awake () { transform.Rotate(rotationStart,0,0); } function Update () { if (Input.touchCount == 1 && Input.GetTouch(0).phase == TouchPhase.Moved) { // Get movement of the finger since last frame var touchDeltaPosition:Vector2 = Input.GetTouch(0).deltaPosition; // Move object across XY plane transform.Rotate (0,-touchDeltaPosition.x * speed, 0); rotatehome = false; } else if (rotatehome) { transform.rotation = Quaternion.RotateTowards(transform.rotation, new Quaternion(0,0,0,0.1), rotationSpeed); } } function Return() { yield WaitForSeconds (0.5); rotatehome = true; }
  22. Estoy desarrollando para mi proyecto de grado, un audio juego virtual con implementación de sonido binaural en unity, pero para el desarrollo de las trampas, necesito disparar el sonido dependiendo de la posición y la rotacion con respecto a la trampa. les agradeceria si me pudieran ayudar, de programacion en unity no se mucho, y pues es algo urgente y estoy atento a ustedes muchas gracias.
  23. al cambiar entre el objeto first y third no hay problema alguno, solo que siempre quedan mirando hacia la misma dirección. en target1 hay un children de first que siempre queda delante del jugador. en target3 un children del objeto third que siempre queda delante de él. var first : GameObject; var third : GameObject; var target1 : Transform; var target3 : Transform; private var playerpos1 : Transform; private var playerpos3 : Transform; private var relativePos1 = target3.position - transform.position; private var relativePos3 = target1.position - transform.position; private var rotation1 = Quaternion.LookRotation(relativePos1); private var rotation3 = Quaternion.LookRotation(relativePos3); function Start () { playerpos1 = first.transform; playerpos3 = third.transform; } function Update () { if(Input.GetButtonDown("camview")){ if (first.activeSelf == true){ third.SetActive(true); third.transform.position = playerpos1.position; third.transform.rotation = rotation1; first.SetActive(false); } else{ first.SetActive(true); first.transform.position = playerpos3.position; first.transform.rotation = rotation3; third.SetActive(false); } } } ¿que está mal? ¿porque no rotan en la direccion del target?
  24. Quiero rotar la cámara, y tengo la siguiente función; private void Rotate(){transform.Rotate(0, Input.GetAxis("Mouse X") * rotateSpeed * Time.deltaTime, 0);Camera.mainCamera.transform.Rotate(-1 * Input.GetAxis("Mouse Y") * rotateSpeed * Time.deltaTime, 0, 0); }¡Funciona!, sin embargo tengo problemas con los limites, porque con esta función la cámara se puede rotar hasta niveles exagerados (Puedes llegar a rotar la cámara 360 grados), además de que si el mouse se sale de la pantalla la camara se sigue rotando como loca. Lo que quiero es limitar los movimientos de la camara, para nunca rotar demasiado, pero conservando el control del mouse.
×
×
  • Create New...