Jump to content
UnitySpain

Aceptamos donaciones vía Paypal.

UnitySpain.com es un servicio gratuito, pero mantener la Comunidad conlleva una serie de gastos.

Fondo Anual Unityspain: Donados 0€ de 150,00€

  • Servidor: Dominio.com y Hosting Web
  • Mantenimiento de los Foros
  • Contenido y Servicios Extras
  • Mantenimiento para Redes Sociales

lightbug

Registrados
  • Content count

    2,080
  • Joined

  • Last visited

  • Days Won

    156

lightbug last won the day on January 17

lightbug had the most liked content!

Community Reputation

638 Excellent

About lightbug

  • Rank
    Leyenda

Profile Information

  • Especialidad
    Coder

Recent Profile Visitors

1,709 profile views
  1. lightbug

    Hay forma de superponer un sprite sobre un objeto UI?

    podés usar el canvas en modo "camera space" o en modo "world space" y posicionar el sprite adelante (en overlay tenés que hacer otras cosas). Si te vas al overlay (el default) tendrás que renderizar sprites en una cámara y elementos UI en otra, y acomodar el order de renderizado de la forma que quieras, por supuesto es más rebuscada, me parece que de otra forma no podés, quizás me olvide de algo.
  2. Parece un error demasiado fácil de resolver, ojo con las llaves: void Update() { if(Vida <= 0){ Destroy(Bloque); } else if ( Resistencia <= 100){ Vida++; Resistencia++; } } // < --- borrá este } }
  3. lightbug

    Generacion procedural 2d

    holy shit! ... así derecho sin la herramienta de código? a mi no me sale así ... creo
  4. lightbug

    Generacion procedural 2d

    @DerKaiser qué usas para postear código? es algo embebido? pasteBin ?
  5. lightbug

    problema detectando colisiones

    Si tiene eso no creo que te ande on collision, (quizás sí OnTrigger) fijate del manual: https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnCollisionEnter.html Dice: OnCollisionEnter is called when this collider/rigidbody has begun touching another rigidbody/collider. [Hasta aca bien] In contrast to OnTriggerEnter, OnCollisionEnter is passed the Collision class and not a Collider. The Collision class contains information about contact points, impact velocity etc. If you don't use collisionInfo in the function, leave out the collisionInfo parameter as this avoids unneccessary calculations. ---> Note: Collision events are only sent if one of the colliders also has a non-kinematic rigidbody attached. Collision events will be sent to disabled MonoBehaviours, to allow enabling Behaviours in response to collisions. Notar que de la misma tabla, no es posible disparar el mensaje entre kinematic rigidbodies, solo un kinematico vs un NO kinemático, me olvide de mencionarlo anteriormente. el tag no hace nada, tampoco las capas por si mismas, vos podés decir que capa choca con cual (via Layermask o matriz de colisiones), pero el tag ni pincha ni corta.
  6. lightbug

    problema detectando colisiones

    siempre probá las cosas por separado (siempre que tengas un problema, claro está), si no estás seguro meter todo de golpe solo te va a confundir. Por ej corre en una instrucción solo el LoadScene, para el onCollisionEnter hace un Debug.Log o print que diga "anda el on collision" , que se yo. Si el nombre de la escena es exactamente así, debería estar bien. Lo del OnCollisionEnter quizás sea, porque uno (por lo menos) de los dos debe tener un rigidbody, fijate la tabla de colisiones del manual. https://docs.unity3d.com/Manual/CollidersOverview.html También verificá que: 1 - las capas que tengan los objetos estén preparadas para colisionar entre ellas y 2 - que el objeto que tenga el mensaje OnCollisionEnter tenga el boxCollider2d (y que no sea un padre vacío o cosas así).
  7. lightbug

    como hago para desactivar este cuadro emergente

    Una simple googleada: https://blogs.msdn.microsoft.com/andygon/2009/02/03/saba-que-puede-desactivar-el-intellisense/ Fijate si funca, quizás alguien con VS te puede ayudar mejor, yo uso VSCode .
  8. lightbug

    como hago para desactivar este cuadro emergente

    Jajaja comparto, ese cuadro molesto es la razón por la que tantos y tantos programamos. Bueno, si se quiere desactivar lo primero será que especifiques el programa editor de código / Ide , supongo que es VS(?), así que probá en las opciones del autocomplete/intellisense de C#: VS > Tools > Options > Text Editor > C# > IntelliSense (busqué por ahí, no estoy seguro)
  9. lightbug

    Necesito ayuda para un FPS

    lo primero a ver es el character controller + cam, usa un capsule de muestra, una vez que tu personaje se mueva (el capsule) como deseas y la cámara funcione bien metés los gráficos, es decir, a ethan. Para el tema de los gráficos podés hacer como te comentan arriba con el modelo de "la mano + arma" (modelo preparado para primera persona, no funciona para otro modo), o podés usar el mismo modelo 3d de ethan y en el momento de pasar a first person desactivar el meshRenderer de la cabeza+ torso. Tenés la desventaja de que la animación ya está creada de tal forma que nunca va a igualar al modelo preparado y animado de "la mano + arma", depende lo que haga tu personaje supongo.
  10. lightbug

    The Bramson case

    Uhhh buenísimo @J4v1v1g2 ! muy buen trailer
  11. lightbug

    ¿Qué diferencia hay entre una función y un metodo?

    Pensá a función vs método como miembros vs variable (en paréntesis -->), función viene más del palo de C, cuando empezó C++ con las clases se empezaron a denominar métodos(miembros) a las funciones(variables) de la clase. me dá igual, prefiero método, hoy en día en POO todo se define via clases así que da igual. no los llamaría atributos, prefiero la palabra miembros, ya que en C# los atributos van antes de los campos/clases y se expresan así "[ .... ]", pero entiendo tu punto. Pensalo a la clase como el plano de construcción, la instancia u objeto es el resultado de construir algo con ese plano, por ej class Persona (con miembros nombre, color de ojos, altura, etc) , y la instancia puede ser tal que salga la persona : Pedro, color de ojos azules, altura 1.78 m, etc. En varias bibliografías (por lo menos de C++) un objeto de una clase es una instancia. No es clonar, bueno está en el parrafo anterior, pero con la clase sola no hacés nada, tenés clases que pueden tener varias instancias (comunes), que pueden tener una sola instancia (singleton, ej los managers) o que no pueden tener instancias (static class), estas ultimas las tenes por ej cuando tenés una clase de utilidades, donde está la funcionalidad, pero no la ofrece nadie, es común para todos, es decir no se instancia nada.
  12. lightbug

    Ayuda

    cual es la linea 51?? Fijate que en start estás redefiniendo una lista: List<Espada> swordDatabase = GameObject.Find("Manager").GetComponent<WeaponManager>().Espadas; ponelo así: public class Daño : MonoBehaviour { public Text dañoText; public Text velText; public Text fueText; public Text nameText; public Text Crit1Text; public Text Crit2Text; public Text EntText; public Text RotText; public Text PreText; public Text descText; public Text espText; public Espada Sword; public int selected; public List<Espada> swordDatabase = new List<Espada>(5); //Para asegurarte void Start() { GameObject manager = GameObject.Find("Manager"); if(manager == null){ Debug.Log("No hay manager!"); Destroy(this); } WeaponManager weaponM = manager.GetComponent<WeaponManager>(); if(weaponM == null){ Debug.Log("No hay weapon manager!"); Destroy(this); } swordDatabase = weaponM.Espadas; } void Update() { dañoText.text = Sword.Daño.ToString (); velText.text = Sword.Vel.ToString(); fueText.text = Sword.Fue.ToString(); nameText.text = Sword.Nombre; descText.text = Sword.Desc; Crit1Text.text = Sword.CRIT1; Crit2Text.text = Sword.CRIT2; EntText.text = Sword.Entereza.ToString(); RotText.text = Sword.Rotura.ToString(); PreText.text = Sword.Presencia.ToString(); espText.text = Sword.Esp; Sword = swordDatabase[selected]; } chequea que la lista tenga las cantidades necesarias para que selected tenga sentido, que selected no sea por ej 5 y tengas 2 elementos porque te va a dar un nullreference exception. saludos
  13. lightbug

    Movimiento de enemigos

    Te tiro una idea en general, cuando buscás coordinación entre varias entidades meter scripts separados o monobehaviors autonomos no ayuda en nada (pasa en los videojuegos, pasa en la industria con automatización de procesos), necesitas comunicarte con otras entidades, pasar info, etc, de manera innecesaria cuando "alguien" puede hacer todo esto, lo ideal sería tener un pequeño manager o script de mayor jerarquía que gestione la acción de las naves, por ejemplo con este script podrías: realizar el movimiento de cada nave o mandar señales a cada monobehaviour de cada nada (indep de otras naves, solo para movimiento, rotación etc) identificar la posición de cada una, las que están abajo, arriba ,etc. clasificar por prioridad, por ej que las naves de tales características vayan arriba, abajo, etc, o se intercambien lugares. gestionar la salud de las naves etc Cada nave puede ser registrada en el script principal como una clase separada que tenga la info de cada nave que vas a instanciar, o que tengas en escena, que tenga miembros de id, prioridad, level, salud, posición, rotación, estado actual (idle, moviendose, disparando, "cayendo", etc), etc. Y dentro del script tener un arreglo o lista que contenga a todas las naves, para luego gestionarlas. No se a que te referís con que caigan y busquen al enemigo, me imagino recorrer una trayectoria ?? si fuera esto es albegra vectorial pura, punto 1 la nave enemiga, punto 2 la nave del player, y de ahí crear puntos para la trayectoria (ida y vuelta), más que esto no te puedo ayudar. Saludos
  14. lightbug

    Ayuda para iniciar mi proyecto personal.

    IMO gran error, modificando scripts no vas a llegar a nada, quizás te termine andando no digo que no. Te cuento una personal, siempre cuando hacía girar a un personaje moviendo el mouse (estilo FPS) hacia copy paste de un script de unity, realmente no entendía un pomo lo que estaba haciendo, siempre modificando esto y aquello y tratando de adaptar lo que había a lo que quería, nunca se me daba ... años después me decidí a perder miedo al quaternion y al mouseLook, en cuento corto, terminé haciendo lo que el equipo de Unity hacía en 40 líneas pero en 8, y ahí fue cuando realmente aprendí (incluso mi código era mucho mejor). Por eso modificar scripts ya hechos no me va, sobretodo para cosas simples como esta. Una opinión nada más.
×