Jump to content

All Activity

This stream auto-updates     

  1. Past hour
  2. Estoy en la hermosa etapa en donde algunas cosas funcionan pero no tengo la mas m铆nima idea de por que, 馃榿 Me pasa igual cuando las cosas no funcionan, y en este caso, no tengo la mas m铆nima idea como asignar el Animator al asset o al controller,, lei del tema en la documentacion pero no encontre algo que me deje entender tu explicaci贸n. Una ayuda extra francoe1 se te agradecer铆a un mundo. Y como hago para mencionar a un usuario asi como hiciste en tu respuesta para mencionarme a mi? creo q te reporte por error por leer mal el link("lei Repost" post en lugar de "Report post")... sorry 馃槪
  3. Today
  4. Gracias... Lo instal茅 y lo estoy viendo... No va a ser nada sencillo por lo visto.
  5. Yesterday
  6. Claro, lo puedes hacer con FindObjectOfType, pero el objeto componente deberia estar instanciado. Lo mejor es trabajar con referencias en tiempo de edici贸n, de ese modo comprenderas m谩s facilmente los errores del juego.
  7. Perd贸n por responder tan tarde! No, no es requerido, las referencias a componentes se buscan automaticamente. La estructura que yo propongo es una estructura 贸ptima, es decir que puedes hacer varias cosas interesantes separando la parte visual de la parte f铆sica (collider + rigidbody). Lo que s铆 o s铆 es requerido es que todo lo relacionado al personaje est茅 contenido dentro de un "root" u objeto maestro (padre). No, de hecho CCP no hace referencia a los huesos de ninguna manera. En la "Demo" mi personaje es un humanoide, gracias a esto puedo usar el avatar que Unity ofrece para acceder a los IK (por ejemplo). Por ejemplo (estado LadderClimbing ) public override void UpdateIK( int layerIndex ) { if( !useIKOffsetValues ) return; UpdateIKElement( AvatarIKGoal.LeftFoot , leftFootOffset ); UpdateIKElement( AvatarIKGoal.RightFoot , rightFootOffset ); UpdateIKElement( AvatarIKGoal.LeftHand , leftHandOffset ); UpdateIKElement( AvatarIKGoal.RightHand , rightHandOffset ); } void UpdateIKElement( AvatarIKGoal avatarIKGoal , Vector3 offset ) { CharacterStateController.Animator.SetIKPositionWeight( avatarIKGoal , 0f ); Vector3 originalRightFootPosition = CharacterStateController.Animator.GetIKPosition( avatarIKGoal ); CharacterStateController.Animator.SetIKPositionWeight( avatarIKGoal , 1f ); CharacterStateController.Animator.SetIKPosition( avatarIKGoal , originalRightFootPosition + offset ); } Ahora mismo el m茅todo usado para movimiento es muy pero muy simple, un MoveTowards que modifica la velocidad linealmente con el tiempo. El base speed limit indica el target del MoveTowards (funci贸n de Vector3) del walk (no de run). Este valor ser谩 el valor final de velocidad obtenido, es decir que t茅cnicamente no es posible, ya que mayor l铆mite de velocidad + aceleraci贸n implica obtener una velocidad mayor. Ya que es un MoveTowards (incluso si fuese un Lerp), quiz谩s lo que m谩s te importe a la hora de modificarlo es su "t factor" (el tercer argumento de este m茅todo). Si tienes el control de "t" entonces puedes controlar la velocidad como quieras, independientemente de sus l铆mites. En mi caso uso acceleration/deceleration como variables "t". Jugar entre los valores de velocidad y los umbrales (threshold) del animator es fundamental. Quiz谩s tratar de cubrir varios tipos de movimiento (parada, arranque suave, trote, correr, etc) todos al mismo tiempo (usando una simple funcion lineal) no sea una buena soluci贸n en tu caso. Si realismo en las animaciones es lo que necesitas se pueden hacer dos cosas: Mejorar el script de movimiento. Meter curvas para lograr un movimiento menos lineal y m谩s personalizable es algo que voy a introducir en 2.0.0. Ya esto pasa por el lado de la implementaci贸n de la l贸gica (por parte del usuario) y escapa al alcance del asset. De todas formas siempre trato de meter este tipo de cosas, de manera de facilitar un poco la parte del gameplay. Usar root motion, piensa en GTA 4/5 por ejemplo. No hay scripts ni nada de eso, el clip contiene la informaci贸n de movimiento y solamente se lee el input del player. Con 1.3.3 puedes usar root motion para planar velocity y seguir usando la gravedad de NormalMovement.
  8. Buenas Gracias por responder, los componentes estan en distintas escenas,hay alguna manera de recuperar esos datos? Por ejemplo ,los puntos estan en un objeto Gamecontroller dentro de la escena principal de juego, y Nombres en la Main camera de la escena Nombres. Tengo el codigo bastante feo diria yo... Saludos y gracias
  9. Lo m谩s probable es que alguno de los GetComponent este retornando nulo, recuerda que GetComponent funciona 煤nicamente cuando el Component est谩 en el mismo GameObject.
  10. Buenas noches! Soy nuevo por aqui,y vengo buscnado algo de ayuda 馃槄 Resulta que estoy programando un juego de Asteroides ,el cual cuando te matan,aparece una escena en la que puedes introducir tu nombre y darle a un boton para volver al menu principal y que se guarde tu nombre con los puntos. Pues al intentar guardar los datos,me tira ese error "nullreferenceexception: object reference not set to an instance of an object" , los datos los guardo en una base de datos Sqlite, y funciona perfectamente,pues puedo cargar un ranking con todas las puntuaciones (que he introducido a mano con otro programa) ,lo maximo que consegui hacer mediante codigo fue que se grabara el nombre en la base de datos,pero la puntuacion se quedaba en 0. Aqui dejo la parte del codigo que da error,he buscado en google y en los foros oficiales de Unity,pero no se solucionarlo. using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Data; using System.IO; using Mono.Data.Sqlite; using System; public class GuardaRanking : MonoBehaviour { public int Score; public string Name; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { GameController gameController = GetComponent<GameController>(); Score = gameController.Puntos; Nombres Nombre = GetComponent<Nombres>(); Name = Nombre.input; } public void GuardaPuntos() { RankingManager RankingGo = GetComponent<RankingManager>(); RankingGo.InsertarPuntos(Name,Score); } } Me da error en la Linea 24 Saludos y gracias de Antemano.
  11. Hola @Mario Ernesto Madrid Amaya, estas asignando el "Animator Controller (Asset)" al "Animator Controller (Component)"
  12. y si alguien tiene curiosidad y tiempo, lo puedo incluir en el colaborador de Unity para que lo vean a detalle 馃榿
  13. Interesante aproximaci贸n, me pondr茅 manos a la obra, gracias!
  14. Buen d铆a se帽ores, Aplique una soluci贸n a otro problema pero creo q podr铆a ser 煤til aqu铆, (para que tengas de donde escoger) Cuando se presione la tecla puedes empezar a acumular time.deltatime en una variable, y cuando el tiempo que quieras se cumpla entonces entras con un "if" a la funci贸n que quieras que se ejecute. Saludos a todos.
  15. Buen d铆a a todos, He hecho una animaci贸n y funciona de "maravilla" en modo edici贸n, pero cuando el juego esta en modo "play", los prefabs que se deben animar que estan fuera de la vista del modo edici贸n(Scene) se congelan y la animaci贸n no avanza. En mi dolorosa experiencia en Unity debe ser algo extremadamente simple, pero ya tengo mucho tiempo buscando,,, y ya entre en modo panico. Agradezco mucho la ayuda.
  16. Calculas la direcci贸n entre el jugador y la explosi贸n luego la normalizas y la aplicas a la velocidad del rigidbody del jugador como una direcci贸n negativa multiplic谩ndola por la fuerza que necesites.
  17. Buenas, Estoy con un juego 2D, he creado una apk para ver que tal se ve en movil pero mi sorpresa es que no veo im谩genes, es como que no se cargan, siempre son las mismas, me pasa con los sprites de algun npc en la pantalla de inicio como en la siguiente con las habilidades, un ejemplo seria este, uno que no se ve y otro que si otro seria este, no se ven los arboles Todas las im谩genes tienen la misma configuraci贸n el caso es que en Unity lo veo todo de maravilla pero en m贸vil o Tablet casca... he probado a cargarlas en la primera pantalla, a pi帽贸n, y luego se ven bien, tambi茅n a ponerlo en las preferencias de los assets precargados, y bien pero no se hasta que punto esto es bueno porque seria bastantes y no creo que sea bueno abusar de esta opci贸n鈥 muchas gracias!
  18. Buenas, estoy intentando hacer funcionar una cosilla que no me sale, os explico: Tengo un enemigo que se acerca al personaje, se queda en esa posici贸n 2 segundos y explota. A este enemigo le he puesto como objeto hijo un Point Effector 2D y un circle collider 2d. Mi idea era tener este objeto hijo desactivado, y cuando el enemigo se acercase al personaje, activar este objeto para lograr ese efecto de impacto de la explosi贸n. El problema viene que hasta que mi personaje no se mueve, no entra en juego el point effector (estando dentro del circle collider), y lo que quiero es que sea instant谩neo, nada m谩s activar el objeto. Alguna sugerencia? Gracias!
  19. Last week
  20. Este s谩bado pasado presentamos #RayuelaJam2021. Aprovechamos el tir贸n para hacer una retrospectiva de nuestra participaci贸n como estudio en las ediciones pasadas. https://oniria.world/2021/04/12/devlog-5-rayuelajam-retrospectiva/
  21. 1 - Buscar en google "instalar bolt en Unity3D" 2 - Entrar en cualquier resultado y seguir los pasos 3 - Buscar forma de crear tu idea en nodos.
  22. Gabo

    Bubbles and Puzzles

    Hola, antes que nada disculpa, no s茅 c贸mo se me pudo pasar agregar a Espa帽a en la play store (ya lo agregue), muchas gracias por los consejos, yo siempre publico primero en este foro ya que me gusta mucho la participaci贸n de la gente, pero creo que voy a probar de forma paralela en otros lados
  23. Hola! Como se hace? De veras no tengo idea...
  24. 1 - Est谩s asignando dos funciones Update. 2 - La segunda funci贸n Update no la est谩s cerrando Te recomiendo que uses Bolt, puede ser m谩s f谩cil en tu caso conseguir un resultado
  25. Has intentado asignar public a algo que no lo soporta. Deber铆a salirte la l铆nea donde est谩 el error en la console.
  26. Genial! Pero este c贸digo lo tendr铆a que poner en un script nuevo aparte o en el mismo que ya tengo del player o de la superficie???? En ese caso: Como los ensamblo? He hecho esto: using UnityEngine; public class PlayerHealth : MonoBehaviour { public float startingHealth = 200f; public float currentHealth; void Awake() { currentHealth = startingHealth; } void Update() { if (currentHealth <= 0f) { Destroy(gameObject); } } public void remove(float amount) { currentHealth -= amount; } bool trap; void Update() { //esta en la trampa if(trap) { remove(amount); } else { regenerate(amount); } public void regenerate(float amount) { if(currenHealth< MaxHealth) currenHealth += amount; } } Pero me da error: error CS0106: The modifier 'public' is not valid for this item Donde me equivoqu茅?
  27. bool trap; void Update(){ //esta en la trampa if(trap){ remove(amount); }else{ regenerate(amount); } } public void regenerate(float amount){ if(currenHealth< MaxHealth) currenHealth += amount; } Es una idea. Si est谩 fuera de la trampa, llamas al m茅todo regenerar, usando una boleana.
  28. Gracias iRobb! Me d铆 cuenta que anulando la boleana "Interactuable" del bot贸n tuve que dejar de usar .Select(), para cambiar el color usando las otras funciones de las que dispone el bot贸n en s铆. As铆 puedo tener "activados" los submenus que quiera.
  29. Buenas... como muchos saben estoy en medio de un proyecto y soy un CERO en c贸digo. Por lo que la 煤nica opci贸n que tengo es pedir un poco de ayuda a esta comunidad. Alguien podr铆a darme una mano con un script que sirva para: 1) El personaje camina sobre una superfice determinada y va perdiendo energ铆a hasta morir. Para eso tengo este c贸digo: Este va en el PLAYER using UnityEngine; public class PlayerHealth : MonoBehaviour { public float startingHealth = 200f; public float currentHealth; void Awake() { currentHealth = startingHealth; } void Update() { if (currentHealth <= 0f) { Destroy(gameObject); } } public void remove(float amount) { currentHealth -= amount; } } Y este va en la superficie using UnityEngine; public class PlayerDrown : MonoBehaviour { void OnTriggerStay(Collider drown) { if (drown.gameObject.tag == "Player") { PlayerHealth health = drown.GetComponent<PlayerHealth>(); if (health != null) { health.remove(1); Debug.Log("Player is drowning"); } } } } FUNCIONA! Pero no cumple con el lo que necesito en el punto 2) 2) Si el player sale de esa superficie autom谩ticamente recupera su energ铆a de manera gradual hasta r谩pidamente completarla al 100% Quien me de una mano ir谩 a los cr茅ditos! Desde ya MUCHAS GRACIAS!!!
  1. Load more activity
×
×
  • Create New...