option
Cuestiones
ayuda
daypo
buscar.php

Cuestionario de Desarrollo de Videojuegos e IA en Unity

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
Cuestionario de Desarrollo de Videojuegos e IA en Unity

Descripción:
Test 45 Preguntas

Fecha de Creación: 2026/06/12

Categoría: Informática

Número Preguntas: 45

Valoración:(0)
COMPARTE EL TEST
Nuevo ComentarioNuevo Comentario
Comentarios
NO HAY REGISTROS
Temario:

¿Por motivos de rendimiento, compresión y optimización técnica en Unity, qué regla matemática es muy recomendable seguir al configurar las dimensiones de anchura y longitud (X y Z) de un terreno o el tamaño de las texturas?. Deben ser números primos mayores que 100. Deben ser múltiplos exactos de 3 y 5 simultáneamente. Deben configurarse con valores que sean potencias de 2 (ej. 256x256). Deben coincidir exactamente con la tasa de refresco (FPS) del monitor.

Para mostrar iconos descriptivos (como esferas de colores) en el minimapa que representen al jugador o a los enemigos, pero evitando que estas figuras gigantes se vean flotando en la pantalla de juego principal, ¿qué herramienta de Unity debes configurar?. Modificar la escala del componente Rigidbody en cada frame. Asignar los iconos a una Capa (Layer) específica y configurar las Culling Masks de las cámaras para elegir cuál la renderiza y cuál la ignora. Desactivar la opción Play on Awake de las mallas 3D. Usar una corrutina que destruya las figuras cada segundo.

¿En qué consiste la técnica conocida como "Retargeting" de animaciones en motores de videojuegos como Unity o Unreal?. En cambiar el color base de un material de forma aleatoria durante la partida. En transferir y reutilizar los datos de animación de un esqueleto de origen a otro esqueleto de destino diferente, incluso si tienen proporciones físicas distintas. En reubicar de forma procedural los puntos de aparición de las monedas del escenario. En forzar a que la cámara principal de Cinemachine ignore las colisiones del terreno.

Si necesitas crear una variante de un personaje u objeto (Prefab) que conserve todas las propiedades lógicas del diseño original, pero que te permita sustituir su apariencia visual o añadir elementos únicos de forma segura, ¿qué debes crear en Unity?. Un Original Prefab desde cero. Un script tipo Singleton independiente. Una Variante de Prefab (Prefab Variant). Una capa de físicas de tipo Ignore Raycast.

Al programar el script del agente en Unity ML-Agents, ¿cuál es el propósito principal de implementar y rellenar el método llamado Heuristic?. Calcular mediante fórmulas matemáticas complejas la red neuronal profunda de Python. Permitir que un desarrollador humano controle manualmente al agente (por ejemplo, con el teclado) para testear que el movimiento y las respuestas físicas funcionen bien antes de iniciar el entrenamiento real. Forzar al motor de Unity a generar de forma aleatoria enemigos o ítems coleccionables en el mapa. Pausar y reanudar de manera cíclica la conexión con la consola de comandos de Anaconda.

Antes de pulsar el botón "Bake" (Hornear) para generar la malla de navegación sobre un terreno, ¿qué propiedad es estrictamente necesario verificar en el terreno y en todos los obstáculos fijos de la escena para que Unity los tenga en cuenta?. Que estén marcados como "Is Trigger". Que pertenezcan a la capa (Layer) "Ignore Raycast". Que la casilla "Navigation Static" (dentro del menú Static) esté activada. Que tengan un componente Rigidbody con gravedad activada.

Dentro de las herramientas del menú "Paint Terrain" de Unity, ¿cuál es la función de la herramienta "Smooth Height"?. Elevar el terreno de forma vertical creando picos afilados e irregularidades abruptas. Cambiar de forma aleatoria los materiales y texturas de las rocas. Erosionar y suavizar el relieve del terreno para eliminar crestas artificiales y darle un aspecto más natural. Aplicar un efecto de partículas de viento sobre las mallas del escenario.

Si un agente de juego en Unity ML-Agents está configurado para tener 2 "Continuous Actions" (Acciones continuas) para controlar su movimiento, ¿cómo traduce el motor de IA estas salidas en el script?. Como dos estados binarios de tipo verdadero o falso (como saltar/no saltar o disparar/no disparar). Como dos valores numéricos decimales variables (floats) ideales para aplicar fuerzas o traslaciones en dos ejes de movimiento (como los ejes X y Z). Como el tiempo de espera mínimo expresado en segundos que se introduce antes de un nodo Branch. Como comandos de voz procesados de forma procedural a través del componente de audio.

¿En qué consiste fundamentalmente el Aprendizaje por Refuerzo (Reinforcement Learning) utilizado por Unity ML-Agents?. En escribir manualmente todas las líneas de código condicionales (if/else) para prever cada situación. En un ciclo de "prueba y error" donde el agente aprende de forma autónoma buscando maximizar las recompensas positivas y evitar los castigos. En un sistema que copia de manera exacta los scripts e inputs de otros videojuegos comerciales de éxito. En animar frame a frame cada una de las articulaciones de los personajes no jugadores (NPC).

Además del Aprendizaje por Refuerzo, el paquete de Unity ML-Agents permite utilizar técnicas de "Aprendizaje por Imitación" (Imitation Learning). ¿En qué consiste conceptualmente este método?. En programar la inteligencia artificial replicando exactamente el código de los enemigos de Super Mario. En entrenar al agente haciendo que observe, registre y copie las acciones y movimientos realizados previamente por un jugador humano a los mandos de la partida. En forzar a que un objeto con físicas imite las propiedades de escala y rotación de un Canvas Panel. En descargar un archivo ejecutable ajeno de la red y sustituir el nombre del autor por el tuyo.

¿Qué herramienta integrada de Unity te permite modelar, esculpir y construir geometría 3D personalizada (como pilares, rampas o altares de piedra) directamente dentro del editor sin necesidad de recurrir a programas externos como Blender?. ProBuilder. Cinemachine. Universal Render Pipeline (URP). Package Manager.

Cuando se trabaja con múltiples entornos de entrenamiento duplicados en la misma escena, ¿por qué es crucial utilizar la propiedad transform.localPosition en el código del agente en Unity ML-Agents en lugar de transform.position?. Porque transform.position consume el triple de memoria de la tarjeta gráfica. Para garantizar que las coordenadas de posición que observa el agente sean relativas a su propia área local (su entorno padre) y no respecto al centro global absoluto del mundo 3D de Unity. Porque transform.localPosition desactiva de forma automática la gravedad del componente Rigidbody. Da exactamente igual; el sistema de ML-Agents reescribe la posición global al compilar.

A nivel arquitectónico, ¿qué papel fundamental cumple el entorno externo de Python durante el proceso de entrenamiento en Unity ML-Agents?. Es el encargado de renderizar los gráficos 3D de la escena y calcular las colisiones del motor físico. Actúa como el cerebro o entrenador externo ejecutando los algoritmos de Machine Learning que procesan las redes neuronales y deciden cómo actualizar el comportamiento del agente. Es un plugin que sirve exclusivamente para exportar el HUD e interfaces 2D a dispositivos móviles. Es la base de datos interna que almacena los nombres de usuario y contraseñas de la plataforma educativa.

En el diseño de la Inteligencia Artificial, ¿qué paradigma o arquitectura lógica se utiliza comúnmente para dividir el comportamiento del enemigo en modos de acción mutuamente excluyentes (como Patrullar, Perseguir y Atacar)?. Árbol de Comportamiento (Behavior Tree). Redes Neuronales (Neural Networks). Máquina de Estados Finitos (Finite State Machine o FSM). Programación Orientada a Objetos Pura.

¿Qué controla conceptualmente el parámetro "Max Step" que se configura en el Agente de Unity en Unity ML-Agents?. El tamaño máximo en centímetros que el personaje puede estirar sus piernas virtuales al correr. El número máximo de sensores de tipo Raycast que se permiten añadir en la jerarquía. El límite máximo de pasos o frames que puede durar un único episodio de entrenamiento antes de que el agente se reinicie automáticamente por agotar el tiempo. El número de carpetas que la API de Python creará para almacenar los cerebros entrenados.

Si necesitas que una Corrutina se detenga y espere 2 segundos antes de continuar ejecutando la siguiente línea de código, ¿qué instrucción exacta debes escribir?. Thread.Sleep(2000);. yield return new WaitForSeconds(2f);. Invoke("Method", 2f);. await Task.Delay(2);.

Algunos juegos comerciales emplean Machine Learning para que criaturas con anatomías extrañas o procedurales (como monstruos con múltiples tentáculos aleatorios) caminen en tiempo real. ¿Por qué se prefiere este enfoque al de la animación tradicional?. Porque el Machine Learning consume menos memoria que reproducir clips de audio en formato WAV. Porque programar reglas fijas y animaciones manuales para infinitas combinaciones de cuerpos aleatorios es inviable; el Machine Learning permite que cada monstruo aprenda a coordinar de forma autónoma su propia anatomía. Porque obliga a los monstruos a seguir trazadas óptimas de forma lineal sin interactuar con las colisiones. Porque es una política obligatoria impuesta por la tienda FAB de Epic Games para todo el contenido gratuito.

A la hora de programar un script para el ciclo día/noche, ¿por qué es indispensable multiplicar el valor de rotación por Time.deltaTime?. Para garantizar que el sol gire de forma independiente a los fotogramas por segundo (FPS) del ordenador, logrando un movimiento uniforme en cualquier hardware. Para enviar datos analíticos en tiempo real a los servidores de Unity Gaming Services. Para permitir que la cámara de Cinemachine enfoque la cabeza del personaje de forma automática. Porque el lenguaje C# no admite operaciones con números decimales si no se invoca esta propiedad.

Una vez que el entrenamiento de un agente Unity ML-Agents ha concluido con éxito, Python genera un archivo de red neuronal con extensión .onnx. ¿Qué se debe hacer con este archivo dentro de Unity?. Traducirlo manualmente a código fuente C++ para poder compilarlo. Eliminarlo, ya que la escena de Unity guarda el aprendizaje de forma automática en su memoria interna. Arrastrarlo al componente "Behavior Parameters" del agente para que este actúe de forma inteligente y autónoma. Subirlo directamente a la Google Play Console como paquete final de distribución.

El ciclo continuo de aprendizaje que realiza un agente de Machine Learning frame a frame se divide en cuatro pasos esenciales. ¿Cuál es el orden lógico correcto de este bucle?. Decisión -> Acción -> Observación -> Recompensa. Recompensa -> Acción -> Decisión -> Observación. Observación -> Decisión -> Acción -> Recompensa (o Castigo). Animación -> Programación -> Compilación -> Exportación.

¿Cuál es la función del componente "Raycast Perception Sensor" cuando se añade al GameObject de un agente en Unity ML-Agents?. Multiplicar la velocidad física de desplazamiento del agente para acelerar las físicas. Permitir que el agente observe y perciba su entorno emitiendo rayos (físicas invisibles) que calculan distancias y detectan objetos basándose en sus etiquetas (Tags). Resetear automáticamente la escena cuando un objeto de tipo target entra en colisión. Modificar proceduralmente el color y el material del suelo de la plataforma.

Si deseas que el fondo del cielo de tu nivel (Skybox) responda estéticamente de forma dinámica a la posición y rotación que va tomando el sol, ¿qué tipo de Shader nativo de Unity es el más adecuado?. Universal Render Pipeline / Unlit. Skybox / Procedural. Mobile / Bumped Diffuse. Sprite / Mask.

Al añadir texturas a un terreno mediante capas (Terrain Layers), ¿qué comportamiento automatiza Unity en el momento en que el desarrollador añade la primera capa de textura a la paleta del inspector?. Arroja un aviso de error exigiendo un material metálico. Pinta la totalidad de la superficie del terreno con esa primera textura de forma automática. Divide el terreno en cuatro cuadrantes de colores diferentes. Desactiva los pinceles de árboles para evitar conflictos visuales.

Al configurar un terreno (Terrain) en Unity, ¿qué ventaja técnica directa aporta limitar el parámetro de "Altura Máxima" (Maximum Height) a un valor moderado como 128 en lugar de dejarlo en valores muy altos por defecto?. Evita que las texturas de la hierba se decoloren con la luz del sol. Reduce la reserva de memoria del sistema y permite que el juego funcione más ligero en equipos modestos. Desactiva automáticamente las colisiones complejas de los enemigos. Permite que el agua de la escena se mueva de forma procedural sin usar shaders.

Dentro de la lógica de programación en C#, ¿qué es exactamente una "Corrutina" (Coroutine) en Unity?. Un hilo de procesamiento paralelo (Multithreading) que funciona fuera de la CPU principal. Una función especial que puede pausar su ejecución en una línea concreta (usando yield) y devolver el control al motor, para continuar exactamente donde lo dejó en el siguiente frame o tras un tiempo determinado. Un script que se ejecuta exclusivamente cuando el juego está en pausa. Un método que destruye los GameObjects inactivos para liberar memoria RAM.

Si programas un script para que un enemigo persiga al jugador actualizando su destino con agent.SetDestination() dentro del método Update(), esto puede causar tirones y caídas de FPS si hay muchos enemigos. ¿Cuál es una solución óptima y sencilla para este problema de rendimiento?. Usar una corrutina o un temporizador para recalcular la ruta cada 0.5 segundos en lugar de hacerlo en cada fotograma. Desactivar el NavMesh y mover al enemigo mediante transform.Translate. Aumentar la velocidad del juego mediante Time.timeScale. Cambiar la calidad gráfica del juego a "Low" mediante código.

Si deseas que un minimapa rectangular se muestre en pantalla con una forma totalmente circular, ¿qué componente de la UI de Unity debes añadir como padre de la imagen del mapa?. Canvas Scaler. Mask (Máscara). Grid Layout Group. Aspect Ratio Fitter.

Para simular el "cono de visión" del enemigo ¿qué tipo de rayo de detección invisible se lanza para verificar que no hay muros bloqueando la vista?. Un Spherecast. Un Raycast. Un Boxcast. Un OverlapSphere.

Durante el estado de Ataque, si usas yield return new WaitForSeconds(1.5f); en la corrutina, el enemigo se queda completamente congelado durante segundo y medio, permitiendo que el jugador esquive dando vueltas a su alrededor. ¿Cómo se resuelve este comportamiento irreal (la solución "difícil" del temario)?. Aumentando el tamaño del colisionador del arma para que ocupe todo el nivel. Sustituyendo el WaitForSeconds por un bucle while que controle el tiempo mediante Time.time y ejecute transform.LookAt en cada frame (haciendo un yield return null), de modo que el enemigo rote y siga apuntando al jugador mientras se recarga el disparo. Deteniendo el tiempo del jugador (Time.timeScale = 0) para que no pueda moverse durante el ataque enemigo. Haciendo que el NavMeshAgent del enemigo se mueva al triple de velocidad momentáneamente.

¿Qué componente nativo de Unity se debe instanciar en la escena si deseas crear efectos de corrientes de aire que apliquen físicas de movimiento y balanceo a la hierba y las copas de los árboles?. WindZone. Particle Pack. Rigidbody 3D. Force Field Emitter.

Al vincular el sistema de ataque del enemigo con la salud del jugador, es una mala práctica utilizar la función GetComponent() en cada golpe del bucle de ataque. ¿Cómo se debe optimizar esta búsqueda de referencias?. Eliminando el script Health y guardando la vida del jugador en una variable estática del GameManager. Buscando el componente una sola vez dentro del método Awake() o Start() y guardando su referencia en una variable privada del script para usarla posteriormente. Usando GameObject.Find() en cada ataque en lugar de GetComponent(). Transmitiendo la salud a través de un sistema de partículas.

¿Es necesario que el jugador final de un videojuego exportado tenga instalado Python o la distribución Anaconda en su ordenador para que la IA de ML-Agents funcione?. Sí, Python debe ejecutarse en segundo plano obligatoriamente en todo momento. No, el archivo de red neuronal resultante se ejecuta de forma nativa e integrada en cualquier plataforma soportada por Unity (PC, consolas, móviles), sin dependencias externas. Sí, pero únicamente si el juego se ejecuta en sistemas operativos móviles como Android o iOS. No, siempre y cuando el juego se configure en modo cooperativo local y sin conexión a internet.

Al programar la lógica del script del agente (MoveToGoalAgent), si este colisiona con el objetivo deseado (éxito) o se cae de la plataforma de entrenamiento (fallo), ¿qué funciones nativas de ML-Agents se deben invocar obligatoriamente?. SetReward() (o AddReward()) para registrar matemáticamente el valor del premio o castigo, seguido de EndEpisode() para concluir el intento actual y forzar el reinicio del escenario. DestroyActor() para liberar la memoria del agente y OpenLevel() para volver a cargar la escena. CreateWidget() para instanciar la pantalla flotante de fin de juego y RemoveFromParent() para ocultarla. GetWorldDeltaSeconds() para estabilizar la aceleración del Rigidbody de forma independiente a los fotogramas.

En Unity, ¿cómo se determina la dirección de iluminación de una Luz Direccional (Directional Light) en el espacio 3D?. Depende exclusivamente de las coordenadas de posición (X, Y, Z) en el mapa. Ilumina hacia donde apunta el vector de su eje local Z (representado por la flecha azul del gizmo). Solo ilumina si se coloca dentro de un Canvas de interfaz de usuario. Está condicionada por el tamaño y escala geométrica del terreno.

Si el componente "Agent" en la pestaña de Navegación (Navigation), ¿para qué sirve específicamente el parámetro "Step Height"?. Para definir la altura máxima a la que el enemigo puede saltar entre dos plataformas separadas por un hueco. Para evitar que el enemigo intente pasar por debajo de túneles muy bajos. Para definir el grosor del enemigo y evitar que se quede atascado en las paredes. Para definir la altura máxima (como un bordillo o peldaño) que el agente puede superar simplemente caminando sin necesidad de saltar.

En los proyectos de Unity ML-Agents es una práctica estándar duplicar el área de entrenamiento muchas veces dentro de la misma escena (por ejemplo, colocar 20 o 32 plataformas idénticas). ¿Qué beneficio técnico aporta esto?. Mejora de forma notable la calidad de las texturas y los efectos visuales del juego. Permite que múltiples agentes entrenen en paralelo al mismo tiempo, acumulando experiencias de forma simultánea, lo que reduce drásticamente el tiempo real requerido para entrenar el cerebro. Evita que el motor físico de Unity confunda los colisionadores dinámicos con las paredes estáticas. Es un requisito administrativo del sistema para poder exportar el ejecutable en volúmenes ZIP.

¿Cuál es la diferencia principal entre la Inteligencia Artificial tradicional en videojuegos (como los enemigos de juegos clásicos) y el enfoque de Machine Learning?. La IA tradicional es adaptativa, mientras que el Machine Learning utiliza reglas fijas e inmutables escritas por el programador. La IA tradicional requiere conectar Unity con un servidor externo en tiempo real, mientras que el Machine Learning no. En la IA tradicional el desarrollador programa de forma explícita el comportamiento exacto mediante condicionales fijos, mientras que en Machine Learning se configura un entorno y se le da al agente un objetivo para que descubra su propia estrategia. No existe ninguna diferencia conceptual; ambos términos se refieren a mallas de navegación avanzadas.

Si estás editando una de las superficies planas de un cubo con ProBuilder y utilizas la herramienta "Extrude Faces" (Extruir caras), ¿qué acción estás realizando sobre la geometría?. Dividiendo el objeto completo en dos piezas independientes para guardarlas como .obj. Biselando los bordes para suavizar los ángulos duros de 90 grados. Tirando o empujando de la superficie seleccionada para expandir o contraer la malla creando nueva geometría 3D. Volviendo transparente el material base del objeto.

¿Qué nombre recibe el patrón de diseño de software que se aplica habitualmente a scripts como el Timer o el GameManager para garantizar que solo exista una única instancia activa de ellos en memoria y facilitar su acceso desde cualquier otro script?. Constructor Lineal. Factoría Procedural. Observer Pattern. Patrón Singleton.

Al pintar césped y detalles de vegetación mediante la pestaña "Paint Details", ¿con qué parámetros del pincel se debe jugar con cuidado para evitar un exceso de densidad de mallas que penalice drásticamente el rendimiento del juego?. El tamaño de la malla del cilindro y su rotación. La escala en el eje Z y el IsTrigger del colisionador. La opacidad (Opacity) y la fuerza objetivo (Target Strength). El radio de la cámara virtual de Cinemachine.

¿Qué utilidad práctica tiene añadir el parámetro --resume al lanzar un comando de entrenamiento en la consola de Anaconda?. Traducir en tiempo real los mensajes informativos del motor PyTorch del inglés al español. Permitir reanudar un entrenamiento que fue pausado previamente, haciendo que el agente continúe aprendiendo a partir del progreso guardado en lugar de empezar de cero. Reducir la escala geométrica de las mallas de navegación para evitar bugs de colisión. Duplicar de forma automática el valor por defecto de la variable Max Step.

En el desarrollo y diseño 3D, ¿qué significa exactamente que un modelo de personaje esté "rigueado" (rigged)?. Que se le ha aplicado un material dorado pulido para simular metal real. Que carece de colisionadores físicos y puede atravesar paredes. Que se le ha añadido un esqueleto interno virtual (huesos y controladores) para poder articularlo y animarlo mecánicamente. Que ha sido exportado en volúmenes ZIP divididos en partes de 200MB.

Si en el componente "Behavior Parameters" de tu agente de Unity ML-Agents configuras el parámetro "Vector Observation > Space Size" con un valor de 6, ¿qué significa esto desde el punto de vista de la lógica del script?. Que el agente dispone de exactamente 6 botones o acciones de entrada continuas en el teclado. Que la escena del juego se ha clonado de forma idéntica en 6 áreas de entrenamiento paralelas. Que el script del agente está recopilando datos del entorno equivalentes a 6 valores de tipo decimal (floats) como, por ejemplo, la posición 3D (X, Y, Z) del agente y la posición 3D (X, Y, Z) de su meta. Que el agente morirá de forma automática si no consigue su objetivo en un límite de 6 fotogramas.

¿Qué componente de Unity debe añadirse al GameObject del enemigo para dotarlo del "cerebro" matemático que le permite moverse de forma inteligente leyendo la Malla de Navegación?. Nav Mesh Surface. Nav Mesh Agent. Character Controller. Physics Material 3D.

Durante un proceso de entrenamiento activo ML-Agents en la consola de Anaconda, ¿cuál es el procedimiento correcto y seguro para detenerlo garantizando que el "cerebro" resultante se guarde sin corromper los archivos?. Cerrar directamente la ventana de la consola haciendo clic en la "X" superior de Windows. Desconectar el cable de alimentación o reiniciar por completo el ordenador de desarrollo. Hacer clic en la ventana de la consola de Anaconda, pulsar la combinación de teclas Ctrl + C y esperar unos segundos a que el sistema guarde el modelo final (Saved Model). Pulsar la tecla escape (ESC) dentro de la vista Game de Unity para pausar el script principal.

Denunciar Test