{"id":74896,"date":"2025-11-26T18:22:26","date_gmt":"2025-11-26T23:22:26","guid":{"rendered":"https:\/\/niixer.com\/?p=74896"},"modified":"2025-11-26T20:01:26","modified_gmt":"2025-11-27T01:01:26","slug":"desarrollo-completo-de-un-juego-backrooms-en-unity-con-mapa-procedural-y-enemigo-perseguidor","status":"publish","type":"post","link":"https:\/\/niixer.com\/index.php\/2025\/11\/26\/desarrollo-completo-de-un-juego-backrooms-en-unity-con-mapa-procedural-y-enemigo-perseguidor\/","title":{"rendered":"Desarrollo completo de un juego backrooms en Unity"},"content":{"rendered":"\n<p>Los juegos del tipo <a href=\"https:\/\/backrooms.fandom.com\/es\/wiki\/Wiki_Backrooms\">backrooms <\/a>se basan en escenarios laber\u00ednticos y atm\u00f3sferas tensas donde el jugador es perseguido constantemente. <\/p>\n\n\n\n<p>Vamos a hacer un desarrollo completo de un Juego Backrooms en Unity e Implementar esta experiencia inmersiva requiere sistemas robustos de generaci\u00f3n procedural, navegaci\u00f3n con <a href=\"https:\/\/cloud.google.com\/learn\/what-is-artificial-intelligence?hl=es-419\">IA<\/a>, y controles de jugador refinados. Este art\u00edculo abarca en detalle cada componente cr\u00edtico, apuntando a una comprensi\u00f3n profunda de la arquitectura del juego, basado en Unity y C#.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Generaci\u00f3n Procedural de Mapas con\u00a0CreadorEscenarios<\/strong><\/h3>\n\n\n\n<p>La generaci\u00f3n <a href=\"https:\/\/www.reddit.com\/r\/gamedev\/comments\/evc3ia\/what_is_meant_by_the_word_procedural\/?tl=es\">procedural <\/a>de mapas es el n\u00facleo para crear espacios din\u00e1micos e infinitos. La clase&nbsp;<code>CreadorEscenarios<\/code>&nbsp;se encarga de crear nuevos escenarios alrededor del actual en las direcciones arriba, abajo, izquierda y derecha, empleando tama\u00f1os que detecta autom\u00e1ticamente mediante el&nbsp;<code>MeshRenderer<\/code>, o usa valores predeterminados si no se encuentra.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>L\u00f3gica de Generaci\u00f3n y Posicionamiento<\/strong><\/h3>\n\n\n\n<p>Mediante un enum&nbsp;<code>Posiciones<\/code>, el sistema enumera las direcciones disponibles:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>public enum Posiciones { Arriba, Abajo, Izquierda, Derecha }<br><\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"469\" height=\"338\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1348.png\" alt=\"\" class=\"wp-image-75449\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1348.png 469w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1348-300x216.png 300w\" sizes=\"auto, (max-width: 469px) 100vw, 469px\" \/><\/figure>\n\n\n\n<p>Luego, con&nbsp;<code>BuclePosiciones()<\/code>, se iteran las direcciones para crear los nuevos mapas:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>public void BuclePosiciones()<br>{<br>    foreach (Posiciones posicion in Enum.GetValues(typeof(Posiciones)))<br>    {<br>        GenerarEscenario(posicion);<br>    }<br>}<br><\/code><\/pre>\n\n\n\n<p>Cada escenario se instancia en un offset de la posici\u00f3n actual en la direcci\u00f3n correspondiente usando las dimensiones calculadas para mantener continuidad.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"655\" height=\"296\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1333.png\" alt=\"\" class=\"wp-image-75431\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1333.png 655w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1333-300x136.png 300w\" sizes=\"auto, (max-width: 655px) 100vw, 655px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Manejo de Trigger para Generaci\u00f3n Din\u00e1mica<\/strong><\/h3>\n\n\n\n<p>Al entrar el jugador en un mapa, el <a href=\"https:\/\/citygame.com.ar\/trigger-in-spanish\/\">trigger <\/a>gestiona actualizar el \u00edndice de mapa que tocar\u00e1 generarse, limpiar mapas anteriores para optimizaci\u00f3n, y crear nuevos mapas alrededor:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>private void OnTriggerEnter(Collider other)<br>{<br>    if (!other.CompareTag(\"Player\")) return;<br><br>    borrarEsteMapa = false;<br><br>    var gm = GameManager.instancia;<br>    gm.CambiaIndiceMapa(siguienteMapa);<br>    gm.BorrarMapasAlrededor();<br><br>    BuclePosiciones();<br>}<br><\/code><\/pre>\n\n\n\n<p>Este enfoque permite un mundo en expansi\u00f3n que se siente vivo y sin l\u00edmites definidos.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Inteligencia Artificial del Enemigo (EnemyAI)<\/strong><\/h3>\n\n\n\n<p>El enemigo que persigue al jugador ofrece la tensi\u00f3n principal del juego. Su IA combina <a href=\"https:\/\/es.wikipedia.org\/wiki\/Navegaci%C3%B3n\">navegaci\u00f3n <\/a>usando&nbsp;<code>NavMeshAgent<\/code>, detecci\u00f3n visual, animaci\u00f3n, y audio ambiental.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"746\" height=\"421\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1338.png\" alt=\"\" class=\"wp-image-75436\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1338.png 746w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1338-300x169.png 300w\" sizes=\"auto, (max-width: 746px) 100vw, 746px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Componentes Clave<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>NavMeshAgent:<\/strong>&nbsp;Permite movimiento inteligente y navegaci\u00f3n en el escenario generado, manejando rutas y obst\u00e1culos.<\/li>\n\n\n\n<li><strong>Animador:<\/strong>&nbsp;Controla animaciones fluidas de caminar y correr con interpolaciones suaves (<code>Blend Tree<\/code>).<\/li>\n\n\n\n<li><strong>AudioSource:<\/strong>&nbsp;Reproduce sonidos de detecci\u00f3n, proximidad y pasos sincronizados con la velocidad.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"466\" height=\"207\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1336.png\" alt=\"\" class=\"wp-image-75434\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1336.png 466w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1336-300x133.png 300w\" sizes=\"auto, (max-width: 466px) 100vw, 466px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Patrullaje y Persecuci\u00f3n<\/strong><\/h3>\n\n\n\n<p>El sistema alterna entre patrullar puntos espec\u00edficos y perseguir al jugador si este entra en su rango de visi\u00f3n definido por un \u00e1ngulo y distancia:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>public float visionRange = 50f;<br>public float visionAngle = 90f;<br>public LayerMask obstacleMask;<br><\/code><\/pre>\n\n\n\n<p>La funci\u00f3n&nbsp;<code>CanSeePlayer()<\/code>&nbsp;usa raycasting para confirmar l\u00ednea de vista directa:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>bool CanSeePlayer()<br>{<br>    Vector3 dir = (player.position - transform.position).normalized;<br>    if (Vector3.Angle(transform.forward, dir) &gt; visionAngle * 0.5f) return false;<br><br>    float distance = Vector3.Distance(transform.position, player.position);<br>    if (distance &gt; visionRange) return false;<br><br>    if (Physics.Raycast(transform.position, dir, out var hit, distance, obstacleMask))<br>    {<br>        if (!hit.collider.CompareTag(\"Player\")) return false;<br>    }<br>    return true;<br>}<br><\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"429\" height=\"470\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1331.png\" alt=\"\" class=\"wp-image-75426\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1331.png 429w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1331-274x300.png 274w\" sizes=\"auto, (max-width: 429px) 100vw, 429px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Transici\u00f3n de Estados<\/strong><\/h3>\n\n\n\n<p>Cuando detecta al <a href=\"https:\/\/niixer.com\/?s=jugador\">jugador<\/a>, inicia persecuci\u00f3n:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>void StartChase()<br>{<br>    if (isChasing) return;<br><br>    alertMessageTimer = alertMessageDuration;<br><br>    if (audioSource != null)<br>    {<br>        AudioClip clip = GetDetectionClip();<br>        audioSource?.PlayOneShot(clip);<br>    }<br><br>    isPatrolling = false;<br>    isChasing = true;<br><br>    agent.ResetPath();<br>    agent.speed = chaseSpeed;<br>    agent.acceleration = chaseAcceleration;<br>    agent.stoppingDistance = 0.5f;<br>    agent.isStopped = false;<br><br>    currentAnimationSpeed = Mathf.InverseLerp(0f, chaseSpeed, agent.speed);<br>    animator.SetFloat(\"Speed\", currentAnimationSpeed);<br>}<br><\/code><\/pre>\n\n\n\n<p>Al perder de vista al jugador, vuelve a patrullar:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>void StopChase()<br>{<br>    if (!isChasing) return;<br><br>    isChasing = false;<br>    agent.ResetPath();<br>    agent.acceleration = 8f;<br><br>    if (patrolPoints != null &amp;&amp; patrolPoints.Count &gt; 0)<br>    {<br>        isPatrolling = true;<br>        currentPatrolTimer = 0f;<br>        SetNewPatrolDestination();<br>    }<br>    else<br>    {<br>        isPatrolling = false;<br>        agent.speed = idleSpeed;<br>        agent.isStopped = true;<br>    }<br><br>    currentAnimationSpeed = Mathf.InverseLerp(0f, chaseSpeed, agent.speed);<br>    animator.SetFloat(\"Speed\", currentAnimationSpeed);<br>}<br><\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"384\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1340-1024x384.png\" alt=\"\" class=\"wp-image-75438\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1340-1024x384.png 1024w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1340-300x112.png 300w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1340-768x288.png 768w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1340.png 1076w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Audio Ambiental y Feedback <a href=\"https:\/\/niixer.com\/?s=Visual\">Visual<\/a><\/strong><\/h3>\n\n\n\n<p>El enemigo reproduce sonidos de terror aleatorios cuando est\u00e1 cerca, as\u00ed como sonidos espec\u00edficos al detectar al jugador, aumentando la inmersi\u00f3n:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>private void TryPlayProximitySound()<br>{<br>    if (player == null || audioSource == null || proximitySounds == null || proximitySounds.Count == 0) return;<br>    if (proximitySoundTimer &gt; 0f) return;<br><br>    float dist = Vector3.Distance(transform.position, player.position);<br>    if (dist &gt; proximitySoundRange) return;<br><br>    AudioClip clip = proximitySounds[Random.Range(0, proximitySounds.Count)];<br>    audioSource.PlayOneShot(clip);<br>    proximitySoundTimer = proximitySoundCooldown;<br>}<br><\/code><\/pre>\n\n\n\n<p>Tambi\u00e9n sincroniza sonidos de pasos con la velocidad real del enemigo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><a href=\"https:\/\/niixer.com\/?s=Colisiones\">Colisiones <\/a>y Fin del Juego<\/strong><\/h3>\n\n\n\n<p>Cuando colisiona con el jugador se activa el fin del juego, pausando la IA y mostrando mensaje visual.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"727\" height=\"418\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1351.png\" alt=\"\" class=\"wp-image-75456\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1351.png 727w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1351-300x172.png 300w\" sizes=\"auto, (max-width: 727px) 100vw, 727px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Gesti\u00f3n Din\u00e1mica del <a href=\"https:\/\/niixer.com\/?s=Enemigo\">Enemigo <\/a>con EnemyTeleportManager<\/strong><\/h3>\n\n\n\n<p>Cada vez que se genera un nuevo mapa, el enemigo se teletransporta a un punto de spawn valido o a uno aleatorio de los waypoints del mapa, asegurando que est\u00e9 siempre cerca para mantener la presi\u00f3n sobre el jugador.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>public void HandleMapaCreado(GameObject nuevoMapa)<br>{<br>    if (enemy == null || nuevoMapa == null) return;<br><br>    List&lt;Transform&gt; waypoints = ObtenerWaypoints(nuevoMapa);<br>    Vector3 destino = CalcularDestino(nuevoMapa, waypoints);<br><br>    var navAgent = enemy.GetComponent&lt;NavMeshAgent&gt;();<br>    if (navAgent != null)<br>    {<br>        navAgent.Warp(destino + Vector3.up * warpYOffset);<br>    }<br>    else<br>    {<br>        enemy.transform.position = destino;<br>    }<br><br>    if (waypoints.Count &gt; 0)<br>    {<br>        enemy.SetPatrolRoute(waypoints);<br>    }<br>}<br><\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"440\" height=\"514\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1341.png\" alt=\"\" class=\"wp-image-75439\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1341.png 440w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1341-257x300.png 257w\" sizes=\"auto, (max-width: 440px) 100vw, 440px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Control del Jugador con PlayerMovement<\/strong><\/h3>\n\n\n\n<p>El jugador se mueve usando un&nbsp;<code>CharacterController<\/code>&nbsp;que facilita el manejo de colisiones y gravedad. La c\u00e1mara principal influye en la direcci\u00f3n del movimiento para una experiencia natural e intuitiva.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Movimiento y Rotaci\u00f3n<\/strong><\/h3>\n\n\n\n<p>Las entradas horizontales y verticales se traducen a un vector de movimiento relativo a la orientaci\u00f3n de la c\u00e1mara, lo que permite que el jugador se mueva en la direcci\u00f3n hacia la que mira.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>Vector3 forward = cam.forward;<br>Vector3 right = cam.right;<br>forward.y = 0f; right.y = 0f;<br>forward.Normalize(); right.Normalize();<br><br>Vector3 move = forward * z + right * x;<br>controller.Move(move * speed * Time.deltaTime);<br><\/code><\/pre>\n\n\n\n<p>La rotaci\u00f3n suave del modelo 3D del jugador se ajusta para que mire en la direcci\u00f3n que camina.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"425\" height=\"278\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1347.png\" alt=\"\" class=\"wp-image-75446\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1347.png 425w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1347-300x196.png 300w\" sizes=\"auto, (max-width: 425px) 100vw, 425px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Animaciones y <a href=\"https:\/\/niixer.com\/?s=Sonido\">Sonido <\/a>de Pasos<\/strong><\/h3>\n\n\n\n<p>Un&nbsp;<code>Animator<\/code>&nbsp;con blend trees ajusta animaciones para que la marcha y la carrera se vean fluidas. Se emiten sonidos de pasos aleatorios en intervalos sincronizados con la velocidad y estado de movimiento.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"424\" height=\"391\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1345.png\" alt=\"\" class=\"wp-image-75443\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1345.png 424w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1345-300x277.png 300w\" sizes=\"auto, (max-width: 424px) 100vw, 424px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Salto y Gravedad<\/strong><\/h3>\n\n\n\n<p>El salto se calcula con una f\u00f3rmula f\u00edsica b\u00e1sica para altura y la gravedad se aplica manualmente, actualizando la velocidad vertical cada frame.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"430\" height=\"214\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1344.png\" alt=\"\" class=\"wp-image-75442\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1344.png 430w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1344-300x149.png 300w\" sizes=\"auto, (max-width: 430px) 100vw, 430px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Derrota<\/strong><\/h3>\n\n\n\n<p>Cuando el jugador entra en un trigger de derrota, se muestra un mensaje en pantalla y se reproduce un sonido para aumentar la inmersi\u00f3n en la experiencia.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"431\" height=\"163\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1343.png\" alt=\"\" class=\"wp-image-75441\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1343.png 431w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1343-300x113.png 300w\" sizes=\"auto, (max-width: 431px) 100vw, 431px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. C\u00e1mara con SimpleCameraFollow<\/strong>\u00a0<\/h3>\n\n\n\n<p>La c\u00e1mara sigue al jugador desde atr\u00e1s con un offset configurable y permite rotaci\u00f3n alrededor del jugador usando movimiento del rat\u00f3n.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>float mouseX = Input.GetAxis(\"Mouse X\");<br>rotationY += mouseX * mouseSensitivity * Time.deltaTime;<br>Quaternion rotation = Quaternion.Euler(0, rotationY, 0);<br><br>Vector3 desiredPos = target.position - rotation * Vector3.forward * distance + Vector3.up * height;<br>transform.position = desiredPos;<br>transform.LookAt(target.position + Vector3.up * (height * 0.5f));<br><\/code><\/pre>\n\n\n\n<p>Esta configuraci\u00f3n garantiza que la c\u00e1mara ofrezca buena visibilidad con una sensaci\u00f3n natural de control.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>6. Gesti\u00f3n de Mapas y Ciclo de Juego con GameManager<\/strong><\/h3>\n\n\n\n<p><code>GameManager<\/code>&nbsp;act\u00faa como coordinador maestro para creaci\u00f3n y destrucci\u00f3n de mapas, manteniendo un n\u00famero controlado para no saturar los recursos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Almacenamiento y Selecci\u00f3n de Mapas<\/strong><\/h3>\n\n\n\n<p>Mantiene una lista de mapas alrededor del jugador, y elimina aquellos que no se est\u00e1n usando para liberar memoria.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Selecci\u00f3n de Prefabs y Generaci\u00f3n<\/strong><\/h3>\n\n\n\n<p>Decide si generar un mapa final especial o un mapa aleatorio o forzado seg\u00fan condiciones como cantidad ya generada.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Comunicaci\u00f3n entre Componentes<\/strong><\/h3>\n\n\n\n<p>Notifica al teletransportador para adaptar rutas del enemigo al nuevo mapa generado.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"7-men-principal-para-control-de-escena\"><strong>7. Men\u00fa Principal para Control de Escena<\/strong><\/h3>\n\n\n\n<p>Un men\u00fa sencillo permite iniciar el juego o salir, con validaci\u00f3n para evitar errores como no definir la escena destino correctamente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"modelado-y-creacin-del-personaje-principal\"><strong>8. Modelado y Creaci\u00f3n del Personaje Principal<\/strong><\/h3>\n\n\n\n<p>El desarrollo visual y la fidelidad del personaje principal es fundamental para crear una experiencia inmersiva en juegos como este tipo backrooms. Para este proyecto, el modelado y dise\u00f1o del personaje reutiliza y adapta recursos del segundo corte anteriores, integrando creativamente diversas herramientas y librer\u00edas especializadas en modelado 3D, texturizado facial, y animaci\u00f3n.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"579\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1291-1024x579.png\" alt=\"\" class=\"wp-image-75364\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1291-1024x579.png 1024w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1291-300x170.png 300w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1291-768x434.png 768w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1291.png 1414w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Reutilizaci\u00f3n y Adaptaci\u00f3n del Escenario de Blender<\/strong><\/h3>\n\n\n\n<p>Se parti\u00f3 del escenario base desarrollado en Blender durante el segundo corte del proyecto, adaptando algunos de sus componentes para optimizar tanto el performance como la coherencia visual. Este proceso permiti\u00f3 aprovechar activos ya generados sin necesidad de recrear desde cero, lo que agiliz\u00f3 el flujo productivo.<\/p>\n\n\n\n<p>Blender es popular en la industria debido a su potencia para modelado poligonal, esculpido y creaci\u00f3n de texturas, todos aspectos esenciales para crear entornos y personajes detallados. La integraci\u00f3n eficiente entre Blender y Unity facilita importar estos modelos 3D de alta calidad.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1289-1024x576.png\" alt=\"\" class=\"wp-image-75361\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1289-1024x576.png 1024w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1289-300x169.png 300w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1289-768x432.png 768w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1289.png 1411w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Obtenci\u00f3n de Modelos en Sketchfab<\/strong><\/h3>\n\n\n\n<p>Los modelos de personajes, incluyendo el protagonista y posibles NPCs, provienen de Sketchfab, una plataforma que ofrece tanto modelos gratuitos como de pago listos para uso en tiempo real. La colecci\u00f3n usada se seleccion\u00f3 priorizando caracter\u00edsticas como rigging y compatibilidad con motores de juego.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"579\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1290-1024x579.png\" alt=\"\" class=\"wp-image-75362\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1290-1024x579.png 1024w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1290-300x169.png 300w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1290-768x434.png 768w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1290.png 1416w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Sketchfab ofrece descargas en formatos amigables para Unity (.fbx, .obj), lo que facilita la integraci\u00f3n directa. Adem\u00e1s, muchos modelos est\u00e1n optimizados para animaciones y soporte de morph targets (deformaciones faciales).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Texturizado Facial con FaceBuilder<\/strong><\/h3>\n\n\n\n<p>Para a\u00f1adir realismo a las expresiones faciales, se utiliz\u00f3 FaceBuilder, una herramienta especializada en reconstrucci\u00f3n facial 3D a partir de fotos. Esto permiti\u00f3 crear rostros con proporciones naturales y alineadas con el concepto art\u00edstico, mejorando la conexi\u00f3n emocional del jugador con el personaje.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"278\" height=\"301\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1308.png\" alt=\"\" class=\"wp-image-75384\"\/><\/figure>\n\n\n\n<p>FaceBuilder es compatible con Blender y exporta modelos con mapas UV listos para rigging, complementando el workflow de personajes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Animaciones con Mixamo<\/strong><\/h3>\n\n\n\n<p>Finalmente, para dotar de vida al personaje, las animaciones fueron creadas y adaptadas en Mixamo, una plataforma de Adobe que proporciona rigging autom\u00e1tico y una gran cantidad de animaciones predefinidas para personajes humanos.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"355\" height=\"290\" src=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1296.png\" alt=\"\" class=\"wp-image-75371\" srcset=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1296.png 355w, https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/image-1296-300x245.png 300w\" sizes=\"auto, (max-width: 355px) 100vw, 355px\" \/><\/figure>\n\n\n\n<p>Mixamo permite aplicar animaciones como caminar, correr, saltar y varios ciclos de movimiento con transiciones suaves, exportando datos que Unity puede importar y usar con su sistema de animaciones (Animator Controller y Blend Trees).<\/p>\n\n\n\n<p>Esta combinaci\u00f3n de modelos est\u00e1ticos (de Sketchfab y Blender), ajustes faciales con FaceBuilder, y animaciones en Mixamo constituyen un pipeline eficiente y ampliamente utilizado en la industria para acelerar desarrollo manteniendo alta calidad visual.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"reflexiones-finales\"><strong>Reflexiones Finales<\/strong><\/h3>\n\n\n\n<p>Este sistema representa un desarrollo completo para un juego de laberinto con atm\u00f3sfera de supervivencia y tensi\u00f3n, incorporando generaci\u00f3n procedural de escenarios, inteligencia artificial avanzada, audio ambiental, animaciones y controles finos de jugador y c\u00e1mara.<\/p>\n\n\n\n<p>Los sistemas est\u00e1n dise\u00f1ados para ser modulares y extensibles, permitiendo a\u00f1adir funcionalidades como m\u00e1s tipos de enemigos, eventos ambientales o efectos sonoros sin comprometer la estabilidad del juego.<\/p>\n\n\n\n<p>Este proyecto sirve como base s\u00f3lida para crear experiencias inmersivas con tecnolog\u00edas Unity modernas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Video<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"PROYECTO FINAL - MODELADO 3D Y VIDEOJUEGOS\" width=\"800\" height=\"450\" src=\"https:\/\/www.youtube.com\/embed\/97KteyF2r90?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Cr\u00e9ditos<\/strong><\/h2>\n\n\n\n<p><strong>Autor:&nbsp;<\/strong><a href=\"https:\/\/niixer.com\/?s=Juan+Felipe+Ramirez+Sanchez\">Juan Felipe Ramirez S\u00e1nchez<\/a>,&nbsp;<a href=\"https:\/\/niixer.com\/?s=Sergio+Numael+Linares+Ducuara\">Sergio Numael Linares Ducuara<\/a><\/p>\n\n\n\n<p><strong>Editor:&nbsp;<\/strong>Mg.&nbsp;<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:&nbsp;<\/strong><a href=\"https:\/\/niixer.com\/?s=CG-20252\">CG-20252<\/a><\/p>\n\n\n\n<p><strong>Universidad:&nbsp;<\/strong><a href=\"https:\/\/niixer.com\/?s=Universidad+Central\">Universidad Central<\/a><\/p>\n\n\n\n<p><strong>Fuentes:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><br>Adobe. (s. f.). Mixamo: 3D character animation. Adobe Inc. https:\/\/www.mixamo.com\u200b<br><br>Autodesk. (2022). Unity vs Unreal Engine vs otros motores: Gu\u00eda comparativa para desarrolladores de videojuegos. Autodesk, Inc. https:\/\/www.autodesk.com\u200b<br><br>Brackeys. (2020, 10 de mayo). NavMesh in Unity [Video]. YouTube. https:\/\/www.youtube.com\u200b<br><br>Epic Games. (2023). Introducci\u00f3n a la inteligencia artificial en videojuegos. En Unreal Engine Documentation. Epic Games. https:\/\/docs.unrealengine.com\u200b<br><br>Gamedev Academy. (2023, 31 de octubre). Complete guide to Unity procedural generation. GameDev Academy. https:\/\/gamedevacademy.org\/complete-guide-to-procedural-level-generation-in-unity-part-1\u200b<br><br>Gamedev Academy. (2023, 2 de noviembre). Noise generator: Procedural 2D maps Unity tutorial. GameDev Academy. https:\/\/gamedevacademy.org\/procedural-2d-maps-unity-tutorial<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Los juegos del tipo backrooms se basan en escenarios laber\u00ednticos y atm\u00f3sferas tensas donde el jugador es perseguido constantemente. Vamos a hacer un desarrollo completo de un Juego Backrooms en Unity e Implementar esta experiencia inmersiva requiere sistemas robustos de generaci\u00f3n procedural, navegaci\u00f3n con IA, y controles de jugador refinados.Seguir Leyendo<\/p>\n","protected":false},"author":1934,"featured_media":75863,"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,91,364,31,214,66],"class_list":["post-74896","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-modelado","tag-blender","tag-innovacion","tag-paginas-web-2","tag-tecnologia","tag-unity","tag-videojuegos"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Desarrollo completo de un juego backrooms en Unity &#8211; Portal de noticias de tecnolog\u00eda, Realidad Virtual, Aumentada y Mixta, Videojuegos<\/title>\n<meta name=\"description\" content=\"En Portal de noticias de tecnolog\u00eda, Realidad Virtual, Aumentada y Mixta, Videojuegos encuentra los mejores contenidos del mundo de la tecnolog\u00eda | Desarrollo completo de un juego backrooms en Unity\" \/>\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\/26\/desarrollo-completo-de-un-juego-backrooms-en-unity-con-mapa-procedural-y-enemigo-perseguidor\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Desarrollo completo de un juego backrooms en Unity &#8211; Portal de noticias de tecnolog\u00eda, Realidad Virtual, Aumentada y Mixta, Videojuegos\" \/>\n<meta property=\"og:description\" content=\"En Portal de noticias de tecnolog\u00eda, Realidad Virtual, Aumentada y Mixta, Videojuegos encuentra los mejores contenidos del mundo de la tecnolog\u00eda | Desarrollo completo de un juego backrooms en Unity\" \/>\n<meta property=\"og:url\" content=\"https:\/\/niixer.com\/index.php\/2025\/11\/26\/desarrollo-completo-de-un-juego-backrooms-en-unity-con-mapa-procedural-y-enemigo-perseguidor\/\" \/>\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-26T23:22:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-27T01:01:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/Captura-de-pantalla-2025-11-26-182047.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1919\" \/>\n\t<meta property=\"og:image:height\" content=\"814\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"jramirezs12\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"jramirezs12\" \/>\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":"Desarrollo completo de un juego backrooms en Unity &#8211; Portal de noticias de tecnolog\u00eda, Realidad Virtual, Aumentada y Mixta, Videojuegos","description":"En Portal de noticias de tecnolog\u00eda, Realidad Virtual, Aumentada y Mixta, Videojuegos encuentra los mejores contenidos del mundo de la tecnolog\u00eda | Desarrollo completo de un juego backrooms en Unity","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\/26\/desarrollo-completo-de-un-juego-backrooms-en-unity-con-mapa-procedural-y-enemigo-perseguidor\/","og_locale":"es_ES","og_type":"article","og_title":"Desarrollo completo de un juego backrooms en Unity &#8211; Portal de noticias de tecnolog\u00eda, Realidad Virtual, Aumentada y Mixta, Videojuegos","og_description":"En Portal de noticias de tecnolog\u00eda, Realidad Virtual, Aumentada y Mixta, Videojuegos encuentra los mejores contenidos del mundo de la tecnolog\u00eda | Desarrollo completo de un juego backrooms en Unity","og_url":"https:\/\/niixer.com\/index.php\/2025\/11\/26\/desarrollo-completo-de-un-juego-backrooms-en-unity-con-mapa-procedural-y-enemigo-perseguidor\/","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-26T23:22:26+00:00","article_modified_time":"2025-11-27T01:01:26+00:00","og_image":[{"width":1919,"height":814,"url":"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/Captura-de-pantalla-2025-11-26-182047.png","type":"image\/png"}],"author":"jramirezs12","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"jramirezs12","Tiempo de lectura":"10 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/niixer.com\/index.php\/2025\/11\/26\/desarrollo-completo-de-un-juego-backrooms-en-unity-con-mapa-procedural-y-enemigo-perseguidor\/#article","isPartOf":{"@id":"https:\/\/niixer.com\/index.php\/2025\/11\/26\/desarrollo-completo-de-un-juego-backrooms-en-unity-con-mapa-procedural-y-enemigo-perseguidor\/"},"author":{"name":"jramirezs12","@id":"https:\/\/niixer.com\/#\/schema\/person\/dddbdf2b67ae6714872c3eb0ff9e50fa"},"headline":"Desarrollo completo de un juego backrooms en Unity","datePublished":"2025-11-26T23:22:26+00:00","dateModified":"2025-11-27T01:01:26+00:00","mainEntityOfPage":{"@id":"https:\/\/niixer.com\/index.php\/2025\/11\/26\/desarrollo-completo-de-un-juego-backrooms-en-unity-con-mapa-procedural-y-enemigo-perseguidor\/"},"wordCount":1442,"publisher":{"@id":"https:\/\/niixer.com\/#organization"},"image":{"@id":"https:\/\/niixer.com\/index.php\/2025\/11\/26\/desarrollo-completo-de-un-juego-backrooms-en-unity-con-mapa-procedural-y-enemigo-perseguidor\/#primaryimage"},"thumbnailUrl":"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/Captura-de-pantalla-2025-11-26-182047.png","keywords":["Blender","Innovaci\u00f3n","Paginas web","tecnolog\u00eda","Unity","Videojuegos"],"articleSection":["Modelado"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/niixer.com\/index.php\/2025\/11\/26\/desarrollo-completo-de-un-juego-backrooms-en-unity-con-mapa-procedural-y-enemigo-perseguidor\/","url":"https:\/\/niixer.com\/index.php\/2025\/11\/26\/desarrollo-completo-de-un-juego-backrooms-en-unity-con-mapa-procedural-y-enemigo-perseguidor\/","name":"Desarrollo completo de un juego backrooms en Unity &#8211; Portal de noticias de tecnolog\u00eda, Realidad Virtual, Aumentada y Mixta, Videojuegos","isPartOf":{"@id":"https:\/\/niixer.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/niixer.com\/index.php\/2025\/11\/26\/desarrollo-completo-de-un-juego-backrooms-en-unity-con-mapa-procedural-y-enemigo-perseguidor\/#primaryimage"},"image":{"@id":"https:\/\/niixer.com\/index.php\/2025\/11\/26\/desarrollo-completo-de-un-juego-backrooms-en-unity-con-mapa-procedural-y-enemigo-perseguidor\/#primaryimage"},"thumbnailUrl":"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/Captura-de-pantalla-2025-11-26-182047.png","datePublished":"2025-11-26T23:22:26+00:00","dateModified":"2025-11-27T01:01:26+00:00","description":"En Portal de noticias de tecnolog\u00eda, Realidad Virtual, Aumentada y Mixta, Videojuegos encuentra los mejores contenidos del mundo de la tecnolog\u00eda | Desarrollo completo de un juego backrooms en Unity","breadcrumb":{"@id":"https:\/\/niixer.com\/index.php\/2025\/11\/26\/desarrollo-completo-de-un-juego-backrooms-en-unity-con-mapa-procedural-y-enemigo-perseguidor\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/niixer.com\/index.php\/2025\/11\/26\/desarrollo-completo-de-un-juego-backrooms-en-unity-con-mapa-procedural-y-enemigo-perseguidor\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/niixer.com\/index.php\/2025\/11\/26\/desarrollo-completo-de-un-juego-backrooms-en-unity-con-mapa-procedural-y-enemigo-perseguidor\/#primaryimage","url":"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/Captura-de-pantalla-2025-11-26-182047.png","contentUrl":"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/Captura-de-pantalla-2025-11-26-182047.png","width":1919,"height":814},{"@type":"BreadcrumbList","@id":"https:\/\/niixer.com\/index.php\/2025\/11\/26\/desarrollo-completo-de-un-juego-backrooms-en-unity-con-mapa-procedural-y-enemigo-perseguidor\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/niixer.com\/"},{"@type":"ListItem","position":2,"name":"Desarrollo completo de un juego backrooms 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\/dddbdf2b67ae6714872c3eb0ff9e50fa","name":"jramirezs12","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/299afc16c867344b00ad2d14b6ab7c17cb395732b9eb08a238f2a959633f9150?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/299afc16c867344b00ad2d14b6ab7c17cb395732b9eb08a238f2a959633f9150?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/299afc16c867344b00ad2d14b6ab7c17cb395732b9eb08a238f2a959633f9150?s=96&d=mm&r=g","caption":"jramirezs12"},"url":"https:\/\/niixer.com\/index.php\/author\/jramirezs12\/"}]}},"jetpack_featured_media_url":"https:\/\/niixer.com\/wp-content\/uploads\/2025\/11\/Captura-de-pantalla-2025-11-26-182047.png","_links":{"self":[{"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/posts\/74896","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\/1934"}],"replies":[{"embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/comments?post=74896"}],"version-history":[{"count":6,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/posts\/74896\/revisions"}],"predecessor-version":[{"id":76014,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/posts\/74896\/revisions\/76014"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/media\/75863"}],"wp:attachment":[{"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/media?parent=74896"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/categories?post=74896"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/niixer.com\/index.php\/wp-json\/wp\/v2\/tags?post=74896"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}