Jump to content

Fabri15544

Registrados
  • Content Count

    28
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Fabri15544

  1. ya te mande mario 馃榿
  2. busco gente con ganas de crear un juego, no importa de que tem谩tica sea lo podemos decidir una vez tengamos armado el grupo lo que me interesa es ganar experiencia ya que seria mi primera vez en un grupo de desarrollo de videojuegos. //por el momento no cuento con micr贸fono, pronto me comprare uno., entiendo muy bien cualquier cosa que me pidan siempre y cuando cumpla con los par谩metros que les indique abajo. mis conocimientos son moderados <Animacion> /<Modelado><Script>/<AdaptacionDeScript> Animacion : conozco mas o menos el funcionamiento del IK Blender , unity Modelado : muy basico Script : moderado algunas cosas se mas otras menos Actualmente estoy estudiando lo que es Animaciones con ragdoll physics y IK para un movimiento mas realista del personajes con las Fisicas AdaptacionDeScript : Pasar los datos de un script a otro Agregarle mas variables etc...
  3. public class move : MonoBehaviour { public bool canJump; public float velocidad = 120f; public float fuerza = 5000f; // public SpriteRenderer Spr; // public Animator anim; public Rigidbody2D rb; // pon el rb de esta manera te va a ser mas facil. al igual que animator., public o private Animator anim; void Start() { } void Update() { if (Input.GetKey("right")) { rb.AddForce(new Vector2(velocidad, 0f * Time.deltaTime)); //anim.SetBool("moving", true); gameObject.GetComponent<Animator>().SetBool("moving", true); //Spr.flipX = false; gameObject.GetComponent<SpriteRenderer>().flipX = false; } if (Input.GetKey("left")) //if si pulso x ... { rb.AddForce(new Vector2(-velocidad, 0f * Time.deltaTime)); gameObject.GetComponent<Animator>().SetBool("moving", true); gameObject.GetComponent<SpriteRenderer>().flipX = true; } else //els de lo contrario x ... { rb.velocity = new Vector2(0, rb.velocity.y); // esto frena la velocidad cuando dejas de apretar la tecla; } if (!Input.GetKey("right") && !Input.GetKey("left")) { gameObject.GetComponent<Animator>().SetBool("moving", false); } else { rb.velocity = new Vector2(0, rb.velocity.y); } if (Input.GetKeyDown("z") && canJump) { gameObject.GetComponent<Rigidbody2D>().AddForce(new Vector2(0, fuerza)); gameObject.GetComponent<AudioSource>().Play(); } } private void OnCollisionEnter2D(Collision2D collision) { if (collision.transform.tag == "Ground") { canJump = true; gameObject.GetComponent<Animator>().SetBool("aire", false); } } private void OnCollisionExit2D(Collision2D descollision) { if (descollision.transform.tag == "Ground") { canJump = false; gameObject.GetComponent<Animator>().SetBool("aire", true); } } } Espero puedas terminar tu proyecto te deseo lo mejor 馃挭馃憤
  4. lo voy a revisar mas tarde ahora no puedo, debe ser sencillo de solucionar no te preocupes., trata de buscar la soluci贸n por ti mismo mientras tanto talvez encuentras el error.馃嵆
  5. por lo que le铆do hay muchas razones por la que puede salir ese error. 1- unity no tiene los permisos necesarios de ejecuci贸n para el UnityLinker.exe, la soluci贸n seria ejecutar unity como administrador. 2- pude que sea un error en ASCII del nombramiento del juego como las escenas si coloco en alg煤n momento ej : Exaple_1 eliminar el "_ " podr铆a solucionarlo. 3- versi贸n vieja del Net Framework actualice su versi贸n eso deber铆a corregirlo. 4- Aseg煤rese de que el nivel de compatibilidad de Api est谩 establecido en .net 4.x. hay muchas mas razones pero creo que estas son las mas probables.
  6. ok sorry se me olvida. 馃ぃ馃う鈥嶁檪锔忦煈
  7. espero puedas solucionar tu problema
  8. aqu铆 tienes un script b谩sico para que lo entiendas, es f谩cil de entender espero te sirva y puedas aplicarlo a tu juego. using System.Collections; using System.Collections.Generic; using UnityEngine; using System; public class Ejemplo: MonoBehaviour { //Pudes seguir agregando mas Animators todos los que necesites. public Animator anim1; public Animator anim2; //Esto es un ejemplo con colisiones modif铆calo y pon lo que quieras que haga void OnTriggerEnter(Collider other)//esto se ejecuta si colisiona con el Tag Especificado. { if (other.CompareTag("Player")) { anim1.Play("AnimacionX1");// esto sirve para buscar la AnimacionX2 en el Animator == anim1 } } void ParedCompare(Collider other) //esto se ejecuta si colisiona con el Tag Especificado. { if (other.CompareTag("Pared")) { anim2.Play("AnimacionX2"); // esto sirve para buscar la AnimacionX2 en el Animator == anim2 } } }
  9. yo estaba por decir eso mismo puede que se detecten entre ellos es lo mas l贸gico almenos desde este punto de vista, ya que sin el c贸digo no podemos ayudarte de una manera mas t茅cnica solo razon谩ndolo. esto te pude ayudar como dice el compa帽ero 鈽濓笍 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Ejemplo : MonoBehaviour { public AudioSource SonidoAusar; // Use this for initialization void OnTriggerEnter(Collider other) //Detecta una colisionar y dispara un condicional. { if (other.gameObject.tag == "Player") //Nombre compare Tag del Jugador { SonidoAusar.Play(); //Sonido a utilizar despu茅s de colisionar. } } }
  10. supongo que pusiste el script en el canvas no? sino no va a funcionar, luego creas una condici贸n en el boton arrastras el canvas a la condicion buscas el VOID public void ButtonEnabledDisabled() lo seleccionas y listo. sino entiendes ac谩 te dejo un link de como puedes hacerlo, tomando el ejemplo que te di. "https://www.youtube.com/watch?v=xarTLbxLkG8"
  11. ac谩 tienes un ejemplo b谩sico del funcionamiento espero te sirva, en el if le agregas lo que quieras que haga si es una tienda lo l贸gico es que el bot贸n se hunda y reste monedas, este ejemplo lo que hace es desactivar el gameObject pulsando el bot贸n y activar cuando lo pulsas nuevamente. //soy novato pero leyendo un poco el manual que no se porque nadie lee eso mucho texto no xD. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class desactivarButton : MonoBehaviour { public GameObject ObjetoUsar; public bool ButtonOnOff = false; //se inicia en false porque hay una funci贸n de activado y desactiva; public void ButtonEnabledDisabled() { if (ButtonOnOff == false) //si ButtonOnOff == false hace.......... { Debug.Log("botonEnFuncionamiento"); ButtonOnOff = true; ObjetoUsar.SetActive(false); } else //de lo contrario hace .......... { ButtonOnOff = false; ObjetoUsar.SetActive(true); } } }
  12. tienes que buscar un poco antes de preguntar, probar si puedes hacerlo m铆nimo 2 d铆as y sino preguntas, tu pregunta esta en el manual lee un poco. URL: https://docs.unity3d.com/ScriptReference/Rigidbody-isKinematic.html Controla si la f铆sica afecta al cuerpo r铆gido. Si isKinematic est谩 activado, las fuerzas, colisiones o articulaciones ya no afectar谩n al cuerpo r铆gido. El cuerpo r铆gido estar谩 bajo control total de animaci贸n o control de script cambiando transform.position. Los cuerpos cinem谩ticos tambi茅n afectan el movimiento de otros cuerpos r铆gidos a trav茅s de colisiones o articulaciones. Eg. puede conectar un cuerpo r铆gido cinem谩tico a un cuerpo r铆gido normal con una articulaci贸n y el cuerpo r铆gido se restringir谩 con el movimiento del cuerpo cinem谩tico. Los rigidbodies cinem谩ticos tambi茅n son particularmente 煤tiles para hacer personajes que normalmente son impulsados por una animaci贸n, pero en ciertos eventos se pueden convertir r谩pidamente en un ragdoll estableciendo isKinematic a false. using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public Rigidbody rb; void Start() { rb = GetComponent<Rigidbody>(); } // Let the rigidbody take control and detect collisions. void EnableRagdoll() { rb.isKinematic = false; rb.detectCollisions = true; } // Let animation control the rigidbody and ignore collisions. void DisableRagdoll() { rb.isKinematic = true; rb.detectCollisions = false; } } este es un ejemplo b谩sico solo para la colisi贸n y estado muerto del enemigo, si quieres chocar al enemigo y que las f铆sicas interact煤e con el enemigo muerto tienes que hacer un Ragdoll del enemigo para desactivar la animaci贸n del enemigo y que cuando tenga 0 de vida se caiga y lo puedas mover cuando colisionas con el. public void Ejemplo(float amount) { if (health < 5) //este valor depende de cuanto da帽o le haces al enemigo., lo que dice es si vida es menor a 5 pasa a estado de muerte. { muerte(); } } void muerte() { Destroy(GetComponent<NavMeshAgent>()); // aca se desactiva la inteligencia Artificial. anim.enabled = false; //aca desactiva la animacion quedando solo el Ragdoll. } sino sabes que es un Ragdoll ac谩 te dejo un link :"" https://www.youtube.com/watch?v=DInV-jHm9rk&t=1s篓
  13. igualmente p谩senla bien les deseo lo mejor a todos 馃巺馃挅馃
  14. gracias por responder lo voy a probar y veo si me funciona para lo que quiero igual lo voy a apuntar para tenerlo.
  15. claro lo que tu quieres hacer es contar los objetos que se generan en esa escena, No agarrar los objetos y contarlos igual podes usar el Collider lo puedes poner en el suelo con su respectivo TAG CompareTag lo creas y quedar铆a., te lo digo porque yo estaba haciendo el contador y puse otro CompareTag con el nombre del suelo y me conto el objeto que tocaba el suelo, si tu objeto no toca el suelo pues nose. //sacale el Destroy si solo es para contar cuantos elementos tienes en esa escena.
  16. para contar los objetos podes usar esto, espero te sirva saludos using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Ejemplo: MonoBehaviour { public GameObject Objeto; public bool Mostrando; public int contador; public Text Cantidad; Rigidbody rb; // Start is called before the first frame update // Update is called once per frame public void OnTriggerEnter(Collider other) { if (other.CompareTag("NombreDelObjetoTag")) //objeto con el que colisiona { Destroy(other.gameObject); //se destruye el objeto contador = contador + 1; // cuenta como 1 Cantidad.text = "" + contador; // va al contador } } public void Awake() { rb = GetComponent<Rigidbody>(); contador = 0; } }
  17. este es el c贸digo que utilizo pero utiliza 2 teclas y yo quiero usar solo 1 como lo podr铆a hacer si alguien seria tan amable de darme un ejemplo se lo agradecer铆a. if (Input.GetKeyDown(KeyCode.Alpha3)) { Pistola.gameObject.SetActive(false); } if (Input.GetButton("1")) { Pistola.gameObject.SetActive(true); }
  18. gracias por tu respuesta me ayudo mucho, ahora solo me falta asociar la variable vida a a la variable tiempo_espera y listo esa parte.
  19. algo as铆 quiero hacer no lo prob茅 todav铆a, esa seria la idea y despu茅s se cura la vida y comienza otra vez. lo tengo en otro script using System.Collections; using System.Collections.Generic; using UnityEngine; public class prueba : MonoBehaviour { public bool ZZZZ = false; public float health = 100f; public float dormido = 10; public float tiempoNoMorir = 10; public float tiempo_frenado = 10; Animator anim; public void RestarVida(float cantidad) { if (!ZZZZ && health > 0) { health -= cantidad; StartCoroutine(TiempoEspera()); StartCoroutine(VelocidadRestar()); if (health <= 0) { Tiempo(); } void Tiempo() { Debug.Log("ZZZZ"); anim.Play("Dormido"); IEnumerator TiempoMuerto() { var Velocidad = GetComponent<Target>().agent.acceleration; GetComponent<Target>().agent.acceleration = 0; yield return new WaitForSeconds(dormido); GetComponent<Target>().agent.acceleration = Velocidad; } } } IEnumerator TiempoEspera() { ZZZZ = true; yield return new WaitForSeconds(tiempoNoMorir); ZZZZ = false; } IEnumerator VelocidadRestar() { var velocidad0 = GetComponent<Target>().agent.acceleration; GetComponent<Target>().agent.acceleration = 0; yield return new WaitForSeconds(tiempo_frenado); GetComponent<Target>().agent.acceleration = velocidad0; } } }
  20. Hola lo que quiero decir con eso es que en la parte de la animaci贸n el NavMeshAgent se quede quieto por 10 segundos y retome la animaci贸n de correr e probado con agent.enabled = false; pero claro se para por completo, tengo entendido que para hacer que esto funcione necesito declarar la entrada en if y else void Die() { anim.Play("Dormido"); agent.enabled = false; agent.acceleration = 0; } void Corre() { anim.Play("Run"); agent.enabled = true; }
  21. Como puedo hacer que el enemigo se quede quieto con un tiempo especifico? este es mi codigo no sean malos soy novato y tengo un desorden using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using System; using UnityEngine.AI; public class Target : MonoBehaviour { public float health = 100f; public Image imagenBarraVida; public Animator anim; public GameObject Dormido; public NavMeshAgent agent; public GameObject Enemigo; public float distance; public void Sumarvida(float cantidad) { if (health > 0) { health += cantidad; } } private void Start() { anim = GetComponent<Animator>(); } public void TakeDamage (float amount) { health -= amount; if (health <= 0f) { Die(); Corre(); } } // Start is called before the first frame update void Die() { anim.Play("Dormido"); agent.enabled = false; agent.acceleration = 0; } void Corre() { anim.Play("Run"); agent.enabled = true; } // Update is called once per frame void Update() { health = Mathf.Clamp(health, 0, 100); imagenBarraVida.fillAmount = health / 100; } }
×
×
  • Create New...