Por que programar la mitad C# y la mitad JS es una muy mala idea, por que no pasas todo a C# y listo.
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.
#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
General (Antiguo) / Unity5 mecanim - Personaje a veces camina solo
Junio 25, 2015, 10:01:15 PM
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
General (Antiguo) / Mi nuevo juego gratuito (Pick ChicKen) para dispositivos Apple
Junio 25, 2015, 09:58:23 PM
Esta Genial!, Felicitaciones!
Deberias Subirlo a PlayStore!
Deberias Subirlo a PlayStore!
#800
General (Antiguo) / Unity5 mecanim - Personaje a veces camina solo
Junio 25, 2015, 08:02:26 PM
Utilizas RootMotion?
#801
General (Antiguo) / Nuevo Proyecto : Runner Caníbal!
Junio 25, 2015, 06:57:10 PM
Me interesa participar como programador. mandar un MP
#802
General (Antiguo) / seleccionar un objeto con un "touch"
Junio 25, 2015, 01:30:23 AM
Simplemente asi.
Suerte!
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º.
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!
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
General (Antiguo) / diferencia de rendimiento con varias luces visibles
Junio 23, 2015, 08:31:10 PM
La GT520 no es buena targeta.
Por que no utilizas mapas de sombras y eliminas las luces?
Por que no utilizas mapas de sombras y eliminas las luces?
#805
General (Antiguo) / ¿Se puede desactivar el autoguardado de Unity 5?
Junio 22, 2015, 05:48:59 PM
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
General (Antiguo) / Puzzle Hopper - Endless Runner [Android]
Junio 22, 2015, 04:50:36 AMCita 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
General (Antiguo) / Puzzle Hopper - Endless Runner [Android]
Junio 21, 2015, 08:39:37 PM
Me encanta esta genial!
#808
General (Antiguo) / ¿Me puedes recomendar algun libro sobre networking?
Junio 18, 2015, 08:06:48 PM #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
General (Antiguo) / alguien sabe de pathfinder que varios sigan el linea?
Junio 17, 2015, 11:10:20 PM
Tratare de ayudarte un poco mas.
Primero necesitas crear un Agente para cada uno de los Peces.
Ahora, que ya tenes todos los peces con ese componente asignado creamos nuestro Controlador.
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
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