Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - francoe1

#31
Scripting / Contador
Marzo 04, 2020, 08:40:57 PM
Y sirve para obtener o setear un valor. Las propiedades no se puede auto setear o auto obtener por que tendrias un problema de "overflow" por eso se utiliza una variable extra que sirve para almacenar el valor. 
 
 
 
Las propiedades pueden tener un SET y GET de forma independiente, por ejemplo si queres tener una variable publica que no se pueda modificar entonces podes usar una propiedad que solo implemente GET.
 
Si queres controlar de que manera se asigna el valor de una variable tendrias que implementar SET. 
 
 
 
Eso es toodo no hay mas magia. 
#32
Scripting / Contador
Marzo 04, 2020, 08:10:47 PM
Podrias hacer uso de propiedades para realizar esta tarea.
 

private int m_vidas = 0;
private int m_vidasAnterior = 0;
public int Puntos { get; set; }
public int Lifes {
  get { return m_vidas; }
  set { m_vidas = value; if (m_vidas - m_vidasAnterior >= 3) { m_vidasAnterior = m_vidas; Puntos ++; } }
}

 
 
#33
El contenido es básico, por el momento no veo algo que requiera mejorar.
 
Excepto .... 
 
Te recomiendo utilizar las nomenclatura estándar de C# ofrecidas por Microsoft para que sea más simple seguir mientras vas programando <- Aplicable si las cosas empiezan a ser más complejas.. 
 
Nomenclatura
 
 
#34
Scripting / Físicas con CharacterController
Marzo 03, 2020, 12:40:25 PM
La fuerza es la dirección entre el jugador y el objeto.
 

vector3 dir = (jugador.posición - objeto.posicion).normalizado

 
Luego a ese vector de dirección lo multiplicas por la velocidad del jugador. 
 

dir *= jugador.velocidad.magnitud

 
Tenes que tener en cuenta la relación velocidad/fuerza/masa. Cuánta Fuerza se necesita para mover X Objecto con X Masa con X Drag, etc.
 
Quizás en el Ejemplo Unity contempla que el objeto tenga una velocidad al momento del impacto, las diferencias de fuerzas determinan si el objeto empuja al jugador o viceversa. 
 
 
#35
Proyectos / YourCity Racing
Marzo 01, 2020, 11:02:54 PM
Crazy Taxy of Simpsons.. 
 
Noto que hay algunos errores de caras superpuestas "z-depth, flickering o tantos otros nombres"!
 
¿Las físicas del vehículos son tuyas?
 
Se percibe una gran pérdida de rendimiento con la cámara exterior.
 
Pero, vas avanzando! Exitos.
#36
@Ezequiel Torres Antes de migrar puedes buscar herramientas en GitHub para Safe-Migrate, había una, no recuerdo específicamente que te permite migrar desde Unity 5 a 2018, donde cambio el serializado, y luego integraron el nuevo sistema de Prefabs y nuevamente necesitábamos herramientas para migrar, existen, están por algún lado del internet, no te paso link por que es inútil, es cuestión de prueba y error.
#37
Scripting / Físicas con CharacterController
Febrero 26, 2020, 02:43:59 PM
Hola @Jhonatan00_00, al parecer en el video el movimiento se debe a que el jugador se está moviendo modificando la posición directamente (CharacterController), puede existir un Physics-Step entre el movimiento y el "re acomodamiento" que genere una colisión dentro del collider de la caja que contiene el Rigidbody. En resumen, por x cantidad de tiempo el jugador está traspasando al cubo. Esto una hipótesis. 
 
Por la foto y otras preguntas ahora entiendo que el movimiento del jugador se basará en 3D, esto es muy importante, en principio te diría que elimines la posibilidad de hacerlo con Raycast, en 3D es un poco más complejo de asimilar que en 2D y sin los conocimientos matemáticos necesarios es bastante dificil lograr un buen resultado.
 
¿Como simular la física de contacto?

Es simple, character controller utiliza un Capsule Collider para detectar sus colisiones, podrias crear un Componente que detecte y lanze un evento de colisión con todos sus contactos.
 

public class CollisionManager : MonoBehaviour
{
     public delegate void CollisionDelegate(Vector3 point, Vector3 normal, Transform go);
     public event CollisionDelegate CollisionEvent;
 
    private void OnCollisionStay(Collision collisionInfo)
    {
        foreach (ContactPoint contact in collisionInfo.contacts)
          CollisionEvent?.Invoke(contact.point, contact.normal, contact.transform);
    }
}

 
Ahora capturas el evento y compruebas si el objeto colisionada contiene un rigidbody, luego aplicas la fuerza en el punto de contacto con su normal y la velocidad del jugador (la velocidad del frame anterior).
 

public class CharacterControllerPhysics : MonoBehaviour
{
  [SerializeField]
  private CollisionManager m_collision;
 
  private void Awake()
  {
    m_collision.EventCollision += OnCollision;
  }
 
  private void OnCollision(Vector3 point, Vector3 normal, Transform go)
  {
    if (TryGetRigidbody(out Rigidbody rb))
      rb.AddForceAtPosition(normal * PLAYER_CURRENT_VELOCITY, point);
  }
 
  private bool TryGetRigidbody(Transform t, out Rigidbody rb)
  {
    rb = t.GetComponent<RigidBody>();
    return rb != null;
  }
}

 
PLAYER_CURRENT_VELOCITY debería ser el valor de la velocidad del frame anterior. 
 
Esta es la forma más sencilla de hacerlo, existen alternativas con mejores resultados pero aumentan proporcionalmente su complejidad. 
#38
Scripting / Instanciar scriptable object
Febrero 25, 2020, 10:54:21 PM
Podrías encapsular la información "temporal" dentro de una estructura. Luego en el SO creas un campo privado y serializado y un accesor publico, al ser una estructura es imposible ser editada pero podrías tener la información y copiarla en un variable temporal para poder editarla a gusto.  
#39
Scripting / Físicas con CharacterController
Febrero 25, 2020, 05:50:59 AM
@lightbug Gracias por responder
 
@Jhonatan00_00 Te recomiendo que leas "Términos de uso" y dentro de esto verás el por qué Unity no es "gratis". 
 
Si querés nos sentamos a discutir SEO y te explico cómo funciona. 
 
Y por último una gran recomendación, no consumas esas porquería de geinxu, alva majo, etc... Esa gente está al mismo o más bajo nivel que vos, la diferencia es que se crean una leyenda de si mismo. Creedme, hay video conferencia muy buenas de gente profesional, que trabajo para Rockstar, Ubisoft, THQ, Vivaldi y muchas otras grandes empresas, no es necesario que pegue el Link, están en Youtube! 
 
---------
 
Si, soy prepotente, y esto se debe a que trate con mucha gente igual que vos, con más preguntas que conocimiento, con más ganas de soluciones instantánea que de aprendizaje. Con la experiencia te irás volviendo más arrogante y menos tolerante.   
 
Sin embargo, acá, en el foro, muchas veces respiramos profundo e intentamos responder de la manera más orgánica posible, para que quien pregunta entienda.
 
-------
 
El proyecto se ve bien, pero 1 imagen no refleja absolutamente nada, compartir un GIF o Vídeo sería de agradecer, aparte, es una forma generosa de devolver lo que el foro te está dando de forma gratuita. 
 
Cita de: iRobb date=1582580805Vaya con el vídeo. Hace 20 años se reían de nosotros y ahora nos vengamos. Es la venganza de los nerds! 
   
   
      Por cierto, minuto 1:05 cuando dice "respeta a los demás porqué..."  y  se queda en blanco. Jajajaja
   


Lo mejor de todo es que el ejemplo del 1:05 es muy malo, no se aplica a lo que intento exponer. Es decir, mezclo profesiones... 
 
Si vas a programar cómo junior dentro de una empresa serás tratado como tal, el día que sea semi-senior o senior entonces podrás elegir si tolerar a los Juniors o dejarlos en libertad jajajajajaja
#40
Scripting / Físicas con CharacterController
Febrero 24, 2020, 06:00:30 PM
No tengo mucho tiempo, pero visto esto me voy a tomar unos minutos para contestar.
 
Primero, quiero que entiendas algo y siempre que estés por formular tus preguntas o respuestas lo tengas en cuenta, "NO ERES PROFESIONAL Y NO TIENES LOS ESTUDIOS REFERENTES" por esta razón tus preguntas jamás tendrán una respuestas que te satisfazca. 
 
Segundo, las fisicas y mecanicas de tu juego no tienen ninguna limitación en cuanto a las herramientas que estés utilizando, esto quiere decir que dentro de todos los Engines existen alternativas que sirven únicamente como prototipos y no deberían ser utilizadas para producción (que no deban, no quiere decir que no puedan), el resto se supone que se debería desarrollar.
 
Tercero, en cuanto al desarrollo de una mecánica de movimiento estamos hablando de un tema "complejo", antes de realizar cualquier cosa deberias tener un conocimiento avanzado de trigonometría, lo cual dentro de la programación es el punto inicial y básico. Luego deberias entender geometría analítica.
 
Cuando tengas desarrolladas las dos bases anteriormente comentadas, podrias empezar a realizar críticas y opiniones constructivas, mientras tanto simplemente sos un ignorante creyendo que viendo 2 videos de youtube se convertirá en Miyamoto, y lamento pincharte el globo, esa idea está muy lejos de la realidad.
 
¿Como solucionar este problema? 
 
De la misma manera que millones de personas a lo largo de su vida realizan, si no sabes hacerlo entonces deberias comprarlo, se aplica para todo en esta vida, vivienda, automóviles, comidas, bebidas y absolutamente todo, y aún así adquiriendo estos productos tu responsabilidad como consumidor es aprender a usarlos.
 
Vamos al punto en concreto, no eres un "niño prodigio" eres un mortal como todos nosotros, deberás leer, estudiar y practicar para que algun dia puedas hablar con total criterio, de momento no lo hagas, solo demuestra el desinterés por entender.
 
Frente a la ignorancia mi lema sería "SI NO SABES, CÓMPRALO. SI LO QUE COMPRAS NO SOLUCIONA TU PROBLEMA, DEBERIAS INSULTAR TU IGNORANCIA" 
#41
Te recomiendo un tutorial básico que explica cómo implementar y solventar los problemas que te enfrentas al implementar un sistema ("CLASICO") de colisión.
 


   
">

 
 
#42
Scripting / INCONSISTENT LINE ENDINGS
Febrero 17, 2020, 09:48:40 PM
En la sección archivos guardar como, tenés un opción para cambiar este comportamiento desde visual estudio. 
 
Desde Unity, creo que en settings te deja seleccionar el tipo de end lines... 
#43
Cita de: pioj date=1581933450Acabo de ver su API y es asquerosa y sospechosamente similar al AnimationCurve.  ¿Será un mal presagio?  


Por dios, copiaron y pegaron las clases KeyFrame y AnimateCurve.... 
#44
Offtopic / ¿PC o Android?
Febrero 17, 2020, 01:46:29 PM
@lightbug, hay que tener en cuenta algo muy importante. Cuando se trabaja de manera profesional se decanta por utilizar software de la misma categoría por sus fuertes, RENDIMIENTO, ESCALABILIDAD y SOPORTE/COMUNIDAD, gracias a esto y en la mayoría de programas una larga trayectoria es que terminan siendo lo mejor, esto no quiere decir que sea la mejor elección para uno, solo quiere decir que el programa se moldeó con el tiempo a millones de usuarios.
 
Si bien me gusta el pensamiento al estilo Richard Stallman, programar, diseñar y desarrollar lleva tiempo, por lo que no veo mal pagar para obtener herramientas que funcionen al %100 en producción.
 
@Jhonatan00_00 Si entras a Pinterest vas a ver colecciones de recursos visuales que no están patentados, esto es por la única y simple razón de que nadie busca para clonar, se puede buscar inspiración pero clonar a tal punto de tener que patentar..   .. 
 



   
      Shigeru Miyamoto, manifestó que incluso llegó a creer que saltar era una idea suya
   

[/quote]
 
 
#45
Offtopic / ¿PC o Android?
Febrero 15, 2020, 08:41:47 PM



   
      P.D.: Lo que opinen "mis dos amigos", no es un público ni una opinión objetiva válida, comparado con lo que opinen 5000 personas distintas, sobre tu juego. Y que "mi juego sea una copia del Zelda", más que un problema, es un cumplido...
   

[/quote]
 
Lo mismo Pense.
 
Excelente @pioj!