Autor Tema: [UNITY] Chapuzas, o como conseguir el objetivo antes del desastre (ñapas inside)  (Leído 1605 veces)

JuDelCo

  • En evolución
  • Socio
  • Super Jammer
  • ***
  • Mensajes: 240
  • Molas: 35
  • The Game
    • Twitter
Bueno, en un arranque de emociones en contra Unity porque no había forma de que hiciese lo que quería, se me ha ocurrido un nuevo tema donde podamos poner ñapas de código para reirnos los unos a los otros (espero no ser el único  ::) )

En este primer caso, estaba intentando usar la función Physics2D.BoxCastAll() para comprobar colisiones, y después de un rato merecido, me he cansado de Unity y sus tonterías (en serio, ¿que demonios es "distance" o "direction" si ya le he dado las medidas, posición y ángulo?) así que me he hecho 4 linecast para "dibujar" el cuadrado y .... ea. Esto es lo que ha salido. Pero EH! Funciona  >:(



PD: No tengo rigidbodies, olvidaros de los "OnTrigger()"
PD2: OBVIAMENTE no voy a dejar esto así, pero sirve de introducción al hilo  :P

MiguelCriado

  • Socio
  • Jammer
  • **
  • Mensajes: 86
  • Molas: 24
    • Twitter
Re:[UNITY] Chapuzas, o como conseguir el objetivo antes del desastre (ñapas inside)
« Respuesta #1 en: 22 de Julio de 2015, 08:44:59 pm »
Creo que intentabas usar el BoxCastAll para lo que no es porque la forma en la que funciona no tiene mucho que ver con lo que has implementado en la imagen. No me ha quedado muy claro si lo preguntabas en serio o era coña, así que, por si acaso, una aclaración rápida. Lo mismo alguien tenía la duda y esto le sirve.
  • direction es el vector sobre el que proyectas la caja (Ten en cuenta que el BoxCast lo que hace es "arrastrar" la caja en la dirección de ese vector).
     
  • distance es las unidades de longitud que quieres que sea "arrastrada" la caja.
Tras hacer este "arrastre", la función te devuelve todos los puntos con los que ha colisionado la caja.

JuDelCo

  • En evolución
  • Socio
  • Super Jammer
  • ***
  • Mensajes: 240
  • Molas: 35
  • The Game
    • Twitter
Re:[UNITY] Chapuzas, o como conseguir el objetivo antes del desastre (ñapas inside)
« Respuesta #2 en: 22 de Julio de 2015, 08:54:58 pm »
Sí sí, si al final lo conseguí haciendo un:

Código: [Seleccionar]
var hit2DArray = Physics2D.BoxCastAll(bounds.center, bounds.size, 0f, Vector2.zero, 0f, Physics2D.DefaultRaycastLayers);

... despues de leer:

Citar
A BoxCast is conceptually like dragging a box through the scene in a particular direction. Any object making contact with the box can be detected and reported.

Ya que yo pensaba que simplemente calculaba la colisión con una caja estática (quieta vaya) pero no, por eso pedía los parámetros (aunque ya podrían haberlos hecho no obligatorios... en fin da igual, también era un poco para abrir el hilo :P)

JaviCepa

  • Socio
  • Mega Jammer
  • ****
  • Mensajes: 433
  • Molas: 45
    • @JaviCepa
Re:[UNITY] Chapuzas, o como conseguir el objetivo antes del desastre (ñapas inside)
« Respuesta #3 en: 22 de Julio de 2015, 10:20:44 pm »
Personalmente me encanta espamear la escena sin ningún tipo de pooling  ;D

Lo malo es que luego hay que dedicar un día entero para arreglarlo si el proyecto tira palante  :'(