{"id":4527,"date":"2020-12-03T22:48:26","date_gmt":"2020-12-04T03:48:26","guid":{"rendered":"https:\/\/niixer.com\/?p=4527"},"modified":"2020-12-03T23:25:57","modified_gmt":"2020-12-04T04:25:57","slug":"dark-age-videojuego-en-unity-3d","status":"publish","type":"post","link":"https:\/\/niixer.com\/index.php\/2020\/12\/03\/dark-age-videojuego-en-unity-3d\/","title":{"rendered":"Dark Age (Videojuego en Unity 3D)"},"content":{"rendered":"\n<p>Este articul\u00f3 est\u00e1 dise\u00f1ado para generar una ruta gu\u00eda del desarrollo de un videojuego, con el fin de apoyar en algunos conceptos b\u00e1sicos utilizando como ejemplo el desarrollo del videojuego Dark Age.<\/p>\n\n\n\n<p>Principalmente un GameDesing sirve para saber qu\u00e9 objetivo busca el Videojuego. En definitiva con esto podemos pasar a dise\u00f1ar las partes de nuestro videojuego. Con lo anterior definido podemos realizar una b\u00fasqueda o dise\u00f1o de diferentes partes del juego.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Para empezar con el Videojuego<\/h3>\n\n\n\n<p>Ahora bien para realizar el videojuego, necesitamos un motor de desarrollo de videojuego para ello utilizaremos Unity. Por lo tanto te recomiendo que al realizar la instalaci\u00f3n de la versi\u00f3n de Unity selecciones la versi\u00f3n final, la identificas f\u00e1cilmente con los n\u00fameros al final acompa\u00f1ados de la letra &#8220;F&#8221; indicando que es una versi\u00f3n final, en este momento se encuentra las Versiones Unity 2020.1.16f1, 2019.4.16f1, pero tambi\u00e9n se encuentran la Alpha 2021.1.0a7, de pronto cuando descargues Unity la versi\u00f3n 2021 se encuentre en la versi\u00f3n final, en concreto selecionar una versi\u00f3n en especial te abre la puerta a encontrar nuevas funcionalidades que en versiones anteriores no se encuentre o al rev\u00e9s, para mi caso voy a utilizar Unity 2019.4.16f1.<\/p>\n\n\n\n<p>Les recomiendo que vean el siguiente video sobre Unity realizado por Juan Gabriel Gomila, en el cual pone en marcha un videojuego peque\u00f1o de un autom\u00f3vil, pero resalta puntos importantes a tener en cuenta, como muestra el crear una cuenta y su importancia, la configuraci\u00f3n del entorno de Unity (es importante que lo vean para configurar colores y tambi\u00e9n poder trabajar con Visual Studio), entre otros puntos como los Script que se trabajaran de manera diferente en cada videojuego, entre otros.<\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Tutorial completo de Unity 2020 gratis - Aprende a crear videojuegos desde cero\" width=\"800\" height=\"450\" src=\"https:\/\/www.youtube.com\/embed\/3ROXafxkd6E?start=14078&#038;feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/div><figcaption>Juan Gabriel Gomila Salas.(14 de Agosto 2020).<em>Tutorial completo de Unity 2020 gratis &#8211; Aprende a crear videojuegos desde cero <\/em>[Video]. Youtube. https:\/\/www.youtube.com\/watch?v=3ROXafxkd6E&amp;t=14078s<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"> Assets utilizados<\/h3>\n\n\n\n<p>Para poder empezar necesitamos saber como descargar los Assets desde Unity, para empezar en nuestro entorno se encuentra una ventana con el nombre de Asset Store, sino se encuentra puedes ir a la parte superior en Windows &gt; Asset Store, cargando as\u00ed la ventana de la Asset Store y la podemos maximizar dando clic derecho sobre el nombre y seleccionar la opcion.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><img loading=\"lazy\" decoding=\"async\" width=\"282\" height=\"66\" src=\"https:\/\/lh6.googleusercontent.com\/V9jl3iQgE8vYwZfs9d-8OpWleHMnaDNhmJ7GrJPSUx3naHRdCtonCbYzkfbcFblHqye1u9ht8Jda7BIGeC-eMVKdoYOWpkkZ5Aa3N_qg5MCLRXefk8gaKAdu-jxzbTh3OBMDPung\"><\/p>\n\n\n\n<p class=\"has-text-align-center\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/yk5KbozvErNkzGd6sxL4VFGUBfgL7ISGZlDrxWMmARLZ0Gb5iYccUtc9xGoGTyBq80cL2Nzan3h02jbFZ8s7aRy50TQwDUdUe4tgf7SokeWb2bao6iACsFn1aXUnXceqLykvT-ip\" width=\"602\" height=\"91\"><\/p>\n\n\n\n<p class=\"has-text-align-center\"><img loading=\"lazy\" decoding=\"async\" width=\"488\" height=\"83\" src=\"https:\/\/lh5.googleusercontent.com\/l6TuxmunHoKG1vifsAqqvYTAIQLNi3X-wCBmy82B_8iSyGsDn6SfLzH9D1iUR0bF6-OkwGYnLM2KP7K80dw-SnhllX-GphcPb6G-ov0rB8Qa1NIVFRknkQwyNPFF6xZszDcDV7CK\"><\/p>\n\n\n\n<p>Para buscar los Assets damos click en la barra de b\u00fasqueda con justo al lado de la lupa.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"312\" src=\"https:\/\/lh4.googleusercontent.com\/jIOAwwyro_ve76A21TledGJleh0UFGoB5TIKMOkuWQGqkNjgZH8pQDDOVNRsEp6d1rwQYBXdVyAPQZAqycKMbKUPP4dj7MumiQ9QQ3fXn4zkvw5TkIRD6RbD3wWdo_m58Ix7kelg\"><\/p>\n\n\n\n<p>La b\u00fasqueda se puede filtrar en la parte derecha de la ventana en la cual seleccionamos categor\u00eda 3D y precio gratis, encontrando as\u00ed el Asset que vamos a utilizar en el proyecto. Para ello damos click sobre la imagen y nos llevar\u00e1 al enlace del objeto en 3D, en la nueva ventana podemos ver el bot\u00f3n de descarga y al finalizar la descarga cambiar\u00e1 a la palabra del bot\u00f3n a importar.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><img decoding=\"async\" width=\"271\" height=\"135.4762124297602\" src=\"https:\/\/lh5.googleusercontent.com\/0RE7kvf7IQ5-Smz1KqatyeIx2YzF_O3GLLq7VGrRBBoKzprpked53sSnNxrFIARqEJBUJGeQmlz81q4ByPW5nfRXA8OdsZUwbhqupOWE0CSzJRPbo5sgYTrGGAEPxPuaYdmWXVU8\"><\/p>\n\n\n\n<p class=\"has-text-align-center\"><img decoding=\"async\" width=\"240\" height=\"125.49278233962377\" src=\"https:\/\/lh6.googleusercontent.com\/gGliZSTDAygCus_Ag3WmOXp4-UYVa_p_U4OzuQHXa4OfNi9y1FYsGzjhIaDWaRY4vOcZU2Cjy81PQMidwxV0KymRKfwMWREZfnCkDWQe1G0AqwpqVmdDIyp9Ii-HUA9erGiV7hPn\"><\/p>\n\n\n\n<p class=\"has-text-align-center\"><img decoding=\"async\" width=\"240\" height=\"113.46657498003415\" src=\"https:\/\/lh5.googleusercontent.com\/MsycR_Bni0eqANjSkzyTa48AtYukjZlm1WbEs2N_mogRSrQNKMfkwW65iyd9HS-0f2JRVHMf4cVZRh1WA0P4Y5vuQJduACei_F96gm8xiMLU5LFKsdaeBPkYcv4W8P8zL85BnIP-\"><\/p>\n\n\n\n<p>Como paso final le damos click en el bot\u00f3n importar para poder llevar todos los objetos del asset al proyecto, la nueva ventana que aparece nos mostrar\u00e1 todos los objetos que vienen en el paquete al importar por defecto viene seleccionados todos solo le damos click en importar en la parte inferior derecha de la ventana.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><img loading=\"lazy\" decoding=\"async\" width=\"314\" height=\"539\" src=\"https:\/\/lh6.googleusercontent.com\/Nx4P9Dut3z6aquWoaEdXOThIoQFuaLj7uJ7kRhSLt5Rmbr-Q0_poYzYTM8PZi5QEcrnbV4F5ChFe7MrUdqRnx_jQKmwMJeXdjCgM5KwR-CwAMZ37FflGWgdP8OA4pzAFu3JnaC_K\"><\/p>\n\n\n\n<p>Esta es la ventana que nos aparece al importar el objeto dependiendo del Asset que importemos, cada autor habr\u00e1 dise\u00f1ado diferentes carpetas en las cuales almacenan por defecto una escena de prueba para poder ver el Asset, animaciones algunos assets lo traen otros no, el material y las texturas las cuales le dar\u00e1n el color al personaje y la m\u00e1s importante los prefabs los cuales vienen con el objeto \u201carmado\u201d combinando el objeto, los materiales y texturas, en un solo objeto, el prefab es el que utilizaremos para nuestro proyecto. A continuaci\u00f3n le damos en importar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ahora a buscar Assets para el Videojuego<\/h3>\n\n\n\n<p>finalmente les dejo un pantallaso de los Assets que implemente en el videojuego junto a ellos les dejare una peque\u00f1a descripci\u00f3n y un enlace para que los puedan revisar.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Stylized Dungeon &#8211; Free Pack<\/h4>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/c4s_ShswGY2COCc7xjuUDsJ8qjRpvy4_ekxNS4HEbO5Y8eXSwbv0c00SQ60NkRRHf-YJsU-8u-uKXBsFUVZS1zaFD1BiLxsMTfL6R5flD2SkhL0M_Zf_3NSPunyFGfQ8psKOQy-z\" alt=\"\" \/><\/figure>\n\n\n\n<p>Son implementadas en los diferentes objetos como puertas, antorchas y paredes las cuales generan una mayor perspectiva visual les dejo im\u00e1genes de algunos objetos implementados en el juego. El autor de este asset es <a href=\"https:\/\/assetstore.unity.com\/publishers\/42865\">JoJo Studios<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/Pa2j4jYINBuvoDnFDU2Fo3MXMN3S-ulU2sESn2VHpUhJfKAIjjAtzAdAKL3H7aiDQ1gnOIcEfKVE2E4IF_wX1U14GCZ41HoKQVKLi4QOrGWS2RxWsobK-Xg_Q0a6JVXyrwWNOKxH\" alt=\"\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/dW0yzByg6jTzRcHP0AArNvfMxZDse_sZ6Yti2gQYSsxMUCeyW1ELh2gh9S7CICZc7IUTW98cAR_9CAHAH5Z7EBJZ4WM8EGbLtr2JAvlLr_ddE9ca2Bk2f9TsifxP1FTROFdHd4gm\" alt=\"\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/18cdnKm8z8a50bmxX-FH2lPsisgHJy-pv7UYYyjsGLg4j8QvfT14ABiNN7NwzVjQW2Tqu5YJSzr6CjkyOgOGfewdLvALSgRQ7e95nudaSKV5TMVQzDNU4hEW_BCs35Hn0WXEc8eT\" alt=\"\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/u-kW10imiYdBcowE7k29z_ip_RY5K2xhhJ3RJt2EnEXa6GyW4OsaPexmCCNEWqfNrOxfz4ZXXVqXu4AOUay-yHQtdD1EMRY8ZZwVEDFPO8AZ-ZPiXDQgdXbS3av0W1Vs82kB-DUK\" alt=\"\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Procedural fire<\/h4>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/KzC_E0Q2ditsX6rSoO3HyMBv7u4wo7vBq0mXnWwwwhQfgvVZei1OicLEOfd3i3NZ5Wielr2fX66j5x-FFHiJrJgMryid4-RRCSZyPLYyewsOgcP77I49PrfsbT3aGI_1ZfWHuPUD\" alt=\"\" \/><\/figure>\n\n\n\n<p>Se implementan diferentes estilos de llama los cuales dar\u00e1n un mejor aspecto visual al laberinto afuera y dentro del castillo. Dejo im\u00e1genes de algunos objetos implementados en el juego. El autor de este asset es <a href=\"https:\/\/assetstore.unity.com\/publishers\/28391\">Howl Studio<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/gX2VXGL6VLltidSHCBKbqR0vyiIqPmc5Mii7OqYruXDUH_TkhF0ZW9yWX2KiOW7aGdziTopGBra8djPo5i6FooJULi2kXt6e_atxjyOzthupanGcIVE7SdWne0WhB_HftpcJFGLq\" alt=\"\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/cLKQ3xNopWBvYwq8XEk27zHGNim1ABfjRyxIAsQco-_tMnKpoVfAUtlu8WR7Q5qmgmKegpwHmN5Lr1KUM-8E40xGFQL7F-p0HrP34zxuXVOk3aXtWc5HoxZD7cTWXkXsh7av2b1H\" alt=\"\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/SEkrueOue8mbDOerRwPEReuCZoxeQpwB9BRDEfcDFLdNSEzkkuj7Arzg1BcEjERc3lJqZh5aITXe_A39uGpVyw2y_OPjKHM8sEFkULPy7fNPf_TpUxaoun6VEPYVi5qmlQqhBRK3\" alt=\"\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/F1dpSiP_Z4PINktAiVGw7hvXJHxL2f1mUAFpVDdoh0xqzch9lUO7nvCK_ebGJlchUiPVwBM6xmavQAbDksxMQvY3Ah4RuQsp7FlR5FnD89_r8LSle7agU3PPv3Iylxndrf1v0Xtq\" alt=\"\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Hand Painted Stone Texture<\/h4>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/RV6J45C_iFY2Kw0ocZbBw_8gPpiFFKuiOdvKIJD4fSyFvH9-_r0uJrCpeLdw6JPl6HEWtbzxngFeAUdJUYIJlZkfEmEKRpMimHm5gmKAmHKdzIgpWHiZpr5VGtsl1Oo80G8j3hbl\" alt=\"\" \/><\/figure>\n\n\n\n<p>Este asset se ve reflejado en pisos, paredes y techos para dar la sensaci\u00f3n de encontrarse dentro del castillo. El autor de este asset es <a href=\"https:\/\/assetstore.unity.com\/publishers\/16677\">LowlyPoly<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/CcoEwFyWYI3xSgp5nXYo0aM7X7pq-a3GsXwhq8qDxXbRQjNZOW2X7Ey6SfgngpUKOuvjNcWDCT-WePIVfpLgTIc44s9GeeUuFtLlKA_AscufWsgZsMdrdAdkuAIe5bFl_DidH6bK\" alt=\"\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/ehv98eIEA4nq59r7hnbAxDvJtOEezw86zufjr0HmJZKn_s00LGtctZFQH6KLrqzgh1sKgDKdKkjF6tLHJkp3KjpASbmoGqqaitIx-PWvrnWSweEXclGRkN4XLhuKyQwfGsQkvvnB\" alt=\"\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Low Poly Dungeons Lite<\/h4>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/GG47Qxs_FwpQfQSvOL0IgIoP_sgs-bhNjPJaB9JgzGU81ZHKSZK8wiSS8Qd4dHEmvmo3BKaYs_YHIoLaYnN8ogoCrFRbVaSZr9qkibr3OegNDzvgfCogLTasu19af6E26Hl6nX9l\" alt=\"\" \/><\/figure>\n\n\n\n<p>El asset se encuentra relacionado para el segundo nivel que es la escenograf\u00eda dentro del castillo el cual trae diferentes objetos utilizados para dar un mejor acabado. los cuales son sillas, la mesa en el centro del sal\u00f3n, algunas paredes entre otros objetos incluidas las antorchas para iluminar. El autor de este asset es <a href=\"https:\/\/assetstore.unity.com\/publishers\/44390\">JustCreate<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/Sx2nB8HB-Tdfjx-DV7zxnRozdmBbbIjFpnUcs6yfjMoqA5JPZvx06gV8fsXtSR7f0oGr_OT2YMPQApMamkOOjE2etgEZXTyTnBmlTb2y3LFy-mCxxxuwSxHt_IHUItLznn8gevj5\" alt=\"\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/C4Ee3FiihbwKnHJ4iv2w5AaGPsWAQ6K6dIXhLyzy8_F7A621SPrdseOJD2He0_Z9cVH15rxHsTNHme2gFZFyUBcN4dmBFzgCiXz0uy8TkjLHHmzr-wKaywYApVigZNHG9CY3NTdK\" alt=\"\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/M5qXNBxjCt-pa4fuzEKyCPqluc4jD2kd-BEGSGEn5L7EQoq4lxIFU_LbXuMRUtmFk-0bGERJzvdnGSeHNGs50VX5LK7soPn4xfGb5FoHH8S79aWS1pHbfL3Rtsn7A3AYPs-_xLVR\" width=\"640\" height=\"81\"><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Action RPG Music Free<\/h4>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/KeNMvVLwGv177ZGMZWzkD5t5NjYJnRBfgBoUyZfEfDCC7ObSh2a89PRxNpkYEkQXNBUItAycSzTN-iBXKtfz71oTbpWO1B5e1YZixfwDOd2Mbn-FiQd4USkTm2iSGoDqh17K1LJA\" alt=\"\" \/><\/figure>\n\n\n\n<p>Se encuentra implementado en todo el videojuego, lo cual genera una excelente ambientaci\u00f3n generando un poco m\u00e1s de emoci\u00f3n dentro del videojuego. El autor de este asset es <a href=\"https:\/\/assetstore.unity.com\/publishers\/27795\">VGcomposer<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/zfaDU8uPXcLUU8GtzTBZm2tOgcNsyeEQSH6y15zLuo6wC_XTjDBDPIlV9wYMqvmPiJQZt5717OB47uLrFj2mXub-305EtefNHW4MKZuqn0DkB-yCAZi8kGqQIROPiuG6rv-Y2JNs\" alt=\"\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Yughues Free Wooden Floor Materials<\/h3>\n\n\n\n<p>Se utiliz\u00f3 para el piso, paredes y techo del tutorial, El autor de este asset es <a href=\"https:\/\/assetstore.unity.com\/publishers\/4986\">Nobiax \/ Yughues<\/a>.<\/p>\n\n\n\n<h1 class=\"has-text-align-center wp-block-heading\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/eEm79USu0cmQtgepv6potmtG2o0zZ0HOTJ_W27x9LAMQ0ojdJQ9-q80EAioO7LGH6zQu5YQyReRqbjti6L7yCZDCEPjvtY5f4ACCvxG_BV27lugUflk85h63t6NvXT1XrUEde6k1\" width=\"602\" height=\"289\"><\/h1>\n\n\n\n<p>Para conclusion podemos obtener diferentes utilidades de los Assets desde objetos, hasta audios con lo que una buena b\u00fasqueda por la tienda es muy probable que encuentre lo que busca.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Dise\u00f1o de Men\u00fa Principal y Niveles<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Men\u00fa Principal<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Scripts<\/h5>\n\n\n\n<p>El Script se utiliza para el men\u00fa de inicio del juego el cual tiene la opci\u00f3n de cargar la primera escena que en este caso es Tutorial o Tiene la opci\u00f3n de salir del Juego&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\nusing UnityEngine.SceneManagement;\n&nbsp;\npublic class Controller : MonoBehaviour\n{\n&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;public void Jugar()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SceneManager.LoadScene(\"Tutorial\");\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;public void Salir()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Application.Quit();\n&nbsp;&nbsp;&nbsp;&nbsp;}\n}\n<\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Creditos:<\/h5>\n\n\n\n<p>Para el mostrar los cr\u00e9ditos utilizamos esta opci\u00f3n del bot\u00f3n volver en donde colocamos que si el men\u00fa principal est\u00e1 activado los cr\u00e9ditos est\u00e1n desactivados, de esta manera podemos mostrar las dos interfaces conectadas.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/akXQYY4aHrWU464Eyx2GKOOGidnETF6q4rIKS474_Hw144joQTb4t9-5V4MMXAQicPOJG_byN-6-3TpavEXKt3g7OToIYX95-qaSkaKm-z5__4PA_teMBNeRGiVPHhJscy7z_-ut\" alt=\"\" \/><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Imagen de fondo:<\/h5>\n\n\n\n<p>Imagen propia creada en Photoshop, con alusi\u00f3n al videojuego con el fin de captar la atenci\u00f3n del usuario y el dise\u00f1o de la imagen para los cr\u00e9ditos relacionado con el videojuego.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/vBKWxuWIBFRCRzTXTB2-sbam4gD2KthGywcPHcoKu0IzUg1Ofl37opWPuJ9VzzWGvvRQYxgwDAjRoHwUwCD74vz_FdJ9-kCa9DJ99lWL9Ojswo9PltquRjXXNsDgf0dqZIRtyN-t\" alt=\"\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/sWJlXyy0kwPSfS9R3s-Bl-rqSshDgdhFjsTQffJneHEcxc1pFXxTG4jQ6M-hyDwYlTX6ggRT_hvJtVONosZ0OOpj0k8dfdftPb1_p9egN9BhHmoHUhngs7vYXZmY39Dbm--bkUAk\" alt=\"\" \/><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Men\u00fa Principal<\/h5>\n\n\n\n<p>Al men\u00fa principal se crea a&nbsp;<\/p>\n\n\n\n<h4 class=\"has-text-align-center wp-block-heading\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/LCHcziFA4_cAu8eWci_8u9RHJPNxofPh9-tay7nWZWLbDYrO9xD-ncPSxjCReQDkwzrAc38yDGxdV6OntRJWDsI3Eh2mVxfAJ5uNt95hd9M_tLGfIt3DVzluEHhiMKduxeI1OIwG\" width=\"602\" height=\"329\"><\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Cr\u00e9ditos<\/h5>\n\n\n\n<p>Este es el resultado final de los cr\u00e9ditos, les recomendamos mencionar a los creadores como a las personas que les han colaborado directa o indirectamente en el desarrollo del videojuego, aportando claramente en el resultado final de su videojuego, como muestra la imagen siguiente mencionamos a los profesores y coordinadores si no hubi\u00e9ramos tenido en cuenta sus opiniones, no podr\u00edan estar viendo este material, ademas de los Assets que hemos trabajado tambi\u00e9n cuenta el trabajo y tiempo dedicados por haber dejado a disposici\u00f3n su trabajo.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"440\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/image-159-1024x440.png\" alt=\"\" class=\"wp-image-4660\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/image-159-1024x440.png 1024w, https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/image-159-300x129.png 300w, https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/image-159-768x330.png 768w, https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/image-159-1400x600.png 1400w, https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/image-159.png 1436w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Tutorial<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Script FPSController<\/h5>\n\n\n\n<p>Este script se utiliza para controlar nuestro personaje&nbsp; y la c\u00e1mara que cumple la funci\u00f3n de vista para el jugador , se invoca el m\u00e9todo &nbsp; CharacterController&nbsp; es principalmente utilizado para controles de jugador de tercera o primera persona que no hace uso de la f\u00edsica del <strong>Rigidbody<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n&nbsp;\npublic class FPSController : MonoBehaviour&nbsp;&nbsp;&nbsp;&nbsp;\n{\n&nbsp;&nbsp;&nbsp;&nbsp;CharacterController characterController;\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;[Header (\"Opciones de Personaje\")]\n&nbsp;&nbsp;&nbsp;&nbsp;public float walkSpeed = 6.0f;\n&nbsp;&nbsp;&nbsp;&nbsp;public float runSpeed = 10.0f;\n&nbsp;&nbsp;&nbsp;&nbsp;public float jumpSpeed = 8.0f;\n&nbsp;&nbsp;&nbsp;&nbsp;public float gravity = 20.0f;\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;[Header (\"Opciones de Camara\")]\n&nbsp;&nbsp;&nbsp;&nbsp;public Camera cam;\n&nbsp;&nbsp;&nbsp;&nbsp;public float mouseHorizontal = 3.0f;\n&nbsp;&nbsp;&nbsp;&nbsp;public float mouseVertical = 2.0f;\n&nbsp;&nbsp;&nbsp;&nbsp;public float minRotation = -65.0f;\n&nbsp;&nbsp;&nbsp;&nbsp;public float maxRotation = 60.0f;\n&nbsp;&nbsp;&nbsp;&nbsp;float h_mouse, v_mouse;\n&nbsp;\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;private Vector3 move = Vector3.zero;\n&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;void Start()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cursor.lockState = CursorLockMode.Locked;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;characterController = GetComponent&lt;CharacterController&gt;();\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Update is called once per frame\n&nbsp;&nbsp;&nbsp;&nbsp;void Update()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h_mouse = mouseHorizontal * Input.GetAxis(\"Mouse X\");\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v_mouse += mouseVertical * Input.GetAxis(\"Mouse Y\");\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transform.Rotate(0,h_mouse,0);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v_mouse = Mathf.Clamp(v_mouse,minRotation,maxRotation);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cam.transform.localEulerAngles = new Vector3 (-v_mouse, 0, 0);\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(characterController.isGrounded)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;move = new Vector3(Input.GetAxis(\"Horizontal\"), 0.0f, Input.GetAxis(\"Vertical\"));\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(Input.GetKey(KeyCode.LeftShift))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;move = transform.TransformDirection(move) * runSpeed;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;move = transform.TransformDirection(move) * walkSpeed;&nbsp;\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (Input.GetKey(KeyCode.Space))\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;move.y = jumpSpeed;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;move.y -= gravity * Time.deltaTime;\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;characterController.Move(move * Time.deltaTime);\n&nbsp;&nbsp;&nbsp;&nbsp;}\n}\n<\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Script Contador<\/h5>\n\n\n\n<p>Este script se utiliza para instanciar la variable cantidad, la cual har\u00e1 el conteo de la cantidad de monedas recogida&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\nusing&nbsp; UnityEngine.UI;\n&nbsp;\npublic class Contador : MonoBehaviour\n{\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;public int Cantidad = 0;\n&nbsp;\n}<\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Script Interaccion_Objeto :<\/h5>\n\n\n\n<p>Este script se utiliza para que al momento de que el jugador toque la moneda esta moneda desaparezca y el jugador gane un punto.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\nusing&nbsp; UnityEngine.UI;\n&nbsp;\npublic class Interaccion_Objeto : MonoBehaviour\n{\n&nbsp;&nbsp;&nbsp;&nbsp;public Contador contador;\n&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;void Start()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contador =&nbsp; GameObject.FindGameObjectWithTag(\"Player\").GetComponent&lt;Contador&gt;();\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;private void OnTriggerEnter(Collider other)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(other.tag == \"Player\")\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contador.Cantidad = contador.Cantidad + 1;\n&nbsp;\n&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Destroy(gameObject);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;\n}\n}\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Primer Nivel<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Script Respawn<\/h5>\n\n\n\n<p>Implementado para realizar la reaparici\u00f3n del jugador en un punto determinado, est\u00e1 dise\u00f1ado para recibir dos objetos el primero ser\u00e1 el jugador el segundo un objeto con las coordenadas de aparici\u00f3n. Despu\u00e9s de todo se puede aplicar el script a las llaves y a las trampas dentro del videojuego.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">public class Respawn : MonoBehaviour\n{\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Start is called before the first frame update\n\n&nbsp;&nbsp;&nbsp;&nbsp;[SerializeField] private Transform Player;\n&nbsp;&nbsp;&nbsp;&nbsp;[SerializeField] private Transform respawnPoint;\n\n&nbsp;&nbsp;&nbsp;&nbsp;private void OnTriggerEnter(Collider other)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Player.transform.position = respawnPoint.transform.position;\n&nbsp;&nbsp;&nbsp;&nbsp;}\n\n}\n<\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Letrero Puerta Entrada<\/h5>\n\n\n\n<p>Se implementa para mostrar un texto apenas se acerque el jugador a la puerta mostrando el texto &#8220;presione E&#8221;.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"594\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/image-160-1024x594.png\" alt=\"\" class=\"wp-image-4665\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/image-160-1024x594.png 1024w, https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/image-160-300x174.png 300w, https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/image-160-768x445.png 768w, https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/image-160.png 1135w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-preformatted\">using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n&nbsp;\npublic class LetreroPuertaEntrada : MonoBehaviour\n{\n&nbsp;&nbsp;&nbsp;&nbsp;Renderer rend;\n&nbsp;&nbsp;&nbsp;&nbsp;public static bool textoPuertaEn = false;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Start is called before the first frame update\n&nbsp;&nbsp;&nbsp;&nbsp;void Start()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rend = GetComponent&lt;Renderer&gt;();\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Update is called once per frame\n&nbsp;&nbsp;&nbsp;&nbsp;void Update()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (textoPuertaEn)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rend.enabled = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!textoPuertaEn)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rend.enabled = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n}\n<\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Cambio Scene<\/h5>\n\n\n\n<p>Este script se utiliza para pasar del nivel 1 al nivel 2<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\nusing UnityEngine.SceneManagement;\n&nbsp;\npublic class CambioEscene23 : MonoBehaviour\n{\n&nbsp;&nbsp;&nbsp;&nbsp;private void OnTriggerEnter(Collider other)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (other.tag == \"Player\")\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SceneManager.LoadScene(\"Nivel02\");\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n}\n<\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Control de las entradas&nbsp;<\/h5>\n\n\n\n<p>Con este script lo que se busca hacer es que le aparezca al jugador el texto de ayuda indicando c\u00f3mo abrir la puerta que desea.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n&nbsp;\npublic class Entrada : MonoBehaviour\n{\n&nbsp;&nbsp;&nbsp;&nbsp;Animator anim;\n&nbsp;&nbsp;&nbsp;&nbsp;public bool Dentro = false;\n&nbsp;&nbsp;&nbsp;&nbsp;public bool abierta = false;\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Start is called before the first frame update\n&nbsp;&nbsp;&nbsp;&nbsp;void Start()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;anim = GetComponent&lt;Animator&gt;();\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;void OnTriggerEnter(Collider col)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (col.tag == \"Player\" &amp;&amp; !abierta)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dentro = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LetreroPuertaEntrada.textoPuertaEn = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;void OnTriggerExit(Collider col)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (col.tag == \"Player\")\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dentro = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LetreroPuertaEntrada.textoPuertaEn = false;\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Update is called once per frame\n&nbsp;&nbsp;&nbsp;&nbsp;void Update()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (Dentro &amp;&amp; Input.GetKeyDown(KeyCode.E))\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;anim.SetBool(\"EntradaAbierta\", true);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LetreroPuertaEntrada.textoPuertaEn = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;abierta = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n}\n<\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Llave Amarilla Puerta<\/h5>\n\n\n\n<p>Script utilizado en la llave amarilla la cual se utilizara para&nbsp; poder interactuar con la puerta.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n&nbsp;\npublic class Llave_Amarilla_Puerta2 : MonoBehaviour\n{\n&nbsp;&nbsp;&nbsp;&nbsp;Renderer rend;\n&nbsp;&nbsp;&nbsp;&nbsp;public static bool textoPuerta22 = false;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Start is called before the first frame update\n&nbsp;&nbsp;&nbsp;&nbsp;void Start()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rend = GetComponent&lt;Renderer&gt;();\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Update is called once per frame\n&nbsp;&nbsp;&nbsp;&nbsp;void Update()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (textoPuerta22)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rend.enabled = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!textoPuerta22)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rend.enabled = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n<\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Llave amarilla puerta 2<\/h5>\n\n\n\n<p>Este c\u00f3digo se utiliza para abrir la puerta de entrada, para abrirla y ah\u00ed&nbsp; le aparecer\u00e1 un letrero para al jugador como abrirla<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n&nbsp;\npublic class Llave_Amarilla_Puerta2 : MonoBehaviour\n{\n&nbsp;&nbsp;&nbsp;&nbsp;Renderer rend;\n&nbsp;&nbsp;&nbsp;&nbsp;public static bool textoPuerta22 = false;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Start is called before the first frame update\n&nbsp;&nbsp;&nbsp;&nbsp;void Start()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rend = GetComponent&lt;Renderer&gt;();\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Update is called once per frame\n&nbsp;&nbsp;&nbsp;&nbsp;void Update()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (textoPuerta22)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rend.enabled = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!textoPuerta22)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rend.enabled = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n}<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Generando un Terreno<\/h2>\n\n\n\n<p>A continuaci\u00f3n para el nivel se ve reflejado en el terreno, los \u00e1rboles, las monta\u00f1as y el pasto que se encuentra en el entorno, a esto se le pueden agregar efectos de viento en el entorno para el movimiento de los \u00e1rboles y el pasto.<\/p>\n\n\n\n<p>Primero, generar un Terreno: Dentro de la escena podemos agregar en la ventana de Hiterarchy la opci\u00f3n de terreno, realizando clic derecho sobre objetos en 3D se encuentra el objeto Terreno (Terrain).<\/p>\n\n\n\n<p>Como muestra revisaremos las opciones que nos ofrece el objeto en la ventana Inspector en la opci\u00f3n Terrain en el bot\u00f3n en forma de engranaje Terrain Settings(1), con el fin de definir el tama\u00f1o que tendr\u00e1 nuestro terreno (2) en la opci\u00f3n Mesh Resolution en el cual determinaremos largo, ancho y altura de nuestro Terrain.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/pTeZ7YEndfePwc_b5QT6MtndQn1_HL5HzLJ5eoiOLsz7OBwOBscJvrW-6zWsia9wCgdGMtuQbUCB-T1tUs9yQ3lrYaSQlBeaTMh1mfMwRD4gUyzV8ckMnlcgia1VbLtWQ9GsiR_-\" alt=\"\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/P9L-LmYpLxeVPPyr78mHOPJU0LjZT8n-FVYhMAor58Ifpy0gmK01ALilqA2n1RmWXGFO7vlf1b9wTzfKmd7pdFjiveYCMRjCwW1Su3-O7xmvb9n3uGrmqZR2kc8e1YRn2g19fhU1\" alt=\"\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\">(1)<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/amYBBG2a4ZFo-9t9oPAwtyqYa6GhUvu8RSaoBg9doVWaXsBg0GCBBO9-izvPLELYcpDu-Mi1-CYK6OUMy9HWjIxerI81QELc0VsD6MwRtaXV1xU4i5-fCPq_qIbnFVzB1YmqBAXW\" width=\"265\" height=\"113\"><\/p>\n\n\n\n<p>Para este caso deje un cubo imaginario de 20x20x20, el cual delimitar\u00e1 el Terrain generado, recuerda revisar las dem\u00e1s opciones dentro de Terrain Settings, ah\u00ed se encuentra las opciones para el viento en el pasto y detalle de dibujado para los \u00e1rboles.<\/p>\n\n\n\n<p class=\"has-text-align-center\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(2)<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/JeCK7QN83Lukvzou_fZ8llqq4yBDey3YjoUeqD8LyTz1iVcsZAYY3TNbTJ4BYW0JpohvyJY5kfM1ypk36V-H1nAXcAOr_ht3YT2eEzivKtP1pFCjLXWuSe7D7HCMJVzhLltVA5dI\" width=\"230\" height=\"171\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/54ChLq9GjgGsiy35MSgYSJB6TV2KvrGH_ZV-GLqNvLnvevFKahmk7jbG1zmzOBgk2ViDVfhy7qPHOwAsCJ7PWy03aM72bW1AUwDeCm_m9aLLtMgVHWDG0s86z0Q8mxcAOr2kex81\" width=\"281\" height=\"107\"><\/p>\n\n\n\n<p class=\"has-text-align-center\">Segundo, deformar el Terreno: Ya vimos las opciones de Terrain Settings, ahora vamos a escoger la imagen en forma de pincel y dentro seleccionamos de la pesta\u00f1a desplegable Raise or Lower Terrain el cual permite deformar el terreno que hemos creado.<br><img loading=\"lazy\" decoding=\"async\" width=\"291\" height=\"212\" src=\"https:\/\/lh5.googleusercontent.com\/EKyIf7vQ0g5NDtsqVQRaZLWySJKeRt89M3dtf6F3ru-v-hIE1zHxokqxX845SNTs8kGri--mpElQIKHBMQ9NpHU4YSQRnl22y4AFgYEw8LEvUyQ2ABnoUp9SQpHPKD7ueEYPn_PD\"><\/p>\n\n\n\n<p class=\"has-text-align-center\">A Partir de esta opci\u00f3n podemos escoger diferentes formas de pincel en la opci\u00f3n Brushes, cambiarle el tama\u00f1o y tambi\u00e9n la intensidad a nuestro pincel para comenzar a deformar el terreno.<img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/fEFTzKB_CyyZ6rQe2-286qCCIQ_xfXenoiHm1Bf2nbXt99DMjyEJ80I9zkTzRVIn7u6jR-EhtOBe4PDgVqNOUqbnOUG3OaMCJYP4cRQ8WYchVs5OCuBzuQk4xVeqikw63GuM1oGo\" width=\"292\" height=\"210.6222079543428\"><\/p>\n\n\n\n<p class=\"has-text-align-center\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/fEFTzKB_CyyZ6rQe2-286qCCIQ_xfXenoiHm1Bf2nbXt99DMjyEJ80I9zkTzRVIn7u6jR-EhtOBe4PDgVqNOUqbnOUG3OaMCJYP4cRQ8WYchVs5OCuBzuQk4xVeqikw63GuM1oGo\" width=\"292\" height=\"210.6222079543428\"><\/p>\n\n\n\n<p>Para ver nuestro pincel solamente es pasar el cursor sobre el terreno y veremos la figura, al realizar click en \u00e9l podemos dar aumento al terreno pero si le damos shift+click veremos que se aplanara deshaciendo lo que hayamos realizado.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/YUVbTT-tQddP5chp40vtkus0MygZ2VfYd9T5s8giiadtN9m8NquDZ8bxMtQZD2HzT9Gsmkvj7Rhb5efn6VA2X3ECPhTt993IEKsXXcp6jgH0pbsYfFqu7UqyEpwHVZbViUS7PPdp\" alt=\"\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/1moYXDNLeW2WpWtgpLLwr9N3ZvVlRLv5tTV-xVQ1oSpP4kxYFmNWEZFE78SLZhBYQEie_1vTQ1RuNXMePmtIjobhUiFVJqIWRL5PhiGQo4WV6D_sWg4oOojiVUrO5eKxAfMQABWx\" alt=\"\" \/><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Agregar Color<\/h5>\n\n\n\n<p class=\"has-text-align-center\">3. Agregar Color: Sin salir de la opci\u00f3n de pincel desde la pesta\u00f1a desplegable anterior seleccionamos la opci\u00f3n Paint Texture, la cual nos servir\u00e1 para pintar el terreno que ya hemos deformado.<img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"218\" src=\"https:\/\/lh6.googleusercontent.com\/_Rqa_jsrLSEDbz7pv6hYPlZWA9H-peCsyp6x4rOAs72XPEvcM4q1G47m9rZIN6HwjCDMNTMI77SLlnH-TG_IXJ97YiICdHsbU8IPerFwRZzJpFYHTEVVgtRN7QaIk3DJRLLdKsKt\"><\/p>\n\n\n\n<p>Nos mostrar\u00e1 una serie de opciones similares al de deformar, pero con una funcionalidad adicional que es el Layer el cual nos sirve para pintar el terreno.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/4r1WZinxgqtjOQInSjXPjRjqZwTC6FsfrneZSvLAIiPB614c8xMOSWrpZGgAdNkQcLmPuCJv5JtXr4m7ntIW7rX0nE7UUXz65xs_RpL7kCUxT8vOp4gLoMIOxWXBIGdnssEiTfxl\" alt=\"\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/B-wNWGjt5rDkldqMeTo-0UTdByHm99vlLe4_RByE7shR9skZ3TDH51ACB5OUwvJMRdK_it2HXk08fPVx3xknyciiTRLREvyPZO0fJK2eaohSzdWlzWDpSgJZVAEFGSgRrkvaiZ5D\" alt=\"\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\">Seleccionamos el bot\u00f3n Edit Terrain Layers y creamos uno nuevo, previamente les recomiendo tener los Standard Assets de Unity de los cuales vamos a obtener nuestros Layers. Para nuestro ejemplo busqu\u00e9 GrassRockyAlbedo el cual podemos seleccionar para pintar nuestro terreno por completo, si deseamos pintar diferentes partes con alg\u00fan otro color repetimos nuevamente los pasos y utilizamos el pincel para pintar los sitios deseados en nuestro terreno.<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/Gz2mSBMHF8mo_TiJW2NNOYHPx5FxsBC-k5KzwK9u3vIStN0M3q7uZZXVYCmyBCVu_c8pYoUVETQN6XA_ZN3MCo261dPLGW-rytV3NWfSBYuwtW9VTk1ys-Gvg4rKu4iaIZGq6CqR\" width=\"283\" height=\"113\"><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/DueRNqGvo5-2RIG0SREobrWy5_CcIqYA_-eXx7XWI9aqw-KVXNLfQ57e8RKVBdxIxXBlAEQ76S400x8MCcAZdWEzl2jpC0JCL0TCL8CKT8nDmCt7ndPK48cr40tyVZzcNbgropa1\" alt=\"\" \/><\/figure>\n\n\n\n<p>Si no pinta, selecciona la textura en Terrain Layers saldr\u00e1 subrayado en azul, la textura.<\/p>\n\n\n\n<p>Les recomiendo revisar la opci\u00f3n de pincel tiene mas herramientas que les pueden ser \u00fatiles para el dise\u00f1o de su videojuego.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Agregar \u00e1rboles<\/h5>\n\n\n\n<p class=\"has-text-align-center\">4. Agregar \u00e1rboles: Pasamos a la siguiente opci\u00f3n justo al lado de la imagen de pincel se llama Paint Trees, despu\u00e9s podemos ver opciones similares al pincel pero vamos agregar \u00e1rboles desde la opci\u00f3n Trees, en el bot\u00f3n con la imagen de engranaje Edit Trees. As\u00ed agregamos un nuevo \u00e1rbol, les recomiendo tener los standard assets para obtener los \u00e1rboles de ah\u00ed.<br><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/TAollrTySiRFP9DXX46oPXlopIe5d6MDjCjbLurm9sjgf9ADUlhfb2nN54KNrJd41EOOnIDgMyg-4LdYG9J9IFqKaaIQniTsMmCyxt4H3FZB1Pwo5sFpKYq_SFKeQnZ6_QCmOIOH\" width=\"305\" height=\"445.8797857567943\"><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/UsEpkE_9e4WYG-4ClMdT7QMyY0BwudqpIWN5S3nBsWNgi260exEbgQ-4D3431W3Uhy9RlOHBAwA3PrMqfbs3TV3yuPD_AcVowoAxkiouLmuEwlqrDhZqInIyaiFCRfRj29zDaO07\" alt=\"\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/5JR098NZaA-D3rZr3tLrxc5VkyC0n5TOOFvaoROFSqfXOIdvoPj2PATKPtapUetJPkb71zUCNiJrf1K2NabpWaW6urERQQ8W2PpX0Si1m6bW8QL8BBMBmkQetaPdKdWyUWFqhUuZ\" alt=\"\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/oXjRF3nLCux2ohAST7ZiFd_v2zLLA_mYShBGrh4xxkoFuEYKlKPS1q4IxZapU53g7BIKsPZ2iVput6TNxndXLifJsqDs5feJA4Wg-yCG6fqBrhnqUVTw4EmNspM7JQy2iL0NGMkB\" alt=\"\" \/><\/figure>\n\n\n\n<p>Lo que realizamos es buscar el objeto con forma de \u00e1rbol y agregarlo a nuestro terreno, ahora aparece nuestro \u00e1rbol justo abajo de Trees.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/GSZY8BJBGtPuOmBW4LVIsJ9J6F0JIi5kn_osMuk77dEC3r1Up38qc6ZNwX38zdrcgT0Sb8_BqI1_6trfvD4PmDXgRrvstAcXAanHG1YIhDhvIPxA8sitNvaUaniW2SWQ6Tw15VR9\" alt=\"\" \/><\/figure>\n\n\n\n<p>Recuerde si desea agregar m\u00e1s cantidad de \u00e1rboles solo es aumentar el tama\u00f1o del pincel y como puede ver ya agregamos un \u00e1rbol a nuestro terreno.<\/p>\n\n\n\n<p class=\"has-text-align-center\">5. Agregar Pasto: Pasamos a la siguiente opci\u00f3n justo al lado del \u00e1rbol se llama Paint Details, similar al paso anterior buscamos la opci\u00f3n de Edit Details. para luego buscar nuestro objeto 2D en forma de pasto o Grass, que se utilizara con el pincel para pintar donde deseemos agregar pasto.<br><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/kZJ-P5P9kTcedIp21yw6XvZ4ZW56j3ujBibs5CdRkQLwoQd0jpDnkgWss17lHyNDP2B31s7jrw95_RaHmBG-yn_0VECrXmTvt6lqCQQ_D0P-PcMhlYNijxLNX1JpG6ggp-P2u-uf\" width=\"341\" height=\"185\"><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/QZgRcOMgGGTjkb1AUkvg0rEA6xLDOmJERcomZz0P-MKycCtG6OfaUb3r6qnjwh9-XIgSVLYMPvjhPkz8BwPyqZJvXPzaB-OZrrC7pniK-E4ZrInhfA_tppz4yWVad0km-wYoNWrx\" alt=\"\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/auF9xGjONf5HX6AF8MxjokL9N9q2U8754F8Mogxmq3qDMC-Ny6or1fZ8Fue9kF4E35is0uKrLF4kpqNzZx5Xp_bDIOfDyPVMBVWvgd0SjreXLrbbvB8e4dln_50_Zzu_jza5_rwo\" alt=\"\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/A9t6jpVg_m9wi3ZpL4pXZVU3_4ig5nEdzMoJ9Y7y-9iMNn0gS0ywduUUwx-Hhb0c4JhqP6N9Hs5pt05doQL4Nn1pEr8WU1v9jZAqVpl4A6l4mNti31DhCrFFEKkagQs7EYLMegNA\" alt=\"\" \/><\/figure>\n\n\n\n<p>Por \u00faltimo, similar a los \u00e1rboles le damos en Add y ponemos el pasto que deseemos a nuestro gusto les recomiendo retirar un poco a causa de que por la cantidad de objetos que agrega puede llegar a caer el rendimiento en el videojuego, puede quitarlo con shift+click.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/rrFScRE8MJ5w0W0dVfnWkd-EWlmjv8AdrbYvddPG7JNf0Q5hLslBCYNDZ5LsaxA2VCoFOlv40eQVXYCcZoxdrNLdLNYM0hqKbz-vjGwDnfY6wMXwwXhFGt_LfRoxs6y0JeSSIXgA\" alt=\"\" \/><\/figure>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p>6. Efecto de Viento: Como lo mencionamos en el primer paso hay configuraciones para el viento sobre el pasto, faltando los \u00e1rboles. as\u00ed pues agregamos un nuevo objeto en la ventana de Hierarchy, con click derecho en 3D objects se encuentra WindZone. Generando una flecha con un dibujo de un ventilador en el centro, podemos revisar sus opciones para configurar tanto la fuerza como el tipo de direcci\u00f3n del viento que acabamos de crear.<br><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/pBXo7KG4wJsAsJalChU01iRkkOa4EPDymBcXplSzLH0QmGpwGolN_SBMEuTWCid4GASUe_mWIPav0KfvAfgM2LkLhBfqeZdgE0TcCUQEXm61Tm5AHaoAcuZStVqGa5thgnO9GvDi\" width=\"300\" height=\"367\"><\/p>\n<\/div><\/div>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"411\" height=\"543\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/image-161.png\" alt=\"\" class=\"wp-image-4669\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/image-161.png 411w, https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/image-161-227x300.png 227w\" sizes=\"auto, (max-width: 411px) 100vw, 411px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/V2PiQ9nsNOMAS6QHZe95dtOv7XFPAfNsKHJghIx5K36I7dIYFn0N5c1QlLXLZpJi-Vvpd9tdZC18HzbaO5Bmgi6HeQbK8X3XwdxHyu9ZcxQPpOvNR5zBUkvI-KS8xmw3_nTduTOc\" alt=\"\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Mapas con RenderTexture<\/h2>\n\n\n\n<p>El RenderTexture permite pasar a un material lo que puede captar una c\u00e1mara y plasmarlo en un plano para que en tiempo real se visualice en el plano, se implementa en el nivel para realizar mapas:<\/p>\n\n\n\n<p>Primero generar un RenderTexture: Crear una carpeta con el nombre de RenderTexture y dentro de la carpeta generamos un RenderTexture con clic derecho crear.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/2XrGMtYVeW29vDQJK0T_5rM9sbcICvOtHFpkIgWrPGcAfLFpT-gLvCkIigJJaHDoy7NPUKIYHGhGKxzZT3fQx7A83ttuKkvu8hfGLO7l5KMgJMpdhiLGUbq_2cV7XaaEtgvdsuxJ\" alt=\"\" \/><\/figure>\n\n\n\n<p>lo he dejado con el nombre de MapaNivel.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/Vab84_n1qG7Ba8XRl4x-pgYpMrogvmshQEZBX04UZVGyP84ZKh76ENwy4gaMUrnL4HvLG3p0A5qyfzrBslIU2GQeJTAI5FC5CxPpk6WSohQO-yYbDckCCV1yuqvboULHe2pg2nRQ\" alt=\"\" \/><\/figure>\n\n\n\n<p>Segundo, aplicarlo a un Material: En la misma carpeta se puede generar un material, damos clic derecho dentro de la carpeta y generamos un Material lo llamar\u00e9 MaterialMapa:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/AXl9ABMemewegeytxiBUdorYTregkyZIDFnWm5ZOhl838uo6J1ACxIQzpFNp7Xg15cc5_xhwCghm8io4_1yVsmho0riQSeQDwTHfAWqohyfZ1JOgshT-02Az9g_0YFCrsawMf9mX\" alt=\"\" \/><\/figure>\n\n\n\n<p>Como es de esperar ingresamos a las propiedades del material para agregar nuestro RenderTexture al material en el apartado de Main Maps, en la primera opci\u00f3n de Albedo podemos aplicar nuestro RenderTexture, podemos arrastrarlo hasta all\u00ed o buscarlo, en est\u00e9 caso lo buscare.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/LyPuCAS8SEcyCRlI37pa7j8h-j3SsHaigrOoTtjWXNX_YkhY-aXyn2B5E0BJvaRGgW0PhnxKnhadEsAZRCa2f0A4QbiK0eptc2_x5Av9LtX9qpWnNdHQx_4PkxWOAqRqSQ3osvcq\" alt=\"\" \/><\/figure>\n\n\n\n<p>Tercero, asignarle una C\u00e1mara: Para ello creamos una c\u00e1mara dentro de la escena y con la cual se la asignaremos dentro de las opciones de la c\u00e1mara en la opci\u00f3n de Target Texture nuestro RenderTexture, podemos arrastrar el RenderTexture o buscarlo similar al Material.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/2zoK44XU-_YFXzWc6QPhbMi63S2BdpOXJhbeZsF2puUs16csrdunx7FeBXscv_NqqGBupRRiw_6kcEoEboaEBqKs7zFHha3jU0jsMkOyVgIN3pp6ZF34u3egKiyP_CKZd4DAY2HF\" alt=\"\" \/><\/figure>\n\n\n\n<p>Cuarto Aplicar el material a una superficie u objeto: Ya con el material que hemos creado se lo podemos asignar a una superficie en la cual mostrar\u00e1 lo que puede ver la c\u00e1mara, he generado un plano para el mapa y lo situar\u00e1 cerca al personaje para poderlo ver.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/Ovu_yGahs_7fBIIWsbyiuvs3-qHNLMWqn2esskxWrnUabR-v3cCqiU7ZKPoo-uLiHCz4y3j3hWb2tjgAYqcb1_tQgzWODAsMfvsNfS0XaydY9EHhjZ_TN0ZqrjLccx69l7S-nEGf\" alt=\"\" \/><\/figure>\n\n\n\n<p>pueden ver la el plano a la izquierda del personaje y la c\u00e1mara con el RenderTexture a su derecha. Ahora le asignamos el material creado con el RenderTexture.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/M7PfPsuO3HhcndnOJZtgHSQ2IETfbfuZEvl0w2oPs1TJ4Z9NK0WU-04UezGmKqqnkFhrXxCTgClSlgxxvSTBKGMuQxDt22a5sznvxwgcvQsQ2B5ZbkYfeoC67UHKUY1P43ntlwuU\" alt=\"\" \/><\/figure>\n\n\n\n<p>Como resultado podemos ver como se ve nuestro personaje a trav\u00e9s de un RenderTexture sobre un plano tengan en cuenta el campo de visi\u00f3n de la c\u00e1mara y la resoluci\u00f3n que tiene el RenderTexture para tener una imagen m\u00e1s definida.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/h4imNvjsupSh6dkYfV-mm72b9QY5aT8VOmw1kdCwgnq6zTw71OEHZxMyjd04pdPOLQA4yNMrz0EjLDa-jWj2qJc76ia0LEzSmdo7z7dKyCzdnYVPX_quMnk8CcH9Ik0ThqEueQHw\" alt=\"\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Segundo Nivel&nbsp;&nbsp;<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Script abrirPuerta<\/h5>\n\n\n\n<p>Este script se utiliza para abrir las puertas del juego cada puerta tiene su propio script igual, lo que cambia es la puerta a la que se le har\u00e1 la acci\u00f3n.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n&nbsp;\npublic class abrirPuerta11 : MonoBehaviour\n{\n&nbsp;&nbsp;&nbsp;&nbsp;Animator anim;\n&nbsp;&nbsp;&nbsp;&nbsp;public bool Dentro = false;\n&nbsp;&nbsp;&nbsp;&nbsp;public bool abierta = false;\n&nbsp;&nbsp;&nbsp;&nbsp;public static bool tomadaVerde = false;\n&nbsp;&nbsp;&nbsp;&nbsp;public static bool tomadaRosa = false;\n&nbsp;&nbsp;&nbsp;&nbsp;public static bool tomadaNaranja = false;\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Start is called before the first frame update\n&nbsp;&nbsp;&nbsp;&nbsp;void Start()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;anim = GetComponent&lt;Animator&gt;();\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;void OnTriggerEnter(Collider col)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (col.tag == \"Player\" &amp;&amp; !abierta)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dentro = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LetreroPuerta1.textoPuertan1 = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;void OnTriggerExit(Collider col)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (col.tag == \"Player\")\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dentro = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LetreroPuerta1.textoPuertan1 = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NoLlaves.textoNoLlaves = false;\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Update is called once per frame\n&nbsp;&nbsp;&nbsp;&nbsp;void Update()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (Dentro &amp;&amp; Input.GetKeyDown(KeyCode.E)&amp;&amp; tomadaNaranja &amp;&amp; tomadaRosa &amp;&amp; tomadaVerde)\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;anim.SetBool(\"abierta1\", true);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LetreroPuerta1.textoPuertan1 = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;abierta = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(Dentro &amp;&amp; Input.GetKeyDown(KeyCode.E) &amp;&amp; (!tomadaNaranja || !tomadaRosa || !tomadaVerde))\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NoLlaves.textoNoLlaves = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LetreroPuerta1.textoPuertan1 = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n}\n<\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Control_llave<\/h5>\n\n\n\n<p>A continuaci\u00f3n este script se utiliza para que interactue con la llave amarilla, es decir, que cuando este tome la llave se pueda ir al contador para que busque las otras dos llaves faltantes y pueda abrir las puertas.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n&nbsp;\npublic class Control_Llave : MonoBehaviour\n{\n&nbsp;&nbsp;&nbsp;&nbsp;public bool Dentro = false;\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Start is called before the first frame update\n&nbsp;&nbsp;&nbsp;&nbsp;void Start()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;void OnTriggerEnter(Collider col)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (col.tag == \"Player\")\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dentro = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneEAmarilla.textoLlaveAmarilla = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;void OnTriggerExit(Collider col)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (col.tag == \"Player\")\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dentro = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneEAmarilla.textoLlaveAmarilla = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Update is called once per frame\n&nbsp;&nbsp;&nbsp;&nbsp;void Update()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (Dentro &amp;&amp; Input.GetKeyDown(KeyCode.E))\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Control_Puerta.tomadaAmarilla = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ControlPuertaBodega.tomadaAmarilla = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneEAmarilla.textoLlaveAmarilla = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Destroy(gameObject);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n}\n<\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Control_Puertas:<\/h5>\n\n\n\n<p>Este c\u00f3digo se utiliza para abrir la puerta con la llave amarilla previamente seleccionada.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\nusing UnityEngine.UI;\n&nbsp;\npublic class Control_Puerta : MonoBehaviour{\n&nbsp;&nbsp;&nbsp;&nbsp;Animator anim;\n&nbsp;&nbsp;&nbsp;&nbsp;public bool Dentro = false;\n&nbsp;&nbsp;&nbsp;&nbsp;public static bool tomadaAmarilla = false;\n&nbsp;&nbsp;&nbsp;&nbsp;public bool abierta = false;\n&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Start is called before the first frame update\n&nbsp;&nbsp;&nbsp;&nbsp;void Start(){\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;anim = GetComponent&lt;Animator&gt;();\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;void OnTriggerEnter(Collider col){\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(col.tag == \"Player\" &amp;&amp; !abierta)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dentro = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MostrarTexto.textoPuerta2 = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;void OnTriggerExit(Collider col)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (col.tag == \"Player\")\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dentro = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MostrarTexto.textoPuerta2 = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Llave_Amarilla_Puerta2.textoPuerta22 = false;\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Update is called once per frame\n&nbsp;&nbsp;&nbsp;&nbsp;void Update()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(Dentro &amp;&amp; Input.GetKeyDown(KeyCode.E) &amp;&amp; tomadaAmarilla)\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;anim.SetBool(\"abierta\", true);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MostrarTexto.textoPuerta2 = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;abierta = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(Dentro &amp;&amp; Input.GetKeyDown(KeyCode.E) &amp;&amp; !tomadaAmarilla)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Llave_Amarilla_Puerta2.textoPuerta22 = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MostrarTexto.textoPuerta2 = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n}\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Control_llave Azul<\/h3>\n\n\n\n<p>Asimismo la llave amarilla tambi\u00e9n tiene un controlador.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n&nbsp;\npublic class ControlLlaveAzul : MonoBehaviour\n{\n&nbsp;&nbsp;&nbsp;&nbsp;public bool Dentro = false;\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Start is called before the first frame update\n&nbsp;&nbsp;&nbsp;&nbsp;void Start()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;void OnTriggerEnter(Collider col)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (col.tag == \"Player\")\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dentro = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneEAzul.textoLlaveAzul = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;void OnTriggerExit(Collider col)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (col.tag == \"Player\")\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dentro = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneEAzul.textoLlaveAzul = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Update is called once per frame\n&nbsp;&nbsp;&nbsp;&nbsp;void Update()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (Dentro &amp;&amp; Input.GetKeyDown(KeyCode.E))\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ControlPuertaBodega.tomadaAzul = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneEAzul.textoLlaveAzul = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Destroy(gameObject);\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n}<\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Control Llave Roja:<\/h5>\n\n\n\n<p>Controlador de la llave roja.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n&nbsp;\npublic class ControlLlaveRoja : MonoBehaviour\n{\n&nbsp;&nbsp;&nbsp;&nbsp;public bool Dentro = false;\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Start is called before the first frame update\n&nbsp;&nbsp;&nbsp;&nbsp;void Start()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;void OnTriggerEnter(Collider col)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (col.tag == \"Player\")\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dentro = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneERoja.textoLlaveRoja = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;void OnTriggerExit(Collider col)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (col.tag == \"Player\")\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dentro = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneERoja.textoLlaveRoja = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Update is called once per frame\n&nbsp;&nbsp;&nbsp;&nbsp;void Update()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (Dentro &amp;&amp; Input.GetKeyDown(KeyCode.E))\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ControlPuertaBodega.tomadaRoja = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneERoja.textoLlaveRoja = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Destroy(gameObject);\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n}\n<\/pre>\n\n\n\n<p>En s\u00edntesis despu\u00e9s de obtener las tres llaves.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Control puerta bodega:<\/h5>\n\n\n\n<p>Como resultado, al obtener ya las tres llaves se utiliza este controlador para abrir la puerta.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n&nbsp;\npublic class ControlPuertaBodega : MonoBehaviour\n{\n&nbsp;&nbsp;&nbsp;&nbsp;Animator anim;\n&nbsp;&nbsp;&nbsp;&nbsp;public bool Dentro = false;\n&nbsp;&nbsp;&nbsp;&nbsp;public static bool tomadaAmarilla = false;\n&nbsp;&nbsp;&nbsp;&nbsp;public static bool tomadaAzul = false;\n&nbsp;&nbsp;&nbsp;&nbsp;public static bool tomadaRoja = false;\n&nbsp;&nbsp;&nbsp;&nbsp;public bool abierta = false;\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Start is called before the first frame update\n&nbsp;&nbsp;&nbsp;&nbsp;void Start()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;anim = GetComponent&lt;Animator&gt;();\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;void OnTriggerEnter(Collider col)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (col.tag == \"Player\" &amp;&amp; !abierta)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dentro = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneBodega.texto1Bodega = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;void OnTriggerExit(Collider col)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (col.tag == \"Player\")\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dentro = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneBodega.texto1Bodega = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FaltanLlavesBodega.Texto2Bodega = false;\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Update is called once per frame\n&nbsp;&nbsp;&nbsp;&nbsp;void Update()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (Dentro &amp;&amp; Input.GetKeyDown(KeyCode.E) &amp;&amp; tomadaAmarilla &amp;&amp; tomadaAzul &amp;&amp; tomadaRoja)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;anim.SetBool(\"bodegaAbierta\", true);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneBodega.texto1Bodega = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;abierta = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TextoFinal.TxtFinal = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (Dentro &amp;&amp; Input.GetKeyDown(KeyCode.E) &amp;&amp; (!tomadaAmarilla || !tomadaAzul || !tomadaRoja))\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FaltanLlavesBodega.Texto2Bodega = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneBodega.texto1Bodega = false;\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n}\n<\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Faltan llaves Bodega:<\/h5>\n\n\n\n<p>Este script se utiliza para indicarle al jugador que faltan llaves y por eso no puede abrir la puerta que quiere.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n&nbsp;\npublic class FaltanLlavesBodega : MonoBehaviour\n{\n&nbsp;&nbsp;&nbsp;&nbsp;Renderer rend;\n&nbsp;&nbsp;&nbsp;&nbsp;public static bool Texto2Bodega = false;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Start is called before the first frame update\n&nbsp;&nbsp;&nbsp;&nbsp;void Start()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rend = GetComponent&lt;Renderer&gt;();\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Update is called once per frame\n&nbsp;&nbsp;&nbsp;&nbsp;void Update()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (Texto2Bodega)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rend.enabled = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!Texto2Bodega)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rend.enabled = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n}\n<\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Letrero Puerta<\/h5>\n\n\n\n<p>Este script se utiliza para explicarle al jugador como abrir las puertas.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n&nbsp;\npublic class LetreroPuerta1 : MonoBehaviour\n{\n&nbsp;&nbsp;&nbsp;&nbsp;Renderer rend;\n&nbsp;&nbsp;&nbsp;&nbsp;public static bool textoPuertan1 = false;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Start is called before the first frame update\n&nbsp;&nbsp;&nbsp;&nbsp;void Start()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rend = GetComponent&lt;Renderer&gt;();\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Update is called once per frame\n&nbsp;&nbsp;&nbsp;&nbsp;void Update()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (textoPuertan1)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rend.enabled = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!textoPuertan1)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rend.enabled = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n}<\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">LLave Naranja<\/h5>\n\n\n\n<p>Este script&nbsp; se utiliza para la interaccion con la llave naranja.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n&nbsp;\npublic class LlaveNaranja : MonoBehaviour\n{\n&nbsp;&nbsp;&nbsp;&nbsp;public bool Dentro = false;\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Start is called before the first frame update\n&nbsp;&nbsp;&nbsp;&nbsp;void Start()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;void OnTriggerEnter(Collider col)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (col.tag == \"Player\")\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dentro = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneENaranja.textoLlaveNaranja = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;void OnTriggerExit(Collider col)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (col.tag == \"Player\")\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dentro = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneENaranja.textoLlaveNaranja = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Update is called once per frame\n&nbsp;&nbsp;&nbsp;&nbsp;void Update()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (Dentro &amp;&amp; Input.GetKeyDown(KeyCode.E))\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;abrirPuerta11.tomadaNaranja = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneENaranja.textoLlaveNaranja = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Destroy(gameObject);\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n}\n<\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Llave Rosa<\/h5>\n\n\n\n<p>Este script&nbsp; se utiliza para la interaccion con la llave Rosa.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n&nbsp;\npublic class LlaveRo : MonoBehaviour\n{\n&nbsp;&nbsp;&nbsp;&nbsp;public bool Dentro = false;\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Start is called before the first frame update\n&nbsp;&nbsp;&nbsp;&nbsp;void Start()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;void OnTriggerEnter(Collider col)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (col.tag == \"Player\")\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dentro = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneERosa.textoLlaveRosa = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;void OnTriggerExit(Collider col)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (col.tag == \"Player\")\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dentro = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneERosa.textoLlaveRosa = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Update is called once per frame\n&nbsp;&nbsp;&nbsp;&nbsp;void Update()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (Dentro &amp;&amp; Input.GetKeyDown(KeyCode.E))\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;abrirPuerta11.tomadaRosa = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneERosa.textoLlaveRosa = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Destroy(gameObject);\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n}<\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Llave Naranja<\/h5>\n\n\n\n<p>Este script&nbsp; se utiliza para la interaccion con la llave naranja.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n&nbsp;\npublic class LlaveNaranja : MonoBehaviour\n{\n&nbsp;&nbsp;&nbsp;&nbsp;public bool Dentro = false;\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Start is called before the first frame update\n&nbsp;&nbsp;&nbsp;&nbsp;void Start()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;void OnTriggerEnter(Collider col)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (col.tag == \"Player\")\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dentro = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneENaranja.textoLlaveNaranja = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;void OnTriggerExit(Collider col)\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (col.tag == \"Player\")\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dentro = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneENaranja.textoLlaveNaranja = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Update is called once per frame\n&nbsp;&nbsp;&nbsp;&nbsp;void Update()\n&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (Dentro &amp;&amp; Input.GetKeyDown(KeyCode.E))\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;abrirPuerta11.tomadaNaranja = true;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PresioneENaranja.textoLlaveNaranja = false;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Destroy(gameObject);\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;}\n}\n<\/pre>\n\n\n\n<p>Autores: <br><a href=\"https:\/\/niixer.com\/?s=Miguel+Angel+Moreno+Rodriguez\">Miguel Angel Moreno Rodriguez<\/a><br><a href=\"https:\/\/niixer.com\/?s=Jean+Sebastian+Salamanca+Wilches\">Jean Sebastian Salamanca Wilches<\/a><br><a href=\"https:\/\/niixer.com\/?s=Maria+Paula+Garcia+Tarquino\">Maria Paula Garcia Tarquino<\/a><\/p>\n\n\n\n<p>Editor : Carlos Pinz\u00f3n<\/p>\n\n\n\n<p>C\u00f3digo: UCRV-5<\/p>\n\n\n\n<p>Universidad: Universidad Central<\/p>\n\n\n\n<p><strong>Fuentes:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Unity Technologies. (2020). <em>C\u00e1mara. <\/em>Unity Documentation. https:\/\/docs.unity3d.com\/es\/530\/Manual\/class-Camera.html<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">Guinxu. (2019, Mayo 16 ). <em>Efectos que enga\u00f1an al jugador en videojuegos | Parte 2 <\/em>[Video]<em>. <\/em>YouTube.<a href=\"https:\/\/www.youtube.com\/watch?v=Oqo4QEPi698\"> https:\/\/www.youtube.com\/watch?v=Oqo4QEPi698<\/a><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">Juan Gabriel Gomila Salas.(14 de Agosto 2020).<em>Tutorial completo de Unity 2020 gratis - Aprende a crear videojuegos desde cero <\/em>[Video]. Youtube. https:\/\/www.youtube.com\/watch?v=3ROXafxkd6E&amp;t=14078s<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">JoJo Studios. (9 de Septiembre 2020). <em>Stylized Dungeon - Free Pack<\/em>. Unity Asset Store. https:\/\/assetstore.unity.com\/packages\/3d\/environments\/dungeons\/stylized-dungeon-free-pack-178268<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">Hovl Studio. (23 de Abril 2020). <em>Procedural fire<\/em>. Unity Asset Store. <a href=\"https:\/\/assetstore.unity.com\/packages\/vfx\/particles\/fire-explosions\/procedural-fire-141496\">https:\/\/assetstore.unity.com\/packages\/vfx\/particles\/fire-explosions\/procedural-fire-141496<\/a><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">LowlyPoly. (27 de Mayo 2020). <em>Hand Painted Stone Texture<\/em>. Unity Asset Store. <a href=\"https:\/\/assetstore.unity.com\/packages\/2d\/textures-materials\/floors\/hand-painted-stone-texture-73949\">https:\/\/assetstore.unity.com\/packages\/2d\/textures-materials\/floors\/hand-painted-stone-texture-73949<\/a><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">JustCreate. (2 de Septiembre 2020). <em>Low Poly Dungeons Lite<\/em>. Unity Asset Store. https:\/\/assetstore.unity.com\/packages\/3d\/environments\/dungeons\/low-poly-dungeons-lite-177937<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">VGcomposer. (30 de Agosto 2019). <em>Action RPG Music Free<\/em>. Unity Asset Store. https:\/\/assetstore.unity.com\/packages\/audio\/music\/action-rpg-music-free-85434<\/pre>\n\n\n\n<p>Nobiax \/ Yughues. (1 de Abril 2015). <em>Yughues Free Wooden Floor Materials<\/em>. Unity Asset Store. https:\/\/assetstore.unity.com\/packages\/2d\/textures-materials\/wood\/yughues-free-wooden-floor-materials-13213<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Este articul\u00f3 est\u00e1 dise\u00f1ado para generar una ruta gu\u00eda del desarrollo de un videojuego, con el fin de apoyar en algunos conceptos b\u00e1sicos utilizando como ejemplo el desarrollo del videojuego Dark Age. Principalmente un GameDesing sirve para saber qu\u00e9 objetivo busca el Videojuego. En definitiva con esto podemos pasar aSeguir Leyendo<\/p>\n","protected":false},"author":55,"featured_media":4681,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"no_sidebar_full_width","colormag_page_sidebar_layout":"right_sidebar","footnotes":""},"categories":[77],"tags":[336,337,338,324,84,214,319,342,66],"class_list":["post-4527","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-videojuegos","tag-asset-store","tag-assets","tag-assets-3d","tag-juegos","tag-modelos-3d","tag-unity","tag-unity-hub","tag-videojuego","tag-videojuegos"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Dark Age (Videojuego en Unity 3D) &#8211; Niixer &#8211; Videojuegos<\/title>\n<meta name=\"description\" content=\"Este es el ejemplo de un videojuego, para generar una ruta gu\u00eda del desarrollo con el fin de apoyar en algunos conceptos b\u00e1sicos.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/niixer.com\/index.php\/2020\/12\/03\/dark-age-videojuego-en-unity-3d\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dark Age (Videojuego en Unity 3D) &#8211; Niixer &#8211; Videojuegos\" \/>\n<meta property=\"og:description\" content=\"Este es el ejemplo de un videojuego, para generar una ruta gu\u00eda del desarrollo con el fin de apoyar en algunos conceptos b\u00e1sicos.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/niixer.com\/index.php\/2020\/12\/03\/dark-age-videojuego-en-unity-3d\/\" \/>\n<meta property=\"og:site_name\" content=\"Portal de noticias de tecnolog\u00eda, Realidad Virtual, Aumentada y Mixta, Videojuegos\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/niixer\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-12-04T03:48:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-12-04T04:25:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/Portada.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"456\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Miguel Angel Moreno Rodriguez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Miguel Angel Moreno Rodriguez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"42 minutos\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Dark Age (Videojuego en Unity 3D) &#8211; Niixer &#8211; Videojuegos","description":"Este es el ejemplo de un videojuego, para generar una ruta gu\u00eda del desarrollo con el fin de apoyar en algunos conceptos b\u00e1sicos.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/niixer.com\/index.php\/2020\/12\/03\/dark-age-videojuego-en-unity-3d\/","og_locale":"es_ES","og_type":"article","og_title":"Dark Age (Videojuego en Unity 3D) &#8211; Niixer &#8211; Videojuegos","og_description":"Este es el ejemplo de un videojuego, para generar una ruta gu\u00eda del desarrollo con el fin de apoyar en algunos conceptos b\u00e1sicos.","og_url":"https:\/\/niixer.com\/index.php\/2020\/12\/03\/dark-age-videojuego-en-unity-3d\/","og_site_name":"Portal de noticias de tecnolog\u00eda, Realidad Virtual, Aumentada y Mixta, Videojuegos","article_publisher":"https:\/\/www.facebook.com\/niixer\/","article_published_time":"2020-12-04T03:48:26+00:00","article_modified_time":"2020-12-04T04:25:57+00:00","og_image":[{"width":800,"height":456,"url":"https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/Portada.png","type":"image\/png"}],"author":"Miguel Angel Moreno Rodriguez","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Miguel Angel Moreno Rodriguez","Tiempo de lectura":"42 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/niixer.com\/index.php\/2020\/12\/03\/dark-age-videojuego-en-unity-3d\/#article","isPartOf":{"@id":"https:\/\/niixer.com\/index.php\/2020\/12\/03\/dark-age-videojuego-en-unity-3d\/"},"author":{"name":"Miguel Angel Moreno Rodriguez","@id":"https:\/\/niixer.com\/#\/schema\/person\/9fcf4df4c076d3d6042a56f0da5a98ab"},"headline":"Dark Age (Videojuego en Unity 3D)","datePublished":"2020-12-04T03:48:26+00:00","dateModified":"2020-12-04T04:25:57+00:00","mainEntityOfPage":{"@id":"https:\/\/niixer.com\/index.php\/2020\/12\/03\/dark-age-videojuego-en-unity-3d\/"},"wordCount":2827,"commentCount":0,"publisher":{"@id":"https:\/\/niixer.com\/#organization"},"image":{"@id":"https:\/\/niixer.com\/index.php\/2020\/12\/03\/dark-age-videojuego-en-unity-3d\/#primaryimage"},"thumbnailUrl":"https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/Portada.png","keywords":["Asset Store","Assets","Assets 3D","Juegos","Modelos 3D","Unity","Unity Hub","videojuego","Videojuegos"],"articleSection":["Videojuegos"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/niixer.com\/index.php\/2020\/12\/03\/dark-age-videojuego-en-unity-3d\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/niixer.com\/index.php\/2020\/12\/03\/dark-age-videojuego-en-unity-3d\/","url":"https:\/\/niixer.com\/index.php\/2020\/12\/03\/dark-age-videojuego-en-unity-3d\/","name":"Dark Age (Videojuego en Unity 3D) &#8211; Niixer &#8211; Videojuegos","isPartOf":{"@id":"https:\/\/niixer.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/niixer.com\/index.php\/2020\/12\/03\/dark-age-videojuego-en-unity-3d\/#primaryimage"},"image":{"@id":"https:\/\/niixer.com\/index.php\/2020\/12\/03\/dark-age-videojuego-en-unity-3d\/#primaryimage"},"thumbnailUrl":"https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/Portada.png","datePublished":"2020-12-04T03:48:26+00:00","dateModified":"2020-12-04T04:25:57+00:00","description":"Este es el ejemplo de un videojuego, para generar una ruta gu\u00eda del desarrollo con el fin de apoyar en algunos conceptos b\u00e1sicos.","breadcrumb":{"@id":"https:\/\/niixer.com\/index.php\/2020\/12\/03\/dark-age-videojuego-en-unity-3d\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/niixer.com\/index.php\/2020\/12\/03\/dark-age-videojuego-en-unity-3d\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/niixer.com\/index.php\/2020\/12\/03\/dark-age-videojuego-en-unity-3d\/#primaryimage","url":"https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/Portada.png","contentUrl":"https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/Portada.png","width":800,"height":456},{"@type":"BreadcrumbList","@id":"https:\/\/niixer.com\/index.php\/2020\/12\/03\/dark-age-videojuego-en-unity-3d\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/niixer.com\/"},{"@type":"ListItem","position":2,"name":"Dark Age (Videojuego en Unity 3D)"}]},{"@type":"WebSite","@id":"https:\/\/niixer.com\/#website","url":"https:\/\/niixer.com\/","name":"Portal de noticias de tecnolog\u00eda, ciencia, Android, iOS, Realidad Virtual, Aumentada y Mixta, Videojuegos, computadores, todo lo mas reciente en tecnolog\u00eda","description":"Portal de noticias de tecnolog\u00eda","publisher":{"@id":"https:\/\/niixer.com\/#organization"},"alternateName":"Niixer","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/niixer.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/niixer.com\/#organization","name":"Niixer","alternateName":"Niixer.com","url":"https:\/\/niixer.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/niixer.com\/#\/schema\/logo\/image\/","url":"https:\/\/niixer.com\/wp-content\/uploads\/2022\/08\/logo-niixer-sin-fondo-1.png","contentUrl":"https:\/\/niixer.com\/wp-content\/uploads\/2022\/08\/logo-niixer-sin-fondo-1.png","width":140,"height":140,"caption":"Niixer"},"image":{"@id":"https:\/\/niixer.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/niixer\/","https:\/\/www.instagram.com\/niixer.tecnologia\/"]},{"@type":"Person","@id":"https:\/\/niixer.com\/#\/schema\/person\/9fcf4df4c076d3d6042a56f0da5a98ab","name":"Miguel Angel Moreno Rodriguez","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/bb82b662e81ce9fc1144749fde47b60a5e6ef174e0a297d84d640e969cd703c0?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bb82b662e81ce9fc1144749fde47b60a5e6ef174e0a297d84d640e969cd703c0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bb82b662e81ce9fc1144749fde47b60a5e6ef174e0a297d84d640e969cd703c0?s=96&d=mm&r=g","caption":"Miguel Angel Moreno Rodriguez"},"sameAs":["http:\/\/www.niixer.com"],"url":"https:\/\/niixer.com\/index.php\/author\/mmorenor2\/"}]}},"jetpack_featured_media_url":"https:\/\/niixer.com\/wp-content\/uploads\/2020\/12\/Portada.png","_links":{"self":[{"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/posts\/4527","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/users\/55"}],"replies":[{"embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/comments?post=4527"}],"version-history":[{"count":25,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/posts\/4527\/revisions"}],"predecessor-version":[{"id":4693,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/posts\/4527\/revisions\/4693"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/media\/4681"}],"wp:attachment":[{"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/media?parent=4527"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/categories?post=4527"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/tags?post=4527"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}