Jump to content
UnitySpain

All Activity

This stream auto-updates     

  1. Today
  2. HugoVeloso

    Problemas con mi código (ayudaaa)

    Yo mismo después de un rato solucione mi problema por si a alguien le pasa en alguna ocasión. El error se debía a que cuando guarde el archivo en excel .csv lo guarde con separaciones por medio de ' ; ' y después desde el código lo estaba identificando por medio de ' , '. Espero alguna vez le sirva a alguien mi caso :)
  3. HugoVeloso

    Problemas con mi código (ayudaaa)

    Buenas gente espero se encuentren bien y me puedan ayudar con mi problema, les comento. mi problema es que tengo creado un código en el cual su función debería ser tomar datos de un archivo excel (.csv) y mostrarlos en consola de momento, el problema es que me esta generando errores en ciertas lineas y dado mi poca experiencia no he podido resolver si fueran tan amables de orientar a un casual de la programación. Dejo imágenes de mi código, el error y el archivo de excel. de antemano muchas gracias y quedo atento a comentarios.
  4. Yesterday
  5. lightbug

    Acceder a componentes mediante if. C#.

    Y como es que sabés que "en teoría" funciona si no te sale nada en consola (en realidad en teoría es poco probable que se cumpla). Yo tenía un amigo que cada vez que poniamos un break en código él quería hacer una variable para comprobar que en realidad X cosa pasara porque por alguna razón u otra sospecha que el lenguaje de programación lo podía estar traicionando , como que era algo maleable y dependía del clima... aca pasa algo similar pero con el Debug.Log, el lenguaje es así y si no ves lo que imprime en memoria pasa una de las dos: No tenés habilitado la impresión o el log de mensajes (que ojo! puede ser, me ha pasado), lo habilitas con el boton dentro de la consola (al lado de los errores) No se cumple la condición del if (probablemente sea esta). Osea que volviste al punto inicial , Lee de vuelta esto: Estás usando = en vez de == (no se si es así en tu código o pasa acá) --> Usar == para float's no es recomendable usá Mathf.Approximately ---> Aun así verificar igualdad no queda lindo en este caso (aclaro que no se como es que el objeto se mueve), la matemática de punto flotante tiene errores, que un objeto se mueva libremente, tenga la posición <x,y,z> y que vos termines por verificar eso en un if y sea correcto es muy poco pobrable, ah no ser que antes hayas impuesto que ese valor sea <x,y,z> en un momento dado, cosa que no se si estás haciendo. Osea, si querés verificar la posición asegurate que el objeto que vas a mover llegue a la posición (no más o menos, sino que lo haga --> =), para esto podés usar vector3.MoveTowards o verificar si está cerca de la posición con Vector3.Distance (la cercanía la elegís vos). ---> Un error que tuve anteriormente, puse que uses Mathf.Aproximately, para floats está bien, pero para vectores el mismo operador "==" hace uso de esto! (Vector3.Equals no lo hace)... ups! https://docs.unity3d.com/ScriptReference/Vector3-operator_eq.html No cometas el típico error de la soberbia de programación, lo digo porque es extremadamente común si arrancás a programar pensar de la siguiente manera "No importa lo que haga, esto tiene que andar y si no anda el problema no es lo que yo hice, el problema tiene que ser esto otro (Debug.Log en tu caso)". Trata de evitar esos valores super exactos de posición que nunca se van a dar, probá métodos como Vector3.distance, incluso si desde afuera del script especificas la posición exacta para el objeto en cuestión "Vector3(-114.15f, 2.04f, -95.61f)" intenta reemplazar eso por un transform que haga de posicion objetivo (por supuesto asegurandote que al final al objeto lo movés a esa posición objetivo), el if te quedaría así: if (evento.transform.position == objetivo.transform.position ) { Debug.Log("Evento"); } Saludos!
  6. samorente

    Acceder a componentes mediante if. C#.

    Muchas gracias por la respuesta. Esto era solamente de prueba, ya que tuve curiosidad (asi que al no ser un proyecto real no tuve cuidado con el orden). Llegué a la conclusión de que es mejor usar los colliders si quiero que al llegar a un sitio pase algo. Lo que he estado haciendo con el anterior código (el que escribi en el foro) es poner manualmente en Unity los valores x, y, z que especifico en el script. Pero ahora probé otra vez hacerlo con if (evento.transform.position == new Vector3(-114.15f, 2.04f, -95.61f)) especificando otra vez los valores manualmente en Unity y en teoría siempre se cumple la condición pero no imprime el mensaje por la consola, dejo otra vez el código por aquí using System.Collections; using System.Collections.Generic; using UnityEngine; public class NewBehaviourScript : MonoBehaviour { private Transform evento; // Use this for initialization. void Start() { objeto(); } // Update is called once per frame void Update() { } void objeto() { evento = GetComponent<Transform>(); if (evento.transform.position == new Vector3(-114.15f, 2.04f, -95.61f)) { Debug.Log("Evento"); } } }
  7. Developers have hit many challenges with Collaborate – our solution for managing changes to project source files. We’ve started to rebuild Collaborate from the ground up to be more stable and feature-rich and to support large projects and teams. With the recent release of Collaborate 2.0.0-preview-15, we want to share with you what we’ll be working […] Ver artículo completo...
  8. lightbug

    colisionar y baje valor de un slider constantemente

    La acción sería que baje de 1 en 1, pero de 1 en 1 no nos dice absolutamente nada, que es de 1 en 1, 60 veces por segundo? 200 veces por segundo? cada 1 segundo ? ... como te dice leocub con un "stay" podrías verificar una y otra vez, pero eso sí, va a bajar horriblemente rápido si no hacés algo al respecto, por ejemplo con un simple flag podés hacer algo así, con una corrutina: public float duracion = 1f; Coroutine perderVidaCoroutine; void OnCollisionStay( Collision col ) { if( personajeDisponible ) perderVidaCoroutine = StartCoroutine( PerderVida() ); } IEnumerator PerderVida() { vida--; personajeDisponible = false; //con esto no re-disparás la corrutina una y otra vez yield return new WaitForSeconds( duracion ); //termina en 1 segundo por defecto personajeDisponible = true; } Creo que podés ver si X corrutina se está reproduciendo, eso en este caso sería ideal, nunca lo usé.
  9. Me puedes explicar mas detalladamente? lamento la ignorancia
  10. leocub58

    colisionar y baje valor de un slider constantemente

    si lo metes en OnColliderStay o OnTriggerStay seguirá bajando.
  11. Hola foro, tengo un slider de vida entonces quiero que cuando el jugador colisione con un objeto el slider baje de 1 en 1 constantemente, solo puedo hacer que baje cada vez que colisiono hay alguna solucion a mi problema? Gracias.
  12. Last week
  13. lightbug

    Problema de interaccion entre dos objetos

    No es tan sencillo de hacer, por lo menos a lo primero, yo lo veo así: Cuadro 1: BOLA: Movimiento Normal de la bola Situación: cayó sobre la plataforma (suelo = true) Registras los datos de la plataforma, transform sobretodo, con esto vas a poder sacar dos datos importantes en el cuadro que sigue (y en los que le siguen a este)-> diferencias de posiciones y diferencias de quaternions (ángulos!!) ... no te preocupes por la posición si querés, ignorala cada vez que la mencione. Calculas distancia desde bola hasta centro de la plataforma y la guardás. Yo siempre le pongo "deltaReference", es mi convención. Cuadro 2: PLATAFORMA: Se mueve y rota ponele, hace lo suyo BOLA: La plataforma ya se movió y rotó, ahora recalculas los datos anteriores (nueva posicion de esta y nuevo quaternion de esta ) Hacés la diferencia entre los datos de este cuadro y los datos anteriores -> tenés dif de pos y dif de ángulos Aplicás la dif de ángulos a "deltaReference", esto te da donde debería estar la bola con el efecto de rotación de la plataforma Aplicás la dif de posición a "deltaReference", esto te da donde debería estar la bola con el efecto de posición + rotación de la plataforma A todo esto todavía el movimiento normal de la bola no se aplicó, acá es donde seguís haciendo lo de siempre, el movimiento "Normal", (AddForce o MovePosition o Translate o lo que sea) Finalmente Actualizas/Pisás todos los datos anteriores, pos de plataforma, quaternion de plataforma, distancia bola-plataforma, esto es para reutilizarlos en el siguiente cuadro, los datos que en este cuadro eran "actuales" pasan a ser "previos", se van pasando la posta. Lo expliqué muy por arriba pero en general las famosas Moving/Rotating platforms funcionan algo así, si le querés dar toques vas a tener que meter algún que otro paso intermedio, como por ej que la orientación respecto al centro sea la misma (idéntico a enparentar) o que se mantenga la orientación con la que contactas con la bola, etc.
  14. lightbug

    Acceder a componentes mediante if. C#.

    Hola, algunas cositas: Estás usando = en vez de == (no se si es así en tu código o pasa acá) --> Usar == para float's no es recomendable usá Mathf.Approximately ---> Aun así verificar igualdad no queda lindo en este caso (aclaro que no se como es que el objeto se mueve), la matemática de punto flotante tiene errores, que un objeto se mueva libremente, tenga la posición <x,y,z> y que vos termines por verificar eso en un if y sea correcto es muy poco pobrable, ah no ser que antes hayas impuesto que ese valor sea <x,y,z> en un momento dado, cosa que no se si estás haciendo. No es necesario hacer GetComponent<Transform>() para eso existe ".transform" que es mucho mejor en terminos de performance. Te recomendaría no usar valores tan crudos en el código (si fue de prueba vaya y pase), usá más bien un "public Vector3 miValor;" y elegilo vos en el inspector. Ver cosas como -114.15f, 2.04f, -95.61f puede no ser tan descabellado en 5 líneas de código, probá tener 50 de estos datos crudos todos diferentes y distribuidos en 2000 líneas de código , y ni hablemos si algun día alguien tiene que leer eso, colega o alguien de algún foro. Te recomendaría usar nombres intuitivos, "objeto" es un método? porque por el nombre parecería que fuera un objeto o instancia de algo. Osea, si querés verificar la posición asegurate que el objeto que vas a mover llegue a la posición (no más o menos, sino que lo haga --> =), para esto podés usar vector3.MoveTowards o verificar si está cerca de la posición con Vector3.Distance (la cercanía la elegís vos). Está muy bien que lo hiciste con un Debug.Log, muchos a lo primero se tiran 500 líneas de código en vez de hacer un simple print ... Saludos
  15. Hola a todos, tengo una duda Me gustaría hacer una cosa: cuando un objeto llegue hasta una posicion que suceda algo. Lo he intentado hacer pero tengo error de sintaxis en la siguiente línea: if (evento.position = new Vector3(-114.15f, 2.04f, -95.61f)) private Transform evento; void objeto() { evento = GetComponent<Transform>(); if (evento.position = new Vector3(-114.15f, 2.04f, -95.61f)) { Debug.Log("Evento"); } } Muchas Gracias.
  16. Arcontus

    Storm Chasers [Steam]

    Es lo más original que he visto en mucho tiempo. Buen producto.
  17. Arcontus

    Lamentum | Pixel Art Survival Horror

    Está alucinante. ¡Muy buen trabajo! No me quiero ni imaginar la magnitud de sprites con la que trabajáis, debe de ser bestial.
  18. Casti23

    Camaras script

    hola, tengo una duda a cerca del cambio de camaras y el zoom, en mi juego eres una nave que va saltando de planeta en plante entre varios sistemas, en principio habria dos camaras , una que esta desde arriba y en ella se ven todos los sitemas y otra a la que cambia cuando la nave empieza a moverse, no he trabajado con camras nunca(siempre fijas o un simplre seguimiento) y no se que es mejor, algun conseojo? esta seria la camara principal(fase de prueba) y no se si es mejor que haga zoom con la rueda del raton o que cuando pulses sobre un sistema cambie la camara pd el movimiento de la nave es que cuando pulsas sobre un planeta se mueve a el, no puede ser una distancia larga por que si no se queda sin energia.
  19. Corachiolo

    Como hacer un Polygon Collider en 3d

    Ah, muchas gracias, lo voy a probar. Sabes desde que versión? Yo estoy en la 2018.2.16f1. Edit: En la versión 2018.2.16f1 ya esta, muchas gracias.
  20. esr

    Me falla este script y no sé por qué

    No se si el código es exactamente el mismo que tienes puesto en la aplicación, pero si es así tienes una variable que estas accediendo a ella de forma errónea: Cambia el punto por la barra baja y prueba. Aun así como te han dicho es de mucha ayuda que pongas la salida de la consola para poder ver los errores. Saludos
  21. H@pesend

    Requiem for Erich Sann

    xe @mrpacogp, te gustan las moviditas de juego como el primero que hiciste, la leche, la ambientacion mola, muy lovecraftiana, luego le pego mas... yeeeeeeee, siempre me paso de vez en cuando... ya no soy lo que era, la edad a hecho mella en mi...
  22. pioj

    Storm Chasers [Steam]

    Enhorabuena , la idea es chulísima! Sólo te falta mejorar un poco el aspecto gráfico y añadir música de Van Halen...
  23. pioj

    Requiem for Erich Sann

    Otro que vuelve de vacaciones.. XDDD
  24. pioj

    Como hacer un Polygon Collider en 3d

    El ProBuilder ahora forma parte de Unity3D y lo tienes disponible en el Package Manager.
  25. Little Cloud Games

    Storm Chasers [Steam]

    Muy buenas ZelleGames! Es cierto que en este primer trailer no se muestra muy bien el objetivo del juego. Storm Chasers ha sido pensado principalmente para jugarse online por equipos, inspirado en la realidad ya que suelen ir varios equipos de cazadores de tormentas a interceptar un mismo tornado. Sin embargo también he añadido misiones de un sólo jugador que sirven de tutorial para aprender las bases del juego (puedes jugar online una vez completadas las 4 o 5 primeras misiones). El objetivo es conseguir más puntos que el equipo rival. Los puntos se obtienen echando fotos buenas (dependiendo de si se ve el tornado o no, del focus de la cámara, de los destrozos visibles, de lo imponente que es el tornado... etc) y usando sondas que aportan puntos cada X segundos dependiendo de su cercanías con un tornado que haya tocado suelo. Si mueres, ya sea por la explosión del coche, por recibir el impacto de objetos voladores o simplemente por ser aspirado por el tornado, pierdes la mitad de tus puntos. El coche es muy importante ya que no reaparece si es destruido, o si el motor deja de funcionar o si te quedas sin gasolina. Una vez sin coche, o corres (el personaje se cansa al rato de correr) o pides a un compañero de equipo que venga a por ti. Hay que pensar bien cuando echar las fotos ya que el número de carretes es limitado. Si ves que un tornado se dirige hacia un pueblo, quizás sea mejor esperar a que produzca destrozos para ganar más puntos con las fotos. También aporta muchos puntos capturar varios tornados en una misma foto pero es muy complicado que se produzca esa situación. Sin olvidar que puedes estar siguiendo una supercelda activa y que al final tan sólo produzca un comienzo de tornado que no llega a tocar el suelo. Todo esto es para el modo de juego funcional actual pero ya tengo medio añadidos unos cuantos modos de juego más: Sobrevivir a un Tornado Outbreak (múltiples tornados alrededor) en una zona pequeña y conseguir más puntos posibles, y otro que tiene a un jugador controlando el tornado ganando puntos destruyendo y en frente a varios cazadores que tienen que echarle fotos. Al fín y al cabo, creo que el concepto da para mucha diversión y aún habría más posibilidades por explorar ya que es un tipo de juego bastante desconocido. En cuanto al efecto del tornado, lo he logrado creando la columna con partículas y añadiendo después un efecto de nube volumétrica. No es la opción perfecta pero la verdad es que ha quedado muy bien y es bastante práctico. Muchas gracias por tu comentario y espero haber despejado tus dudas.
  26. H@pesend

    Requiem for Erich Sann

    coño, paco, sigues siendo un crack en estas latitudes... luego lo probare y te digo...
  27. Hola gente, la consulta es la siguiente, estoy haciendo un juego de carrera de karts, y me encuentro en el problema que no tengo forma en los circuitos de hacer colliders para detectar cuando un auto se sale del camino, actualmente lo resuelvo generando box colliders, que estiro y roto hasta que ocupen el espacio necesario, pero esto me resulta muy engorroso y asumo que debe existir una forma mas facil de hacer algo parecido. Exite en 3d algo parecido a lo que es el polygon collider en el 2d? buscando en foros en ingles recomiendan algo llamado Pro builder Basic , pero ya no lo encuentro en el assets store. Cualquier ayuda que me puedan dar, estare muy agradecido.
  28. Since Timeline’s introduction in 2017, we know that you’ve been patiently waiting for a way to send events. Well, wait no more! Starting in Unity 2019.1, a new feature called Signals helps you send events. Let’s dive in and see what this new feature is all about. Signals Here’s what Signals look like in the […] Ver artículo completo...
  1. Load more activity
×