Jump to content

Jeko37

Registrados
  • Content Count

    16
  • Joined

  • Last visited

Community Reputation

6 Neutral

About Jeko37

  • Rank
    Iniciado

Profile Information

  • Especialidad
    Coder

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. No te preocupes que cuando tenga el planeta listo voy a subir el codigo a github para todos, pero me gustaria tener algo bien hecho para eso. La verdad si soluciono los dos problemas que actualmente tengo, el tema de las uniones en los mesh, y arreglar los vertices en las uniones con mesh de menor resolucion, podria empezar a limpiar codigo y crear rutinas que eliminen mesh viejas (podria guardar en memoria los parametros para su creacion cuando sean necesarias, eso tendria el problema del reprocesamiento del mesh, pero no ocupariamos tanta memoria). Si la verdad es un lindo desafio, en este momento estoy trabado pero seguramente lo terminare solucionando.
  2. Eso es justamente lo que estoy haciendo ahora, decia que es dificil medir cuando no hay diferentes mesh sino uno solo todo calculado con sus nuevas cuadriculas weldeadas, porque ahi ya no habrian mesh hijos de otros meshes. Supongamos que teoricamente tengo localizados dos vertices vecinos que comparten la misma ubicación pero aún asi pasa lo que les mostré en la imagen, como tendria que calcular las normales para que quede bien? que calculo deberia realizar exactamente?
  3. Si, la verdad parece algo muy complejo y que llevaria demasiado tiempo, igual si lo hiciera todavia me quedaria el problema de medir las distancias de los meshen con menos LOD para ir ajustando la resolucion, es decir si solo tengo un mesh weldeado, como hago para saber cuando subir la resolucion del mesh? hoy lo estoy haciendo midiendo la distancia de la camara con respecto a la ubicacion de los meshes. En fin, un bajon que se empiece a complicar asi.
  4. Habia entendido otra cosa con lo del post anterior, ahora entiendo perfectamente xD de todas maneras creo que debe haber una solución para este problema que no implique superponer los mesh, si tengo que hacerlo lo voy a hacer pero quiero explorar antes otras alternativas. Es posible que si, que tenga que weldear los mesh, yo actualmente lo que hago es ocultar el mesh de mayor resolución con enabled = false y luego crear 9 submeshes de mayor resolucion que ocupan el mismo espacio del mesh que oculte. O sea que yo tendria que unir los submeshes de diferentes resoluciones en un unico mesh.
  5. Tengo un problema con la iluminacion y los Mesh, cuando hago el LOD, obviamente tengo que generar Mesh con más resolución de cuadriculas y eso me esta dando dos problemas, aunque por ahora solo quiero abordar el que creo es más sencillo de solucionar, el tema de la iluminación me queda bastante extraño mostrando iluminaciones raras en las zonas donde los Mesh se unen ¿Como puedo solucionar este problema? Estuve leyendo y dicen que después de manipular los vertices (cuando aplico el noise y armo la malla con más resolucion) tengo que ejecutar RecalculateNormals(); que es exactamente lo que yo estoy haciendo pero aún asi el fenomeno sigue apareciendo. ¿Alguna idea?
  6. Genial! estas mucho mas avanzado que yo, yo acabo de hacer una función de "noise" tipo prototipo para ir programando el LOD sobre eso y después me voy a ocupar de afinarla bien para que genere cosas interesantes. Acá está mi esfera ruidosa! :)
  7. Estuve documentandome sobre el problema y efectivamente si, el noise lo tengo que aplicar primero sobre la esfera sin ningun noise aplicado y sobre esa esfera con noise ir haciendo el LOD, la solución tuya de restar la malla de menor resolucion para poner encima la de mayor resolucion no me parece una solución muy elegante, estarias procesando vértices de la malla oculta de forma innecesaria, lo ideal seria ir eliminando las que ya no uses, por otro lado la forma en la que aplicas el LOD esta buenisimo, te quedó mucho mejor que a mi, voya dejar el lod de lado y concentrarme en el noise, lo voy a retomar una vez tenga el planeta formado. Consulta: a alguien más le pasa que cuando quiere iniciar sesión le rebota la contraseña? cada vez que entro a publicar tengo que resetear la contraseña porque me aparece como invalida.
  8. Muy bueno tu resultado, te voy a pedir ayuda cuando llegue la hora de texturizar mi planeta xD, yo me quede con mi esfera y ahora estoy empezando a programar el LOD, una vez que eso este ajustado pienso hacer una clase que implemente el noise para generar los terrenos y recien por ultimo el texturizado, la atmosfera, la generacion de vegetacion, etc. Ya tengo un poco avanzado el LOD pero todavía estoy ajustándolo para que funcione como yo quiero, aca dejo una imagen: Espero que una vez hecho esto la implementacion de la función de noise no genere problemas entre las diferentes mallas.
  9. Interesante! ayer conseguí que según la distancia de la cámara a la superficie de la malla, esta se subdivida en cuadriculas más pequeñas por sectores, lo cual es un buen avance, aunque los resultados todavía no me convencen, voy a frenar con eso para aplicar lo que dice ese documento para suavizar esos bordes entre las mallas con el script que me pasaste. Gracias!
  10. Bueno, por las cosas que estuve leyendo los primeros pasos para empezar a crear un planeta procedural seria: 1 - Crear un cubo 2 - Subdividir sus caras en una malla de teselas (cuadrados) 3 - deformar los vértices de las seis caras del cubo para "esferizar" las mallas 4 - Según la cámara este más lejos o más cerca de la superficie de la malla dividir los cuadros para aumentar la definición del área visible 5 - Escribir una funcion de noise que genera un mapa de alturas sobre la malla para formar los paisajes 6 - Texturizar La creación del cubo y la esferización de sus caras lo pude hacer hoy a la tarde.
  11. Con el tema de la matemática tengo a un matemático amigo que va a ayudar si fuera necesario. Obviamente son muchos problemas a sortear pero hay que ir resolviendolos uno por uno. Por ahora mi objetivo es simple, generar un planeta, con ruido generar un terreno que se asemeje a algo natural y nada mas, a partir de ahi iré avanzando. Acá hay un código interesante aunque no tuve tiempo de probarlo pero creo que seria un buen punto de partida https://github.com/Tiggilyboo/UnityQuadTreePlanet
  12. Ayer estuve revisando información, me vi los vídeos que me pasaron y encontré alguna que otra porción de código que no llevó a buen puerto, con respecto al problema de los floats se puede resolver dividiendo el espacio en cuadriculas y reiniciando las coordenadas de las cosas cuando se pase de una cuadricula espacial a la otra, pero desconozco si Unity me permite hacer algo así, en su momento supongo que se podrá abordar el problema pero por ejemplo imaginen que están dentro de un área espacial y van a pasar a la siguiente, simplemente trasladas el personaje de su coordenada actual y lo mandas más atrás mucho mas atrás (como una teletransportacion digamos jaja) y en ese interín borras todo el contenido 3D del area espacial y cargas los nuevos elementos (previamente procesados) y das la sensación de "infinitud" espacial sin llegar a tener problemas con el calculo de los floats, para poder volver para atras y cargar contenidos virtuales viejos como estaban antes es que ayudaria el seed. No se si me hago entender. Por lo que estuve viendo en la documentación de Unity no hay porque creer que esto sea una tarea imposible, lo primero es lograr un pequeño algoritmo que deforme una esfera, después la idea es aumentar el detalle a medida que uno se acerca (si hacemos todo de una no hay manera que el procesador lo aguante) y después vendría la parte mas divertida, diseñar un algoritmo matemático que genere un ruido que de como resultado paisajes que den la sensación de reales, yo vi en No Man Sky los planetas y me aprecio muy descuidado el algoritmo que genera los mundos, da la sensación de que todos los planetas son iguales cuando para mi la gracia es entender que los planetas son muy diferentes entre si, por ejemplo vas a tener planetas como la tierra, con variedad de biomas muy distintos según las áreas donde aterrices, planetas como marte donde el paisaje va a ser mas bien monótono, planetas golpeados por asteroides con gran cantidad de crateres, planetas gaseosos que serian los mas fáciles de hacer ya que no hay calculo de terreno. Con el tema de la historia del juego, no tengo en mente hacer un juego a partir de esto, sino crear un framework de base para que quien quiera crear un juego con un universo explorable lo pueda hacer facilmente. En fin, cuando tenga algún avance voy a ir publicando las imágenes y el código así me ayudan a ir afinándolo. Aca va un poco de matemáticas para empezar a sudar frio: http://mathproofs.blogspot.com.ar/2005/07/mapping-cube-to-sphere.html
  13. Hola muchas gracias, cuando llegue a casa (ahora estoy en el trabajo) voy a revisar lo que me pasaste y tratar de aplicar los conceptos, mi conocimiento matematico es bajo pero si tengo que sentarme a leer las formulas, lo hago, ya vengo mentalizado de que la resolución para este problema viene muy ligado a la parte matematica asi que no me queda otra que aprender. Gracias por la información!
  14. Buenas! les comento, mi idea es poder crear un universo generado aleatoriamente a partir de un "seed" o semilla, para desarrollar digamos un framework base que nos permita generar un universo entero, explorable como base para cualquier juego que se base en exploración espacial, pero bueno llegar a eso ya es algo más ambicioso y como recien estoy empezando me gustaria abordar las cosas una por una. Mi idea es empezar creando un script capaz de generar un planeta entero, con sus fallas geograficas, oceanos, montañas, etc e ir afinando el codigo de dicho generador para hacerlo lo más realista posible, que genere paisajes lo más parecidos a los que podemos encontrar en nuestro planeta. Como referencia les dejo estos dos videos descriptivos de planetas generados aleatoriamente utilizando OpenGL y Java, mi idea es poder hacer esto como punto de partida: Bueno, acá necesitaria de su ayuda, ¿alguien alguna vez realizo algo como esto? ¿tiene conocimiento de generacion de terrenos aleatorios o algo con lo que pueda empezar a documentarme? obviamente, paralelo a este hilo yo estoy buscando información por mi mismo en google y a medida que vaya avanzando iré publicando los avances para quien esté interesado.
  15. Mi idea es justamente abrir un hilo para que entre todos podamos lograrlo y que quede como un recurso de base para cualquiera que quiera basar su juego en un universo explorable.
UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...