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. 

 

No hay comentarios:

Publicar un comentario