Sinopsis del producto
Título: 100 ejercicios en C# para Unity
n
nSubtítulo: Cómo mejorar tu kungfú
n
nISBN: 9786075764337
n
nISBN ebook: 9788416671786
n
nAutores: Jorge García Colmenar
n
nEdición: 1ra
n
nAño: 2025
n
nEditorial: Fundación Confemetal
n
nEncuadernación: Rústica
n
nMedida: 15X22
n
nPáginas: 392
n
nLomo: 18 mm
n
nPeso: 920 gr
n
nColores interior: Una tinta
n
nIdioma: Español
n
nÁrea: Tecnología
n
nSubárea: Programación
n
nEtiquetas: Informática y TIC
n
nEn este libro encontrarás una serie de ejercicios resueltos que te servirán para conocer los entresijos del motor de videojuegos Unity a la vez que comprenderás mejor del lenguaje de programación C#.
n
nÍNDICE
n
nSOBRE EL AUTOR .. 17
n
nINTRODUCCIÓN .. 19
n
nCÓMO NO USAR ESTE LIBRO .. 20
n
n¿CÓMO USAR ESTE LIBRO? .. 20
n
nAPUNTE PARA PROFESORES .. 21
n
n
n
nPRIMERA PARTE
n
nCIEN EJERCICIOS BÁSICOS DE PROGRAMACIÓN .. 25
n
n - CREA UNA NUEVA VARIABLE LLAMADA VELOCIDAD Y ASÍGNALE EL VALOR DE 5.0F . IMPRIME POR CONSOLA SU VALOR .. 26
n - UTILIZA DOS VARIABLES PÚBLICAS DE TIPO FLOAT PARA MOSTRAR POR CONSOLA SUS VALORES SUMADOS, RESTADOS, MULTIPLICADOS Y DIVIDIDOS .. 27
n - CREA DOS VARIABLES PRIVADAS DE TIPO STRING , CONCATÉNALAS Y MUESTRA EL RESULTADO POR CONSOLA .. 30
n - CREA UNA VARIABLE PRIVADA BOOLEANA Y DOS VARIABLESPÚBLICAS INT . SI AL EJECUTAR EL JUEGO LA SUMA DE LAS VARIABLES INT ES PAR, LA BOOLEANA DEBE SER TRUE . MUESTRA POR CONSOLA SU VALOR . 31
n - CREA UN SCRIPT QUE IMPRIMA POR CONSOLA «HOY ES JUEVES»SI ES JUEVES, Y «HOY NO ES JUEVES» EN CASO CONTRARIO .. 34
n - CALCULA EL FACTORIAL DE UN NÚMERO DADO POR UNA VARIABLE PÚBLICA DE TIPO INT. 38
n - CREA UN SCRIPT QUE DEMUESTRE EL ORDEN DE EJECUCIÓN DE LOS MÉTODOS START Y AWAKE DE MONOBEHAVIOUR . 41
n - CREA UN SCRIPT QUE IMPRIMA POR CONSOLA, EN CADA FOTOGRAMA, EL TIEMPO QUE HA TRANSCURRIDO DESDE EL FOTOGRAMA ANTERIOR .. 44
n - CREA UN SCRIPT QUE IMPRIMA POR CONSOLA EL TIEMPO QUE HA PASADO DESDE EL INICIO DE LA EJECUCIÓN CADA 100 FOTOGRAMAS . 47
n - CREA UN SCRIPT QUE INICIALICE UNA PROBABILIDAD ALEATORIA ENTRE 0 Y 100 Y QUE CADA 10 SEGUNDOS GENERE UN NÚMERO ENTRE 0 Y 100 .SI EL NÚMERO ES MAYOR QUE LA PROBABILIDAD, IMPRIME POR CONSOLA «ACIERTO» Y SI NO, IMPRIME «FALLO» . 50
n
nTRANSFORMACIONES Y DESTRUCCIONES . 56
n
n - CREA UN CUBO QUE SE DESPLACE EN EL EJE X A UNA VELOCIDAD DE1 UNIDAD POR SEGUNDO. AL LLEGAR A LA POSICIÓN 10, DEBE RECOLOCARSE EN LA POSICIÓN 0. 57
n - HAZ QUE UN CUBO ROTE A LA IZQUIERDA O A LA DERECHA RESPONDIENDO A LAS PULSACIONES DEL TECLADO CORRESPONDIENTES A LOS CURSORES !, " O A LAS LETRAS A Y D.. 62
n - HAZ QUE UN CUBO AUMENTE LA ESCALA SI MANTENEMOS PULSADA LA TECLA ESPACIADORA Y LA DISMINUYA SI NO LA PULSAMOS. LA ESCALA MÍNIMA DEBE SER 1 EN CADA EJE. 66
n - CREA UN CUBO QUE SE DESPLACE UNIFORMEMENTE ENTRE X=0 Y X = 10. DEBE IR Y VOLVER CONTINUAMENTE . 71
n - CREA UN SIMPLE CONTROLADOR DE PERSONAJE QUE DESPLACE UN CUBO EN LOS EJES X Y Z AL PULSAR LOS CURSORES . 73
n - CREA UN OBJETO QUE SE DESPLACE EN EL EJE Z UNA UNIDAD AL SOLTAR LA TECLA ESPACIADORA . 75
n - CREA UN CUBO QUE SE DESTRUYE AL CLICAR EN ÉL.. 77
n - CREA UN CUBO QUE SE DESTRUYA A LOS TRES SEGUNDOS DE CLICAR EN ÉL. . 79
n - CREA UN CUBO QUE SE DESACTIVE ENTRE TRES Y CINCO SEGUNDOS DESPUÉS DE CLICAR EN ÉL. 83
n - CREA UN CUBO QUE CAMBIE DE NOMBRE PARA INDICAR CUÁNTAS VECES HAS CLICADO EN OTRO CUBO .. 88
n
n
n
nSEGUNDA PARTE
n
nA VUELTAS CON LOS BUCLES . 95
n
n - CREA UN BUCLE QUE SUME LOS PRIMEROS QUINIENTOS NÚMEROS PARES . 96
n - CREA UNA LÍNEA DE DIEZ CUBOS EN EL EJE X USANDO UN BUCLE, SIN USAR PREFABS .. 98
n - INSTANCIAR UNA PARED DE CUBOS VERTICAL USANDO UN PREFAB .. 100
n
nVARIABLES Y ASIGNACIONES . 101
n
nBUCLE ANIDADO .. 102
n
nINSTANCIACIÓN DE CUBOS .. 102
n
n - INSTANCIAR UN CUBO HECHO DE CUBOS USANDO UN PREFAB .. 104
n - INSTANCIAR UN BLOQUE DE CUBOS COMO EN EL EJERCICIO 24, PERO UTILIZAR DIFERENTES PREFABS PARA GENERAR CAPAS DE PIEDRA, TIERRA Y CÉSPED, COMO SI FUESE UNA SECCIÓN DE SUELO DEL JUEGO MINECRAFT .. 107
n
nEL OPERADOR TERNARIO . 109
n
n - INSTANCIA UNA PIRÁMIDE HECHA DE CUBOS . 112
n
nCOLECCIONES Y BUCLES . 115
n
n - CREA UN CUBO QUE SE DESPLACE UNIFORMEMENTE ENTRE LOS PUNTOS DE UN ARRAY O LISTA PÚBLICA DE VECTORES 3. 115
n
nUN POCO MÁS SOBRE DIFERENCIAS ENTRE LISTAS Y ARRAYS .. 117
n
n - CREA UN CUBO QUE SE DESPLACE UNIFORMEMENTE ENTRE LOS PUNTOS DE UN ARRAY O LISTA PÚBLICA DE VECTOR3 , PERO QUE ELIJA ALEATORIAMENTE EL SIGUIENTE PUNTO DE LA COLECCIÓN AL QUE DESPLAZARSE .. 119
n - CREA UNOS CUANTOS OBJETOS CON EL TAG «DESAPARECER» EN LA ESCENA, MANUALMENTE. AL PULSAR LA TECLA ESPACIADORA, TODOS LOS OBJETOS DEBEN DESACTIVARSE. LOS OBJETOS NO PUEDEN TENER NINGÚN SCRIPT AÑADIDO. EL EJERCICIO HA DE FUNCIONAR SIN MODIFICAR EL CÓDIGO AUNQUE SE AÑADAN O QUITEN OBJETOS
n
nDE LA ESCENA .. 123
n
nEL BUCLE FOREACH . 127
n
n - INSTANCIA DIEZ CUBOS EN LA ESCENA EN POSICIONES ALEATORIAS ENTRE -10 Y 10 EN CADA EJE. AL PULSAR EL ESPACIO, DEBEN DESTRUIRSE LOS QUE TENGAN POSICIONES POSITIVAS EN EL EJE X.. 129
n
nKEY CODE .. 131
n
n
n
nTERCERA PARTE
n
nA POR LOS COMPONENTES .. 135
n
n - CREA UNA ESFERA QUE CAMBIE DE COLOR CUANDO SE CLICA EN ELLA. 135
n
nEL MÉTODO GETCOMPONENT . 137
n
n - CREAR DOS ESFERAS. AL CLICAR SOBRE UNA, LA OTRA CAMBIA DE COLOR . 138
n
nLA PROPIEDAD MATERIAL .. 140
n
n - GENERA UN EFECTO DE MOVIMIENTO MODIFICANDO EL OFFSET DE LA TEXTURA DE UN MATERIAL DE UN PLANO O QUAD . 141
n
nLA FUNCIÓN SETTEXTUREOFFSET .. 144
n
nA POR LAS FÍSICAS . 145
n
n - CREAR UNA ESFERA EN EL PUNTO Y=10 Y UN SUELO EN EL Y=0 .HACER QUE LA ESFERA CAIGA AL PULSAR EL ESPACIO. LA ESFERA TIENE QUE REBOTAR COMO UN BALÓN DE BALONCESTO . 146
n - CREA UNA ESFERA EN EL PUNTO Y=10 Y UN SUELO EN EL Y=0 .HAZ QUE LA ESFERA CAIGA AL PULSAR EL ESPACIO. LA ESFERA TIENE QUE REBOTAR COMO UN BALÓN DE BALONCESTO . 151
n
nLA FUNCIÓN COMPARETAG . 154
n
n - CREA UNA ESFERA EN EL PUNTO Y=10 Y UN SUELO EN EL Y=0 .HAZ QUE LA ESFERA CAIGA AL PULSAR LA TECLA ESPACIADORA. LA ESFERA TIENE QUE REBOTAR COMO UN BALÓN DE BALONCESTO Y DESTRUIRSE AL REBOTAR DOS VECES .. 157
n - CREA UNA ESFERA EN REPOSO SOBRE UN SUELO. AL PULSAR LA TECLA S, RECIBE UNA FUERZA PUNTUAL HACIA ARRIBA Y HACIA LA DERECHA . 160
n - CREA UNA ESFERA EN REPOSO SOBRE UN SUELO. MIENTRAS LA TECLA S PERMANEZCA PULSADA, LA ESFERA DEBE RECIBIR UNA FUERZA CONSTANTE HACIA ARRIBA Y HACIA LA DERECHA . 163
n - CREA UNOS CUANTOS OBJETOS CON EL TAG «NEWTON». AL PULSAR ESPACIO, DEBE ACTIVARSE LA GRAVEDAD DE TODOS ESOS OBJETOS. LOS OBJETOS NO PUEDEN TENER NINGÚN SCRIPT AÑADIDO. EL EJERCICIO TIENE QUE FUNCIONAR SIN MODIFICAR EL CÓDIGO AUNQUE SE AÑADAN O
n
nQUITEN OBJETOS DE LA ESCENA . 166
n
n - CREA UN RAYCAST QUE NOS DIGA EN QUÉ OBJETO DE LA ESCENA HEMOS HECHO CLIC. 169
n - AL CLICAR EN UN OBJETO, DESTRUIR TODOS LOS DEMÁS QUE ESTÉN EN RANGO 10 DESDE ESE OBJETO .. 172
n
nEL CASO DE CAMERA.MAIN .. 176
n
n - CREA UNA CÁPSULA CENTINELA QUE ROTA SOBRE SÍ MISMA.EMITE UN RAYCAST DE DISTANCIA 5 QUE DESTRUYE SOLO A ESFERAS SI LAS TOCA .. 178
n
n43- CREA UNA CÁPSULA CENTINELA QUE ROTA SOBRE SÍ MISMA. EMITE UN RAYCAST DE DISTANCIA 5 QUE DESTRUYE LAS ESFERAS SOLO SI LAS TOCA. 181
n
nMÁS COMPONENTES: ¡LUCES, CÁMARA, ACCIÓN! . 184
n
n - UTILIZANDO DOS LUCES POINT ROJA Y AZUL, CREA EL EFECTO DE UN COCHE DE POLICÍA APAGÁNDOLAS Y ENCENDIÉNDOLAS ALTERNATIVAMENTE . 185
n - CREA UN EFECTO DE LUCES DE NAVIDAD. EL SCRIPT DEBE FUNCIONAR INDEPENDIENTEMENTE DEL NÚMERO DE LUCES. UTILIZA POINT LIGHT Y UN ARRAY PÚBLICO PARA ENLAZARLAS (REFERENCIARLAS) AL SCRIPT . BASTA CON QUE CADA LUZ ALTERNE, NO ES NECESARIO PROGRAMAR DIFERENTES MODOS .. 188
n - CREA UN EFECTO DE LUCES DE NAVIDAD. EL SCRIPT DEBE FUNCIONAR INDEPENDIENTEMENTE DEL NÚMERO DE LUCES. UTILIZA POINT LIGHT Y UN ARRAY PÚBLICO PARA ENLAZARLAS (REFERENCIARLAS) AL SCRIPT . BASTA CON QUE CADA LUZ ALTERNE, NO ES NECESARIO PROGRAMAR DIFERENTES MODOS . 190
n - CREA UN EFECTO «BOMBILLA A PUNTO DE FUNDIRSE» .. 193
n
nVENTAJAS DE LAS CORRUTINAS . 197
n
nLIMITACIONES DE LAS CORRUTINAS . 197
n
n - CREA UN SEMÁFORO DE TRÁFICO, INCLUYENDO LA LUZ ÁMBAR.COMO BUEN SEMÁFORO, DEBE PASAR MÁS TIEMPO EN ROJO QUE EN VERDE .. 199
n - AL CLICAR CON EL BOTÓN IZQUIERDO DEL RATÓN, CAMBIA EL COLOR DE FONDO DE LA CÁMARA. AL CLICAR CON EL BOTÓN DERECHO, EL FONDO SE PONE BLANCO . 201
n - CREA UN ESCENARIO SIMPLE Y COLOCA CUATRO CÁMARAS. CADA UNA DEBE RENDERIZARSE EN UNA CUARTA PARTE DE LA PANTALLA, COMO EN EL MARIO KART, POR EJEMPLO . 205
n - CREA CINCO OBJETOS EN LAS POSICIONES X=0 , X=10 , X=20 , ETC.PULSANDO LOS NÚMEROS 1 A 5, LA CÁMARA DEBE DESPLAZARSE PARA ENFOCAR AL OBJETO ADECUADO (EL NÚMERO 1 SE CORRESPONDE CON EL OBJETO EN X=0). 207
n - CREA UN SISTEMA DE PARTÍCULAS QUE EMITA SOLO CUANDO LAS TECLAS Q Y P ESTÉN PULSADAS A LA VEZ. 210
n - CREA UN OBJETO CON UN AUDIOSOURCE QUE SOLO REPRODUCE SONIDO MIENTRAS NO SE VE.. 214
n
nEL COMPONENTE AUDIOSOURCE EN UNITY .. 217
n
n
n
nCUARTAPARTE
n
nINTERFACES DE USUARIO (UI) . 226
n
n - CREA UN SENCILLO REPRODUCTOR DE MÚSICA . 227
n - AÑADE UN SLIDER PARA CAMBIAR EL VOLUMEN A TU REPRODUCTOR DE MÚSICA . 233
n
nCREA UN SLIDER .. 233
n
nCONFIGURA EL SLIDER .. 233
n
nASIGNA EL SLIDER .. 236
n
nEL EVENTO ONVALUECHANGED .. 236
n
n - SOBRE EL EJERCICIO ANTERIOR, EL VOLUMEN DEBE PERMANECER DE UNA EJECUCIÓN A OTRA (USANDO PLAYERPREFS) .. 238
n - CREA UN BOTÓN DE UI QUE AL PULSARSE INSTANCIE UNA ESFERA EN UNA POSICIÓN ALEATORIA ENTRE -10 Y 10 EN CADA EJE.. 242
n - CREA UN TEMPORIZADOR DE DIEZ SEGUNDOS CON UNA IMAGEN RADIAL. . 246
n - CREA UNA INTERFAZ DE USUARIO SIMPLE CON UN TEXTO O UNAIMAGEN CENTRADA EN LA PANTALLA A MODO DE MIRILLA. HAZ QUE LACÁMARA ROTE EN FUNCIÓN DEL MOVIMIENTO DEL RATÓN (COMO EN UN JUEGO DE PRIMERA PERSONA) .. 252
n
n6O. SOBRE EL EJERCICIO ANTERIOR, LANZA UN RAYCAST, EN DIRECCIÓN DE LA MIRILLA AL HACER CLIC, QUE INSTANCIE UN SISTEMA DE PARTÍCULAS AL COLISIONAR . 255
n
nDESGLOSE DEL SRP: . 258
n
n - CREA UN SISTEMA DE DIÁLOGO SIMPLE, ESTILO NOVELA VISUAL, CON ARRAYS O LISTAS PARA EL GUION, Y UN PANEL Y TEXTO EN LA INTERFAZ DE USUARIO. AL PULSAR LA TECLA ESPACIADORA APARECE LA SIGUIENTE LÍNEA DE GUION . 260
n
nPRINCIPALES CARACTERÍSTICAS Y FUNCIONES DEL COMPONENTE TEXT .. 262
n
n - SOBRE EL EJERCICIO ANTERIOR, CARGA EL GUION DESDE UN ARCHIVO EN LA CARPETA RESOURCES .. 263
n
nCARPETAS ESPECIALES . 267
n
n - CREA UN CONTADOR DE CLICS SOBRE UN BOTÓN DE UI. 269
n - SOBRE EL EJERCICIO ANTERIOR, HACER QUE EL CONTADOR PERMANEZCA DE UNA EJECUCIÓN A OTRA (SIN USAR LA CLASE PLAYERPREFS ). 272
n
nLA SERIALIZACIÓN .. 276
n
nLA DIRECTIVA USING . 277
n
n - SOBRE EL EJERCICIO ANTERIOR, CREA UN BOTÓN PARA RESETEAR LOS CLICS. .. 279
n
nLA ENCAPSULACIÓN .. 279
n
n
n
nQUINTA PARTE
n
n - CREA UN OBJETO QUE SE MUEVA DE FORMA SENOIDAL EN UN EJE.EL EJE Y LA AMPLITUD DEL MOVIMIENTO DEBEN ESTAR DADOS POR PARÁMETRO . 285
n - CREA UNA ESFERA QUE SIGA SUAVEMENTE AL OBJETO DEL EJERCICIO ANTERIOR .. 288
n - CREA UNA TRAMPA DE PINCHOS QUE APARECE Y DESAPARECE DEL SUELO . 291
n - CREA TRES ESCENAS. CADA UNA DEBE TENER 2 BOTONES QUE PERMITAN IR A LAS OTRAS ESCENAS . 294
n
nSCENE MANAGER . 295
n
n - CREA LA CLASE GLITCHOSAURIO . LOS GLITCHOSAURIOS TIENEN FUERZA, RESISTENCIA Y TAMAÑO. PUEDEN MOVERSE, COMER, ESCONDERSE Y BUGUEARSE . NO ES NECESARIO QUE IMPLEMENTES EL INTERIOR DE LOS MÉTODOS . 297
n - CREA LA CLASE CRIA QUE HEREDA DE GLITCHOSAURIO . LAS CRÍAS DE GLITCHOSAURIO TIENEN CARISMA Y SABOR .. 304
n - LOS GLITCHOSAURIOS PUEDEN COMER CUALQUIER GLITCHOSAURIO DE MENOR TAMAÑO SI SU FUERZA ES MAYOR QUE LA RESISTENCIA DE LA VÍCTIMA. SI LA VÍCTIMA ES UNA CRÍA, LA FUERZA DEL CAZADOR SE INCREMENTA TANTO COMO EL VALOR DEL SABOR DE LA CRÍA.. 307
n - GENERA 300 GLITCHOSAURIOS CON VALORES ALEATORIOS Y GUÁRDALOS EN UNA LISTA . 310
n
nLOS PATRONES DE DISEÑO . 312
n
n - ELIMINA TODOS LOS GLITCHOSAURIOS DE LA LISTA CUYA FUERZA Y RESISTENCIA SEAN IGUALES .. 314
n
nLAS EXPRESIONES LAMBDA .. 314
n
nLANGUAGE INTEGRATED QUERY (LINQ) .. 316
n
n - IMPRIME POR CONSOLA EL NUEVO NÚMERO DE GLITCHOSAURIOS .. 318
n - CREA UN SCRIPT QUE GENERE UNA ESFERA CADA 0.25 SEGUNDOS Y ESTA RECIBA UNA FUERZA ALEATORIA HACIA ARRIBA Y A LA DERECHA . 321
n
nVARIABLES PÚBLICAS . 322
n
nAPLICACIÓN DE LA FUERZA ASCENDENTE . 323
n
n77- SOBRE EL EJERCICIO ANTERIOR, CREA UN SUELO DEBAJO DEL PUNTO DE INSTANCIA. LAS ESFERAS QUE TOQUEN EL SUELO RECIBIRÁN UNA FUERZA ASCENDENTE HACIA LA IZQUIERDA, TAMBIÉN ALEATORIA .. 325
n
n - SOBRE EL EJERCICIO ANTERIOR, EL GENERADOR INICIA «APAGADO» Y SE ENCIENDE Y APAGA PULSANDO LA TECLA ESPACIADORA . 328
n
nLA FUNCIÓN CANCELINVOKE .. 331
n
n - SOBRE EL EJERCICIO ANTERIOR, CREA UN TEXTO EN LA UI QUE LLEVE LA CUENTA DE LAS ESFERAS GENERADAS .. 332
n - CREA UN CUBO. CADA VEZ QUE HAGAS CLIC EN ÉL CON EL BOTÓN DERECHO, DEBE RECIBIR UNA FUERZA HACIA ARRIBA Y UN TORQUE ALEATORIO .. 338
n - HAZ UN SCRIPT PARA QUE UN OBJETO SE VUELVA ROJO CUANDO SUBE Y AZUL CUANDO BAJA, TENIENDO EN CUENTA SU VELOCIDAD (PUEDES
n
nUSAR EL CUBO DEL EJERCICIO ANTERIOR) .. 341
n
nLA PROPIEDAD VELOCITY .. 344
n
n - HAZ QUE UNA CÁMARA SIEMPRE APUNTE A UN OBJETO (PUEDES USAR EL CUBO DEL EJERCICIO ANTERIOR) . 346
n - CREA UN CUBO QUE INSTANCIA OTRO CUBO AL CLICAR EN ÉL, Y LUEGO SE DESTRUYE. EL CUBO INSTANCIADO DEBE TENER EL MISMO COMPORTAMIENTO .. 348
n - AUMENTA O DISMINUYE LA INTENSIDAD DE UNA LUZ CON LA RUEDA DEL RATÓN .. 352
n - CREA UN CONTADOR DE CLICS Y MUESTRA EL NÚMERO EN LA UI. 354
n - IMPRIME POR CONSOLA LA POSICIÓN DEL PUNTERO DEL RATÓN EN LA PANTALLA . 356
n - HAZ QUE UN CUBO SEA MÁS ROJO CUANTO MÁS CERCA ESTÉ DE LA CÁMARA . 358
n
nLA CLASE COLOR EN UNITY . 360
n
n - CREA DOS ESCENAS Y PERMITE QUE SE PUEDA CAMBIAR DE UNA A OTRA. CREA UN AUDIOSOURCE EN LA PRIMERA ESCENA Y HAZ QUE LA MÚSICA SIGA SONANDO AL CAMBIAR DE ESCENA, PERO QUE NO SE DUPLIQUE .. 361
n - HAZ QUE DOS OBJETOS SE INTERCAMBIEN LOS NOMBRES CUANDO COLISIONAN .. 364
n - CREA CINCO CUBOS. CADA CUBO DEBE CORRESPONDERSE CON LOS NÚMEROS 1 AL 5. AL PULSAR UNO DE ESOS NÚMEROS, EL CUBO CORRESPONDIENTE AUMENTA EN 0.1 SU ESCALA EN Y. USA SOLO UN SCRIPT PARA TODOS LOS CUBOS . 367
n - ESCRIBE UN SCRIPT QUE IMPRIMA POR CONSOLA EL NÚMERO DE OBJETOS QUE HAYA EN LA PANTALLA CADA VEZ QUE SE PULSE LA TECLA ESPACIADORA . 370
n - HAZ QUE UN OBJETO QUE SALE POR LA PARTE DERECHA DE LA PANTALLA ENTRE POR LA IZQUIERDA Y VICEVERSA (COMO LOS ASTEROIDES Y LA NAVE DEL MÍTICO ASTEROIDS) .. 372
n - HAZ UN OBJETO QUE AVANCE HACIA LA CÁMARA MIENTRAS LA CÁMARA NO LO VE. 375
n - HAZ QUE UNA ESFERA SIGA AL RATÓN. LA CÁMARA DEBE ESTAR ENZ = -10 Y LA ESFERA EN Z=0. 377
n - HAZ QUE EL COLOR DE FONDO DE LA CÁMARA CAMBIE DE FORMA PROGRESIVA Y ALEATORIA . 380
n - CREA UN SCRIPT QUE MODIFIQUE LA GRAVEDAD DE LA ESCENA CADA VEZ QUE SE PULSAN LOS CURSORES. LA FLECHA DE CADA CURSOR INDICA LA DIRECCIÓN DE LA GRAVEDAD . 386
n - CREA DOS CAPAS (LAYERS ) PARA CUBOS Y ESFERAS Y CREA ALGUNOS CUBOS Y ESFERAS CON SUS CORRESPONDIENTES CAPAS. DEJA LAS CAPAS DESACTIVADAS EN LA PROPIEDAD CULLING MASK DE LA CÁMARA. LUEGO HAZ UN SCRIPT QUE ACTIVE Y DESACTIVE LA CAPA DE LOS CUBOSPULSANDO LA TECLA C Y LA DE LAS ESFERAS PULSANDO LA TECLA E.. 388
n - AÑADE UN SPHERECOLLIDER A UNA LUZ DE TIPO POINT. HAZ QUE EL RADIO DEL COLLIDER SEA IGUAL AL RANGO DE LA LUZ.HAZ QUE EL RANGO DE LA LUZ AUMENTE SI SE PULSA EL BOTÓN IZQUIERDO DEL RATÓN Y DISMINUYA SI SE PULSA EL DERECHO .. 393
n - GENERA UN TRIÁNGULO DESDE CÓDIGO . 396
n - GENERA UN PLANO DESDE CÓDIGO (USANDO DOS TRIÁNGULOS) . 401
n
nREFERENCIAS BIBLIOGRÁFICAS . 405
n
nRECURSOS . 409
n
nCONTENIDOS EXTRA . 413
9786075764337
Sinopsis del producto
Título: 100 ejercicios en C# para Unity
n
nSubtítulo: Cómo mejorar tu kungfú
n
nISBN: 9786075764337
n
nISBN ebook: 9788416671786
n
nAutores: Jorge García Colmenar
n
nEdición: 1ra
n
nAño: 2025
n
nEditorial: Fundación Confemetal
n
nEncuadernación: Rústica
n
nMedida: 15X22
n
nPáginas: 392
n
nLomo: 18 mm
n
nPeso: 920 gr
n
nColores interior: Una tinta
n
nIdioma: Español
n
nÁrea: Tecnología
n
nSubárea: Programación
n
nEtiquetas: Informática y TIC
n
nEn este libro encontrarás una serie de ejercicios resueltos que te servirán para conocer los entresijos del motor de videojuegos Unity a la vez que comprenderás mejor del lenguaje de programación C#.
n
nÍNDICE
n
nSOBRE EL AUTOR .. 17
n
nINTRODUCCIÓN .. 19
n
nCÓMO NO USAR ESTE LIBRO .. 20
n
n¿CÓMO USAR ESTE LIBRO? .. 20
n
nAPUNTE PARA PROFESORES .. 21
n
n
n
nPRIMERA PARTE
n
nCIEN EJERCICIOS BÁSICOS DE PROGRAMACIÓN .. 25
n
n - CREA UNA NUEVA VARIABLE LLAMADA VELOCIDAD Y ASÍGNALE EL VALOR DE 5.0F . IMPRIME POR CONSOLA SU VALOR .. 26
n - UTILIZA DOS VARIABLES PÚBLICAS DE TIPO FLOAT PARA MOSTRAR POR CONSOLA SUS VALORES SUMADOS, RESTADOS, MULTIPLICADOS Y DIVIDIDOS .. 27
n - CREA DOS VARIABLES PRIVADAS DE TIPO STRING , CONCATÉNALAS Y MUESTRA EL RESULTADO POR CONSOLA .. 30
n - CREA UNA VARIABLE PRIVADA BOOLEANA Y DOS VARIABLESPÚBLICAS INT . SI AL EJECUTAR EL JUEGO LA SUMA DE LAS VARIABLES INT ES PAR, LA BOOLEANA DEBE SER TRUE . MUESTRA POR CONSOLA SU VALOR . 31
n - CREA UN SCRIPT QUE IMPRIMA POR CONSOLA «HOY ES JUEVES»SI ES JUEVES, Y «HOY NO ES JUEVES» EN CASO CONTRARIO .. 34
n - CALCULA EL FACTORIAL DE UN NÚMERO DADO POR UNA VARIABLE PÚBLICA DE TIPO INT. 38
n - CREA UN SCRIPT QUE DEMUESTRE EL ORDEN DE EJECUCIÓN DE LOS MÉTODOS START Y AWAKE DE MONOBEHAVIOUR . 41
n - CREA UN SCRIPT QUE IMPRIMA POR CONSOLA, EN CADA FOTOGRAMA, EL TIEMPO QUE HA TRANSCURRIDO DESDE EL FOTOGRAMA ANTERIOR .. 44
n - CREA UN SCRIPT QUE IMPRIMA POR CONSOLA EL TIEMPO QUE HA PASADO DESDE EL INICIO DE LA EJECUCIÓN CADA 100 FOTOGRAMAS . 47
n - CREA UN SCRIPT QUE INICIALICE UNA PROBABILIDAD ALEATORIA ENTRE 0 Y 100 Y QUE CADA 10 SEGUNDOS GENERE UN NÚMERO ENTRE 0 Y 100 .SI EL NÚMERO ES MAYOR QUE LA PROBABILIDAD, IMPRIME POR CONSOLA «ACIERTO» Y SI NO, IMPRIME «FALLO» . 50
n
nTRANSFORMACIONES Y DESTRUCCIONES . 56
n
n - CREA UN CUBO QUE SE DESPLACE EN EL EJE X A UNA VELOCIDAD DE1 UNIDAD POR SEGUNDO. AL LLEGAR A LA POSICIÓN 10, DEBE RECOLOCARSE EN LA POSICIÓN 0. 57
n - HAZ QUE UN CUBO ROTE A LA IZQUIERDA O A LA DERECHA RESPONDIENDO A LAS PULSACIONES DEL TECLADO CORRESPONDIENTES A LOS CURSORES !, " O A LAS LETRAS A Y D.. 62
n - HAZ QUE UN CUBO AUMENTE LA ESCALA SI MANTENEMOS PULSADA LA TECLA ESPACIADORA Y LA DISMINUYA SI NO LA PULSAMOS. LA ESCALA MÍNIMA DEBE SER 1 EN CADA EJE. 66
n - CREA UN CUBO QUE SE DESPLACE UNIFORMEMENTE ENTRE X=0 Y X = 10. DEBE IR Y VOLVER CONTINUAMENTE . 71
n - CREA UN SIMPLE CONTROLADOR DE PERSONAJE QUE DESPLACE UN CUBO EN LOS EJES X Y Z AL PULSAR LOS CURSORES . 73
n - CREA UN OBJETO QUE SE DESPLACE EN EL EJE Z UNA UNIDAD AL SOLTAR LA TECLA ESPACIADORA . 75
n - CREA UN CUBO QUE SE DESTRUYE AL CLICAR EN ÉL.. 77
n - CREA UN CUBO QUE SE DESTRUYA A LOS TRES SEGUNDOS DE CLICAR EN ÉL. . 79
n - CREA UN CUBO QUE SE DESACTIVE ENTRE TRES Y CINCO SEGUNDOS DESPUÉS DE CLICAR EN ÉL. 83
n - CREA UN CUBO QUE CAMBIE DE NOMBRE PARA INDICAR CUÁNTAS VECES HAS CLICADO EN OTRO CUBO .. 88
n
n
n
nSEGUNDA PARTE
n
nA VUELTAS CON LOS BUCLES . 95
n
n - CREA UN BUCLE QUE SUME LOS PRIMEROS QUINIENTOS NÚMEROS PARES . 96
n - CREA UNA LÍNEA DE DIEZ CUBOS EN EL EJE X USANDO UN BUCLE, SIN USAR PREFABS .. 98
n - INSTANCIAR UNA PARED DE CUBOS VERTICAL USANDO UN PREFAB .. 100
n
nVARIABLES Y ASIGNACIONES . 101
n
nBUCLE ANIDADO .. 102
n
nINSTANCIACIÓN DE CUBOS .. 102
n
n - INSTANCIAR UN CUBO HECHO DE CUBOS USANDO UN PREFAB .. 104
n - INSTANCIAR UN BLOQUE DE CUBOS COMO EN EL EJERCICIO 24, PERO UTILIZAR DIFERENTES PREFABS PARA GENERAR CAPAS DE PIEDRA, TIERRA Y CÉSPED, COMO SI FUESE UNA SECCIÓN DE SUELO DEL JUEGO MINECRAFT .. 107
n
nEL OPERADOR TERNARIO . 109
n
n - INSTANCIA UNA PIRÁMIDE HECHA DE CUBOS . 112
n
nCOLECCIONES Y BUCLES . 115
n
n - CREA UN CUBO QUE SE DESPLACE UNIFORMEMENTE ENTRE LOS PUNTOS DE UN ARRAY O LISTA PÚBLICA DE VECTORES 3. 115
n
nUN POCO MÁS SOBRE DIFERENCIAS ENTRE LISTAS Y ARRAYS .. 117
n
n - CREA UN CUBO QUE SE DESPLACE UNIFORMEMENTE ENTRE LOS PUNTOS DE UN ARRAY O LISTA PÚBLICA DE VECTOR3 , PERO QUE ELIJA ALEATORIAMENTE EL SIGUIENTE PUNTO DE LA COLECCIÓN AL QUE DESPLAZARSE .. 119
n - CREA UNOS CUANTOS OBJETOS CON EL TAG «DESAPARECER» EN LA ESCENA, MANUALMENTE. AL PULSAR LA TECLA ESPACIADORA, TODOS LOS OBJETOS DEBEN DESACTIVARSE. LOS OBJETOS NO PUEDEN TENER NINGÚN SCRIPT AÑADIDO. EL EJERCICIO HA DE FUNCIONAR SIN MODIFICAR EL CÓDIGO AUNQUE SE AÑADAN O QUITEN OBJETOS
n
nDE LA ESCENA .. 123
n
nEL BUCLE FOREACH . 127
n
n - INSTANCIA DIEZ CUBOS EN LA ESCENA EN POSICIONES ALEATORIAS ENTRE -10 Y 10 EN CADA EJE. AL PULSAR EL ESPACIO, DEBEN DESTRUIRSE LOS QUE TENGAN POSICIONES POSITIVAS EN EL EJE X.. 129
n
nKEY CODE .. 131
n
n
n
nTERCERA PARTE
n
nA POR LOS COMPONENTES .. 135
n
n - CREA UNA ESFERA QUE CAMBIE DE COLOR CUANDO SE CLICA EN ELLA. 135
n
nEL MÉTODO GETCOMPONENT . 137
n
n - CREAR DOS ESFERAS. AL CLICAR SOBRE UNA, LA OTRA CAMBIA DE COLOR . 138
n
nLA PROPIEDAD MATERIAL .. 140
n
n - GENERA UN EFECTO DE MOVIMIENTO MODIFICANDO EL OFFSET DE LA TEXTURA DE UN MATERIAL DE UN PLANO O QUAD . 141
n
nLA FUNCIÓN SETTEXTUREOFFSET .. 144
n
nA POR LAS FÍSICAS . 145
n
n - CREAR UNA ESFERA EN EL PUNTO Y=10 Y UN SUELO EN EL Y=0 .HACER QUE LA ESFERA CAIGA AL PULSAR EL ESPACIO. LA ESFERA TIENE QUE REBOTAR COMO UN BALÓN DE BALONCESTO . 146
n - CREA UNA ESFERA EN EL PUNTO Y=10 Y UN SUELO EN EL Y=0 .HAZ QUE LA ESFERA CAIGA AL PULSAR EL ESPACIO. LA ESFERA TIENE QUE REBOTAR COMO UN BALÓN DE BALONCESTO . 151
n
nLA FUNCIÓN COMPARETAG . 154
n
n - CREA UNA ESFERA EN EL PUNTO Y=10 Y UN SUELO EN EL Y=0 .HAZ QUE LA ESFERA CAIGA AL PULSAR LA TECLA ESPACIADORA. LA ESFERA TIENE QUE REBOTAR COMO UN BALÓN DE BALONCESTO Y DESTRUIRSE AL REBOTAR DOS VECES .. 157
n - CREA UNA ESFERA EN REPOSO SOBRE UN SUELO. AL PULSAR LA TECLA S, RECIBE UNA FUERZA PUNTUAL HACIA ARRIBA Y HACIA LA DERECHA . 160
n - CREA UNA ESFERA EN REPOSO SOBRE UN SUELO. MIENTRAS LA TECLA S PERMANEZCA PULSADA, LA ESFERA DEBE RECIBIR UNA FUERZA CONSTANTE HACIA ARRIBA Y HACIA LA DERECHA . 163
n - CREA UNOS CUANTOS OBJETOS CON EL TAG «NEWTON». AL PULSAR ESPACIO, DEBE ACTIVARSE LA GRAVEDAD DE TODOS ESOS OBJETOS. LOS OBJETOS NO PUEDEN TENER NINGÚN SCRIPT AÑADIDO. EL EJERCICIO TIENE QUE FUNCIONAR SIN MODIFICAR EL CÓDIGO AUNQUE SE AÑADAN O
n
nQUITEN OBJETOS DE LA ESCENA . 166
n
n - CREA UN RAYCAST QUE NOS DIGA EN QUÉ OBJETO DE LA ESCENA HEMOS HECHO CLIC. 169
n - AL CLICAR EN UN OBJETO, DESTRUIR TODOS LOS DEMÁS QUE ESTÉN EN RANGO 10 DESDE ESE OBJETO .. 172
n
nEL CASO DE CAMERA.MAIN .. 176
n
n - CREA UNA CÁPSULA CENTINELA QUE ROTA SOBRE SÍ MISMA.EMITE UN RAYCAST DE DISTANCIA 5 QUE DESTRUYE SOLO A ESFERAS SI LAS TOCA .. 178
n
n43- CREA UNA CÁPSULA CENTINELA QUE ROTA SOBRE SÍ MISMA. EMITE UN RAYCAST DE DISTANCIA 5 QUE DESTRUYE LAS ESFERAS SOLO SI LAS TOCA. 181
n
nMÁS COMPONENTES: ¡LUCES, CÁMARA, ACCIÓN! . 184
n
n - UTILIZANDO DOS LUCES POINT ROJA Y AZUL, CREA EL EFECTO DE UN COCHE DE POLICÍA APAGÁNDOLAS Y ENCENDIÉNDOLAS ALTERNATIVAMENTE . 185
n - CREA UN EFECTO DE LUCES DE NAVIDAD. EL SCRIPT DEBE FUNCIONAR INDEPENDIENTEMENTE DEL NÚMERO DE LUCES. UTILIZA POINT LIGHT Y UN ARRAY PÚBLICO PARA ENLAZARLAS (REFERENCIARLAS) AL SCRIPT . BASTA CON QUE CADA LUZ ALTERNE, NO ES NECESARIO PROGRAMAR DIFERENTES MODOS .. 188
n - CREA UN EFECTO DE LUCES DE NAVIDAD. EL SCRIPT DEBE FUNCIONAR INDEPENDIENTEMENTE DEL NÚMERO DE LUCES. UTILIZA POINT LIGHT Y UN ARRAY PÚBLICO PARA ENLAZARLAS (REFERENCIARLAS) AL SCRIPT . BASTA CON QUE CADA LUZ ALTERNE, NO ES NECESARIO PROGRAMAR DIFERENTES MODOS . 190
n - CREA UN EFECTO «BOMBILLA A PUNTO DE FUNDIRSE» .. 193
n
nVENTAJAS DE LAS CORRUTINAS . 197
n
nLIMITACIONES DE LAS CORRUTINAS . 197
n
n - CREA UN SEMÁFORO DE TRÁFICO, INCLUYENDO LA LUZ ÁMBAR.COMO BUEN SEMÁFORO, DEBE PASAR MÁS TIEMPO EN ROJO QUE EN VERDE .. 199
n - AL CLICAR CON EL BOTÓN IZQUIERDO DEL RATÓN, CAMBIA EL COLOR DE FONDO DE LA CÁMARA. AL CLICAR CON EL BOTÓN DERECHO, EL FONDO SE PONE BLANCO . 201
n - CREA UN ESCENARIO SIMPLE Y COLOCA CUATRO CÁMARAS. CADA UNA DEBE RENDERIZARSE EN UNA CUARTA PARTE DE LA PANTALLA, COMO EN EL MARIO KART, POR EJEMPLO . 205
n - CREA CINCO OBJETOS EN LAS POSICIONES X=0 , X=10 , X=20 , ETC.PULSANDO LOS NÚMEROS 1 A 5, LA CÁMARA DEBE DESPLAZARSE PARA ENFOCAR AL OBJETO ADECUADO (EL NÚMERO 1 SE CORRESPONDE CON EL OBJETO EN X=0). 207
n - CREA UN SISTEMA DE PARTÍCULAS QUE EMITA SOLO CUANDO LAS TECLAS Q Y P ESTÉN PULSADAS A LA VEZ. 210
n - CREA UN OBJETO CON UN AUDIOSOURCE QUE SOLO REPRODUCE SONIDO MIENTRAS NO SE VE.. 214
n
nEL COMPONENTE AUDIOSOURCE EN UNITY .. 217
n
n
n
nCUARTAPARTE
n
nINTERFACES DE USUARIO (UI) . 226
n
n - CREA UN SENCILLO REPRODUCTOR DE MÚSICA . 227
n - AÑADE UN SLIDER PARA CAMBIAR EL VOLUMEN A TU REPRODUCTOR DE MÚSICA . 233
n
nCREA UN SLIDER .. 233
n
nCONFIGURA EL SLIDER .. 233
n
nASIGNA EL SLIDER .. 236
n
nEL EVENTO ONVALUECHANGED .. 236
n
n - SOBRE EL EJERCICIO ANTERIOR, EL VOLUMEN DEBE PERMANECER DE UNA EJECUCIÓN A OTRA (USANDO PLAYERPREFS) .. 238
n - CREA UN BOTÓN DE UI QUE AL PULSARSE INSTANCIE UNA ESFERA EN UNA POSICIÓN ALEATORIA ENTRE -10 Y 10 EN CADA EJE.. 242
n - CREA UN TEMPORIZADOR DE DIEZ SEGUNDOS CON UNA IMAGEN RADIAL. . 246
n - CREA UNA INTERFAZ DE USUARIO SIMPLE CON UN TEXTO O UNAIMAGEN CENTRADA EN LA PANTALLA A MODO DE MIRILLA. HAZ QUE LACÁMARA ROTE EN FUNCIÓN DEL MOVIMIENTO DEL RATÓN (COMO EN UN JUEGO DE PRIMERA PERSONA) .. 252
n
n6O. SOBRE EL EJERCICIO ANTERIOR, LANZA UN RAYCAST, EN DIRECCIÓN DE LA MIRILLA AL HACER CLIC, QUE INSTANCIE UN SISTEMA DE PARTÍCULAS AL COLISIONAR . 255
n
nDESGLOSE DEL SRP: . 258
n
n - CREA UN SISTEMA DE DIÁLOGO SIMPLE, ESTILO NOVELA VISUAL, CON ARRAYS O LISTAS PARA EL GUION, Y UN PANEL Y TEXTO EN LA INTERFAZ DE USUARIO. AL PULSAR LA TECLA ESPACIADORA APARECE LA SIGUIENTE LÍNEA DE GUION . 260
n
nPRINCIPALES CARACTERÍSTICAS Y FUNCIONES DEL COMPONENTE TEXT .. 262
n
n - SOBRE EL EJERCICIO ANTERIOR, CARGA EL GUION DESDE UN ARCHIVO EN LA CARPETA RESOURCES .. 263
n
nCARPETAS ESPECIALES . 267
n
n - CREA UN CONTADOR DE CLICS SOBRE UN BOTÓN DE UI. 269
n - SOBRE EL EJERCICIO ANTERIOR, HACER QUE EL CONTADOR PERMANEZCA DE UNA EJECUCIÓN A OTRA (SIN USAR LA CLASE PLAYERPREFS ). 272
n
nLA SERIALIZACIÓN .. 276
n
nLA DIRECTIVA USING . 277
n
n - SOBRE EL EJERCICIO ANTERIOR, CREA UN BOTÓN PARA RESETEAR LOS CLICS. .. 279
n
nLA ENCAPSULACIÓN .. 279
n
n
n
nQUINTA PARTE
n
n - CREA UN OBJETO QUE SE MUEVA DE FORMA SENOIDAL EN UN EJE.EL EJE Y LA AMPLITUD DEL MOVIMIENTO DEBEN ESTAR DADOS POR PARÁMETRO . 285
n - CREA UNA ESFERA QUE SIGA SUAVEMENTE AL OBJETO DEL EJERCICIO ANTERIOR .. 288
n - CREA UNA TRAMPA DE PINCHOS QUE APARECE Y DESAPARECE DEL SUELO . 291
n - CREA TRES ESCENAS. CADA UNA DEBE TENER 2 BOTONES QUE PERMITAN IR A LAS OTRAS ESCENAS . 294
n
nSCENE MANAGER . 295
n
n - CREA LA CLASE GLITCHOSAURIO . LOS GLITCHOSAURIOS TIENEN FUERZA, RESISTENCIA Y TAMAÑO. PUEDEN MOVERSE, COMER, ESCONDERSE Y BUGUEARSE . NO ES NECESARIO QUE IMPLEMENTES EL INTERIOR DE LOS MÉTODOS . 297
n - CREA LA CLASE CRIA QUE HEREDA DE GLITCHOSAURIO . LAS CRÍAS DE GLITCHOSAURIO TIENEN CARISMA Y SABOR .. 304
n - LOS GLITCHOSAURIOS PUEDEN COMER CUALQUIER GLITCHOSAURIO DE MENOR TAMAÑO SI SU FUERZA ES MAYOR QUE LA RESISTENCIA DE LA VÍCTIMA. SI LA VÍCTIMA ES UNA CRÍA, LA FUERZA DEL CAZADOR SE INCREMENTA TANTO COMO EL VALOR DEL SABOR DE LA CRÍA.. 307
n - GENERA 300 GLITCHOSAURIOS CON VALORES ALEATORIOS Y GUÁRDALOS EN UNA LISTA . 310
n
nLOS PATRONES DE DISEÑO . 312
n
n - ELIMINA TODOS LOS GLITCHOSAURIOS DE LA LISTA CUYA FUERZA Y RESISTENCIA SEAN IGUALES .. 314
n
nLAS EXPRESIONES LAMBDA .. 314
n
nLANGUAGE INTEGRATED QUERY (LINQ) .. 316
n
n - IMPRIME POR CONSOLA EL NUEVO NÚMERO DE GLITCHOSAURIOS .. 318
n - CREA UN SCRIPT QUE GENERE UNA ESFERA CADA 0.25 SEGUNDOS Y ESTA RECIBA UNA FUERZA ALEATORIA HACIA ARRIBA Y A LA DERECHA . 321
n
nVARIABLES PÚBLICAS . 322
n
nAPLICACIÓN DE LA FUERZA ASCENDENTE . 323
n
n77- SOBRE EL EJERCICIO ANTERIOR, CREA UN SUELO DEBAJO DEL PUNTO DE INSTANCIA. LAS ESFERAS QUE TOQUEN EL SUELO RECIBIRÁN UNA FUERZA ASCENDENTE HACIA LA IZQUIERDA, TAMBIÉN ALEATORIA .. 325
n
n - SOBRE EL EJERCICIO ANTERIOR, EL GENERADOR INICIA «APAGADO» Y SE ENCIENDE Y APAGA PULSANDO LA TECLA ESPACIADORA . 328
n
nLA FUNCIÓN CANCELINVOKE .. 331
n
n - SOBRE EL EJERCICIO ANTERIOR, CREA UN TEXTO EN LA UI QUE LLEVE LA CUENTA DE LAS ESFERAS GENERADAS .. 332
n - CREA UN CUBO. CADA VEZ QUE HAGAS CLIC EN ÉL CON EL BOTÓN DERECHO, DEBE RECIBIR UNA FUERZA HACIA ARRIBA Y UN TORQUE ALEATORIO .. 338
n - HAZ UN SCRIPT PARA QUE UN OBJETO SE VUELVA ROJO CUANDO SUBE Y AZUL CUANDO BAJA, TENIENDO EN CUENTA SU VELOCIDAD (PUEDES
n
nUSAR EL CUBO DEL EJERCICIO ANTERIOR) .. 341
n
nLA PROPIEDAD VELOCITY .. 344
n
n - HAZ QUE UNA CÁMARA SIEMPRE APUNTE A UN OBJETO (PUEDES USAR EL CUBO DEL EJERCICIO ANTERIOR) . 346
n - CREA UN CUBO QUE INSTANCIA OTRO CUBO AL CLICAR EN ÉL, Y LUEGO SE DESTRUYE. EL CUBO INSTANCIADO DEBE TENER EL MISMO COMPORTAMIENTO .. 348
n - AUMENTA O DISMINUYE LA INTENSIDAD DE UNA LUZ CON LA RUEDA DEL RATÓN .. 352
n - CREA UN CONTADOR DE CLICS Y MUESTRA EL NÚMERO EN LA UI. 354
n - IMPRIME POR CONSOLA LA POSICIÓN DEL PUNTERO DEL RATÓN EN LA PANTALLA . 356
n - HAZ QUE UN CUBO SEA MÁS ROJO CUANTO MÁS CERCA ESTÉ DE LA CÁMARA . 358
n
nLA CLASE COLOR EN UNITY . 360
n
n - CREA DOS ESCENAS Y PERMITE QUE SE PUEDA CAMBIAR DE UNA A OTRA. CREA UN AUDIOSOURCE EN LA PRIMERA ESCENA Y HAZ QUE LA MÚSICA SIGA SONANDO AL CAMBIAR DE ESCENA, PERO QUE NO SE DUPLIQUE .. 361
n - HAZ QUE DOS OBJETOS SE INTERCAMBIEN LOS NOMBRES CUANDO COLISIONAN .. 364
n - CREA CINCO CUBOS. CADA CUBO DEBE CORRESPONDERSE CON LOS NÚMEROS 1 AL 5. AL PULSAR UNO DE ESOS NÚMEROS, EL CUBO CORRESPONDIENTE AUMENTA EN 0.1 SU ESCALA EN Y. USA SOLO UN SCRIPT PARA TODOS LOS CUBOS . 367
n - ESCRIBE UN SCRIPT QUE IMPRIMA POR CONSOLA EL NÚMERO DE OBJETOS QUE HAYA EN LA PANTALLA CADA VEZ QUE SE PULSE LA TECLA ESPACIADORA . 370
n - HAZ QUE UN OBJETO QUE SALE POR LA PARTE DERECHA DE LA PANTALLA ENTRE POR LA IZQUIERDA Y VICEVERSA (COMO LOS ASTEROIDES Y LA NAVE DEL MÍTICO ASTEROIDS) .. 372
n - HAZ UN OBJETO QUE AVANCE HACIA LA CÁMARA MIENTRAS LA CÁMARA NO LO VE. 375
n - HAZ QUE UNA ESFERA SIGA AL RATÓN. LA CÁMARA DEBE ESTAR ENZ = -10 Y LA ESFERA EN Z=0. 377
n - HAZ QUE EL COLOR DE FONDO DE LA CÁMARA CAMBIE DE FORMA PROGRESIVA Y ALEATORIA . 380
n - CREA UN SCRIPT QUE MODIFIQUE LA GRAVEDAD DE LA ESCENA CADA VEZ QUE SE PULSAN LOS CURSORES. LA FLECHA DE CADA CURSOR INDICA LA DIRECCIÓN DE LA GRAVEDAD . 386
n - CREA DOS CAPAS (LAYERS ) PARA CUBOS Y ESFERAS Y CREA ALGUNOS CUBOS Y ESFERAS CON SUS CORRESPONDIENTES CAPAS. DEJA LAS CAPAS DESACTIVADAS EN LA PROPIEDAD CULLING MASK DE LA CÁMARA. LUEGO HAZ UN SCRIPT QUE ACTIVE Y DESACTIVE LA CAPA DE LOS CUBOSPULSANDO LA TECLA C Y LA DE LAS ESFERAS PULSANDO LA TECLA E.. 388
n - AÑADE UN SPHERECOLLIDER A UNA LUZ DE TIPO POINT. HAZ QUE EL RADIO DEL COLLIDER SEA IGUAL AL RANGO DE LA LUZ.HAZ QUE EL RANGO DE LA LUZ AUMENTE SI SE PULSA EL BOTÓN IZQUIERDO DEL RATÓN Y DISMINUYA SI SE PULSA EL DERECHO .. 393
n - GENERA UN TRIÁNGULO DESDE CÓDIGO . 396
n - GENERA UN PLANO DESDE CÓDIGO (USANDO DOS TRIÁNGULOS) . 401
n
nREFERENCIAS BIBLIOGRÁFICAS . 405
n
nRECURSOS . 409
n
nCONTENIDOS EXTRA . 413
9786075764337
Valoraciones
No hay valoraciones aún.