Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

random

Iniciado por oridar, Febrero 08, 2016, 11:59:03 PM

Tema anterior - Siguiente tema
Febrero 08, 2016, 11:59:03 PM Ultima modificación: Junio 10, 2016, 02:28:04 AM por pioj
buenas,
 
a ver si me pueden ayudar, estoy intentado crear unos gameobjects de forma aleatoria en una posición, algo así:
 



   
       
   
   
      gameobject X = (gameobject) instantiate(xx);
   
   
      x.transform.position = new vector3(random.range(x,x),random.range(y,y),random.range(z,z));
   
   
       
   

[/quote]
 
el problema lo tengo que no se como hacer para que antes de hacer el random de la posición compruebe si donde va aparecer hay suelo o esta vacío y que el random solo lo haga entre las posiciones donde puede aparece.
 
no se si me se explicar, hahaha. la idea es que el suelo son bloques que se pueden romper, y luego genero un objeto random en un aposición que tenga bloque de suelo.
 
agradezco la ayuda, 
 
gracias de antemano.
 
 

Lanza un raycast hacia el suelo desde esa posicion.

hols GSG3d,lo he estado mirando antes, pero no entiendo muy bien como funciona y no se como implementarlo para que primero compruebe en una área si existen los bloques gameobject i luego genere una posición aleatoria partir de estos para crear el gameobject.gracias 

Planteas de forma errónea la creación de las instancias:
  • Declara e inicializa una variable de tipo Position, con unos Random, más arriba en el código, en lugar de crearlos in-situ dentro del Instantiate.
  • Evalúa si la posición de esos Random coincide con algún suelo. En caso contrario, puedes volver a llamar al Random para que lo haga en otra posición distinta.
  • Ahora que ya tienes una posición Random válida, sólo falta instanciar allí.
 Resumiendo, no hagas el random durante el instanciado y evalúes después; haz el random ANTES y evalúa ANTES, y por último instancia.

gracias pioj, soy un  poco novato  y estos días he esto probando esto que comentas, pero no se como declarar una variable de tipo Position, y que con randoms me de las coordenadas.me podes hacer un ejemplo ?? os lo agradecería un montón.
[quote author=pioj" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35112" data-ipsquote-contentcommentid="126939">Planteas de forma errónea la creación de las instancias:
  • Declara e inicializa una variable de tipo Position, con unos Random, más arriba en el código, en lugar de crearlos in-situ dentro del Instantiate.
  • Evalúa si la posición de esos Random coincide con algún suelo. En caso contrario, puedes volver a llamar al Random para que lo haga en otra posición distinta.
  • Ahora que ya tienes una posición Random válida, sólo falta instanciar allí.
 Resumiendo, no hagas el random durante el instanciado y evalúes después; haz el random ANTES y evalúa ANTES, y por último instancia.[/quote]gracias pioj, soy un  poco novato  y estos días he esto probando esto que comentas, pero no se como declarar una variable de tipo Position, y que con randoms me de las coordenadas.



[quote author=Braltor" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35112" data-ipsquote-contentcommentid="127150">aqui hay un tutorial de posiciones random: http://www.morphodia.com/portal/lessons/numeros-aleatorios-en-unity/ date=1455564664]http://www.morphodia.com/portal/lessons/numeros-aleatorios-en-unity/ [/quote]gracias lo he estado mirando, ya es como yo lo hacia, mas o menos.el problema es que no se como usar el raycast para verificar si la posición aleatoria y luego instancias el objeto deseado en aleatorio.alguna ayuda con el raycast? en la web de unity el ejemplo no lo entiendo, tampoco se para que sirve raycasthit.gracias por todo. 

el problema es que no se como usar el raycast para verificar si la posición aleatoria y luego instancias el objeto deseado en aleatorio.alguna ayuda con el raycast? en la web de unity el ejemplo no lo entiendo, tampoco se para que sirve raycasthit.gracias por todo. 

[quote author=GSG3D" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35112" data-ipsquote-contentcommentid="126933 date=1454972541]Lanza un raycast hacia el suelo desde esa posicion.[/quote]

Etiquetas: