Noticias

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

Sobre terraforming

Iniciado por xwinno, Septiembre 26, 2018, 03:53:57 AM

Tema anterior - Siguiente tema
Septiembre 26, 2018, 03:53:57 AM Ultima modificación: Septiembre 26, 2018, 05:11:18 AM por xwinno
Hola! Tenia la idea de hacer un sistema para cambiar la altura del terreno in-game, y no tengo muy claro como hacerlo. Si alguien me puede aportar por donde empezar lo agradecia mucho.
 
Seria algo asi como este video: https://youtu.be/4rnJJbaAQx4?t=40s
 
Gracias!
 
 
 
 

Hola, podes:
 


  1.    disparar un ray que te devuelva un point, tendrá su x,y,z ... te interesa el par x,y


  2.    debés convertir ese x,y global en el x,y correspondiente al terrain, simplemente restandole la posición x,y del terrain al "par"


  3.    encontrar un arreglo de puntos para usar las funciones de TerrainData


  4.    Luego mediante Terrain Data podés obtener (GetHeights) y asignar (SetHeights) una altura a un conjunto de puntoso ... osea que primero vas a obtener el valor, luego hacés lo que quieras con ese valor y finalmente le pasas la nueva altura.


Por supuesto supongo que esto no va a funcionar "suave" como con el brush, así que tendrás que aplicar hacer una mágica a la hora de setear las nuevas alturas, no solamente sumar o restar sino hacerlo en base a la distancia del punto actual con la del centro (el par x,y del punto 1 )

Cita de: lightbug date=1537933229Hola, podes:
   
   


  1.          disparar un ray que te devuelva un point, tendrá su x,y,z ... te interesa el par x,y
          

  2.       

  3.          debés convertir ese x,y global en el x,y correspondiente al terrain, simplemente restandole la posición x,y del terrain al "par"
          

  4.       

  5.          encontrar un arreglo de puntos para usar las funciones de TerrainData
          

  6.       

  7.          Luego mediante Terrain Data podés obtener (GetHeights) y asignar (SetHeights) una altura a un conjunto de puntoso ... osea que primero vas a obtener el valor, luego hacés lo que quieras con ese valor y finalmente le pasas la nueva altura.
          

  8.    

      Por supuesto supongo que esto no va a funcionar "suave" como con el brush, así que tendrás que aplicar hacer una mágica a la hora de setear las nuevas alturas, no solamente sumar o restar sino hacerlo en base a la distancia del punto actual con la del centro (el par x,y del punto 1 )
   


Es mas o menos como pensaba hacerlo, muchisimas gracias!

Etiquetas: