Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como Multidispositivos

Fungus time!

La actividad de hoy consta de una primera toma de contacto con Fungus, un assets de Unity parecido al playmaker pero en 2D. El ejercicio no tenía una finalidad concreta, solo realizar un pequeño juego mediante block de menuúy say, yo además he metido conversación y animación al comienzo. He configurado los character y los say dialog de cada personaje y después he añadido al inspector ya cada acción y por último lo he ido conectando en la pestaña del flowchart. Para esta pequeña historia he dibujado tres personajes en modo sprite, la sinopsis trata sobre un gato que quiere comerse a un ratón y el pollo intenta de hacer que desista, en al historia puedes elegir si ser el pollo o el gato, además en cada diálogo tienes la opción de seguir insistiendo en comértelo o no.

Ya no te pierdes por este basto campo

Otro item nuevo añadido ¡el mini mapa! Ahora señores y señoras, podéis ver abajo a la derecha por donde andáis, y además, los enemigos estarán señalizados con bolas rojas y el pj con una bola azul... morada.  El mini mapa tiene poco que explicar, no lo he hecho como me han explicado, porque había que hacer más pasos y me parece que el resultado obtenido es factible y nos da la información necesario, así que los pasos son: 1. Crear un nuevo empty object, lo llamo mini mapa, ahí dentro creo una cámara que le cambio las características, hasta ahí igual que como me lo han enseñado. 2. Creo 3 esferas de diferente color y las meto en en el personaje y enemigo que corresponda, importante quitarle el collider y poner en default, para que solo la cámara configurada anteriormente las vea. 3. Creo una nueva capa, donde en el inspector de cada esfera especifico.

Inventario!!

Estoy muy orgullosa de esta mierda, porque simple será pero siento que por fin eh entendido algo en Unity. Esta actividad consistía en añadir un inventario, primero he creado los objetos, unos cristales que venían por defecto en el assets descargado, los he cambiado de color, a continuación he dibujado un cristal de forma rápida en photoshop y le he alterado el color; A continuación nos metemos en unity para sufrir. Esta vez no voy a escribir los pasos, sino que voy a diferenciar en tres grandes partes, el Manager_inventory, el canvas, donde nombraremos a los objetos, y los objetos creados. -Manager_inventory; este manager no tiene play maker, solo un state que llamaremos hash to array, el resto es en inspector, donde tendremos que añadir componentes y con las referencias. Son los siguientes componentes; Play Maker Hash Table Proxy cuatro veces y lo configuramos con las diferentes referencias, ref. strings, ref. texture, ref. key, ref. box UI. -Dentro del c...

Puntuación mejorada

Avanzando un poco más en el juego, he añadido un marcador con dos contadores, uno con la puntuación ''Items'' y otro con los objetos que hemos recogido, en el título he puesto mejorado, porque hice un primer ejercicio donde solo sumaban objetos, y le añadí, tras acabarlo hojas moradas, denominadas hojas pochas, que restan a los item, de manera que nos quita puntuación. Para realizar la puntuación he seguido los siguientes pasos: 1. Crea un un empty object, que lo he llamado manager, de puntuación. 2. En el canvas original, crear empty object (para tenerlo todo más organizado), y dentro un panel, donde diseñaremos la puntuación, yo los he llamado, items y record, esto se realiza mediante text. 3. Al manager le creamos una FSM, con los siguientes states; 4. Set Up, le añadimos la transición FINISHED, y las siguientes acciones; Set Int Value, donde creamos la variable global, numbers of items, Activate Game Object, donde arrastramos el panel, Player Pr...

POWER Mejorado, ahora pierdes vida

Mejorando un poco más los diferentes items, he añadido objetos para que la vida del pj baje o suba. Los pasos que he seguido son fáciles, he copiado el manager de salud, le he cambiado el título, ya que este quita vida, en el state dedicado a añadir vida le especifico con -, la vida que queremos quitar. Por último, el objeto dedicado a restar vida le anexamos dicho manager y fin.

POWER + Item Salud

Seguimos adecentando el intento de juego, en esta entrada le añado el power, la barra de vida, y unos item para curarnos, los pasos a seguir son los siguientes: 1. Crear un nuevo canvas, dentro del canvas de la escena de juego crear un panel. 2. Dentro crear slider y text, ambos los caracterizamos como deseemos. Hay que tener en cuenta que el slider hay que desactivar la opción de interactable y especificar la vida que queramos que tenga nuestro personaje, en mi caso 50. 3. Crear un FSM, con los siguentes states; 4. State1, llamado INIT, añadimos la transición FINISHED, le añadimos la acción wait, time 1 y FINISHED. 5. State, Set up, le añadimos la transición FINISHED, las acciones, Set Float Value, creamos una nueva variable global, llamada power_variable, en el float value, escribimos la vida con la que comenzará nuestro pj, otra acción es activate game object, donde metemos el panel. 6. Otro state, Update UI, le añadimos la transición FINISHED, y la acción Set pro...

ENEMIGO + Vida

Pasito a pasito vamos añadiendo características al juego, en esta entrada trato sobre el enemigo cómo quitarle vida, y mostrarla, para ello he seguido estos pasos, paciencia que es algo denso: 1. Crear objeto, crear canvas, meter dentro del enemigo el canvas. 2. Crear un FSM en el enemigo. 3. Añadir state, añadir acción Itween Shake Position, y configurar. 4. Configurar el canvas que está dentro del enemigo, seleccionar world space, la cámara habría que meterla, pero yo sin hacerlo me ha funcionado. 5. Alterar el tamaño del canvas en el rect transform, no con las teclas. 6. Dentro del canvas añadir un slider, alterar a gusto, colores, tamaño, alterar el handle etc. 7. Dentro del objeto quitar el componente mesh collider y añadir box collider, activar el trigger, copiar este componente. 8.Crear dentro del objeto un empty object, y pegar el collider, este no tendrá el trigger activado. 9. Crear una nueva FSM al enemigo. 10. El rpimer state lo llamamos listener, l...

SOLUCIONADO Botones en el juego

La semana pasada tenía un problema con los botones de unity, en el susodicho juego inventado, ya está TODO solucionado, todos los botones van, tal vez ahora debería tratar de ponerles un fondo más atractivo, pero por algo se empieza, aprovecho para ir despiezando los macro apuntes, que son larguísimos, así que iré poco a poco. Para realizar la transición de una pantalla a otra de desvanecimiento he utilizado las acciones Fade in y fade out. 1. Ahora para pasar de una escena a otra en el canvas de la escena he creado un state que añado el evento creado que llamo la acción y el nombre del botón, ejemplo press_''nombrebotón''. 2. Creo un nuevo state, lo llamo como a la escena a la que quiero ir, go_talescena. 3. En ese state añado dos acciones, Set String Value, selecciono el evento global scene_to_load, y abajo escribo la escena a la que queremos ir. 4. La segunda acción se llama Send Event, seleccionamos Game Object FSM, Specify Game Object, y seleccio...

Inicio de posible intento de juego

En el ejercicio de la semana pasada había que realizar una introducción de un juego, para esta actividad utilicé assets gratuitos low poly, los pasos que he seguido son; 1. Tras crear el escenario, crear un canvas donde montaremos la introducción del juego. 2. Cree una carpeta llamada IMG, dentro del Proyect, donde coloqué las imágenes vectoriales (guardadas en png), para volcarlas en el canvas, antes de trabajar con ellas hay que cambiar el Texture Type, a Sprite (2D and UI), apra poder incorporarle interacciones. 3. Cree otra carpeta llamada Animaciones, en las cuales cree los un clip por cada imagen, donde aparecía y desaparecía, (animé el canal alpha). 4. Cree una cámara nueva y la animé.  5. Empecé a montar todos estos objetos en el Playmaker, utilicé dos acciones, Activate Game Object y Wait. 6. Utilicé la accción, Activate Game Object para que se activara dicho objeto con su respectiva animación, tras activa...

Atacar + Enemigo

Por motivos de tiempo, no podré colocar la teoría completa del proceso de esta actividad. Los pasos a grandes rasgos son: 1. Crear el character controller 3º persona, mediante el blendtree. 2. Preparar el ataque mediante el trail_renderer. 3. Preparar la animación del ataque, y añadir al animator, configurar las transiciones. 4. Configurar el Play maker del player con dos máquinas de estado, enemigo y el raycats. 5. Configurar el enemigo en el play maker y en el input. Si se quiere crear un segundo ataque duplicar los assets del player; get axis x2, get button down, set animator bool, create object, configurar con el ataque 2, en el state del attack 2, copiar los del ataque 1 y configurar. Como sugerencia dependiendo de la animación dela ataque y el tipo de ataque podríamos meter el empty de punto de partida dentro del rig del player, concretamente en la mano, u otro sitio conveniente. *Si la tutora quiere ver los apuntes que me los pida, ya que es dema...

Character Controller II

En otra entrada anterior, Creación de un Character Controller , expliqué como crear uno. Hoy, explico otra manera, a mi parecer mucho más sencilla y rápida, utilizaremos el Blend Tree de Unity. Para crear un character controller mediante el Blend Tree hay que seguir estos pasos: 1. Creamos el personaje. 2. Creamos el character controller, en el inspector del personaje deseado. 3. Crear en la carpeta de assets, new animator controller. 4. Arrastramos ese nuevo controlar al personaje, creando así que animator configurado. 5. Vamos al animator, botón derecho, crear state, From New Blend Tree. 6. Picamos dos veces, cotón derecho y seleccionamos Add Motion, en nuestro caso 5 veces, una para la animación de idle y las restante para cada dirección de andar, cada una con su correspondiente animación. 7. Vamos al inspector arrastramos a las cajas las diferentes animaciones, hay que configurar las animaciones de la siguiente manera: 8. Creamos dos parámetros, Input_V...

Pi pi pi... Elemento detectado!

En el ejercicio de hoy hemos aprendido a detectar objetos, el denominado raycast, es un rayo imaginario que interacciona con los elementos más cercanos. Los pasos a seguir son: Creamos un Fps controller. Dentro del Fps, First Person Controller, picamos y vamos al play maker. Creamos un state que llamamos listener. Creamos un evento que llamaremos Raycast_detected. Añadimos el nuevo evento como transición. A ese state añadimos la siguiente acción; Raycast, hay que cambiar varios detalles: Hay una apartado, llamado Element 0, dentro de Layer Mask, Filter. Para que nos salga la opción de colocar el objeto a detectar, hay que crear una nueva capa, en el inspector. Creamos otro state, lo llamamos Shakey añadimos la transición FINISHED. A ese state le añadimos la acción, Itween Shake Position, igualmente hay que cambiar: Cuando vayamos a probar nuestro intento de ray cast, deberá verse algo como esto, en la ventana de scene, deberá aparecer una línea amaril...

Diferentes tipos de JOINT

Hay varios tipos de interacción entre varios objetos, en Unity están los diferentes tipos de joint: Fixed Joint. Spring Joint. Hinge Joint. Los pasos a seguir para colocarlos son: Se añade el joint al elemento que catalogaremos como ''padre''. Al ''hijo'' le añadimos un rigdbody. Arrastramos el elemento al rectángulo específico dentro del joint del elemento ''padre''. Cosas a tener en cuenta, por cada elemento ''hijo'' deberemos crear un joint, dentro del ''padre''. Si queremos que el ''padre'' esté estático en el lugar donde lo coloquemos, ya sea en el suelo o suspendido en el espacio dentro del rigdbody activamos la casilla Is kinematic.

Posible huida

Para realizar esta práctica denominada ''enemigo'', hay que descargarse un par de cosas, iTween e importar iTween move to 2. Los pasos a seguir para crear la trayectoria del enemigo son los siguientes: Crear Game object, lo llamamos trayectoria. Dentro del create empty añadimos en el inspector el Itween Path y mediante los nodes definimos el recorrido, mínimo dos, el principio y el final. En el playmaker añadimos un state al enemigo, el cubo, en mi caso. Añadimos la acción Itween move to_v2. IMPRTANTE: Path name , tenemos que escribir el mismo nombre que le pusimos en la trayectoria. Por último hay varios parámetros que podemos alterar.

Creación de un character controller

Tras dos semanas intentando de configurar un monigote, en clase nos enseñaron una segunda manera, que si bien no ha salido como esperaba, es bastante más sencilla. Los pasos a seguir son: Crear un character controller. Arrastrar el controlador y las animaciones al cuerpo, de esta manera se creará el animator, el avatar hay que arrastrarlo también a su lugar correspondiente en el animator. En la pestaña de animator configuramos el idle para que sea la animación por defecto al empezar la secuencia. Hay que asegurarse de que la animación sea un secuencia cerrada y cíclica, sin cortes, por si hay fallos seleccionamos la casilla loop time y loop pose. Creamos las condiciones, en Unity se denominan parámetros, creamos dos parámetros float, llamados, ''Input_Vertical'', ''Input_Horizontal''. Creamos dos transiciones, de la animación walk a idle y viceversa, seleccionamos una de las dos en el inspector tenemos que ver que la casilla Has exit time, ...

Recogiendo los libros

Una actividad propuesta por la tutora era realizar un pequeño ejercicio en el cual gracias a un assets medieval que tenía un escenario bastante decente crear un score donde tuviéramos que recoger los libros, es decir los puntos serían puntos. Para ello he seguido los pasos que escribí en la entrada  SCORE . La complejidad de este ejercicio residía en que teníamos que programar la puerta de tal manera que no pudiéramos salir hasta que tuviéramos los cuatro libros. Para ello he seguido estos pasos, básicamente lo que queremos hacer es que cada vez que la puntuación cambie pase por detector para ver si tenemos todos los objetos, cuando los consigamos todos se abrirá la puerta automáticamente: Crear la animación de la puerta, hay que recordar cambiar el pivot, ya que la animación es de rotación. Dentro de la puerta, el objeto se añade dos states; State 1: crear un evento global, 4 libros (son lso libros que hacen falta para salir). State 2: añadir la acción Play Animati...

Aplicando todo lo que sé, de momento

En este escenario he aplicado todos los conocimientos que tengo hasta el momento, los puntos, luces etc, es simple, pero complicado ya que he puesto una distancia entre cada cuadrado exacta, de tal manera que si no realizar un salto perfecto, es decir, con la máxima longitud caerás y comenzaras de nuevo. También tiene un par de bromas, caminos aparentemente cortado y un atajo que puede transformarse en un infierno, simple pero creo que divertido, para ver jugar a alguien. Partes divididas, hay tres zonas, el césped, que es la más fácil, las plataformas son grandes y no hace falta realizar un salto de máxima amplitud, termina en un árbol donde podrás conseguir 2 puntos. Un segundo camino con textura cristal, que se accede por el camino de césped. Este nivel tiene un punto sobre una plataforma que no tiene collider, por lo que al saltar la traspasas y caes en un cubo transparente, en el cual se te avisa que no es bug. El tercer camino es de roca, tiene una dos plataforma...

SCORE

Tras luchar contra dragones y ogros por fin conseguí realizar un score, un sistema de puntuación decente, los pasos son los siguientes: Crear dos empy objet, llamarlo manager_punto y punto Dentro del manager_punto, en el Playmaker creamos 4 states, en el Punto 3 states. Dentro del Punto configuramos los diferentes States. State 1: Transición, Trigger enter. No olvidar activar Is trigger. State 2: Transición Finished. Añadimos la acción Send event. State 3: Añadimos la acción Destroy self. A continuación vamos a los states del manager. State 1: Añadir la acción Set Int Value, crear la variable Puntos. Añadimos la transición Finished. Antes de seguir con los states, en Hierarchy creamos un canvas, y dentro un text, todo esto está dentro de UI. State 2: Añadimos la acción Convert Int to String, creamos una neuva variable, en Int Variable seleccionamos la variable creada anteriormente, que la llamamos Puntos, String Variable, creamos la variable Puntos_texto. Creamos otra ac...

Ya no me puede robar

Hemos aprendido ha cerrar y abrir las puertas, el primer ejercicio consistía en crear una aniamción tipo legacy, fácil y sencilla. Primero hay que activar animation y grabar la animación, tanto de apertura como de cerrar. A continuación vamos al inspector, seleccionamos el modo debug y activamos legacy, una vez terminado volvemos a dejarlo en el modo normal. Por último borramos animator. Ahora hay que ir a assets, encontraremos tres elementos, las dos animaciones y el controlador, arrastramos las dos animaciones dentro de la puerta, del objeto. Para finalizar, configuramos el Play Maker, como hemos hecho en anteriores ejercicios, se crea los assets, se añaden los eventos y se utiliza la acción de Play animation. Para que la puerta se abra automáticamente al acercarse nuestro personaje en primera persona, hay que crear un box colider, y configurarlo, cambiar su tamaño para que delimite el área de la puertas y por último,  hay que meterlo dentro del objeto de la puerta. ...