Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wp-plugin-bluehost domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home1/spotsail/public_html/martra/wp-includes/functions.php on line 6114

Warning: Cannot modify header information - headers already sent by (output started at /home1/spotsail/public_html/martra/wp-includes/functions.php:6114) in /home1/spotsail/public_html/martra/wp-includes/rest-api/class-wp-rest-server.php on line 1893

Warning: Cannot modify header information - headers already sent by (output started at /home1/spotsail/public_html/martra/wp-includes/functions.php:6114) in /home1/spotsail/public_html/martra/wp-includes/rest-api/class-wp-rest-server.php on line 1893

Warning: Cannot modify header information - headers already sent by (output started at /home1/spotsail/public_html/martra/wp-includes/functions.php:6114) in /home1/spotsail/public_html/martra/wp-includes/rest-api/class-wp-rest-server.php on line 1893

Warning: Cannot modify header information - headers already sent by (output started at /home1/spotsail/public_html/martra/wp-includes/functions.php:6114) in /home1/spotsail/public_html/martra/wp-includes/rest-api/class-wp-rest-server.php on line 1893

Warning: Cannot modify header information - headers already sent by (output started at /home1/spotsail/public_html/martra/wp-includes/functions.php:6114) in /home1/spotsail/public_html/martra/wp-includes/rest-api/class-wp-rest-server.php on line 1893

Warning: Cannot modify header information - headers already sent by (output started at /home1/spotsail/public_html/martra/wp-includes/functions.php:6114) in /home1/spotsail/public_html/martra/wp-includes/rest-api/class-wp-rest-server.php on line 1893

Warning: Cannot modify header information - headers already sent by (output started at /home1/spotsail/public_html/martra/wp-includes/functions.php:6114) in /home1/spotsail/public_html/martra/wp-includes/rest-api/class-wp-rest-server.php on line 1893

Warning: Cannot modify header information - headers already sent by (output started at /home1/spotsail/public_html/martra/wp-includes/functions.php:6114) in /home1/spotsail/public_html/martra/wp-includes/rest-api/class-wp-rest-server.php on line 1893
{"id":874,"date":"2017-08-10T15:40:48","date_gmt":"2017-08-10T15:40:48","guid":{"rendered":"http:\/\/martra.uadla.com\/?p=874"},"modified":"2020-11-24T15:54:08","modified_gmt":"2020-11-24T15:54:08","slug":"creando-el-mundo-de-nuestro-arcade","status":"publish","type":"post","link":"https:\/\/martra.uadla.com\/creando-el-mundo-de-nuestro-arcade\/","title":{"rendered":"Creando el mundo de nuestro Arcade."},"content":{"rendered":"\n

Un arcade de toda la vida, de los que no puedes estar quieto, no hay tiempo para pensar, tienes que moverte r\u00e1pido, recolectar los tesoros y escapar de las hordas de enemigos que te persiguen. Si se\u00f1or, un Arcade en el que siempre conocer\u00e1s al alguien que haga mejor puntuaci\u00f3n que t\u00fa. Un arcade para viciarte y viciar a todos tus amigos.<\/p>\n\n\n\n

Esta es la definici\u00f3n, un poco teatralizada del juego que vamos a desarrollar en esta segunda aparte del tutorial de Desarrollo de Juegos con Unity.<\/strong><\/p>\n\n\n\n

En este post vamos a empezar dise\u00f1ando el tablero del primer nivel, s\u00ed, por que vamos a tener m\u00e1s de un nivel.<\/p>\n\n\n\n

Creamos el proyecto en Unity<\/h2>\n\n\n\n
\"Pantalla <\/picture><\/a>
Creando nuestro primer Arcade en Unity<\/figcaption><\/figure><\/div>\n\n\n\n

Escogemos un nombre para nuestro proyecto, yo le he llamado: megafastball, y le damos al Create project<\/em>.
Nos aparecera el IDE de Unity vac\u00edo, lo primero que vamos a hacer es importar los Assets standard<\/strong> que vamos a utilizar.
Vamos al menu Assets->Import Package->Prototyping<\/em>, seleccionamos todos los elementos en el cuadro de dialogo pulsamos: Import<\/em>.<\/p>\n\n\n\n

\"Cuadro <\/picture><\/a>
Assets standard de prototipado<\/figcaption><\/figure><\/div>\n\n\n\n

Una vez importados tendremos los Assets listos para usar en la secci\u00f3n de Project<\/em>.<\/p>\n\n\n\n

Creando el nivel del juego<\/h2>\n\n\n\n

Lo primero que vamos a hacer es crear el suelo<\/strong>, para ello usaremos uno de los Assets standard reci\u00e9n importados.<\/p>\n\n\n\n

\"Incoporamos <\/picture><\/a>
Creando el suelo de nuestro primer nivel.<\/figcaption><\/figure><\/div>\n\n\n\n

Seleccionamos FloorPrototype64x01x64<\/em> que lo encontramos en la carpeta Prefabs<\/em>, dentro de Prototyping<\/em> en Standard Assets<\/em><\/strong>, y lo arrastramos hacia la ventana #Scene. Con esto ya hemos creado una base, sobre la que se ejecutar\u00e1 nuestro juego. Nos habra creado un objeto en la secci\u00f3n Hierarchy<\/em> con el nombre FloorPrototype64x01x64, le cambiamos el nombre por: Suelo<\/em>. Al seleccionarlo nos mostrar\u00e1 sus caracter\u00edsticas en la secci\u00f3n Inspector<\/em>, modificamos los valores de su position para que este situado en 0, 0, 0 en los tres ejes. Para ello podemos editar los valores manualmente, o hacer un reset de sus variables con el menu que aparece al seleccionar la rueda dentada de la secci\u00f3n Transform<\/em>.<\/p>\n\n\n\n

\"Datos <\/picture><\/a>
Reseteamos los datos de Transform<\/figcaption><\/figure><\/div>\n\n\n\n

Vamos a darle un poco de contenido y creemos unos cuantos muros o obst\u00e1culos<\/strong>. Para ello usaremos por ejemplo el FloorPrototype04x01x04<\/em>, lo arrastramos hacia nuestra escena, le cambiamos el nombre a Obstaculo<\/em>.<\/p>\n\n\n\n

\"\" <\/picture><\/a>
Aqu\u00ed vemos nuestro primer Obst\u00e1culo, o Muro…<\/figcaption><\/figure><\/div>\n\n\n\n

Como se puede ver, al usar un mismo Asset standard nuestro Obstaculo tiene exactament la misma pinta que nuestro Suelo<\/strong>. Vamos a cambiarle el material que usa.<\/strong><\/p>\n\n\n\n

\"Inspector <\/picture><\/a>
El material usado es NavyGrid<\/figcaption><\/figure><\/div>\n\n\n\n

Al seleccionar nuestro Obst\u00e1culo, podemos ver en la secci\u00f3n Inspector, en su apartado Shader, el material que esta usando. En este caso es el NavyGrid. Vamos a modificarlo, pero no queremos modificar en NavyGrid, sino crear un material nuevo. Para ello lo mejor es que dupliquemos a NavyGrid, lo seleccionamos y apretamos: Cmd+D (Ctrl+D en Windows). Le cambiamos el nombre a Material de Obst\u00e1culo<\/strong>. Con esto, si consultamos el Inspector de Obst\u00e1culo ya podremos ver que tiene asignado el material: Material de Obst\u00e1culos, en lugar del NavyGrid.<\/p>\n\n\n\n

Los Prefab<\/h3>\n\n\n\n

Los Prefab son fundamentales en Unity, y su concepto es muy sencillo. Un Prefab es como una plantilla<\/strong>. Nosotros hemos creado un Suelo y un Obst\u00e1culo, pero es posible que usemos m\u00e1s de un Suelo, y 100% seguro que vamos a tener m\u00e1s de un Obst\u00e1culo.  Seria una buena idea tener las plantillas de estos objetos para poder crear tantos como necesitemos.
Lo primero que vamos a hacer es crear una carpeta llamada MisPrabs, en el apartado Project<\/em>.<\/p>\n\n\n\n

\"Menu <\/picture><\/a>
Creando la carpeta en Project<\/figcaption><\/figure><\/div>\n\n\n\n

Una vez tengamos la carpeta creada arrastramos los objetos Obst\u00e1culo y Suelo de Hierarchy hacia nuestra carpeta reci\u00e9n creada.<\/p>\n\n\n\n

\"Tenemos <\/picture><\/a>
Arrastramos Suelo y Obst\u00e1culo a la carpeta de Project.<\/figcaption><\/figure><\/div>\n\n\n\n

A partir de ahora realizaremos las modificaciones a los Prefab, as\u00ed se aplicaran a todos los objetos que hayamos creado con ese prefab.<\/strong><\/p>\n\n\n\n

Modificando el material<\/h3>\n\n\n\n

Trick!!!<\/strong><\/p><\/blockquote>\n\n\n\n

\"\" <\/picture><\/a>
Candado!!! Sirve para anclar!<\/figcaption><\/figure><\/div>\n\n\n\n

El candado de la imagen nos permite anclar en el inspector el objeto actual. Nos va ser mu \u00fatil cuando necesitamos editar varias propiedades. Ya que no cambiaremos sin querer el contenido del inspector al seleccionar otro Objeto o Asset.<\/p>\n\n\n\n

Vamos a modificar algunas de las propiedades de material que acabamos de crear, Material de Obst\u00e1culos<\/em> seleccionado, modificaremos su caracter\u00edstica Albedo<\/em>: Si pulsamos sobre el cuadrado de color que tiene a su izquierda veremos que esta usando la Textura SwatchNavyAlbedo, escogemos otra, la que mas rabia nos d\u00e9. Yo he usado la SwatchMauveAlbedo<\/em>. Escogerlo es tan sencillo como arrastrar la textura que quer\u00e1is al recuadro de color.<\/p>\n\n\n\n

\"\" <\/picture><\/a>
El material con el nuevo Albedo en uso.<\/figcaption><\/figure><\/div>\n\n\n\n

Ahora tenemos un escenario que se compone de un suelo y un Obst\u00e1culo. Vamos a a\u00f1adir varios obst\u00e1culos…. Para ello arrastraremos desde los Prefabs<\/em> tantos Obst\u00e1culos como queramos a la #Scene.<\/strong> Los distribuimos por nuestro escenario, teniendo en cuenta que tienen que estar pegados al suelo, por lo que al moverlos tendremos que fijarnos en no mover el eje Y.<\/p>\n\n\n\n

\"\" <\/picture><\/a>
Hemos arrastrado los Obstaculos desde Prefab.<\/figcaption><\/figure><\/div>\n\n\n\n

No importan demasiado donde los pong\u00e1is, ni cuantos, seguramente cuando empecemos con el juego los iremos moviendo, al realizar las primeras pruebas de usuario ajustaremos el escenario de nuestro primer nivel:<\/p>\n\n\n\n

\u00bfQue hemos aprendido?<\/h2>\n\n\n\n