domingo, 31 de octubre de 2021

Como provocar animaciones humanas por colisiones con C# en Unity.;

 

 

 

Como ago para que al tocarme el gigante me golpe o si lo golpeo yo 

a el se ponga a bailar…

uso este script de c#.....y sigo explicando...

 

 


 

  using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class muevopottacmonstruotatuado : MonoBehaviour {


        public Animator Anim;
        public float WalkSpeed;

        void Update () {


        }
            void OnCollisionEnter (Collision collision)
            {

//    }//   NO ES ORIGINAL PERO FUNCIONA TAMBIEN
//    void OnCollisionStay(Collision collision)//   NO ES ORIGINAL PERO FUNCIONA TAMBIEN

//    {//   NO ES ORIGINAL PERO FUNCIONA TAMBIEN

            //}//   NO ES ORIGINAL PERO FUNCIONA TAMBIEN
        //    void OnCollisionExit(Collision collision)//   NO ES ORIGINAL PERO FUNCIONA TAMBIEN

            //{//   NO ES ORIGINAL PERO FUNCIONA TAMBIEN


            if (collision.gameObject.tag == "detona") {

//        if (Input.GetKey (KeyCode.S)) {/////////////  imbento yoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
            Anim.SetBool ("corre", true);
            transform.Translate (Vector3.forward * WalkSpeed * Time.deltaTime);
        } else {
            Anim.SetBool ("corre", false);//// ORIGINAL
        



            if (collision.gameObject.tag == "pico") {

                //if (Input.GetKey (KeyCode.K)) {///////////////////////////////////////originallllllllllllll
                Anim.SetBool ("coloco", true);
                transform.Translate (Vector3.forward * WalkSpeed * Time.deltaTime);
            } else {
                Anim.SetBool ("coloco", false);//// ORIGINAL


                if (collision.gameObject.tag == "paca") {

                    //if (Input.GetKey (KeyCode.K)) {///////////////////////////////////////originallllllllllllll
                    Anim.SetBool ("amigo", true);
                    transform.Translate (Vector3.forward * WalkSpeed * Time.deltaTime);
                } else {
                    Anim.SetBool ("amigo", false);//// ORIGINAL


                    if (collision.gameObject.tag == "vala") {

                        //if (Input.GetKey (KeyCode.K)) {///////////////////////////////////////originallllllllllllll
                        Anim.SetBool ("conlabala", true);
                        transform.Translate (Vector3.forward * WalkSpeed * Time.deltaTime);
                    } else {
                        Anim.SetBool ("conlabala", false);//// ORIGINAL
                    }


                                            }
                                        }
                                    }

                        
}
}
            
   


    

Este script es muy parecido al que uso para mover al protagonista del juego mediante teclado……

por teclado al apretar tecla “E” el personaje mio corre el que manejo yo…...


--------------------------------------------------------------------------------------------------------------------


if (Input.GetKey (KeyCode.E)) {
Anim.SetBool ("CORRER", true);
transform.Translate (Vector3.forward * WalkSpeed * Time.deltaTime);
} else {
Anim.SetBool ("CORRER", false);


---------------------------------------------------------------------------------------------------------------------

Este script hace lo mismo pero por colisionar y tocar un personaje con otro…….



-----------------------------------------------------------------------------------------------------------------
if (collision.gameObject.tag == "detona") {
Anim.SetBool ("corre", true);
transform.Translate (Vector3.forward * WalkSpeed * Time.deltaTime);
} else {
Anim.SetBool ("corre", false);//// ORIGINAL



--------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------

script en C#  animacion por teclas....

 

  using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CONTROLREPARTIDOR : MonoBehaviour {

    public Animator Anim;
    public float WalkSpeed;

    void Update () {



    //}
    //    void OnCollisionEnter (Collision collision)
    //    {


        if (Input.GetKey (KeyCode.E)) {
            Anim.SetBool ("CORRER", true);
            transform.Translate (Vector3.forward * WalkSpeed * Time.deltaTime);
        } else {
            Anim.SetBool ("CORRER", false);

            if (Input.GetKey (KeyCode.W)) {
                Anim.SetBool ("ANDA", true);
                transform.Translate (Vector3.forward * WalkSpeed * Time.deltaTime);
            } else {
                Anim.SetBool ("ANDA", false);

                if (Input.GetKey (KeyCode.S)) {
                    Anim.SetBool ("ATRAS", true);
                    transform.Translate (Vector3.forward * WalkSpeed * Time.deltaTime);
                } else {
                    Anim.SetBool ("ATRAS", false);

                    if (Input.GetKey (KeyCode.A)) {

                        Anim.SetBool ("CORRER", true);
                        transform.Translate (Vector3.forward * WalkSpeed * Time.deltaTime);
                    } else {
                        Anim.SetBool ("CORRER", false);

                        if (Input.GetKey (KeyCode.P)) {

                            Anim.SetBool ("BOMBA", true);
                            transform.Translate (Vector3.forward * WalkSpeed * Time.deltaTime);
                        } else {
                            Anim.SetBool ("BOMBA", false);


                            if (Input.GetKey (KeyCode.O)) {

                                Anim.SetBool ("BOMBA", true);
                                transform.Translate (Vector3.forward * WalkSpeed * Time.deltaTime);
                            } else {
                                Anim.SetBool ("BOMBA", false);

                                if (Input.GetKey (KeyCode.D)) {

                                    Anim.SetBool ("CORRER", true);
                                    transform.Translate (Vector3.forward * WalkSpeed * Time.deltaTime);
                                } else {
                                    Anim.SetBool ("CORRER", false);






                                            if (Input.GetButton ("Fire1")) {
                                            
                                            Anim.SetBool ("DISPARANDO", true);
                                            transform.Translate (Vector3.forward * WalkSpeed * Time.deltaTime);
                                        } else {
                                            Anim.SetBool ("DISPARANDO", false);


                                                if (Input.GetKey (KeyCode.M)) {
                                                Anim.SetBool ("LANZAR", true);
                                                transform.Translate (Vector3.forward * WalkSpeed * Time.deltaTime);
                                            } else {
                                                Anim.SetBool ("LANZAR", false);


                                    //        if (collision.gameObject.tag == "detona") {


                                            //    Anim.SetBool ("agachate minero", true);
                                                //transform.Translate (Vector3.forward * WalkSpeed * Time.deltaTime);
                                        //    } else {
                                            //    Anim.SetBool ("agachate minero", false);
                                        //    }
                                        //



                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }

}

 --------------------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------

pongo videos complementos a los videos anteriores......para ayudar a entender sobre el tema......








Y RECORDAR..........

viernes, 22 de octubre de 2021

Consejo de profesionales para los que hacemos videojuegos;

Consejo de profesionales para los que hacemos videojuegos


Piensa en algo en lo que te quieras especializar del desarrollo de videojuegos. A la hora de hacer un juego hay muchas tareas muy diversas. Céntrate en si quieres ser game design, programador, artista. Incluso dentro de la especialización hay varias ramas. Céntrate en alguna.

Empápate de arte de todo tipo. De música, de cine, de videojuegos, de pintura, da igual. Fíjate en qué hacen los grandes artistas y cómo lo hacen. Si es necesario, copia. Que no te importe. Y admite que lo has hecho. Siempre puedes decir que es un homenaje, o una referencia o un guiño ;). Una vez seas capaz de repetir lo que han hecho los grandes artistas serás capaz de seguir tu propio camino e innovar. La mejor forma para aprender es copiando. Tenlo clarísimo.



Cada trabajo que hagas muéstralo al mundo, que no te de verguenza. Sometíendote a las críticas de la gente es como aprendes a ver las cosas de otra manera y ves los errores que has cometido. Fórmate, trabaja duro, sé constante, empieza y acaba proyectos, muéstralos al mundo, aprende a mantener la motivación y si es posible forma un buen equipo para hacer juegos con ellos y manteneos unidos.


No hay ningun secreto. Si quieres poder vivir de desarrollar videojuegos vas a tener que esforzarte como nunca lo hayas hecho en toda tu vida. Ten muy claro que hacer juegos tiene poco que ver con jugarlos y es muy sacrificado. Extremadamente sacrificado. 

 

martes, 26 de octubre de 2021

Como poner un tatuaje a un personaje en Unity;

Pongo en mi blog un video explicando como e echo para poner unos tatuajes a un personaje en mi próximo videojuego que publicare en itch.io y que sera un bombazo estas navidades…...del 2021 y año nuevo del 2022...¡¡ja ja ja ja aj ajaja jajaja jaja!!!!!

Bueno al grano.

Estaba mirando de descargar imágenes de tatuajes profesionales y modernos desde internet pero e descartado la idea por tema derechos de autor, que no entiendo nada sobre el asunto y me pueden reclamar cualquier historia y tener que borrar el video o el videojuego cuando lo publique por pedirme quizás alguna cosa desorbitada teniendo en cuenta que no soy un profesional y no genero ingresos con mi afición.

Así que se me ocurrió desde el buscador de Google buscar imágenes de gravados del siglo XV, no creo reclame nadie ya , y e seleccionado algunos con imágenes macabras de esqueletos y muerte.

Están en blanco y negro y me interesaba que solo se viesen los dibujos, el trazo y las partes blancas que fueran unas transparencias.


E utilizado el programa gratuito GIMP.

En el video podéis ver los pasos que e ido siguiendo, me entenderéis muchísimo mejor viendo el video y parando las imágenes para ver lo que voy diciendo y seleccionando.

Pero esto es un blog así que escrivire los pasos mas importantes.

1- buscar imágenes en internet,

2-Abrirlo con GIMP y seleccionar las zonas blancas con la varita mágica, si no funciona a la primera seleccionar con herramienta de selección de rectángulos asta que hos salga lo del umbral B/N……

3- seguir las imágenes del blog e ir haciendo pruebas este tema para mi es nuevo y aunque e conseguido hacer lo que quería se me escapan algunos detalles que ahora mismo no sabría solucionarlos….pero en fin e puesto una base para que la gente que mire el blog pueda curiosear sobre el tema de transparencias con GIMP...sobre todo formatos de archivo PNG para transparencias eso si que es seguro..











viernes, 22 de octubre de 2021

Consejo de profesionales para los que hacemos videojuegos;

Consejo de profesionales para los que hacemos videojuegos


Piensa en algo en lo que te quieras especializar del desarrollo de videojuegos. A la hora de hacer un juego hay muchas tareas muy diversas. Céntrate en si quieres ser game design, programador, artista. Incluso dentro de la especialización hay varias ramas. Céntrate en alguna.

Empápate de arte de todo tipo. De música, de cine, de videojuegos, de pintura, da igual. Fíjate en qué hacen los grandes artistas y cómo lo hacen. Si es necesario, copia. Que no te importe. Y admite que lo has hecho. Siempre puedes decir que es un homenaje, o una referencia o un guiño ;). Una vez seas capaz de repetir lo que han hecho los grandes artistas serás capaz de seguir tu propio camino e innovar. La mejor forma para aprender es copiando. Tenlo clarísimo.

Cada trabajo que hagas muéstralo al mundo, que no te de verguenza. Sometíendote a las críticas de la gente es como aprendes a ver las cosas de otra manera y ves los errores que has cometido. Fórmate, trabaja duro, sé constante, empieza y acaba proyectos, muéstralos al mundo, aprende a mantener la motivación y si es posible forma un buen equipo para hacer juegos con ellos y manteneos unidos.


No hay ningun secreto. Si quieres poder vivir de desarrollar videojuegos vas a tener que esforzarte como nunca lo hayas hecho en toda tu vida. Ten muy claro que hacer juegos tiene poco que ver con jugarlos y es muy sacrificado. Extremadamente sacrificado. 

 




Advice of professionals for those who make video games Think of something you want to specialize in in video game development. When making a game there are many very diverse tasks. Focus on whether you want to be a game design, programmer, artist. Even within the specialization there are several branches. Focus on some. Soak up art of all kinds. Music, cinema, video games, painting, it doesn't matter. See what great artists do and how they do it. If necessary, copy. That you do not care. And admit that you have. You can always say that it is a tribute, or a reference or a wink;). Once you are able to repeat what the great artists have done, you will be able to follow your own path and innovate. The best way to learn is by copying. Have it very clear. Every job you do show it to the world, don't be ashamed of it. Submitting yourself to people's criticism is how you learn to see things differently and see the mistakes you have made. Train yourself, work hard, be constant, start and finish projects, show them to the world, learn to stay motivated and if possible form a good team to play games with them and stick together. There is no secret. If you want to be able to make a living from developing video games, you are going to have to make an effort like you have never done in your entire life. Be very clear that making games has little to do with playing them and is very sacrificing. Extremely sacrificed.

 

 

lunes, 18 de octubre de 2021

¿Como pintar directamente una figura 3d desde el propio blender 2.93.5 y pasarla aUnity, sin explicaciones complicadas que hacen perder el tiempo?

 

¿Como pintar directamente una figura 3d desde el propio blender 2.93.5 y pasarla aUnity, sin explicaciones complicadas que hacen perder el tiempo?

E gravado este video explicando una base para poder pintar con blender desde la versión 2.93.5…

 


 

Esta un pelin verde pero el que lo vea podrá siguiendo los pasos que e seguido , podrá pintar un personaje y pasarlo a Unity, e echo lo fundamental sin profundizar, e ido quizás demasiado rápido sin pulir las explicaciones, pero al menos es muy concreto y voy al grano porque ayer domingo estuve desde las 8 de la mañana asta las 12;30 del mediodía para poder explicar esto,,,mirando otro video de YouTube que estaba en ingles..., intentando sacar el grano de la paja...de dicho video.

Solo 3 pasos.

1- importar una figura 3d.

2-pasos seguidos para pintarla.

3- resultado en Unity de lo trabajado.

Para comprender lo hay que ir viendo el video parando las imágenes siguiendo los pasos y probando con el pc….no hay otra forma de aprender.

sábado, 16 de octubre de 2021

Animaciones con unity, ;

Animaciones con unity,

Boy a comentar como e echo las animaciones de los personajes del videojuego THE OLYMPIC SNIPER;

https://videojuegosenlineaasaco4.blogspot.com/2021/10/the-olympic-sniper.html 

Hice una combinación de animación descargada de unity, de las gratuitas, de cuerpo completo del personaje , sobre todo movimientos de caminar y correr, estas vienen ya echas y solo las aplique a los personajes en diferentes niveles, son muy laboriosas de hacer a mano, así que las descargue y las aplique,.


Las que si hice manualmente y son fáciles de hacer son cuando el personaje esta de pie o sentado o tumbado en el suelo, estas son muy fáciles de trabajar, solo tenia que animar facciones del rostro o las articulaciones de los brazos la cabeza hombros columna vertebral desde la cadera hacia arriba, algún movimiento de piernas mientras el personaje esta tumbado en el suelo.


También las animaciones de la cámara hacen un efecto interesante que enriquece la visualización del videojuego.


Los personajes los hice a partir del programa gratuito makehuman-community, tiene una característica que te permite hacer de forma aleatoria las proporciones de los personajes haciéndolos con los hombros mas anchos o mas estrechos o mas largos o mas cortos, y así con todas las partes del cuerpo humano, brazos, piernas, manos, pies ,cabeza ,caderas ,pecho, cuello, etc...etc… y tiene la opción de asignarle diversos esqueletos para exportarlo en formato fbx a unity, por ejemplo, es el que utilizo yo ahora mismo.

Yo uso un esqueleto que permite la manipulación del rostro, ademas de todo el resto de articulaciones, boca, nariz, ojos, etc.…

Lo paso a fbx y lo paso a unity, cuando esta en unity lo animo desde hay directamente sin manipular absolutamente nada del gameobject fbx.

En este video podéis ver un ejemplo...


 

 



Una captura de pantalla del Animation desde unity donde voy haciendo poco a poco las animaciones del rostro haciendo muecas y movimientos del tronco y brazos….

 

Como e dicho antes las animaciones echas para este caso que el personaje esta de pie o sentado o tumbado en el suelo son fáciles de hacer y dan bastante buen resultado, pero las de caminar y correr ya es diferente es mejor, al menos para mi, utilizar las de ejemplos y descargas gratuitas del tema, desde unity….

En la captura de pantalla desde Asset Store podéis elegir para empezar las Free, gratuitas , hos bais a hartar de mirar y probar animaciones de todo tipo


 

 

Para poner estas animaciones si tenéis que preparar el gameobject humanoide fbx para que las pueda utilizar…..en el video lo muestro....