Jump to content

Search the Community

Showing results for tags 'colisiones'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Proyectos
    • Offtopic
    • Unity Feeds
    • Website
    • Youtube
  • 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 10 results

  1. Hola buenas tengo un problema con las colisiones de unity 5.2.4, lo que pasa que mi personaje que es un cubo con rigidbody atraviesa objetos que tienen puesto el mesh collider, y estoy desesperado porque nose que hacer para que mi cubo no atraviese los objetos aun teniendo colliders, los colliders los tengo con mesh collider, pero pasa lo mismo con los demas. Alguna sugerencia?
  2. 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!
  3. Hola a tod@s, Estoy aprendiendo a lidiar con Unity bajo JavaScript y me cuesta un poco conseguir que mi proyecto se comporte como necesito. Me gustaría que mi personaje aumente de tamaño al colisionar con un objeto y, al colisionar con otro que aumente la velocidad durante un periodo de tiempo limitado. Lo del tamaño ya lo tengo pero, por desconocimiento, no consigo dar con la sentencia adecuada para conseguir aumentar la velocidad durante, pongamos, 10 segundos. Mi personaje se mueve bajo los Scripts de control en tercera persona del Asset Store ( que están en C# y que no domino en absoluto) y mi Script de colisiones es en JavaScript que conozco un poco más pero tampoco demasiado ya que estoy estudiándolo por mi cuenta y, como aquel que dice, acabo de empezar. Os paso el Script que tengo a ver si me podéis echar un cable: #pragma strict function Start () { } function Update () { } function OnCollisionEnter(collision: Collision) { // Podría ser también: // function OnCollisionEnter (hit:Collision){ if (collision.gameObject.tag== "cubo") { // if (hit.gameObject.tag== "cubo") { print ("Estoy Chocando Con El Cubo"); // print ("Estoy Chocando Con El Cubo"); } // } } function OnTriggerEnter (collider:Collider) { if (collider.gameObject.tag=="cubo-tamaño") { //print ("Esto es un trigger"); transform.localScale += new Vector3(1.5F, 1.5, 1.5); Destroy(collider.gameObject); } /* Esta es la parte que no consigo sacar. Sé que está mal, pero no sé por qué ni cómo hacerlo para que funcione como yo quiero ya que mis conocimientos son algo limitados. Entiendo que, si para cambiar el tamaño de mi personaje uso la sentencia "transform.localScale" quizá para cambiar la velocidad podría ser "transform.Translate", pero seguramente me equivoco y es por eso que os pido ayuda. */ if (collider.gameObject.tag=="cubo-velocidad") { transform.Translate += (new Vector3.forward *Time.deltaTime); Destroy(collider.gameObject); } } Esto es lo que he hecho para el tamaño y la velocidad y, a riesgo de repetirme, la sentencia del "transform.Translate" la he hecho sin saber qué es lo que estoy haciendo... Saludos y Muchas gracias de antemano.
  4. Buenas, Estoy creando un juego de plataforma 2D y tengo un problemilla con las plataformas, me gustaria saber si alguien sabe como hacer que el personaje traspase las plataformas por debajo, pero al caer encima de la plataforma choque.(Atravesar como el juego Doodle Jump). Muchas gracias, un saludo Alex.
  5. Estimados,¿Qué mas se necesita para que el choque entre sólidos sea mas realista? por ejemplo a veces una esfera atraviesa otro solido sin razón aparente, la única diferencia es que uno de los sólidos puedo moverlo a mi voluntad con un script, pero el otro solido no responde realistamente si lo hago chocar con el otro solido. Es decir, a veces rebota y otras veces atraviesa el modelo que estoy moviendo. Otro ejemplo mas claro, si una plataforma se esta moviendo y caen cajas sobre ella, aveces rebotan y otras caen a través de la plataforma. ¿? ¿Como podría mejorar esto?
  6. Buenos dias. Edite este script. La verdad funciona perfecto . Pero no he podido lograr que el objeto que lo lleva, colisione con otros. Despues de muchas pruebas creo pensar que es porque no tiene un movimiento paralelo (en un eje concreto). He probado colisiones, ontrigger colision, oncolision, physics materials y nada. Que hay que tener en cuenta para hacer un script que pueda limitar el movimiento sin colision? Como los death fall out, que cuando llega a cierta altura, el objeto reinicia en una posicion, solo que en este caso, en varias direcciones (no solo hacia abajo?).. using UnityEngine; using System.Collections; public class DronX : MonoBehaviour { public float normalMoveSpeed = 10; private float rotationX = 0.0f; private float rotationY = 0.0f; void Update () { rotationX += Input.GetAxis("Mouse X") * normalMoveSpeed * Time.deltaTime; rotationY += Input.GetAxis("Mouse Y") * normalMoveSpeed * Time.deltaTime; rotationY = Mathf.Clamp (rotationY, -90, 90); transform.localRotation = Quaternion.AngleAxis(rotationX, Vector3.up); transform.localRotation *= Quaternion.AngleAxis(rotationY, Vector3.left); { transform.position += transform.forward * normalMoveSpeed * Input.GetAxis("Vertical") * Time.deltaTime; } } }
  7. Buenas a todos. Estoy haciendo un pequeño videojuego para Android y me surge el siguiente problema: Tengo un sprite que se crea por encima del límite de la pantalla en eje Y, y tiene una velocidad que hace que dicho sprite baje a una velocidad constante. Debajo tengo otro sprite, que es el jugador. En el momento en que los dos colisionan quiero que haga una serie de cosas, pero la colisión no me la detecta. Los dos sprites tienen una Sphere Collider y el jugador es el sprite que tiene el Is Trigger activado. La función de colisión la tiene el primer Sprite de la siguiente manera. void OnTriggerEnter(Collider item) { Debug.Log ("Hey"); if (item.tag == "Groc") { Destroy(gameObject); Debug.Log ("+1"); } } Al colisionar no hace nada de lo que he escrito, ni siquiera entra en el primer mensaje de Hey. El otro sprite tiene la etiqueta correcta y todo pero no funciona. Alguien sabría decirme por que? Muchas gracias :) PD: Adjunto una imagen de la pantalla por si no se entiende.
  8. Tengo un objeto (puntero) con este simple codigo: var velocidad = 5.0; function Update () { var x : Vector3 = Input.GetAxis("Horizontal")*transform.right*Time.deltaTime*velocidad; var z : Vector3 = Input.GetAxis("Vertical")*transform.forward*Time.deltaTime*velocidad; transform.Translate(x+z); }el objeto esta entre 4 cubos que hacen de paredes, pero al colisionar con estas el objeto no se para, entonces me pareció que habría que definirle las colisiones y le añadí esto (seguramente mal) function OnCollisionEnter(){ velocidad=0; }¿como debería definir las colisiones para que el objeto se pare al tocar las paredes? he probado con riggidbody y nada, todos los boxcolliders estan activados como se ve en la imagen.
  9. Hola a todos! estoy haciendo un sistema de construcción de edificios tipo trópico (seleccionarlo de un menú y colocarlo en el terreno) y aunque estoy nuevo en esto creo, va todo bien (no ha explotado la computadora todavía XD). en la camara: var rayo : Ray = Camera.main.ScreenPointToRay(Input.mousePosition); Debug.DrawRay(rayo.origin, rayo.direction*Mathf.Infinity, Color.blue); if(Physics.Raycast(rayo, hit, Mathf.Infinity, mascara)){ if (hit.collider.gameObject) { if(obras){ edificio=Instantiate(Resources.Load(objeto),Vector3(hit.point.x,hit.point.y,hit.point.z) ,Quaternion.identity) as GameObject; edificio.name="construir"; GameObject.Find("construir").AddComponent.<construir>(); obras=false; if(Input.GetMouseButtonDown(1)) { obras=false; Time.timeScale=1; } } } } luego le pongo este script al objeto(edificio instanciado): #pragma strict var edificio: GameObject; function Start () { } function Update () { transform.position.x=Obras.hit.point.x; transform.position.y=Obras.hit.point.y; transform.position.z=Obras.hit.point.z; if(Input.GetAxis("Mouse ScrollWheel") <0) { transform.Rotate(Vector3(0,-30,0), Space.World); } if (Input.GetAxis("Mouse ScrollWheel") >0) { transform.Rotate(Vector3(0,30,0), Space.World); } if(Input.GetMouseButton(0)) { if(Controles.arcas_publicas>=edificios.costo){ Destroy(this.gameObject); edificio=Instantiate(Resources.Load(Obras.objeto),Vector3(Obras.hit.point.x,Obras.hit.point.y,Obras.hit.point.z) , this.transform.rotation) as GameObject; Controles.arcas_publicas-=edificios.costo; Time.timeScale=1; } else{ //provisional Debug.Log("no tienes plata"); } } if(Input.GetMouseButton(1)) { Destroy(this.gameObject); } } function OnCollisionEnter(Collision){ Debug.Log("Q"); } logro con esto captar las coordenadas del terreno donde pasa el mouse e instanciar el edificio previamente seleccionado en el gui en esas coordenadas. El problema esta en hacer que la instancia detecte colisiones con por ejemplo edificios ya colocados, arboles, piedras, etc. y que al detectar no permita instanciar. he probado con el ray y con el OnCollisionStay pero creo que no entiendo como funciona esto ultimo, no logro nada. oh grandes gurús del desarrollo independiente, iluminen me con sus conocimientos jajaja
  10. Buenas, llevo muy poco en el mundillo de Unity, muy, muy poco, y empecé un proyecto por aprender un poco mas... El caso es que empecé a hacer un juego en 2D y al no tener mucha idea del tema pues quería hacer una pregunta... Tengo un PJ1 con layer Player y que dispara balas con layer Player también, los cuales al entrar en colision con el enemigo de layer "enemigo", le hacen daño, le restan la vida correctamente y le matan, al igual que el a mi cuando me dispara... El caso es que si hago una pared con layer "paredes" por ejemplo, el cual en el physics editor esta activado para colisionar con el player, el player ME PASA por dentro, aun teniendo rigidbody y no se como hacer para que se coque contra la caja, pero no se mueva ninguno de los dos, que la caja funcione como si fuera una simple pared... cualquier ayuda me sería de gran utilidad, muchas gracias de antemano y lo siento al tener tan pocos conocimientos, pero me gustaría ir aprendiendo poco a poco. Un saludo.
UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...