Jump to content

Search the Community

Showing results for tags 'collider'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

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

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

  1. Buenos días a todos Tengo en la punta de sus brazos un trigger, que al colisionar manda una señal para que el brazo retroceda hasta su posición inicial, pues bien... https://drive.google.com/open?id=1D458m5HAQV58xFYLj-wVUMfFPgrqbjPr Como podéis ver en el vídeo, la colisión no es nada precisa.... como hago para que sea exacta al 100% Gracias de antemano
  2. Buenos días a todos 😃 Tengo un objeto padre y dentro de este ay otros dos objetos hijo con un trigger cada uno, me gustaría saber cuando uno o el otro (de estos hijos) esta colisionando, mediante un script dentro de el padre. Alguna idea?
  3. Hola a todos. A ver si me podéis ayudar... Tengo dos gameobjects con RigidBody y collider asociados, movidos por la física. A es el padre y B es el hijo en la jerarquía, situado encima del objeto A (pos Y más arriba) Ya sé que el rigidbody del hijo no se actualiza aunque se mueva el padre. La situación es la siguiente: El objeto A se mueve de izquierda a derecha de forma continua empleado su rigidbody y método MovePosition El objeto B se mueve con el objeto A, manteniendo su posición relativa. Si en el objeto B hago esto en el método FixedUpdate: compruebo que su rigidbody.position no se mueve, pero sí su posición GLOBAL (transform.position). Su posición relativa (transform.localPosition) no se mueve.Hasta aquí lo entiendo, todo correcto. Ahora quiero mover el objeto B al pulsar una tecla, pero que siga desplazándose al mismo tiempo, por lo que tengo este código asociado a B: Esto da como resultado que el objeto B ya no se mueva con el padre y que sólo se mueva por la pulsación de las flechas (ejes virtuales).
  4. Buenas noches, viendo un tutorial de Unity para seguir aprendiendo y añadiendo cosas a mi proyecto, he visto que el desarrollador usa RayCast para detectar por ejemplo si el personaje toca el suelo y hacerlo salta, lo que me ha dejado un poco desconcertado porque tenia entendido que RayCast se usaba mas bien para que la cámara no chocara contra las paredes o para la trayectoria de una bala, etc, pero para detectar el suelo siempre había visto que usaban OnCollision. - ¿Que diferencia hay entre estas dos formas de detectar colisiones?. - ¿Cual de las dos consume mas recursos?. No entiendo por que crean dos formas de hacer lo mismo cuando con una sobra y deduzco que no son exactamente lo mismo pero no le veo el razonamiento. un saludo y gracias.
  5. ¡Hola a todos! Vengo con otra duda y es que necesito guardar en una variable tipo gameobject, el objeto que este colisionando con el collider. Se que no lo estoy explicando muy bien, pero ahora no se como definir mejor lo que quiero hacer . En todo caso, gracias de antemano.
  6. Hola muy buenas a todos tengo un pequeño problema con las funciones del mouse y nose por que no anda codigo using System.Collections; using System.Collections.Generic; using UnityEngine; public class inv_prin : MonoBehaviour { public int id_objecto; public int cantidad; public int slot; // Use this for initialization void Start () { //Debug.Log("Slot: " + slot); } // Update is called once per frame void Update () { } void OnMouseDown() { Debug.Log("Test!"); } void OnMouseUp() { Debug.Log("Test!"); } void OnMouseOver() { Debug.Log("Test!"); } void OnMouseDrag() { Debug.Log("Test!"); } } Video: http://www.gastontutorialeshd.xyz/fastdll/unity_fail.mp4 Si alguien sabe como solucionarlo se lo agradeceria
  7. Buenas, Estoy creando un juego tipo rol en 2D, tengo un personaje y un enemigo, cada uno con un tag distinto, "Player" y "Enemigo", ambos tienen 1 Rigidbody2D y 2 Colliders, luego tengo un circle Collider para el ataque, pero ese lo tengo en un objeto hijo, de esta manera EL collider de ataque se sitúa según la dirección del personaje, hacia donde ataque, el colider grande es un trigger, el pequeño no, para que colisione y no pase con arboles y demas En el colider de ataque tengo un script En el script Attack simplemente hago lo siguiente: void OnTriggerEnter2D (Collider2D col) { print("entra:"+col); if (col.tag == "Player") { print("entra a daño de Player"); } if (col.tag == "Enemigo") { print("entra a daño de enemigo"); } } private void OnTriggerStay2D(Collider2D collision) { print("se queda:"+collision); } El collider de ataque se activa y desactiva en un intervalo de tiempo, si mi ataque dura 1 segundo el colider se activa entre 0.20 y 0.80, esto me funciona bien. Lo que no consigo es que se detecte la colision, no se porque, no me pinta nada en la salida, si dejo a mi personaje quieto y el enemigo viene y me ataca no se detecta la colision, si en ese momento muevo a mi personaje si se detecta....hago algo mal? no seria la forma adecuada de hacerlo? Muchas gracias
  8. ¡Hola! Tengo un pequeño problema con la interfaz. En el espacio "Scene" quiero editar los colliders de un objeto, pero al hacer zoom sobre el mismo, los vértices del collider desaparecen (y de cerca no puedo editarlos). Eso en el mejor de los casos, porque por norma general al acercarme con el zoom los objetos se ocultan. ¿A qué se puede deber esto? ¿A la profundidad de la cámara? ¿A la escala de unidades? ¡Gracias!
  9. Hola, tengo la siguiente duda y a la vez problema, Tengo un personaje que vendria siendo el objecto padre, y tengo la espada que es el objecto hijo, resulta que al objecto hijo le puse un capsule collider para que cuando active la animación de atacar en el objecto hijo esta se mueva junto con ella, lo que necesito es que al colocar el script que aplique el dmg al objecto padre, este use el collider del hijo(espada) y no el suyo, seguro se estarán preguntando porque no le coloco dicho script al hijo, resulta que esto lo estoy haciendo en una escena multijugador y no puedo tener dos Network Identity en un solo prefab y al no tener Network Identity la espada me tira un error de autoridad al momento de llamar script que están en el jugador impactado. Ojala me puedan ayudar. Muchas Gracias.
  10. Hola muy buenas a todos tengo un problema con las ruedas no se por que hacen eso (imagen abajo) using UnityEngine; using System.Collections; using System.Collections.Generic; [System.Serializable] public class AxleInfo { public WheelCollider leftWheel; public WheelCollider rightWheel; public bool motor; public bool steering; } public class SimpleCarControler : MonoBehaviour { public List<AxleInfo> axleInfos; public float maxMotorTorque; public float maxSteeringAngle; // finds the corresponding visual wheel // correctly applies the transform public void ApplyLocalPositionToVisuals(WheelCollider collider) { if (collider.transform.childCount == 0) { return; } Transform visualWheel = collider.transform.GetChild(0); Vector3 position; Quaternion rotation; collider.GetWorldPose(out position, out rotation); visualWheel.transform.position = position; visualWheel.transform.rotation = rotation; } public void FixedUpdate() { float motor = maxMotorTorque * Input.GetAxis("Vertical"); float steering = maxSteeringAngle * Input.GetAxis("Horizontal"); foreach (AxleInfo axleInfo in axleInfos) { if (axleInfo.steering) { axleInfo.leftWheel.steerAngle = steering; axleInfo.rightWheel.steerAngle = steering; } if (axleInfo.motor) { axleInfo.leftWheel.motorTorque = motor; axleInfo.rightWheel.motorTorque = motor; } ApplyLocalPositionToVisuals(axleInfo.leftWheel); ApplyLocalPositionToVisuals(axleInfo.rightWheel); } } }
  11. Ante todo Feliz año a todos y todas :) Estoy haciendo un proyecto (juego estilo FPS) para un curso de Desarrollo de videojuegos, haciendo uso de C# y Unity, y estoy teniendo un problema que no sé cómo resolver de forma efectiva sin estropear otra cosa... Problema relacionado con: Character Controller y su Collider Mi problema es que mi CharacterController tiende a subirse encima de otros objetos con Collider que son más bajos que él, el Collider de mi CharacterController es como una esfera por necesidad de separarlo de las paredes, pero al colisionar con objetos bajos o insistir en algunos de altura media, tiende a subirse encima....y quedarse flotando en esa altura o no volver a bajar del todo. ¿Se os ocurre qué puede ser? He probado de todo un poco pero nada, no puedo ponerle Collider "Box" también, no son los grados que tiene para controlar qué cosas puede subir o no, y he leído por el foro algo de ponerle un material físico, pero se supone que el Collider por defecto del CharacterController no puede añadírsele un material físico. Cuando paso por encima de un pastel/tarta que puse en el suelo con un Box Collider, la esfera sube al pasar entre él y una pared, o si insisto en una esquina del Box Collider, lo mismo me pasa con unos enemigos con NavMesh/NavAgent y una Cápsula o Box que también probé, o se sube encima, o se hunde en el suelo tras insistir frente a varios enemigos bajitos con Cápsula o Box (en este caso hasta se hunde en el suelo), si me quedo parado además los enemigos (si van en masa hacia mi y me quedo quieto), se meten dentro de mi, aunque al moverme me "transporta" al borde del Collider del más lejano o algo así creo ver. Os pongo GIF de ejemplos a ver si podéis aconsejarme algo, es urgente pero haced lo que podáis :( , gracias. También os dejo cómo muevo al CharacterController (SimpleMove) y cómo lo movía antes (Move). Usé SimpleMove porque vi que hacía uso de gravedad para que el personaje volviera al suelo al menos, que lo hace como deslizándose y normalmente invirtiendo los controles de delante y atrás (W y S) mientras la gravedad lo lleva al suelo como en los GIF, con Move haría lo mismo pero no bajaría, mantendría la altura de cuando sube a algo y podría moverme como si estuviera en el suelo, no perdía el control ni se invertía en ningún momento. public float speed = 5.0f; CharacterController controller; private Vector3 moveDirection; void Start () { controller = GetComponent<CharacterController>(); } void Update () { //Asi movía antes con MOVE moveDirection = new Vector3(Input.GetAxis("Horizontal"), , Input.GetAxis("Vertical")); moveDirection = transform.TransformDirection(moveDirection.normalized) * speed; controller.SimpleMove(moveDirection * Time.deltaTime); Vector3 forward = transform.TransformDirection(Vector3.forward); float curSpeed = speed * Input.GetAxis("Vertical"); controller.SimpleMove(forward * curSpeed); //Así muevo ahora con SIMPLEMOVE Vector3 forward = transform.TransformDirection(Vector3.forward); Vector3 left = transform.TransformDirection(Vector3.left); float ForSpeed = speed * Input.GetAxis("Vertical"); float LeftSpeed = speed * -Input.GetAxis("Horizontal"); if (Input.GetAxis("Vertical") > || Input.GetAxis("Vertical") < ) { controller.SimpleMove(forward * ForSpeed); } if (Input.GetAxis("Horizontal") > || Input.GetAxis("Horizontal") < ) { controller.SimpleMove(left * LeftSpeed); } GIFs del problema: Link al GIF1 (CloudApp, es un servicio en la nube) Link al GIF2 (CloudApp, es un servicio en la nube) Quiero dejar algunos datos más de algunas de las pruebas, si no me equivoco ahora mismo cuando uso un Box Collider en el jugador (dejando el del CharacterController dentro para no usarlo), no tengo ese problema, es la esfera la que se sube en las cosas si no me equivoco, tanto si no hay espacio entre los dos objetos, o si insisto en esquinas y tal del mismo. He dejado los parámetros del CharacterController a 0 (movimiento mínimo, ángulo que sube, skin, etc...) y en esos casos, subiendo además el box collider de altura (sin tocar el suelo) del objeto que sube, en este caso la tarta, evita en parte problemas pero siguen pasando las dos cosas, sigue flotando y perdiendo el control en el aire cuando choca entre pared y tarta a veces, y si insisto contra esquinas de la tarta se sube igualmente encima. He probado más cosas, pero no me interesa poner Box Collider a todo, o usar Rigidbody a la vez que el CharacterController, ya que el profesor no lo vería bien (como usar NavMesh y Character Controller a la vez), y tampoco uso físicas en nada en el juego, solo enemigos con Capsule Collider (o Box en pruebas), y con Colliders en manos o partes que me golpean (donde tiende a subirse también a los mini Collider enemigos al pegarme y andar hacia ellos aunque al enemigo no subiera teniendo por ejemplo una Box Collider si no me atacara). En fin, que al final acaba subiendo a todo y no sé qué hacer con el jugador :( Link al GIF3
  12. Hola a todos, llevo tiempo sin utilizar unity 3d y no me acuerdo de mucho, pero mi problema es que estoy haciendo un juego de coches en 2d y cuando pongo un boxcollider2d en trigger para la puntuación y cuando colisiona, hace mas de una colisión un ejemplo tengo una variable puntos que suma 100 y a veces al colisionar me da 100 pero casi siempre 200 o 300 puntos cada vez que colisiono, sera un bug de unity utilizo la ultima versión lo he instalado hace poco y no hay mas actualizaciones, no el pro, con las particulas en algunos sitios colisiona y se instancia mas de una explosión depende de la caída y el choque , ¿a alguien le ha pasado esto? no creo que sea de script yo pienso que tiene que ser de los collider. Gracias de antemano.
  13. Buenas tardes, tengo que terminar un dichoso proyecto de la uni i me veo que no lo terminare a menos que me puedan echar un cable. Veamos necesito mandar el valor de este int(ver script mas abajo), a un archivo php ( http://adisfrutar/prova.php? ) pero he foreado mucho i no saco nada en claro. alguna idea por favor? aqui el script de el score: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class score : MonoBehaviour { AudioSource audio; int puntos = ; public Text puntuacion; public Animation anim; void Start() { audio = GetComponent<AudioSource>(); } void OnTriggerEnter(Collider c) { if (c.gameObject.tag == "coin") { puntos += 10; // add your own score audio.Play (); if (PlayerPrefs.GetInt ("MyScore") < puntos) PlayerPrefs.SetInt ("MyScore", puntos); puntuacion.text = "Puntos: " + puntos.ToString (); Destroy (c.gameObject); } } }
  14. Hola gente, necesito ayuda. Es posible manipular desde un scrpit un OnCollisionEnter de un GameObject que no contenga dicho script? Dicho en otras palabras, tengo creado un Empty, donde le meto un script con el metodo collider, y necesito informacion de colision de un gameobject de mi escena, pero que ese gameobject no contenga ningnun script. Ejemplo: Public GameObject test_Plate; void OnCollisionEnter (Collision col) { //Necesito manipular las colisiones de test_Plate, como hago??? //obviamente anteriormente ya arrastre mi correspondiente GameObject a la variable publica, con su correspondiente BoxCollider }
  15. Hola Uniters! No consigo crear de forma procedural las rocas y que tengan colisiones. Si las creo como arboles (places trees), si que funcionan, tienen sus colisiones y todo funciona bien, el problema es que todas tienen el mismo tamaño y figura Si las creo como detalles, no crean la colisión, no entiendo porque, he probado diferentes colisiones (sphere, cube, box ...) he mirado diferentes tutos y no veo que hagan esto exactamente, o si lo hacen pero no comprueban que funcione la colisión. Adjunto 2 screens de como lo tengo hecho http://i.imgur.com/xzal0ga.png http://i.imgur.com/5ILtrhJ.png Si alguien sabe que puede estar pasando o que estoy haciendo mal lo agradeceré de corazón :p Saludos!
  16. Hola , tengo un problema , esque estoy haciendo un proyecto de un juego de karts , y necesito ayuda , ya he introducido en unity 5 el kart , pero no me funciona , el whell collider de las 4 ruedas me sale en medio del chasis y nose si es por eso pero el coche no me va para delante , queria saber si hace falta script o algo para hacer funcionar el kart , cuando le doy al play se me va para la derecha pero sin apretar nada , el solo se va a la derecha sin tirar para adelante y estoy muy agobiado ya que necesito solucionar eso y avanzar.. y estoy muy estancado , porfavor alguien que pueda ayudarme a hacer funcionar el kart... dejo fotos de toda la estructura del kart y saber si hace falta algo mas para que funcione , muchas gracias
  17. Hola! Tengo una duda rápida... Imaginemos que tengo un collider con el isTrigger activo, y que se lo he puesto a un GameObject en la cabeza. Pero luego le pongo al mismo GameObject otro collider, también con el isTrigger activo, pero esta vez en la pierna... Bueno, aquí empieza mi duda... Dentro del OnTriggerEnter... cómo hago referencia al trigger de la cabeza sin que el de la pierna se vea afectado? Cómo los distingo? Thank you <3
  18. La verdad no me gusta pedir ayuda pero ya estoy desesperado, las colisiones son fáciles, el detectar una colisión con un objeto pero lo que no consigo encontrar es como detectar una colisión en x, en y o en z, mi código para una detección básica normal es void OnCollisionEnter(Collision col) { if (col.gameObject.tag == "Pilar") { Distancia.perderdistancia = false; } } Pero claro así afecta la colisión en general y yo solo quiero que sea tan solo en "x". Alguno podría ayudarme? Mil disculpas por no poner esto donde corresponde.
  19. Hola a todos tengo una pequeña duda, estoy creando un juego en 2D. Estoy haciendo pruebas con el Canvas de unity para que sea adaptativo completamente, por esto no uso nada fuera de la categoria UI. Ya eh logrado hacer un juego completo unicamente usando estas opiones y todo a estado bien. pero veo que en este caso al poner el controlador del personaje principal y moverme por el escenario puedo llegar a los bordes del canvas y traspasar los limites. Mi pregunta es que opción tengo para evitar esto ? los colliders no funcionan como en los objetos 3D y no se vuelven adaptativos. Otra opción que barajé fue usar un valor flotante que al llegar o sobrepasar el valor donde este el borde o limite del canvas se detenga, pero esto no me funciona por que al probar en pantallas distintas los limites son distintos. ¿alguna idea?
  20. hola muy buenos dias a todos como estan? una pregunta alguno sabe por que que la bala del arma al poner boxcollider y capsule atraviesa los objecto que tienen collider y los objecto no tiene el trigger activado osea no lo tendria que atravesar por que pasa eso. var proyectil : Rigidbody; var velocidad : int = 100; var sounddisparo : AudioClip; function Update () { if ( Input.GetButton ( "Fire1" )) { if (Time.time > nextFire) { nextFire = Time.time + fireRate; var bala : Rigidbody = Instantiate ( proyectil,transform.position,transform.rotation); bala.velocity = transform.TransformDirection(Vector3(,,velocidad)); Physics.IgnoreCollision(bala.GetComponent.<Collider>(),transform.root.GetComponent.<Collider>()); } } }
  21. Hola, tengo un pequeño problema cuando el player choca con una pared. Es como que empieza a tener convulsiones. Alguien sabe decir cómo corregir esto? Miren este gif. También tengo el problema de que cuando subo una ladera de una colina o algo y me quedo quieto, el player se empieza a resbalar. Gif de ejemplo Ya sé que esto no está mal, pues es obvio que se va a resbalar ya que tiene un Rigidbody xd Pero igualmente se puede corregir, verdad? Aquí dejo el código que estoy usando para el player por si alguien quiere verlo. Tal vez haya algún error. using UnityEngine; using System.Collections; public class ControladorJugador : MonoBehaviour { private float _velocidadOriginal; public float velocidad = 4.0f; public float velocidadCorrer; void Start() { Cursor.lockState = CursorLockMode.Locked; _velocidadOriginal = velocidad; velocidadCorrer = velocidad * 2.0f; } void Update() { Caminar(); Correr(); Editor(); } void Caminar() { float movimiento = Input.GetAxis("Vertical") * velocidad; float movimientoLateral = Input.GetAxis("Horizontal") * velocidad; movimiento *= Time.deltaTime; movimientoLateral *= Time.deltaTime; transform.Translate(movimientoLateral, 0.0f, movimiento); } void Correr() { if (Input.GetKeyDown("left shift")) { velocidad = velocidadCorrer; } else if (Input.GetKeyUp("left shift")) { velocidad = _velocidadOriginal; } } void Editor() { if (Input.GetKeyDown("escape")) { Cursor.lockState = CursorLockMode.None; Cursor.visible = true; } } } Qué recomiendan?
  22. Hola buenas, a ver si me explico bien... Tengo un tubo por el cual pasa una bola, el problema es que la bola no se me queda dentro del tubo, no entiendo muy bien como poner el collider, porque por lo que entiendo un objeto no puede estar dentro de el.... alguien tiene una idea de como hacer que la bola no salga del tubo? gracias de antemano!!
  23. hola, tengo un problema con las colisiones, tengo un gameObject que debe ser una bomba, que cuando entra en contacto con el suelo de activa y a los 5 segundos se destruye y inicaliza la animación de explosión. hasta aquí todo correcto. el problema esta en que el suelo i la pared en contacto con la bomba (un cubo) debería destruirse. utilizo el OnCollisionExit en la baldosa y la pared para determinar a través de un tag que ya no esta en contacto con la bomba y que se destruye, pero no lo hace. alguien sabe porque, o un alternativa ? he adjuntado los scripts de la bomba y de la baldosa. gracias de antemano por vuestra atención BaldosaEffect.cs BombAttack.cs
  24. hola de nuevo, intento que un cubo que cae de cierta altura cuando toca el suelo no tenga ningún rebote ni luego pueda ser movido por el personaje, tampoco quiero que durante la caída el cubo caiga recto sin alterarse la trayectoria. gracias por la ayuda, poco a poco intentare ir aprendiendo y contribuir en el foro resolviendo problema de otros desarrolladores.
  25. Estoy armando un Script de pelea con espadas, tengo el siguiente Script de pruebas; using UnityEngine; using System.Collections; public class Attack : MonoBehaviour { Animator animacion; void Start () { animacion = GetComponent<Animator> (); } void Update () { } void OnTriggerStay (Collider collision) { print ("Coliciono con " + collision.name); // Si realiza Ataque 1 if (animacion.GetCurrentAnimatorStateInfo (0).IsName ("Ataque-EspGra-1")) print ("realizo ataque 1"); // Si realiza Ataque 2 if (animacion.GetCurrentAnimatorStateInfo (0).IsName ("Ataque-EspGra-2")) print ("realizo ataque 2"); // Si realiza Ataque 3 if (animacion.GetCurrentAnimatorStateInfo (0).IsName ("Ataque-EspGra-3")) print ("realizo ataque 3"); } } Este Script esta acoplado a la espada. Pero algo anda mal, porque solo detecta colision con la mano del personaje, y no con otros objetos... ¿Ayuda?...
UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...