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

#796
Por que programar la mitad C# y la mitad JS es una muy mala idea, por que no pasas todo a C# y listo.
#797
General (Antiguo) / serialización de un script
Junio 26, 2015, 03:06:04 AM
Serializar datos como INT STRING FLOAT vas a poder, pero otros datos no!
#798
Podría ser, que el idle este con RootMotion y este ocasione un desface en la velocidad, pero no se como tienes programado o armado, da un poco mas de detalles
#799
Esta Genial!, Felicitaciones!
 
Deberias Subirlo a PlayStore!
#800
Utilizas RootMotion?
#801
Me interesa participar como programador. mandar un MP
#802
Simplemente asi.

public GameObject GetObjectTouch()
{
       GameObject Result = null;    
       if (Input.touchCount > 0)
       {
           var ray = Camera.main.ScreenPointToRay (Input.GetTouch(0).position);
           var hit : RaycastHit;
           if (Physics.Raycast (ray, hit))
           {
                Result  = (hit.transform.gameObject);
           }
       }
       return Result;
}

Suerte!
#803
General (Antiguo) / Inteligencia Artificial
Junio 25, 2015, 12:34:25 AM
Bien, en principio te daría una recomendación, Jamas utilices Corrutinas para algo tan importante en un juego.
 
La idea no esta mal, pero mezclas todo y eso si que es mala idea, en la programación hay que ser demasiado cuidadoso y prolijo, esto lleva a que la optimizacion y búsqueda de problemas sea 100% mas rápida y precisa. 
 
1- Divide tus acciones, por ejemplo los disparos deberías controlarlo con otra función.
 
2- Estas haciendo demasiados cálculos innecesarios. 
Para poder encontrar un objeto dentro de un Cono de visión puedes hacerlo con el sobrante de la división entre la Dirección Normalizada y Mi Vector de dirección Frontal, y si el Sobrante es Mayor que 0.7 entonces esta dentro de los 90º.

Direccion = Normalizar (Target - MiObjeto);
dot = Dot(Direccion , MiObjeto.Forward);
if (dot > 0.7)
{
   //Esta dentro del angulo de visión.
}

3- Debes Evitar el uso de tantas sentencias IF y aprender a utilizar delegados, switch y métodos con retornos de objetos diferentes a void. 
 
4- Por ultimo, creo que tienes bastante ingenio y te has currado algo que funciona, eso es un gran paso, pero para que las cosas queden mejor muchas veces hay que leer y planificar lo que necesitamos para que el código siempre tenga una dirección y no tener que estar retomando y modificando o hasta re programando secciones completas a causa de un mal planeamiento.
 
¡Información Importante!
Busca notas o documentos sobre FSM para Inteligencia Artificial en Juegos.
 
Te Dejo algunos..
1 - http://gameprogrammingpatterns.com/state.html" rel="external nofollow">http://gameprogrammingpatterns.com/state.html
2 - http://gamedevelopment.tutsplus.com/tutorials/finite-state-machines-theory-and-implementation--gamedev-11867" rel="external nofollow">http://gamedevelopment.tutsplus.com/tutorials/finite-state-machines-theory-and-implementation--gamedev-11867
3 - http://jessewarden.com/2012/07/finite-state-machines-in-game-development.html" rel="external nofollow">http://jessewarden.com/2012/07/finite-state-machines-in-game-development.html
 
Y Para finalizar, te dejo algo de Oro, esto tiene muchísima informacion sobre inteligencia artificial y dedicado a vídeo juegos.
http://www.gameai.com/sites.php%C2%A0" rel="external nofollow">http://www.gameai.com/sites.php 
 
Suerte y un Abrazo, cualquier duda, estamos para ayudar! 
#804
La GT520 no es buena targeta.
Por que no utilizas mapas de sombras y eliminas las luces?
#805
Que sepa yo, no tiene auto guardado , por lo menos a mi no me guarda nada automaticamente!, de echo estaría genial, jaja, muchas veces estuve trabajando horas y al final se me cerraba y quería morir, y no guardaba nada :/
#806
Cita de: Ionog date=1434915679Me alegro que te guste!
 
Oye una pregunta, podrías decirme si te funciona el leaderboard? Es que creo que está pasando algo raro.. en otro dispositivo me dice que no hay marcadores, pero en el mio si que lo hay..
 
Gracias!
Saludos.
 
No, no funciona, queda la pantalla vacía!
#807
Me encanta esta genial!
#809
General (Antiguo) / Duda activar opcion MonoDevelop
Junio 17, 2015, 11:13:59 PM
Folding Code, buscalo esta dentro de las opciones abajo de la configuración de sintaxis la opciones se llama "Fold Code",  pero monodevelop tiene un bug, y es que cuando, copilas se abren todas las regiones entonces no sirve! 
#810
Tratare de ayudarte un poco mas.
 
Primero necesitas crear un Agente para cada uno de los Peces.

public class Agente : MonoBehaviour
{
    //Ahora creamos las variables necesarias.
    private Agente Target;
    public Transform SetTarget{set{Target = value;}}
    private NavMeshAgent agent{get{return GetComponent<NavMeshAgent>();}}
    private bool ObjetiveComplete{get{return agent.DestineOK();}}
    //Ahora nuestro metodo.
    public void Run()
    {
       if(Target!= null)agent.Destine(Target); //Esto es un Codigo de referencia, no se si funciona o los nombres estan correctos por que lo estoy haciendo directamente desde el foro sin testear ni nada.
    }
}

Ahora, que ya tenes todos los peces con ese componente asignado creamos nuestro Controlador.

public class ControlAgent : MonoBehaviour
{
      //Creas la lista de Agentes
      public List<Agente> agentes = new List<Agente>();
      void Update()
      {
         foreach(Agente a in agentes)
         {
            if(!a.ObjetiveComplete) a.Run(); else agentes.Remove(a);
         }
      }
      
      void PonerEnFila()
      {
//Usa tu algoritmo para poner los mas cerca primeros o como quieras y luego lo vas añadiendo a la lista...
      }
}

Lo que quiero explicarte es que cada agente se maneje por separado y que tengas un controlador de asignaciones de tareas para cada uno, por el momento solo podes dar una tarea, seguir en orden a sus objetivos..
 
Espero te sirvas y lo entiendas! un Abrazoo