Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Enemigos que cruzan paredes...

Iniciado por ramunda, Julio 24, 2015, 10:41:24 PM

Tema anterior - Siguiente tema
Julio 27, 2015, 01:24:37 AM #15 Ultima modificación: Julio 27, 2015, 01:36:18 AM por ramunda
[quote author=Arthure" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15796" data-ipsquote-contentcommentid="100789 date=1437952065]Hola @ramunda. una pregunta por simple curiosidad, a nivel personal te sera gratificante programar un videojuego asi ? no es ninguna critica, pero creo que la gente programa en su mayoria por tres razones: con la esperanza de ganar un dinero y poder vivir de esto, como reto personal y trabajo de investigacion para adquirir nuevos conocimientos, o para satisfaccion personal al ver un trabajo finalizado (el segundo y el tercer motivo van muy ligados el uno al otro).la primera razon, la economica, a nuestro nivel esta casi descartado y lo consiguen el 0.1%la segunda razon, trabajo de investigacion, en tu caso esta claro que tambien se puede descartarpor eso te preguntaba si te sera muy gratificante programar un videojuego como lo estas haciendo, porque si no es asi es un problema (no hay ninguna razon para rom*** la cabeza en realizar un curro como este). como consejo yo te diria que trataras de hacer un poco mas de trabajo de investigacion, puede resultar un poco tedioso pero si te gusta esto, no esta tan mal y encima te resultara mucho mas gratificante al lograrlo.no es muy normal exponer una duda, y cuando te dan una orientacion seguir sacando mas dudas sobre el mismo tema varias veces al dia. con la primera orientacion tienes una base para investigar. hay personas que "investigar" sobre un mismo tema les lleva varios dias a base de buscar informacion, probar y reprobar, es la mejor manera de aprender. si te responden una duda y tu investigacion a partir de esa orientacion es de 5 minutos, sinceramente no creo que aprendas nada, y menos aun (si cabe) que termines un proyecto.todo esto no es mas que un consejo de buen rollo, un saludo[/quote]@Arthure, siento ver que molesto, te doy la razón en casi todo , si que he investigado y mucho,pero la mayoría de foros/respuestas que veo están en ingles, y me pierdo fácilmente. Aqui entiendo perfectamente como hablan hay gente maja, muyyy maja, cojonuda y otros pues que piensan que ayudar a un novato no les va. Y lorespeto por supuesto. Entiendo que los inútiles como yo os molesten, seamos cansinos, y todo lo que digas te dare la razón, pero has pensado que a lo mejor personas como @Adngel les conforta ayudar a inútiles como yo?, nadie te obliga a que me respondas, ayudes o tan siquiera me dirijas la palabra si no es de tu agrado.Y si , la unica razón porque  estoy malgastando mi tiempo en hacer un videojuego , es ademas de aprender(que aprendo), me olvido que hace un año me llevo por delante un coche y me quede en silla de ruedas para toda la vida, lo único que me distrae/relaja es intentar aprender crear un videojuego que nunca venderé y solo lo jugare yo y 3 amigos mas,pero sera algo que a lo mejor con dos piernas no habría echo, y ahora sentadito si me apetece.Pero respetuosamente te digo, si molesto a alguien mas que me lo diga y me voy con mi silla a otra parte.Buen rollo.Y buenas noches.     


Julio 27, 2015, 07:34:07 AM #17 Ultima modificación: Julio 27, 2015, 07:35:25 AM por Arthure
joer @ramunda lo siento, no era mi intencion decir que fueras inutil o que molestaras (no pienso ninguna de las dos cosas). yo era un consejo para que te fuera mas gratificante la experiencia y que aprendieras mas y mejor, pero si encuentras que de este modo te sera mas provechoso o que te sera mas facil salir adelante en esta tarea, ya esta dicho.un saludo y suerte (no molestas y nadie nacio sabido)

[quote author=Arthure" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15796" data-ipsquote-contentcommentid="100797">joer @ramunda lo siento, no era mi intencion decir que fueras inutil o que molestaras (no pienso ninguna de las dos cosas). yo era un consejo para que te fuera mas gratificante la experiencia y que aprendieras mas y mejor, pero si encuentras que de este modo te sera mas provechoso o que te sera mas facil salir adelante en esta tarea, ya esta dicho.un saludo y suerte (no molestas y nadie nacio sabido)[/quote]Hola Arthure, no te preocupes , todo esta bien.Miralo de esta manera, todo lo que yo pregunto y es respondido y/o ayudado, a alguien mas les puede servir no?, aguno de los que empiezan como yo les vendra de perllas muchos de ellos (lo se por expereiencia) , no se atreven a preguntar aqui en el foro por verguenza o para qe no se rian de ellos y lo se porque me han enviado privados con scripts a ver si los podía resolver...En fin que aprender es de sabios, y los sabios y maestros de este foro les encanta ayudar :), aprendamos.@Adngel!!! dispara cundo quieras !!! :)

Julio 27, 2015, 12:35:39 PM #19 Ultima modificación: Enero 01, 1970, 01:00:00 AM por Antonio
Ostias ya he caído por qué, soy algo paleto >.<

El enemigo se mueve recto y está yendo hacia el jugador, en línea recta, si el jugador está sobre el montículo, el enemigo lo mira (hacia arriba) y va en línea recta (¡a volaaar!).  Vale, también ahora que he visto las fotos ya me hago también una idea mejor de como va (yo creía que se trataban de fantasmas que volaban... @_@).

Luego hay que hacer 2 cosas, una es arreglar la rotación, (el LookAt hace su función pero cambia la rotación en los 3 ejes, por lo que hay que cuidar eso) y la otra, es el tema de la gravedad, (queremos que cuando el enemigo vaya cuesta abajo, que se quede pegado al suelo).

Añade esta línea después del LookAt y antes del MovePosition:
skelly6.transform.eulerAngles = new Vector3 (0,transform.rotation.eulerAngles.y,0);
Lo que hace es cambiar la rotación del objeto, (en Unity, la rotación se guarda en tipo Quaternion, pero aqui estoy accediendo a su versión de ángulos euolerianos que es más fácil de comprender, los ángulos eulerianos son los ejes XYZ que van de 0 a 360º (los de toda la vida vamos).

Pues eso, esta línea le dice que, después de cambiar la rotación con el LookAt, vuelva a cambiarlo dejando el eje X y Z a 0, y que el eje Y, lo deje como estaba, (es decir, mirando al jugador). Esto debería evitar que los enemigos vayan despegando.

Ahora para la gravedad, podrías activar el "Use gravity" del Rigidbody, creo que puede dar problemas en algunos casos, especialmente si el terreno se vuelve más complejo o el enemigo tiene que hacer más acciones que tenga que despegarse del suelo, pero ahora mismo que parece algo simple, creo que puede ayudar a que el enemigo vaya cuesta abajo cuando lo necesite. Así es esto, una barrera detrás de otra, pero al menos poco a poco se va avanzando.

Julio 27, 2015, 01:42:31 PM #20 Ultima modificación: Julio 27, 2015, 02:17:08 PM por ramunda
[quote author=Adngel" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15796" data-ipsquote-contentcommentid="100807">Ostias ya he caído por qué, soy algo paleto >.<

El enemigo se mueve recto y está yendo hacia el jugador, en línea recta, si el jugador está sobre el montículo, el enemigo lo mira (hacia arriba) y va en línea recta (¡a volaaar!).  Vale, también ahora que he visto las fotos ya me hago también una idea mejor de como va (yo creía que se trataban de fantasmas que volaban... @_@).

Luego hay que hacer 2 cosas, una es arreglar la rotación, (el LookAt hace su función pero cambia la rotación en los 3 ejes, por lo que hay que cuidar eso) y la otra, es el tema de la gravedad, (queremos que cuando el enemigo vaya cuesta abajo, que se quede pegado al suelo).

Añade esta línea después del LookAt y antes del MovePosition:
skelly6.transform.eulerAngles = new Vector3 (0,transform.rotation.eulerAngles.y,0);
Lo que hace es cambiar la rotación del objeto, (en Unity, la rotación se guarda en tipo Quaternion, pero aqui estoy accediendo a su versión de ángulos euolerianos que es más fácil de comprender, los ángulos eulerianos son los ejes XYZ que van de 0 a 360º (los de toda la vida vamos).

Pues eso, esta línea le dice que, después de cambiar la rotación con el LookAt, vuelva a cambiarlo dejando el eje X y Z a 0, y que el eje Y, lo deje como estaba, (es decir, mirando al jugador). Esto debería evitar que los enemigos vayan despegando.

Ahora para la gravedad, podrías activar el "Use gravity" del Rigidbody, creo que puede dar problemas en algunos casos, especialmente si el terreno se vuelve más complejo o el enemigo tiene que hacer más acciones que tenga que despegarse del suelo, pero ahora mismo que parece algo simple, creo que puede ayudar a que el enemigo vaya cuesta abajo cuando lo necesite. Así es esto, una barrera detrás de otra, pero al menos poco a poco se va avanzando.[/quote]Hola !!!, como vas maestro!!, aver he probado lo que me has indicado y explico:
      skelly6.GetComponent<Animation>().CrossFade("Walk");
      skelly6.transform.LookAt(player.transform.position);
      skelly6.transform.eulerAngles = new Vector3 (0,transform.rotation.eulerAngles.y,0);
      rb.MovePosition(transform.position + transform.forward * Time.deltaTime *3);
La linea creo que la he puesto bien.Si le pongo use gravity se cae por el espacio cual astronauta sin control.Si le pongo Kinematic no se cae pero cruza paredes.Si le quito las dos cosas no se cae, cruza paredes y poco a poco se va para abajo..( voy a trastear a ver si cambio algún afecto,Se levanta del suelo a darle el play por muy hodo que lo meta se sube medio metro y flota , no deriva pero flota.Levita xdLe he puesto de nuevo paredes con colliders de todo tipo etc las pasa como mantequilla.Gracias de nuevo por tu paciencia P.D , paleto tu?. Por dios!!! si yo no llego a medio 0 XDD    

Julio 27, 2015, 02:17:08 PM #21 Ultima modificación: Enero 01, 1970, 01:00:00 AM por Antonio
¿Cómo se va a caer por el suelo?. 

Idea 1: Una cosa que me ha llamado la atención, es en el enemigo, su MeshCollider tiene un radio de 2.51, (es decir, que su esfera tiene un diámetro de 5.02, ¿no es un poco grande?), la esfera de collisión tendría que tener el tamaño más o menos del modelo. (A lo mejor está bien, a lo mejor no, depende también del tamaño general al que estés trabajando que no lo sé @_@).

Idea 2: Otra cosa que me llamó la atención en la imagen donde la cueva está seleccionada, la malla se ve en azul no en verde, esto puede ser por dos cosas.
1 - O que su Mesh Collider no está abierto en el inspector (la felchita que hay a la izquierda del nombre, despliega y contrae la información del componente, si tienes muchos compomentes pues puedes esconder algunos para no tener la lista del inspector tan larga, y abrirlo cuando te haga falta modificar algo).
2 - O que el Mesh Collider no está bien aplicado, (quizás el mesh que tiene enlazado no se corresponde correctamente al de la cueva, esto sería lo mismo que no tener Mesh Collider y sería un motivo para que el enemigo se cayese por el suelo hacia el infinito...).Idea 3: Entre otros motivos, otra razón posible es que el collider del enemigo ya está traspasando el collider del suelo, por lo que no lo detecta y cae... y cae.. y cae... Esto se podría arreglar elevando los enemigos. (Es mejor que estén en el aire y caigan al suelo, a que estén en mitad del suelo y caigan al infierno o lo que haya allá abajo.



No sé que otra razón podría ser para que traspasen la colisión de la cueva. D: 

Julio 27, 2015, 03:54:20 PM #22 Ultima modificación: Julio 27, 2015, 04:05:22 PM por ramunda
[quote author=Adngel" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15796" data-ipsquote-contentcommentid="100812">¿Cómo se va a caer por el suelo?. 

Idea 1: Una cosa que me ha llamado la atención, es en el enemigo, su MeshCollider tiene un radio de 2.51, (es decir, que su esfera tiene un diámetro de 5.02, ¿no es un poco grande?), la esfera de collisión tendría que tener el tamaño más o menos del modelo. (A lo mejor está bien, a lo mejor no, depende también del tamaño general al que estés trabajando que no lo sé @_@).

Idea 2: Otra cosa que me llamó la atención en la imagen donde la cueva está seleccionada, la malla se ve en azul no en verde, esto puede ser por dos cosas.
1 - O que su Mesh Collider no está abierto en el inspector (la felchita que hay a la izquierda del nombre, despliega y contrae la información del componente, si tienes muchos compomentes pues puedes esconder algunos para no tener la lista del inspector tan larga, y abrirlo cuando te haga falta modificar algo).
2 - O que el Mesh Collider no está bien aplicado, (quizás el mesh que tiene enlazado no se corresponde correctamente al de la cueva, esto sería lo mismo que no tener Mesh Collider y sería un motivo para que el enemigo se cayese por el suelo hacia el infinito...).Idea 3: Entre otros motivos, otra razón posible es que el collider del enemigo ya está traspasando el collider del suelo, por lo que no lo detecta y cae... y cae.. y cae... Esto se podría arreglar elevando los enemigos. (Es mejor que estén en el aire y caigan al suelo, a que estén en mitad del suelo y caigan al infierno o lo que haya allá abajo.



No sé que otra razón podría ser para que traspasen la colisión de la cueva. D: [/quote]Compiii, la malla la vees azul en la foto porque no estaba el play puesto jeje cuando le das a play y quitas el maximize on play, se ve verde Lo de la Mesh Collider (que supongo querias decir sphere collider), si es grandecita el bicgo es gordito XDD y asi le doy mas facilmente con las balas juas.Lo de elevarlos los eleve, y se quedan elevados XDDD Sabes que.Ya es una cosa personal la **** cueva. me la cargare, are un plano metere un par de paredes con todo lo que pare a este bicho aver si se para....Ahora te cuento /monthly_2015_07/pista.png.fec712b9326c07f2793b66fa0a52923c.png" class="ipsAttachLink ipsAttachLink_image">

Julio 27, 2015, 04:04:45 PM #23 Ultima modificación: Enero 01, 1970, 01:00:00 AM por Antonio
No, en la ventana de edicción también me pasa, esto es a lo que me refiero:

 (El bicho, sí, quería decir Sphere Collider >.<)

[quote author=Adngel" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15796" data-ipsquote-contentcommentid="100818">No, en la ventana de edicción también me pasa, esto es a lo que me refiero:

 (El bicho, sí, quería decir Sphere Collider >.<)[/quote]oh, po si , mira lo que te he puesto arriba ,por cierto muy chulo el matarife :)

Julio 27, 2015, 04:12:08 PM #25 Ultima modificación: Enero 01, 1970, 01:00:00 AM por Antonio
Vale, la colisión entre los bichos XD, bueno, yo es que todavía no he experimentado con bichos pequeños, lo que tengo son humanoides que siempre estoy usando el cápsule collider (por lo que es raro que terminen subiéndose uno encima del otro). ¿Tal vez esa pueda ser una solución?  O.ò

(El matarife está robado vilmente de un juego, pero es que lo amo así que nada, mi prota, es lo que hay XD).

Por fin......creo que esta arreglado, en la cueva no se . pero el plano con la barera si.Explico para posible suscriptores a este post mega tutorial La barrera lleva :Mesh renderer, transform y tal y un box collider.Los gusanos!!! atención al cambio!!!Mesh renderer, Rigidbody con use gravity on!!y un box collider en vez de un sphere collider!!Ni cruzan ni se montan!!!!Voy a provar en la cueva!!! sino tiro a la basura la dichosa cueva XDD    

Julio 27, 2015, 04:45:55 PM #27 Ultima modificación: Julio 27, 2015, 06:27:26 PM por ramunda
[quote author=Adngel" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15796" data-ipsquote-contentcommentid="100820">Vale, la colisión entre los bichos XD, bueno, yo es que todavía no he experimentado con bichos pequeños, lo que tengo son humanoides que siempre estoy usando el cápsule collider (por lo que es raro que terminen subiéndose uno encima del otro). ¿Tal vez esa pueda ser una solución?  O.ò

(El matarife está robado vilmente de un juego, pero es que lo amo así que nada, mi prota, es lo que hay XD).[/quote]Mola el matarifeee!!! Por fin......creo que esta arreglado, en la cueva no se . pero el plano con la barera si.Explico para posible suscriptores a este post mega tutorial Vaya se acabo la alegria.....sobre un plano funcionan bien sobre un terrain no.Si les pones solo use gravity no aparecen ni en el escenarioSi les pones solo kinematic tampoco.Si les pones los dos componentes si salen y se mueven bien pero ...cruzan todo lo que veen.....juer que ***da.....En cambio los eskeletos si les dejas solo use gravity caminan pero no se mueven y si les disparas salen volando por los aires....En fin que crucen casas yo me rindo /monthly_2015_07/pista.png.fec712b9326c07f2793b66fa0a52923c.png" class="ipsAttachLink ipsAttachLink_image">

Etiquetas: