Autor Tema: [LOG] Testerizer  (Leído 990 veces)

HHErebus

  • @hherebus
  • Socio
  • New Jammer
  • *
  • Mensajes: 46
  • Molas: 10
    • The Immortal Hydra
[LOG] Testerizer
« en: 24 de Agosto de 2015, 10:16:59 am »
    Testerizer

              Cartucho animación

    How to:
    • Importando el paquete en Unity se añade una nueva voz al menú de Unity, llamada Testerizer (si no aparece, hay que forzar el menú a actualizarse haciendo click en cualquier de su opciones).
    • Entrar en modalidad Play
    • Clic en "Load Animation Shell" en el menú Testerizer
    • Seleccionar el gameobject que se quiere animar, y la animación
    • Clic en Play

    Demo


    Descarga: aquí

    Changelog
    Spoiler for changelog:
    Spoiler for v0.6:
    Movido toda la funcionalidad a EditorWindow
    Spoiler for v0.5 - release inicial:
    Primera release, funcionalidad básica.



              Post original

    Spoiler for post original:
    Tengo esta ventana abierta hace dos semanas y nunca termino escribir esta introducción. Pero por dios, hoy será el día!

    Pues después de Gamépolis y de esta charla de James Benson en la GDC me he dado cuenta que testear animaciones en Unity es un coñazo. Si quiero ver como queda una animación en el motor tengo tres posibilidades:
    • Miro como queda en la preview del importer, que no sirve para mucho.
    • Hago un controller que solo lleva esta animación (y escribo un script que llame a Play())
    • Me pongo con la ventana del animator abierta, en una escena, y modifico los parámetros para que la maquina de estados llegue al estado que quiero.
    Esto pasa con las animaciones, pero también pasa en un montón de otras areas de desarrollo en Unity. Y claro siendo cosas "minores" nunca se arreglan. Pues sabes qué? No me valen.

    Introduciendo: Testerizer

    Pero que me vas contando Christian
    Lo se, lo se. Es que estoy en un periodo de "resaca Unity". Quiero que Unity sirva a mi, no a millones de desarrolladores, y que tenga herramienta que me ayude exactamente como quiero. En un cierto sentido, quiero apropiarme (aunque sea en una manera superficial) de Unity y de su interfaz.
    Con este sentimiento en el corazón he empezado a cambiar algunas cositas en el editor, hasta plantear crear una herramienta más completa y modular para ayudar en el desarrollo, así que si necesitas testear animaciones pero no te hace falta la parte de programación, puedes hacerlo. De todas formas, así ha nacido la escopeta del testing/desarrollo (aunque todavía es una nerf gun), el Testerizer.

    Creciendo
    Como todos los proyectos que van a cambiar la cara del mundo del desarrollo ( ;) ), me gustaría saber si os gusta, si encontráis fallos que me han escapado, y como lo mejoraríais. Planteo crear varios "cartuchos" (módulos), y que cada uno se ocupe de algo, así que Tened en cuenta que todavía es en desarrollo activo. De hecho os las features que están planteadas ya:
    • Poner la herramienta en su propia ventanita bonita
    • Cartucho animación: una lista selección (se llama así?) de objetos con componente animator en la escena, para poder testear sin necesitar añadir una componente a cada gameobject. Hecho!
    • Cartucho animación:"embellezer" (beautify) los nombres de las animaciones. Hecho!
    • Cartucho animación:Poder crear y asignar un spline a una malla, y que la malla siga el trayecto.
    • Cartucho animación:Animar más de una capa a la vez.
    • Cartucho código:Comentario QQQ, o sea, poder añadir algo en plan "//QQQ: esto es un hack un poco feo, arreglar" a un script, y tener una lista accesible de todos estos.
    • Cartucho level designer:Guardar el "estado" de una escena y poder volver a él, en plan "versiones" de una escena.
    • Cartucho level designer:Guardar el estado de la cámara, para crear "marcadores" de escena.
    • Cartucho producción:Integración de agile en Unity.

    Tened en cuenta que se que algunas de estas cosas ya existen (algunas pagando, otras gratis), pero estoy creando este proyecto para profundizar mi conocimientos de programación, en cosas básicas que nunca he entrenado seriamente (trabajar con ficheros y todos los dolores de cabeza que comporta, por ejemplo) y en cosas más avanzadas como la reflexión.

    How do I door
    Es bastante fácil, realmente! Importando Testerizer aparece matemagicamente el pulsante "Testerize" en cualquier componente animator. Haciendo click se añade la componente correcta al gameobject, y se cargan automáticamente las animaciones. Cuando estáis en play mode, podéis hacer click en la animación que queréis, y voilá, funciona.

    Espero os guste, iré actualizando post y fichero de release en release!
    [/list]<- no consiguo encontrar donde se genera esto, entonces lo dejo aquí como decoración rarita.

    JuDelCo

    • En evolución
    • Socio
    • Super Jammer
    • ***
    • Mensajes: 240
    • Molas: 35
    • The Game
      • Twitter
    Re:[LOG] Testerizer
    « Respuesta #1 en: 24 de Agosto de 2015, 06:35:50 pm »
    Pero haz una imagen o algo que sino la gente no se lo cree  ;D

    Contemplad el poder de Testerizer:


    HHErebus

    • @hherebus
    • Socio
    • New Jammer
    • *
    • Mensajes: 46
    • Molas: 10
      • The Immortal Hydra
    Re:[LOG] Testerizer
    « Respuesta #2 en: 24 de Agosto de 2015, 10:08:06 pm »
    Ostras, grabé un par de screenshot pero siendo del inspector me parecían feísimos, entonces no los he incluido. Pero esta gif mola un montón! :D Muchas gracias!

    JavierOrtiz

    • Jammer
    • **
    • Mensajes: 86
    • Molas: 8
    Re:[LOG] Testerizer
    « Respuesta #3 en: 26 de Agosto de 2015, 06:17:50 pm »
    Pues me parece una idea cojonuda lo del Testerizer, pongo este post en favoritos  ;)

    Por cierto a mi una de las cosas que más me sacan de quicio en Unity es no poder cambiar el pivot point de los objetos. Me baje un script que había por internet una vez y funcionó, pero me tiré un rato para hacer algo que en Blender, Maya, etc tardas 2 segundos.

    HHErebus

    • @hherebus
    • Socio
    • New Jammer
    • *
    • Mensajes: 46
    • Molas: 10
      • The Immortal Hydra
    Re:[LOG] Testerizer
    « Respuesta #4 en: 26 de Agosto de 2015, 11:37:53 pm »
    Pues me parece una idea cojonuda lo del Testerizer, pongo este post en favoritos  ;)

    Gracias! ;D

    Por cierto a mi una de las cosas que más me sacan de quicio en Unity es no poder cambiar el pivot point de los objetos.

    Nunca me había fijado en esto, pero es verdad que a mi también ha pasado. Lo investigo un poco justo para no añadirlo a la lista y luego enterarme que necesita evocar a satanás para hacerlo, pero me parece una idea super buena para una feature futura, muchas gracias! :D

    JaviCepa

    • Socio
    • Mega Jammer
    • ****
    • Mensajes: 433
    • Molas: 45
      • @JaviCepa
    Re:[LOG] Testerizer
    « Respuesta #5 en: 29 de Agosto de 2015, 11:20:13 am »
    A ver si saco un rato para probarlo, tiene una pinta muy buena!

    HHErebus

    • @hherebus
    • Socio
    • New Jammer
    • *
    • Mensajes: 46
    • Molas: 10
      • The Immortal Hydra
    Re:[LOG] Testerizer
    « Respuesta #6 en: 15 de Septiembre de 2015, 09:16:29 pm »
    Por fin he vuelto a España, y aquí la nueva versión del cartucho de animación! Ahora toda la funcionalidad está en una ventana separada, así que no hace falta añadir la componente a los gameobjects.
    En general es todo mucho más estable y responsivo gracias a una pequeña funcion llamada OnHierarchyChange(), que es una pasada <3

    He actualizado el primer post con el nuevo fichero!