{"id":75516,"date":"2025-11-28T20:27:37","date_gmt":"2025-11-29T01:27:37","guid":{"rendered":"https:\/\/niixer.com\/?p=75516"},"modified":"2025-11-28T21:21:46","modified_gmt":"2025-11-29T02:21:46","slug":"desarrollo-y-optimizacion-niveles-unity","status":"publish","type":"post","link":"https:\/\/niixer.com\/index.php\/2025\/11\/28\/desarrollo-y-optimizacion-niveles-unity\/","title":{"rendered":"Souls Like: Desarrollo de un Videojuego en Unity"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\"><strong>Importancia de la optimizaci\u00f3n en el desarrollo de videojuegos<\/strong><\/h3>\n\n\n\n<p>Durante la fase de preproducci\u00f3n y preparaci\u00f3n t\u00e9cnica para el desarrollo de nuestro videojuego, fue necesario realizar una investigaci\u00f3n exhaustiva sobre las estrategias de optimizaci\u00f3n aplicables tanto a dispositivos m\u00f3viles como a sistemas Windows. La necesidad de optimizar surge no solo por la diversidad del hardware, sino tambi\u00e9n por las limitaciones inherentes a cada plataforma. Los dispositivos m\u00f3viles, por ejemplo, suelen contar con procesadores menos potentes, memoria restringida y limitaciones t\u00e9rmicas m\u00e1s estrictas. En contraste, Windows ofrece mayor capacidad, pero exige una correcta administraci\u00f3n de recursos para mantener altas tasas de fotogramas y evitar cuellos de botella. Por esta raz\u00f3n, la optimizaci\u00f3n se convierte en un requisito fundamental para asegurar una experiencia de juego fluida, estable y eficiente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Modularidad y dise\u00f1o basado en componentes reutilizables<\/strong><\/h3>\n\n\n\n<p>Una de las t\u00e9cnicas centrales identificadas en nuestra investigaci\u00f3n fue la modulaci\u00f3n o dise\u00f1o modular, que consiste en dividir los escenarios y objetos del juego en piezas independientes que pueden reutilizarse din\u00e1micamente. Este enfoque no solo reduce el peso del proyecto, sino que tambi\u00e9n disminuye el n\u00famero de assets que deben cargarse simult\u00e1neamente en memoria. La modularidad facilita la construcci\u00f3n de niveles complejos sin aumentar significativamente la carga de procesamiento o el tama\u00f1o del ejecutable. Adem\u00e1s, permite reutilizar geometr\u00edas, texturas y materiales, lo que resulta especialmente \u00fatil cuando se busca lanzar el mismo t\u00edtulo en plataformas con capacidades gr\u00e1ficas distintas. En motores como Unity, la modularidad tambi\u00e9n habilita el uso de instancing para renderizar m\u00faltiples copias de un mismo objeto de forma eficiente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Occlusion Culling y reducci\u00f3n del coste de renderizado<\/strong><\/h3>\n\n\n\n<p><br>Otra t\u00e9cnica clave fue el occlusion culling, una estrategia que evita renderizar objetos que se encuentran ocultos detr\u00e1s de otros y que, por lo tanto, no son visibles para la c\u00e1mara. Sin este tipo de optimizaci\u00f3n, el motor gr\u00e1fico procesar\u00eda geometr\u00edas innecesarias, generando un consumo elevado de GPU y reduciendo considerablemente el rendimiento. En nuestras pruebas y an\u00e1lisis se evidenci\u00f3 que el uso adecuado del occlusion culling permite mantener tasas de fotogramas m\u00e1s estables y liberar recursos del pipeline de renderizaci\u00f3n. Esta t\u00e9cnica se vuelve indispensable en escenarios amplios o con muchos elementos estructurales, como edificios modulares, interiores complejos o niveles urbanos, donde existen m\u00faltiples capas de objetos superpuestos. Su implementaci\u00f3n adecuada contribuye directamente a mejorar la fidelidad gr\u00e1fica sin sacrificar rendimiento.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Consideraciones de rendimiento multiplataforma<\/strong><\/h3>\n\n\n\n<p>La investigaci\u00f3n tambi\u00e9n nos permiti\u00f3 comprender que optimizar para m\u00faltiples plataformas implica tomar decisiones equilibradas entre calidad visual y eficiencia. Para dispositivos m\u00f3viles, por ejemplo, se requieren modelos de baja cantidad de pol\u00edgonos, texturas comprimidas y sistemas de iluminaci\u00f3n simplificados. En cambio, la versi\u00f3n para Windows puede aprovechar hardware m\u00e1s potente, permitiendo resoluciones superiores, sombras en tiempo real y efectos avanzados. Sin embargo, incluso en esta plataforma, un rendimiento \u00f3ptimo no es opcional: sin una buena gesti\u00f3n de recursos, el juego puede presentar ca\u00eddas en FPS, tiempos de carga excesivos y consumo de memoria innecesario. Por esta raz\u00f3n, la optimizaci\u00f3n debe ser vista como una pr\u00e1ctica continua durante todo el ciclo de desarrollo, no como un ajuste final ejecutado al terminar el proyecto.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Impacto de la optimizaci\u00f3n en la experiencia del jugador<\/strong><\/h3>\n\n\n\n<p><br>Finalmente, nuestra revisi\u00f3n documental evidencia que la optimizaci\u00f3n no solo beneficia al rendimiento t\u00e9cnico, sino que tambi\u00e9n mejora la experiencia del usuario. Un videojuego estable, con tiempos de respuesta adecuados y sin fluctuaciones de frame rate, genera una percepci\u00f3n m\u00e1s profesional, aumenta la inmersi\u00f3n y fortalece la retenci\u00f3n del jugador. Por ello, las t\u00e9cnicas mencionadas como la modularidad, el occlusion culling y otras que contemplamos en nuestra investigaci\u00f3n se convierten en elementos esenciales para alcanzar un producto final competitivo y t\u00e9cnicamente s\u00f3lido.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Assets necesarios y optimizaci\u00f3n del escenario de las catacumbas<\/strong><\/h3>\n\n\n\n<p><br>Durante la construcci\u00f3n del escenario correspondiente al segundo nivel, un sistema de catacumbas, nos enfrentamos a un problema cr\u00edtico de rendimiento que evidenci\u00f3 la importancia de dise\u00f1ar y estructurar adecuadamente los assets antes de integrarlos en Unity. Inicialmente, el escenario hab\u00eda sido desarrollado como una \u00fanica pieza completa, con un solo material y un mapa de texturas horneado (baked) en resoluci\u00f3n 4K. Sin embargo, a pesar de contar con un mapa de alta calidad, el rendimiento en nuestras computadoras personales era considerablemente bajo, mientras que en las m\u00e1quinas de la universidad el comportamiento era apenas aceptable. Esta discrepancia nos gener\u00f3 inquietud y nos llev\u00f3 a investigar las causas subyacentes del bajo desempe\u00f1o.<\/p>\n\n\n\n<p>El primer paso fue aplicar una descomposici\u00f3n modular del entorno, dividiendo el mapa de las catacumbas en piezas independientes que luego ensamblar\u00edamos directamente en Unity. El objetivo era reducir el peso de la escena, facilitar el uso de t\u00e9cnicas como el occlusion culling y permitir que el motor reutilizara geometr\u00edas mediante instancing. Sin embargo, para nuestra sorpresa, esta primera versi\u00f3n modular no mostr\u00f3 ninguna mejor\u00eda significativa frente al escenario original. Incluso cuando hab\u00edamos reducido las texturas de 4K a 2K, la diferencia en rendimiento era pr\u00e1cticamente inexistente, lo que indicaba que el problema ten\u00eda un origen m\u00e1s profundo que la simple resoluci\u00f3n de texturas.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"547\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1907-1024x547.png\" alt=\"\" class=\"wp-image-76606\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1907-1024x547.png 1024w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1907-300x160.png 300w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1907-768x410.png 768w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1907-1536x821.png 1536w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1907.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"660\" height=\"563\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1908.png\" alt=\"\" class=\"wp-image-76607\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1908.png 660w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1908-300x256.png 300w\" sizes=\"auto, (max-width: 660px) 100vw, 660px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"628\" height=\"588\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1910.png\" alt=\"\" class=\"wp-image-76609\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1910.png 628w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1910-300x281.png 300w\" sizes=\"auto, (max-width: 628px) 100vw, 628px\" \/><\/figure>\n\n\n\n<p>Tras un an\u00e1lisis m\u00e1s detallado, determinamos que los principales responsables del bajo rendimiento no eran las texturas ni los materiales, sino la complejidad geom\u00e9trica de los modelos. Durante la fase de modelado, varios elementos del escenario conservaban modificadores activos, especialmente Subdivision Surface y Bevel, los cuales incrementaban dr\u00e1sticamente la cantidad de pol\u00edgonos generados. Esto significa que, aunque visualmente la escena pareciera simple, en realidad conten\u00eda miles de tris y quads innecesarios, sobrecargando tanto la GPU como la etapa de renderizado en Unity. No importaba cu\u00e1ntas texturas reduj\u00e9ramos o cu\u00e1ntos m\u00f3dulos cre\u00e1ramos: el verdadero cuello de botella estaba en la geometr\u00eda.<\/p>\n\n\n\n<p>El proceso de optimizaci\u00f3n final consisti\u00f3 en aplicar o eliminar por completo los modificadores, simplificar la topolog\u00eda de los modelos y remover v\u00e9rtices, segmentos y uniones que no aportaban nada estructural al dise\u00f1o. Cada m\u00f3dulo fue revisado uno a uno hasta dejar \u00fanicamente la geometr\u00eda indispensable para mantener la forma visual. Al reimportar todos los modelos en Unity, el resultado fue inmediato: la tasa de fotogramas aument\u00f3 de forma notable, la escena se volvi\u00f3 mucho m\u00e1s ligera y finalmente pudimos aplicar t\u00e9cnicas de optimizaci\u00f3n como el occlusion culling con total eficacia.<\/p>\n\n\n\n<p>Esta experiencia nos permiti\u00f3 entender que, en escenarios complejos, exportar un entorno como un \u00fanico objeto con una textura gigante puede resultar contraproducente. En cambio, optar por assets modulares, geometr\u00eda optimizada y una topolog\u00eda limpia no solo mejora el rendimiento, sino que facilita la escalabilidad del proyecto y su mantenimiento a largo plazo. De este modo, logramos transformar una escena inicialmente problem\u00e1tica en un nivel funcional, eficiente y compatible tanto con dispositivos m\u00f3viles como con equipos de escritorio.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Selecci\u00f3n de la versi\u00f3n de Unity y configuraci\u00f3n inicial del proyecto<\/strong><\/h3>\n\n\n\n<p><br>El equipo decidi\u00f3 trabajar con una versi\u00f3n estable de Unity que garantizara compatibilidad con los paquetes esenciales del proyecto (URP, navegaci\u00f3n, animaciones, UI, etc.). Tras evaluar opciones, se eligi\u00f3 una versi\u00f3n actual y confiable de Unity que ofreciera soporte continuo y herramientas necesarias para el despliegue multiplataforma.<\/p>\n\n\n\n<p>Cada integrante instal\u00f3 la misma versi\u00f3n del editor para evitar problemas de incompatibilidad, cambios en la estructura de librer\u00edas o conflictos al abrir escenas y prefabs compartidos.<br><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Intento de trabajo colaborativo con GitHub Desktop<\/strong><\/h3>\n\n\n\n<p>Inicialmente, el equipo busc\u00f3 trabajar de forma totalmente colaborativa utilizando GitHub Desktop. La idea era que todos pudi\u00e9ramos:<\/p>\n\n\n\n<p>Clonar el mismo repositorio.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"676\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1905-1024x676.png\" alt=\"\" class=\"wp-image-76604\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1905-1024x676.png 1024w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1905-300x198.png 300w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1905-768x507.png 768w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1905.png 1201w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Trabajar simult\u00e1neamente sobre el proyecto.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"603\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1906-1024x603.png\" alt=\"\" class=\"wp-image-76605\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1906-1024x603.png 1024w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1906-300x177.png 300w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1906-768x452.png 768w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1906.png 1285w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Subir cambios de forma ordenada.<\/p>\n\n\n\n<p>Unificar escenas, scripts y assets sin sobrescribir trabajo ajeno.<\/p>\n\n\n\n<p>Sin embargo, la coordinaci\u00f3n result\u00f3 m\u00e1s compleja de lo previsto. Unity genera m\u00faltiples archivos internos, meta-ficheros y carpetas dependientes del sistema. Esto provoc\u00f3:<\/p>\n\n\n\n<p>Conflictos constantes al modificar la misma escena.<\/p>\n\n\n\n<p>Archivos doblados o sobrescritos accidentalmente.<\/p>\n\n\n\n<p>Dificultad para revisar cambios en carpetas grandes.<\/p>\n\n\n\n<p>Problemas al unir el trabajo de modelado, scripts y UI en un solo flujo.<\/p>\n\n\n\n<p>Pese a los esfuerzos por organizar ramas y commits, el proceso termin\u00f3 siendo m\u00e1s costoso que productivo, por lo que decidimos replantear el m\u00e9todo de trabajo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Divisi\u00f3n del proyecto por responsabilidades espec\u00edficas<\/strong><\/h3>\n\n\n\n<p>Para evitar bloqueos y conflictos en GitHub, definimos un pipeline de trabajo basado en roles. Cada integrante se encarg\u00f3 de un \u00e1rea espec\u00edfica, lo que permiti\u00f3 avanzar con mayor estabilidad.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Integraci\u00f3n general y flujo del juego en Unity<\/strong><\/h3>\n\n\n\n<p>Felipe se centr\u00f3 en asegurar que todos los componentes del juego pudieran ensamblarse correctamente. Sus tareas incluyeron:<\/p>\n\n\n\n<p>Configurar el flujo de operabilidad del proyecto dentro de Unity.<\/p>\n\n\n\n<p>Conectar los niveles, incluso cuando eran escenarios de prueba.<\/p>\n\n\n\n<p>Implementar los Canvas, botones, men\u00fas, cr\u00e9ditos e interfaz general.<\/p>\n\n\n\n<p>Garantizar que la navegaci\u00f3n entre escenas funcionara sin errores.<\/p>\n\n\n\n<p>Definir el pipeline de trabajo para que el ensamblado final fuera posible.<\/p>\n\n\n\n<p>Su aporte fue fundamental para que el resto del equipo entendiera c\u00f3mo deb\u00eda estructurarse cada aporte antes de ser integrado al juego.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Dise\u00f1o de escenarios y programaci\u00f3n de IA<\/strong><\/h3>\n\n\n\n<p>Christian asumi\u00f3 la responsabilidad de construir los niveles 1 y 3:<\/p>\n\n\n\n<p>Utiliz\u00f3 assets libres de uso y modelos descargados para componer ambos escenarios.<\/p>\n\n\n\n<p>Configur\u00f3 la IA del \u00fanico enemigo presente en el nivel 1.<\/p>\n\n\n\n<p>Ajust\u00f3 posiciones, colliders, iluminaci\u00f3n base y distribuci\u00f3n general de los elementos.<\/p>\n\n\n\n<p>Prepar\u00f3 las escenas para que pudieran integrarse al flujo del juego sin afectar rendimiento.<\/p>\n\n\n\n<p>En el caso del nivel 3, el escenario proven\u00eda de un asset externo tipo volc\u00e1n\/arena de batalla, cuyo dise\u00f1o era \u00fanico, por lo que la modularidad no fue necesaria.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Modelado, modularidad y optimizaci\u00f3n de geometr\u00eda<\/strong><\/h3>\n\n\n\n<p>Sebastian se encarg\u00f3 del rendimiento del proyecto:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Descomponer modelos propios y de uso libre en m\u00f3dulos reutilizables.<\/li>\n\n\n\n<li>Revisar topolog\u00eda, eliminar pol\u00edgonos innecesarios y corregir geometr\u00eda pesada.<\/li>\n\n\n\n<li>Preparar cada m\u00f3dulo para ser instancia\u00addo en Unity y evitar cuellos de botella.<\/li>\n\n\n\n<li>Determinar qu\u00e9 partes pod\u00edan modularizarse y cu\u00e1les no.<\/li>\n\n\n\n<li>En escenarios como el nivel 1 y 2, identificar estructuras repetibles (paredes, columnas, arcos, pasillos) y convertirlas en m\u00f3dulos optimizados.<\/li>\n\n\n\n<li>Encargarte tambi\u00e9n de la ambientaci\u00f3n e iluminaci\u00f3n para unificar el estilo visual de cada nivel.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"548\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1911-1024x548.png\" alt=\"\" class=\"wp-image-76613\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1911-1024x548.png 1024w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1911-300x161.png 300w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1911-768x411.png 768w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1911-1536x822.png 1536w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1911.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"548\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1912-1024x548.png\" alt=\"\" class=\"wp-image-76614\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1912-1024x548.png 1024w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1912-300x160.png 300w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1912-768x411.png 768w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1912-1536x822.png 1536w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1912.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"549\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1913-1024x549.png\" alt=\"\" class=\"wp-image-76615\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1913-1024x549.png 1024w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1913-300x161.png 300w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1913-768x412.png 768w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1913-1536x824.png 1536w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1913.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/lambert1_emition-1.png\" alt=\"\" class=\"wp-image-76616\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/lambert1_emition-1.png 1024w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/lambert1_emition-1-300x300.png 300w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/lambert1_emition-1-150x150.png 150w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/lambert1_emition-1-768x768.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1014\" height=\"1024\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/bela-1-1-1014x1024.png\" alt=\"\" class=\"wp-image-76618\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/bela-1-1-1014x1024.png 1014w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/bela-1-1-297x300.png 297w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/bela-1-1-150x150.png 150w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/bela-1-1-768x776.png 768w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/bela-1-1.png 1024w\" sizes=\"auto, (max-width: 1014px) 100vw, 1014px\" \/><\/figure>\n\n\n\n<p>Gracias a esto Unity pudo manejar los escenarios de forma mucho m\u00e1s eficiente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Creditos<\/strong>:<\/h3>\n\n\n\n<p><strong>Autor:<\/strong> <a href=\"https:\/\/niixer.com\/?s=Juan+Sebasti%C3%A1n+D%C3%A1vila+Galvis\">Juan Sebasti\u00e1n D\u00e1vila Galvis<\/a>, <a href=\"https:\/\/niixer.com\/?s=Juan+Felipe+D%C3%A1vila+Galvis\">Juan Felipe Davila Galvis<\/a>, <a href=\"https:\/\/niixer.com\/?s=Christian+Camilo+M%C3%A9ndez+Pulido\">Christian Camilo M\u00e9ndez Pulido<\/a><\/p>\n\n\n\n<p><strong>Editor: <\/strong><a href=\"https:\/\/niixer.com\/?s=Carlos+Iv%C3%A1n+Pinz%C3%B3n+Romero\">Carlos Iv\u00e1n Pinz\u00f3n Romero<\/a><\/p>\n\n\n\n<p><strong>C\u00f3digo:<\/strong> <a href=\"https:\/\/niixer.com\/?s=UCMV-10\">UCMV-10<\/a><\/p>\n\n\n\n<p><strong>Universidad:<\/strong> <a href=\"https:\/\/www.ucentral.edu.co\/\">Universidad Central <\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Referencias<\/strong>:<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">Brackeys. (2020, junio 28). How to optimise your Unity game with occlusion culling [Video]. YouTube. https:\/\/www.youtube.com\/watch?v=O_S2OUrez_E<br><br>Desarrollo Videojuegos. (2020, octubre 12). Occlusion culling en UNITY \u2013 Desarrollo videojuegos [Video]. YouTube. https:\/\/www.youtube.com\/watch?v=0lp8KxvkNww<br><br>GameDevTraum. (2022, marzo 18). Optimizacion de videojuegos con OCCLUSION CULLING en Unity [Video]. YouTube. https:\/\/www.youtube.com\/watch?v=18KMqxJlhmw<br><br>Kaizen Gamedev. (2019, febrero 3). Optimizar tu juego \u2013 posibles formas en Unity [Video]. YouTube.<br>https:\/\/www.youtube.com\/watch?v=j-efIcZY5ro<br><br>Sykoo. (2020, abril 14). Unity game optimization tutorial [Video]. YouTube.<br>https:\/\/www.youtube.com\/watch?v=XWhPeXqw1R8<br><br><br><br><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Importancia de la optimizaci\u00f3n en el desarrollo de videojuegos Durante la fase de preproducci\u00f3n y preparaci\u00f3n t\u00e9cnica para el desarrollo de nuestro videojuego, fue necesario realizar una investigaci\u00f3n exhaustiva sobre las estrategias de optimizaci\u00f3n aplicables tanto a dispositivos m\u00f3viles como a sistemas Windows. La necesidad de optimizar surge no soloSeguir Leyendo<\/p>\n","protected":false},"author":1871,"featured_media":76586,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[1939],"tags":[473,4313,1355,1356,1352,4214],"class_list":["post-75516","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-modelado","tag-blender","tag-cabello-realista","tag-fotogrametria","tag-keentools-facebuilder","tag-modelado-3d","tag-texturizado"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Souls Like: Desarrollo de un Videojuego en Unity<\/title>\n<meta name=\"description\" content=\"Descubre c\u00f3mo desarroyar y optimizamos niveles en Unity usando modularidad, geometr\u00eda limpia y occlusion culling para videojuegos.\" \/>\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\/2025\/11\/28\/desarrollo-y-optimizacion-niveles-unity\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Souls Like: Desarrollo de un Videojuego en Unity\" \/>\n<meta property=\"og:description\" content=\"Descubre c\u00f3mo desarroyar y optimizamos niveles en Unity usando modularidad, geometr\u00eda limpia y occlusion culling para videojuegos.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/niixer.com\/index.php\/2025\/11\/28\/desarrollo-y-optimizacion-niveles-unity\/\" \/>\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=\"2025-11-29T01:27:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-29T02:21:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/1764095498230.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1080\" \/>\n\t<meta property=\"og:image:height\" content=\"608\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"jdavilag2\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"jdavilag2\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutos\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Souls Like: Desarrollo de un Videojuego en Unity","description":"Descubre c\u00f3mo desarroyar y optimizamos niveles en Unity usando modularidad, geometr\u00eda limpia y occlusion culling para videojuegos.","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\/2025\/11\/28\/desarrollo-y-optimizacion-niveles-unity\/","og_locale":"es_ES","og_type":"article","og_title":"Souls Like: Desarrollo de un Videojuego en Unity","og_description":"Descubre c\u00f3mo desarroyar y optimizamos niveles en Unity usando modularidad, geometr\u00eda limpia y occlusion culling para videojuegos.","og_url":"https:\/\/niixer.com\/index.php\/2025\/11\/28\/desarrollo-y-optimizacion-niveles-unity\/","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":"2025-11-29T01:27:37+00:00","article_modified_time":"2025-11-29T02:21:46+00:00","og_image":[{"width":1080,"height":608,"url":"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/1764095498230.webp","type":"image\/webp"}],"author":"jdavilag2","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"jdavilag2","Tiempo de lectura":"10 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/niixer.com\/index.php\/2025\/11\/28\/desarrollo-y-optimizacion-niveles-unity\/#article","isPartOf":{"@id":"https:\/\/niixer.com\/index.php\/2025\/11\/28\/desarrollo-y-optimizacion-niveles-unity\/"},"author":{"name":"jdavilag2","@id":"https:\/\/niixer.com\/#\/schema\/person\/17d25658f904a23ea755f2ac04f47d75"},"headline":"Souls Like: Desarrollo de un Videojuego en Unity","datePublished":"2025-11-29T01:27:37+00:00","dateModified":"2025-11-29T02:21:46+00:00","mainEntityOfPage":{"@id":"https:\/\/niixer.com\/index.php\/2025\/11\/28\/desarrollo-y-optimizacion-niveles-unity\/"},"wordCount":1838,"publisher":{"@id":"https:\/\/niixer.com\/#organization"},"image":{"@id":"https:\/\/niixer.com\/index.php\/2025\/11\/28\/desarrollo-y-optimizacion-niveles-unity\/#primaryimage"},"thumbnailUrl":"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/1764095498230.webp","keywords":["Blender","Cabello Realista","Fotogrametr\u00eda","KeenTools FaceBuilder","modelado 3D","Texturizado"],"articleSection":["Modelado"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/niixer.com\/index.php\/2025\/11\/28\/desarrollo-y-optimizacion-niveles-unity\/","url":"https:\/\/niixer.com\/index.php\/2025\/11\/28\/desarrollo-y-optimizacion-niveles-unity\/","name":"Souls Like: Desarrollo de un Videojuego en Unity","isPartOf":{"@id":"https:\/\/niixer.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/niixer.com\/index.php\/2025\/11\/28\/desarrollo-y-optimizacion-niveles-unity\/#primaryimage"},"image":{"@id":"https:\/\/niixer.com\/index.php\/2025\/11\/28\/desarrollo-y-optimizacion-niveles-unity\/#primaryimage"},"thumbnailUrl":"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/1764095498230.webp","datePublished":"2025-11-29T01:27:37+00:00","dateModified":"2025-11-29T02:21:46+00:00","description":"Descubre c\u00f3mo desarroyar y optimizamos niveles en Unity usando modularidad, geometr\u00eda limpia y occlusion culling para videojuegos.","breadcrumb":{"@id":"https:\/\/niixer.com\/index.php\/2025\/11\/28\/desarrollo-y-optimizacion-niveles-unity\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/niixer.com\/index.php\/2025\/11\/28\/desarrollo-y-optimizacion-niveles-unity\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/niixer.com\/index.php\/2025\/11\/28\/desarrollo-y-optimizacion-niveles-unity\/#primaryimage","url":"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/1764095498230.webp","contentUrl":"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/1764095498230.webp","width":1080,"height":608,"caption":"Unity"},{"@type":"BreadcrumbList","@id":"https:\/\/niixer.com\/index.php\/2025\/11\/28\/desarrollo-y-optimizacion-niveles-unity\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/niixer.com\/"},{"@type":"ListItem","position":2,"name":"Souls Like: Desarrollo de un Videojuego en Unity"}]},{"@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\/17d25658f904a23ea755f2ac04f47d75","name":"jdavilag2","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/962acd58f6d186aa75a9461d311f72e59c3dba4af2cce8e4ec2bfd37b853a962?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/962acd58f6d186aa75a9461d311f72e59c3dba4af2cce8e4ec2bfd37b853a962?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/962acd58f6d186aa75a9461d311f72e59c3dba4af2cce8e4ec2bfd37b853a962?s=96&d=mm&r=g","caption":"jdavilag2"},"url":"https:\/\/niixer.com\/index.php\/author\/jdavilag2\/"}]}},"jetpack_featured_media_url":"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/1764095498230.webp","_links":{"self":[{"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/posts\/75516","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\/1871"}],"replies":[{"embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/comments?post=75516"}],"version-history":[{"count":3,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/posts\/75516\/revisions"}],"predecessor-version":[{"id":76635,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/posts\/75516\/revisions\/76635"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/media\/76586"}],"wp:attachment":[{"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/media?parent=75516"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/categories?post=75516"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/tags?post=75516"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}