Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: gonzalitosk8 en Octubre 19, 2018, 03:28:46 PM

Título: instanciar objetos dentro de un area
Publicado por: gonzalitosk8 en Octubre 19, 2018, 03:28:46 PM
me estoy preguntando, como puedo instanciar objetos dentro de un área.
 
el area, lo dibujo referenciando una lista de puntos, como la de la imagen, que puede variar.

la lista de puntos ya esta creada, incluso genero un mesh, triangulando los puntos.


pero me pregunto como puedo instanciar objetos dentro de esa area.


se me ocurrio instanciar objetos dentro de un trigger (que seria adjuntando un collider al mesh creado) pero no funciono, o quizas lo hice mal.


alguna idea?
 
 (//<fileStore.core_Attachment>/monthly_2018_10/area.png.da0b48a3272b83fc05e68e2e57737b7a.png)
Título: instanciar objetos dentro de un area
Publicado por: Igor en Octubre 19, 2018, 10:06:13 PM
si lo divides en triangulos puedes hacer algo asi:
 

//punto al azar dentro de un triangulo
//(o algo parecido)
//teniendo los 3 puntos de un triangulo
float v1 = Random.Range(0f,1f);
float v2 = Random.Range(0f,1f);
float v3 = Random.Range(0f,1f);
float total = v1+v2+v3;
v1 *= 3f / total;
v2 *= 3f / total;
v3 *= 3f / total;
Vector3 puntoAlAzar = ((punto1 * v1)+(punto2 * v2)+(punto3 * v3)) / 3f;
//igual funciona... creo, jeje, ....me lo acabo de inventar xD

 
 
Título: instanciar objetos dentro de un area
Publicado por: pioj en Octubre 21, 2018, 10:18:44 PM
También puedes usar la API : https://docs.unity3d.com/ScriptReference/Random-insideUnitCircle.html (https://docs.unity3d.com/ScriptReference/Random-insideUnitCircle.html)