Noticias

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

Snapping de objetos y tamaño

Iniciado por Alberto, Noviembre 15, 2018, 11:07:58 PM

Tema anterior - Siguiente tema
Hola, por fin he decidido empezar a hacer mi juego 3D, ya tengo las animaciones hechas, los movimientos y la mecánica del juego. Ahora me he puesto a crear los niveles con un asset gratuito: https://assetstore.unity.com/packages/3d/environments/dungeons/lowpoly-dungeon-assets-117330
 
No sé si será porque es gratis o todos son iguales, pero es bastante infernal hacer un nivel básico: un camino con sus muros a los lados y algunas zonas mas anchas, como si fueran salas y en algunas esquinas poner los pilares. ¡Se me hace dificilísmo! Buscando y hurgando mucho (https://docs.unity3d.com/Manual/PositioningGameObjects.html, apartado "Surface snapping"), he conseguido almenos hacer "snapping" con la tecla V, esocgiendo el vértice y uniendolo en las esquinas del suelo (no hay manera de unir objetos con las teclas ctrl + shift como indica el manual...), pero si por ejemplo, yo coloco bien un muro en una esquina (pongamos en la derecha) y quiero estirarlo hasta llegar al final y encajarlo con el muro de la otra esquina, tengo 2 problemas:
 
1. Al escalar el objeto, me lo hace "simétrico", es decir, me lo estira de los dos lados, quiero estirarlo solo de 1 lado hasta llegar al final.
 
2.que mientras lo estire haga "snapping" con la otra esquina, es muy díficil encajar los objetos entre sí.
 
 
 
¿Alguien sabe si existe algun modo de generar niveles fácilmente con los modelos? No sé si es que se me escapa alguna tecla más para unir objetos o hay que montar las escenas "a ojo".
 
 
 
¡¡Muchas gracias!!

1er Consejo: NO hagas un videojuego hasta que no hayas aprendido a usar correctamente el editor (el programa, Unity3D). Si comentas esos problemas es precisamente porque todavía no has aprendido a trabajar correctamente con los mani***dores. Por ejemplo, tienes un precioso mani***dor 2D que "estira" los objetos exactamente como estás pidiendo...
 
2º consejo: No trates de pensar que Unity3D permite manejar y mani***r los objetos como si fuera el Maya o el 3DMAX. No funciona así, son programas diferentes (para eso tienes los Assets de PolyBrush o PROBuilder), y por lo tanto no tienen por qué comportarse igual. Lo de "escalarse y a la vez se haga snapping" no funciona. Lo que haces es mani***r los vértices de esos objetos directamente.
 
 
 
Si por "generar niveles" te refieres a crearlos vía script, por código, la forma favorita de muchos es crear una serie de nodos/transforms a lo largo de un recorrido o path. Esos nodos actúan de la posición en dónde se instancian aleatoriamente los modelos, trozos de nivel separados e independientes.
 
Obviamente es algo más detallado que lo que acabo de mencionarte, pero la idea es esa, a grandes rasgos. Tendrás que pelearte con rotaciones y orientaciones de cada modelo, para que encaje bien en el mapa...

Cita de: Alberto date=1542319678yo coloco bien un muro en una esquina (pongamos en la derecha) y quiero estirarlo hasta llegar al final y encajarlo con el muro de la otra esquina
   


No es recomendable (en principio) hacer eso, o por lo menos no con un objeto "típico", por típico me refiero a un mesh con un shader/material normal. Muchos enfoques en el Level Design se centran en las unidades y las partes individuales (Por ej si es modular) para formar todo el nivel (y/o crear variaciones), dicho esto, muchos diseñadores dirán "vamos a usar unidades mínimas de 0.5x0.5 m"  y de ahí se crea todo. Entonces una pared que necesite ser de 0.65 m está descartada. Osea que usar el escalado para adaptar elementos o pegarlos dejalo de lado, se va a ver mal el material/textura.
 
Por otro lado, si optas por hacer cosas así te recomiendo que elijas un material con un shader tal que permita utilizar proyecciones tipo UV free, ya sea triplanar o planar (en el HD render pipeline los tenés, o podés bajarte alguno gratis), esto lo que te permite es que tal material se verá igual independientemente de las dimensiones de la mesh, y está encogida o estirada dará igual, por eso se llama "UV free", en interiores está buenisimo usarlos, por lo menos a mi me gusta. En terrenos también!
 
Si querés podés usar ProBuilder, es una maravilla.
 
Y para cerrar si querés podés usar Sketchup, simplemente genial para hacer este tipo de cosas, podés crearte tus grupos o componentes y unirlos como quieras (siempre y cuando no estás pensando en generación procedural ... supongo, seguro algo permite el programa mediante plugins)
 
De más está decir siempre "snapear".
 
 
 
Cita de: Alberto date=1542319678¿Alguien sabe si existe algun modo de generar niveles fácilmente con los modelos? No sé si es que se me escapa alguna tecla más para unir objetos o hay que montar las escenas "a ojo".
   


Antes de encarar el método tendrías que definirlo, modular? no modular? procedural? "a mano" ? una vez tengas eso listo podés elegir la herramienta (asset o software externo) o incluso buscar dentro del mismo Unity (ej progrids, probuilder, assets, etc).
 
Como ejemplo acá tenés el "Dungeon Architech," basicamente subís (como expliqué arriba) tus assets o partes y el programa va poniendo el asset que va para lograr el camino que generas o que diseñas en tiempo real, a ganado algunos premios y lo tenés versión Unity y Unreal, es muy bueno.
 


   
eature=oembed" width="480">

 
Tenés variantes (del mismo creador) como niveles Snap, estilo los niveles por cuartos individuales que se conectan.
 
 
 
Saludos
 
 

Hola, gracias @lightbug, probé probuilder y tiene muy buena pinta. Pero lo mío es la programación, pediré ayuda a ver si alguien de por aqui me hecha una mano para generar los niveles.
 
¡Un saludo!

Etiquetas: