Jump to content
UnitySpain
Alex

Detectar objetos sin Collider

Recommended Posts

Hay alguna manera de detectar un objeto sin necesidad de agregarle un Collider? En mi proyecto constantemente voy a usar objetos y no quiero agregar a cada uno un mesh Collider ya que algunas veces la cantidad de objetos será enorme y no quisiera que la escena se tilde al agregar todos esos collider por código a cada objeto. Tengo un script que selecciona con ayuda de Raycast, pero éste solo funciona si el objeto tiene un collider. Algo referente sucede al usar el editor de Unity, puedes seleccionar cualquier objeto en la escena y estos muchas veces hasta solo contienen un transform y mesh.

Share this post


Link to post
Share on other sites

Si utilizas colliders sencillos como un box collider no creo que tengas problemas. De todos modos y ya que lo haces por código, pruébalo.

Share this post


Link to post
Share on other sites

Por poder, puedes hacerlo por pase de coordenadas, si sabes dónde está cada objeto y lo que mide en pantalla...

Share this post


Link to post
Share on other sites

Gracias por las respuestas @iRobb y @pioj creo que estaría difícil saber las coordenadas de los objetos, porque estos serán importados por el usuario y no se sabrá con exactitud que objetos son los que importarán. Creo que veo conveniente usar mesh Collider, porque si uso box, los colisionadores sobresaldrán de el mesh original y eso hará que al usar Raycast para seleccionar un objeto, no sea preciso. Entonces, como mencioné anteriormente, los usuarios importarán sus modelos 3d y no se puede saber si éste modelo será de pocos objetos o muchos, en caso de que sean muchos, cada uno tendrá que llevar su Collider para poder ser seleccionado con el Raycast, y como es Collider de tipo mesh puede que cause lentitud en la escena mientras se añaden a los objetos. Como podría hacer que esta carga sea fluida?

•Se me acaba de ocurrir que antes de instanciar la escena,  podría haber un panel de carga y que en este momento todos los meshcollider sean agregados, así el usuario no verá el lag en su escena, si no un panel. Es una buena idea? O mejor que todo sea hecho mientras el usuario interactúa con la escena?

Share this post


Link to post
Share on other sites

Yo entendía que tu problema era por tener tantos mesh con collider, no con la carga previa. Evidentemente cargarlos antes y utilizar colliders simples.

Share this post


Link to post
Share on other sites

@iRobb inicialmente pensaba en hacer la llamada de importe sea en la misma escena, pero pensando a futuro cuando alguien intente importar un archivo grande, pues sí suena obvio cargarlos antes, de igual forma, sus respuestas me ayudaron a encontrar una solución clara

Share this post


Link to post
Share on other sites

×
×
  • Create New...