Noticias

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

Terreno para mundo abierto

Iniciado por Miguel_Angel, Diciembre 24, 2016, 09:25:30 AM

Tema anterior - Siguiente tema
Hola
 
Quería hacer mi primer terreno de prueba para un mundo abierto, he hecho alguna prueba con un terreno de 5000x5000 lo que seria el equivalente 5x5 kilómetros, 25 kilómetros cuadrados. Lo que quería es hacer un terreno que no siendo de mesiado grande, sea lo suficiente para considerarlo para un mundo abierto. No tendría ni ciudades ni pueblos, solo minas, cuevas, laboratorios y búnker's. Tendría un continente y un gran mar con pequeñas islas a las que se podría acceder nadando. 
 
Solo quería saber si es un tamaño suficiente o es demasiado grande o demasiado pequeño.

Diciembre 25, 2016, 06:50:54 PM #1 Ultima modificación: Diciembre 25, 2016, 06:51:54 PM por lightbug
Hola, me parece que te vas a contestar vos mismo mediante prueba y error, a mi me paso que siempre me quedaban chicos los terrenos porque a la hora de editarlos no tenia en cuenta las dimensiones respecto a mi personaje, ni tampoco lo "interesante" del terreno. Por ejemplo podes crear caminos indirectos para que el jugador vaya de A a B, pasando si o si por C y D, entonces te da la sensacion de un mundo mas grande. Del mundo comercial tenes juegos que llegan a los >1000 km cuadrados (MMORPG), y ni hablar No man's Sky, pero prefiero mundo abiertos pequeños e interesantes, como un Fallout 3 con sus 100 km cuadrados. Si yo haria un open world seria de dimensiones de entre 25 km a 50 km cuadrados siempre y cuando tenga contenido interesante.
 
Saludos

Gracias, por ahora probare con 25 km. Creo como bien dices, que puede cundir mucho si tiene un buen contenido.

recuerda tambien el rendimiento, mientras mas cosas tengas en tu mapa, mas procesamiento necesitaras para rendearlo. mi opinion esa que a un mapa extensamente grande lo dividas en pedazos mas pequeños, no es necesario cargar todo el mapa si por la distancia de tu horizonte no veas mas alla de un par de Kms. hay muchos trucos para lograr eso, desde que tu personaje este restrigido en su pedazo de mapa y accedas a otros lugares por "warps" hasta carga asemetrica y contenido porcedual

En realidad el mapa es  mas grande que 25 km al resto de las zonas como minas, bunkers, laboratorios se accede por warp, mientras tanto son invisibles. El personaje solo visualiza 1 km. Si no mi ordenador no podría mover una escena tan grande.

Claro, aca es cuando los desarrolladores deciden usar sus propios motores y administrar el contenido que se carga/descarga del terreno. Sobretodo para dividir el mundo en chunks y cargarlos a gusto, en Unity creo que el terrain se divide en chunks no recuerdo bien.

Para terrenos así deberías hacer uso del culling, oclusion culling, etc... Así lo único importante (lo que se renderiza) es lo que está en el ángulo de visión de la cámara del personaje y a una máxima distancia. El tema de los búnkeres... Todo sería mirar las cargas asíncronas, para evitar la sobrecarga del bufer y tal... Me gustaría seguir hablando del tema, pero no se si sigue interesado el creador del tema xD así que sigo atento ;)

Yo lo intenté hacer una vez, y Unity no me dejaba tener activos más de 1000 componentes tipo Collider.
 
Es necesario crear Collider tipo TriggerArea, para activar/desactivar grupos de GameObject con o sin Collider(árboles, arbustos, casas, personajes,....) y mejorar el rendimiento de renderizado, físicas y IA.

Por lo que he probado hasta ahora para un terreno pequeño Unity es que suficiente. Los efectos de imagen consumen mucho proceso pero se pueden quitar .Solo habrá unas entradas para cuevas y refugios. Todo muy sencillo.Pocos arboles y mucha hierba. Los recursos si que utilizan collider, solo he metido un par de miles, es suficiente y no he notado gran consumo de rendimiento. Sigo experimentando y me gustan los resultados. aunque los iré mejorando.
 

 

 
 
 

 

Para los colliders si no necesitas mucha precisión usa BoxColliders, por ejemplo en las palmeras con poner una caja en la parte de abajo del tronco ya basta para que el player choque. Y por otro lado en el apartado Preferences>Physics puedes definir la matriz de colisiones, o sea, qué layers chocan con qué. Ahí lo mejor es desmarcarlo todo y marcar sólo aquellas layers que tengan que colisionar. Si no lo haces las piedras estarán colisionando todo el rato con el suelo. Yo tengo el player en una layer y el entorno en dos (naturaleza y props). La única colisión que detecto es entre el player y el entorno, pero entre objectos del entorno no. Eso sí, los objectos del entorno no tienen físicas aplicadas, si levanto una pala se queda en el aire, pero está bien, sólo se necesitan físiscas en contadas ocasiones (un derrumbamiento de piedras por ejemplo), todo lo demás está estático o animado por ti. Con estas tonterías vas rateando poco a poco recursos que puedes utlizar para otras cosas :)
 
 
 
 
 
 

Cita de: musaranya date=1483978751Para los colliders si no necesitas mucha precisión usa BoxColliders, por ejemplo en las palmeras con poner una caja en la parte de abajo del tronco ya basta para que el player choque. Y por otro lado en el apartado Preferences>Physics puedes definir la matriz de colisiones, o sea, qué layers chocan con qué. Ahí lo mejor es desmarcarlo todo y marcar sólo aquellas layers que tengan que colisionar. Si no lo haces las piedras estarán colisionando todo el rato con el suelo. Yo tengo el player en una layer y el entorno en dos (naturaleza y props). La única colisión que detecto es entre el player y el entorno, pero entre objectos del entorno no. Eso sí, los objectos del entorno no tienen físicas aplicadas, si levanto una pala se queda en el aire, pero está bien, sólo se necesitan físiscas en contadas ocasiones (un derrumbamiento de piedras por ejemplo), todo lo demás está estático o animado por ti. Con estas tonterías vas rateando poco a poco recursos que puedes utlizar para otras cosas :)
   
   
       
   
   
       
   
   
       
   


Si, tenes razon, el truco es ir ratoneando. Otra tecnica que utilizan los juegos cuando usan fisicas en determinadas partes es poner a dormir (Sleep) ciertos rigidbodies luego de que "hagan lo suyo", por ejemplo unas piedras caen, esperas 10 segundos, cuando todo esta un poco estatico los pones a dormir o eliminas el componente rigidbody.



   
eature=oembed" width="480">

 
 
 
Mis primeros experimentos.
 
 

Eiii, le has puesto una isla enorme ahora xD,tiene buena pinta.Podrias jugar un poco con el ambien intensity en lighting,si no se ve muy oscuro al personaje aun cuando no es de noche del todo.
 
Yo creo que el motor de terrains de unity esta un poco anticuado ya,hay muy buenos assets en el store que tienen mejores herramientas.Para hacer un terreno muy grande lo mejor es partirlo en trozos y ir cargandolos y quitandolos.
 
Pero bueno , el que has puesto parece bastante grande ya,como para tardar un rato de punta a punta XD.
 
Saludos!

Te doy mi opinion:
 
Lo que me gusto:
 
- los dialogos y eventos que van pasando mientras recoges cosas o te atacan, la verdad me gusto mucho eso.
 
- el mundo parece tener buen detalle en plantas y esas mariposas le dan mucha vida al mundo
 
- En el 5:07 "mierda ahi estan de nuevo" jaja excelente!
 
- El efecto de las nubes de fondo
 
lo que no me gusto o me incomodó:
 
- En primera persona se ven las manos (o la sombra) cuando te moves
 
- los efectos del lens flare (Ejemplo 20:33). Los lens flare donde se obstaculizan como en el ejemplo tienden a ponerse y quitarse tan rapido que queda medio raro.
 
- Cada vez que escuchaba el efecto de la linterna prender y apagar pensaba que me habia llegado una notificacion del foro jajaj
 
- El sonido de los pasos sobre el cesped me quema el cerebro jajaj
 
Por supuesto depende de lo que desea el desarrollador pero si yo tuviera que jugarlo eso seria lo que me molestaria. En fin solo para darte mi opinon.
 
Un Saludo.

Cita de: hammer date=1485474735Eiii, le has puesto una isla enorme ahora xD,tiene buena pinta.Podrias jugar un poco con el ambien intensity en lighting,si no se ve muy oscuro al personaje aun cuando no es de noche del todo.
   
   
      Yo creo que el motor de terrains de unity esta un poco anticuado ya,hay muy buenos assets en el store que tienen mejores herramientas.Para hacer un terreno muy grande lo mejor es partirlo en trozos y ir cargandolos y quitandolos.
   
   
      Pero bueno , el que has puesto parece bastante grande ya,como para tardar un rato de punta a punta XD.
   
   
      Saludos!
   


Lo podría hacer mas grande, pero eso significa que tengo que poner mas detalles mas cuevas y mas misiones, para mi solo tengo mas que suficiente para ponerme morado haciendo cuevas misiones y refugios. He puesto el sombreado a negro, me gusta experimentar con contrastes, a saber que monstruos saltan de de las sombras.
 
Cita de: lightbug date=1485480339Te doy mi opinion:
   
   
      Lo que me gusto:
   
   
      - los dialogos y eventos que van pasando mientras recoges cosas o te atacan, la verdad me gusto mucho eso.
   
   
      - el mundo parece tener buen detalle en plantas y esas mariposas le dan mucha vida al mundo
   
   
      - En el 5:07 "mierda ahi estan de nuevo" jaja excelente!
   
   
      - El efecto de las nubes de fondo
   
   
      lo que no me gusto o me incomodó:
   
   
      - En primera persona se ven las manos (o la sombra) cuando te moves
   
   
      - los efectos del lens flare (Ejemplo 20:33). Los lens flare donde se obstaculizan como en el ejemplo tienden a ponerse y quitarse tan rapido que queda medio raro.
   
   
      - Cada vez que escuchaba el efecto de la linterna prender y apagar pensaba que me habia llegado una notificacion del foro jajaj
   
   
      - El sonido de los pasos sobre el cesped me quema el cerebro jajaj
   
   
      Por supuesto depende de lo que desea el desarrollador pero si yo tuviera que jugarlo eso seria lo que me molestaria. En fin solo para darte mi opinon.
   
   
      Un Saludo.
   


Tienes razón sobre todo en lo de las sombras de la manos, no he encontrado una solución satisfactoria ya que cuando arreglo una cosa se estropea otra  así que todavía no he decidido cual es el mal menor. Que raro que nadie se haya dado cuenta de las rayas en el agua, tienen que ser muy entretenido para que nadie se fije en ese detalle.
 
Las conversaciones se pueden modificar,para justo del consumidor. Podemos hacer que nuestro personaje diga lo que queramos. Se pueden añadir tantos comentarios como queramos.

Etiquetas: