Ir al contenido principal

Godot 3D, Mapa de baldosas

Hoy presentare una forma rápida integrar baldosas en godot, aunque la mayor parte se hace en Blender.




Archivos
Ya sea objetos de alguna página web o hechos por ti, nos topamos con un montón de objetos a los que hay que colocar colisión:




Blender >= 2.8
Antes de seguir vamos a descargar, instalar y activar estos agregados (complementos de blender).

Este es para abrir múltiples archivos de Blender o múltiples archivos OBJ:
http://www.mediafire.com/file/7u1l01gdhv6a1p0/pila.py/file

Este es para ordenar objetos en filas.
http://www.mediafire.com/file/xvahpwgba3rkow6/orden.py/file

Este es para vincular materiales que tienen el mismo nombre.
http://www.mediafire.com/file/4o2k2ff4wje9s6l/limpiar_material.py/file

Este es para agregar colisiones Godot.
http://www.mediafire.com/file/o7lgb1fg89ucick/colisiones_Godot.py/file

Eliminamos la luz, la cámara y el cubo, no vamos a necesitarlos pues es una escena que posteriormente exportaremos como librería de mallas (meshlib).




Importamos todos los objetos, pega la dirección de la carpeta, para después hacer clic en "Aceptar".




Hacemos clic en un objeto para después seleccionar todos, se ven así por que muchos objetos están encimados.




Los separamos, en "Objetos" va el número de filas, en "X" la separación lateral y en "Y" la separación superior.




Que exista un material con sufijo .020 es un gran problema al momento de exportar



por que te crea 20 materiales distintos, "pero si el material tiene el mismo nombre se entiende que tiene las mismas configuraciones", tomando como cierta esta afirmación, vinculamos todos lo objetos a un material de mismo nombre pero sin sufijo.




Ahora cada vez que hagas clic en un objeto notaras que el material no tienen ningún sufijo.




Agregamos la colisión




Exportamos




Godot
En cuanto pegamos el archivo DAE en nuestro proyecto se nos generan los materiales automáticamente.




Abrimos.




Como vemos los objetos ya cuentan con su colisión.




Limpiamos lo heredado para poder ser capaces de modificar la escena, si no te sale esta opción es por que debes guardar cambios antes de seguir.




Recuerda, si quieres modificar un material haz doble clic sobre el material y en el "Inspector" puedes empezar a hacer cambios, puedes ver los resultados en tiempo real.




Lo exportamos, el nombre debe terminar en ".meshlib", ejemplo: "naturaleza.meshlib"




Para usar la librería de mallas (meshlib) en una nueva escena colocamos el nodo "GridMap", en "Mesh Library" seleccionamos el archivo anteriormente almacenado y comenzamos a probar.




Crear el escenario con el nodo "GridMap" puede ser algo difícil las primeras veces, es por eso que mostramos un alternativa.

De nuevo en Blender
Eliminamos las cámara, el cubo y la luz.




Comenzamos por crear una librería de mallas en Blender, para eso importamos todos los objetos.




Ahora guardamos el archivo, si así es, lo guardamos con los objetos todos encimados.




Creamos un nuevo Blender, al que le quitamos nuevamente las cámara, el cubo y la luz.




Generamos una pre visualización por lotes.




Esto puede tardar un buen rato.



Anexamos




Seleccionamos el archivo




Seleccionamos la carpeta "Object".




Ya tenemos nuestra biblioteca lista para tomar objetos y colocarlo.




Cuando termines de crear el escenario coloca las colisiones.




Vincula los materiales.




Exportamos.




Abrimos, limpiamos lo heredado y queda así, las colisiones son cuadradas por que así lo indicamos en Blender.




A mi me a parecido que es mas fácil y rápido crear un mapa en Blender que en Godot, pero eso lo dejo a tu criterio.

Nota:
Desconozco por completo por que los objeto por defectos se muestran rotados 90 grados en el nodo "GridMap", recuerda que puedes girarlos con las teclas: "A", "S", "D".

Si vas a usar "GridMap" de godot, antes de exportar desde Blender los objetos deben tener el punto de rotación abajo en el centro o abajo en una esquina.

Comentarios

Entradas más populares de este blog

Godot 2D, Burro castigado

Es un juego de cartas similar al juego de UNO. Reglas: Comenzamos por repartir cuatro cartas a cada jugador. 1. El primer jugador tira una carta, la que quiera. 2. Los jugadores de la derecha deben tirar solo una carta del mismo palo. 3. Quien halla sacado la carta mas alta gana la ronda, ahora tira la carta que quiera. 4. Se repiten los pasos 2 y 3. Si no tienes una carta del mismo palo debes tomar cartas de la baraja hasta que puedas tirar una, si se acaban las cartas de la baraja cedes tu turno al de la derecha, gana el jugador que se quede sin cartas. Las ilustraciones y dibujo vectorial aquí están: http://www.mediafire.com/file/oisuslw4o2n0oac/Ilustraciones_de_Burro_castigado.zip/file Comenzamos por crear una carta, en una nueva escena colocamos el nodo: "TextureButton" como nodo raíz, le ponemos el nombre de: "Carta". En el apartado "Textures", "Normal" colocamos un "Nuevo AtlasTexture". Clic en &q

Godot web, Base de datos

Consultamos y agregamos registros en una base de datos de un servidor. El servidor Comenzamos por crear una base de datos, en este caso es una base llamada: "videojuego". Ahora creamos una tabla de nombre: "record". En la tabla ingresamos 3 campos: id: como llave primaria nombre, como varchar puntucion, como int. Ingresamos varios registros de prueba a la tabla. Descargamos, ponemos en una carpeta llamada "Cx4a" dentro del servidor, editamos para ingresar nombre de usuario, clave de MySql entre otros datos. http://www.mediafire.com/file/a6c7048tmz2ksir/Cx4a.zip/file Godot Tabla Comenzamos por la tabla, en una escena colocamos un nodo: "ScrollContainer", al que le damos un tamaño de 300 x 200 Ahora como hermano de "ScrollContainer" colocamos un: "VBoxContainer", en propiedades, nos bajamos hasta "SizeFlags" en donde marcamos la casilla de "Expand". Po

Godot 3D, Girar cámara con cursor

Mueve el cursor y la cámara se moverá con el. Aunque la cámara esta colocada como hijo del personaje funciona perfectamente sin serlo. Las ordenes de la cámara: ¡Listo! http://www.mediafire.com/file/zka6ty5f0q9cbvr/Camara_y_mouse.zip/file Nota: Funciona en Godot3.xx