Animar composicion

Preguntas y respuestas relacionadas con animación en Blender 3D
heromen
Mensajes: 18
Registrado: Jue Mar 16, 2017 2:01 pm
Nombre: Hiro

Re: Animar composicion

Mensaje por heromen » Jue Abr 06, 2017 3:07 pm

hola, mira estoy haciendo un juego de Runner y tiene que hacer movimientos de parkour y todo eso, saltando obstáculos y lo demás, y quería saber si sabrian de algún tutoríal usando el logic editor o el Python (no tengo mucha experiencia con el Python pero puedo aprender) y bueno eh estado buscando y no eh encontrado mucho, en teoría lo que quiero que haga mi personaje es movimientos como el juego de VECTOR, la aplicación para el movil.
Ahi eh visto que con la misma tecla:
-El personaje cuando esta a una distancia media del obstáculos salta normalmente.
-Cuando el personaje esta cerca del obstáculos se desliza por encima de ella, 2 acciones diferentes con la misma tecla.
-Cuando no se presiona ninguna tecla, el personaje rueda por encima del obstáculos pero considerándose como un tropiezo.

yo se hacer las animaciones pero el tema con los sensores del obstáculos que hace el videojuego es lo que no tengo muy claro, si alguien me puede ayudar con algún tutoríal que hable de este tema, muchas gracias por su ayuda

Avatar de Usuario
soliman
Mensajes: 5501
Registrado: Jue Sep 01, 2005 1:13 pm
Nombre: soliman
Contactar:

Re: Animar composicion

Mensaje por soliman » Jue Abr 06, 2017 4:05 pm

heromen escribió:hola, mira estoy haciendo un juego de Runner y tiene que hacer movimientos de parkour y todo eso, saltando obstáculos y lo demás, y quería saber si sabrian de algún tutoríal usando el logic editor o el Python (no tengo mucha experiencia con el Python pero puedo aprender) y bueno eh estado buscando y no eh encontrado mucho, en teoría lo que quiero que haga mi personaje es movimientos como el juego de VECTOR, la aplicación para el movil.
Ahi eh visto que con la misma tecla:
-El personaje cuando esta a una distancia media del obstáculos salta normalmente.
-Cuando el personaje esta cerca del obstáculos se desliza por encima de ella, 2 acciones diferentes con la misma tecla.
-Cuando no se presiona ninguna tecla, el personaje rueda por encima del obstáculos pero considerándose como un tropiezo.

yo se hacer las animaciones pero el tema con los sensores del obstáculos que hace el videojuego es lo que no tengo muy claro, si alguien me puede ayudar con algún tutoríal que hable de este tema, muchas gracias por su ayuda
Pues ni idea, pero puedes mirar esta página a ver si te sirve...
http://www.fisicomolon.com/joomla/

heromen
Mensajes: 18
Registrado: Jue Mar 16, 2017 2:01 pm
Nombre: Hiro

Re: Animar composicion

Mensaje por heromen » Sab Abr 15, 2017 12:08 pm

hola, bueno tengo un problema con el Python, la cosa es que el cubo de mi personaje salta y quiero reproducir una animación cuando salta, tengo hecha ya la animación de correr y cuando esta parado pero si ven el Python que tengo al final del todo es donde tengo el salto pero tengo otra animaciones para ello, pero no logro realizarla por favor si me pudieran ayudar, o si conocen otra forma de hacer el salto para agregarle la animación me ayudarían mucho, esto es el script q tengo:

import bge
g= bge.logic
co=g.getCurrentController()
sce= g.getCurrentScene()
o=co.owner
#############

## Sensores y actuadores
ray=co.sensors["floor"]
sen=co.sensors["touch"]
mot=co.actuators["motion"]
rot=co.actuators["rotacion"]
ani=co.actuators["anim"]
jum=co.actuators["jump"]


AKEY= sen.getKeyStatus(97)
SKEY= sen.getKeyStatus(115)
DKEY= sen.getKeyStatus(100)
WKEY= sen.getKeyStatus(119)
SPACEKEY= sen.getKeyStatus(32)


## Run
if WKEY==1:

ani.action= "run"
ani.frameStart= 1.0
ani.frameEnd= 30.0
ani.blendIn= 5.0
ani.mode= 4
ani.priority= 1
co.activate("anim")

mot.linV=[0.0,10.0,0.0]
co.activate("motion")

## Movimiento izquierda
if DKEY==1:
rot.dLoc= [0.2,0.0,0.0]
co.activate("rotacion")

## Movimiento derecha
if AKEY==1:
rot.dLoc= [-0.2,0.0,0.0]
co.activate("rotacion")

## Stop
if DKEY==0 and AKEY==0:

rot.dLoc= [0.0,0.0,0.0]
co.activate("rotacion")

if WKEY==0: ## animacion stop
ani.action= "stop"
ani.frameStart= 1.0
ani.frameEnd= 100.0
ani.blendIn= 5.0
ani.mode= 4
ani.priority= 2
co.activate("anim")


## salto y animación
if ray.positive: ##sensor ray
if SPACEKEY==1:
jum.force=[0.0,0.0,70.0]
co.activate("jump")
else:

jum.force=[0.0,0.0,-10.0]
co.activate("jump")
-----------------

Si en el "else" el ultimo de todos pongo esto me funciona, hace lo que quiero pero cuando el cubo avanza y el esqueleto corre ya no lo hace

else:
ani.action= "rot1" ## animation salto
ani.frameStart= 1.0
ani.frameEnd= 30.0
ani.blendIn= 5.0
ani.mode= 4
ani.priority= 2
co.activate("anim")
jum.force=[0.0,0.0,-10.0]
co.desactivate("jump")
----------
prove ponerlo arriba, debajo del spacekey==1: pero ahí tampoco, ponga donde lo ponga no se me reproduce ninguna animación, espero puedan ayudarme por favor, si hago esto podre hacer mas cosas muchas gracias por todo.

bueno si logras ayudarme quisiera tmb poder hacer que el personaje no salte cuando este parado, solo lo haga cuando este corriendo gracias
pd: soy casi nuevo en el Python

Avatar de Usuario
soliman
Mensajes: 5501
Registrado: Jue Sep 01, 2005 1:13 pm
Nombre: soliman
Contactar:

Re: Animar composicion

Mensaje por soliman » Sab Abr 15, 2017 12:51 pm

De python no te sabría ayudar, pero en el logic puedes poner mas de una animación (Action) a una misma tecla o SENSOR.
Adjuntos
dos.jpg

heromen
Mensajes: 18
Registrado: Jue Mar 16, 2017 2:01 pm
Nombre: Hiro

Re: Animar composicion

Mensaje por heromen » Sab Abr 15, 2017 1:22 pm

gracias de todas maneras soliman veré que puedo hacer :(

juani
Mensajes: 158
Registrado: Mié Oct 28, 2015 1:34 am
Nombre: Juan Antonio Sanchez Flores

Re: Animar composicion

Mensaje por juani » Sab Abr 15, 2017 5:07 pm

La ultima parte el salto y la animación dependen del sensor ray, me da la sensación de que no tienes bien configurada la distancia que debe detectar, pienso que cuando el cubo avanza cambia la distancia al rayo y este dejará de ser positivo.Necesitaria ver como lo tienes.

heromen
Mensajes: 18
Registrado: Jue Mar 16, 2017 2:01 pm
Nombre: Hiro

Re: Animar composicion

Mensaje por heromen » Lun Abr 17, 2017 5:10 pm

disculpa la demora es responder esquema no encontraba como subir con URL una imagen
mira aki te lo dejo
Imagen

juani
Mensajes: 158
Registrado: Mié Oct 28, 2015 1:34 am
Nombre: Juan Antonio Sanchez Flores

Re: Animar composicion

Mensaje por juani » Mar Abr 18, 2017 12:07 am

Buenas lo que pasa es que tienes varias animaciones hechas al esqueleto y en el script la priority es la que manda el orden de ejecución de las animaciones.Los valores de cero en adelante( 0,1,2,3...etc), marcan la prioridad siendo 0 la máxima prioridad, 1 menos que 0 , 2 menos que 1...
En el script la animación de correr tiene prioridad 1 y la de saltar tiene prioridad 2, osea que si reproduces las dos al mismo tiempo tiene preferencia la de correr. Pon prioridad (priority) 0 a la de salto y cuando se mezclen las animaciones la del salto tendrá preferencia a la de correr.

Para que no salte cuando está parado:
if ray.positive and DKEY!=0 and AKEY!=0 and WKEY!=0: ##sensor ray
Esto dice que ejecute el código de abajo si las teclas D,A,W son distintas de cero, es decir, se ejecutará cuando alguna tecla de movimiento esté pulsada.

heromen
Mensajes: 18
Registrado: Jue Mar 16, 2017 2:01 pm
Nombre: Hiro

Re: Animar composicion

Mensaje por heromen » Mar Abr 18, 2017 9:33 am

hey Juani gracias ahora entiendo el pork no me salía, pero mira ahora tengo otro problemita, y esque la animación de salto no deja de reproducirse y esto es como eh tratado de solucionarlo:
eh puesto la de salto priori= 0 y la de run =1 que es lo que me dijiste al principio pero después
-después eh puesto las dos a 1
-el ani.mode del rot1(salto) los eh cambiado a todos los que había
-eh intentado cambiar los script pero nada
-eh puesto el scrip de "salto" arriba para que este debajo del de "run" haber si cambiaba algo pero eso creo q era innecesario
bueno y algunas cosas mas pero la reproducción de salto no deja de reproducir, reemplaza a la animación de correr todo el trayecto, y salta y todo pero deja de correr, ósea ahora hace todo lo contrario a lo de antes xD.
Bueno a parte de todo eso tengo un problemita que ya lo tenia antes y q me resulta extraño, pasa que casi siempre en el primer salto de todos que hace con la animación rot1(salto), hace algo extraño, las piernas se mueven desordenadamente o aveces o hace la animación pero muy rápido q casi hasta se ve solo la mitad u otros movimientos extraños. Pero eso solo en el primer salto después, en los demás hace la animación totalmente normal, creo q tiene que ver algo con el blendIn del Action pero no estoy seguro. Gracias Juani por la ayuda

te dejo como lo tengo ahora la parte del ## sensor ray

if ray.positive:
if SPACEKEY==1:

ani.action= "rot1"
ani.frameStart= 1.0
ani.frameEnd= 30.0
ani.blendIn= 5.0
ani.mode= 4
ani.priority= 0
co.activate("anim")

jum.force=[0.0,0.0,70.0]
co.activate("jump")
else:

jum.force=[0.0,0.0,-10.0]
co.activate("jump")

juani
Mensajes: 158
Registrado: Mié Oct 28, 2015 1:34 am
Nombre: Juan Antonio Sanchez Flores

Re: Animar composicion

Mensaje por juani » Mié Abr 19, 2017 1:31 pm

Lo siento pero necesitaria tener el blender y ver como se está ejecutando en la consola, las animaciones solo hay 3 tipos, modo Play(0), modo Loop(1), modo PingPong(2), no hay valor 4, si pones la priority las dos iguales, blender ejecutará solo la primera por orden de ejecución, a menos que en la segunda animación no afecte a huesos que se estén moviendo en la primera entonces si haría las dos, en el script no desactivas el actuador action por tanto las animaciones no paran de reproducirse según en que modo lo tengas, creo que el idóneo seria Play(mode 0), no lo se voy a ciegas probablemente también tengas algún error en el juego que podria verse facilmente en la consola, no lo se.Si puedes poner el blend...

heromen
Mensajes: 18
Registrado: Jue Mar 16, 2017 2:01 pm
Nombre: Hiro

Re: Animar composicion

Mensaje por heromen » Jue Abr 20, 2017 9:06 am

http://pasteall.org/blend/index.php?id=46306
aki te lo dejo men
bueno sobre la consola hay uno q dice Python consola pero no me sale nada, ni error ni ejecuciones ni nada, nos si es el q debo usar

juani
Mensajes: 158
Registrado: Mié Oct 28, 2015 1:34 am
Nombre: Juan Antonio Sanchez Flores

Re: Animar composicion

Mensaje por juani » Jue Abr 20, 2017 4:23 pm

Buenas ya tengo el blend, tengo algunas dudas, el primer error que da python es que tienes un actuador Character Motion que no se aplica al objeto que lo lleva y te deja el sensor como Simple Motion, no pasa nada porque aplicas la fuerza desde el script pero bueno yo lo he puesto como Simple Motion (el jump), otra cosa tienes definidas variables para cada sensor y actuador pero luego los llamas por su nombre, también lo acepta python pero no tiene sentido y hace cosas raras, otra cosa, ¿ el jugador debe pararse si no pulso W?, al ser Dynamic seguirá avanzando solo por la fuerza ejercida, a menos que tropiece con algo y se pare (no se si es así como lo quieres si no es así hay que frenarlo con otra fuerza en contra) otra cosa peor, la pista que tienes por donde corre el jugador es muy corta, cuando este llega al final, cae al vacio, como la cámara está emparentada con él desde esta vista (Vista Cámara) tu no aprecias nada, parece que sigue corriendo pero ya no hay suelo y el sensor ray no detecta nada y ya no puedes saltar. A ver si me puedes aclarar cosas y podemos ponerlo fino.

heromen
Mensajes: 18
Registrado: Jue Mar 16, 2017 2:01 pm
Nombre: Hiro

Re: Animar composicion

Mensaje por heromen » Vie Abr 21, 2017 6:44 am

si mira para empezar:
- con el character motion la verdad es que mucha idea no tengo tanto si pongo el uno como el otro, ya que nose como funciona muy bien a la hora de ponerlo en Python y si te soy sincero, el game logic tampoco es que sepa mucho, solo sigo los tutoriales al pie de la letra lo dejo como esta, para así no tenner fallos que después no pueda resolver.

-esto de los nombres para cada variable, según eh aprendido en los tutoriales hay que ponerles nombres para después en el Python llamarlos como tal y bueno nose si es a lo q te referías

- lo de que el personaje no se pare es por que lo quería si, en teoría es un juego de Runner infinito y es un personaje que siempre esta corriendo y no quiero que pare.

- sobre que la pista es muy corta bueno, Aki te tengo q decir que primero quería hacer todos los movimientos del personaje, tanto como saltar, deslizarse, esquivar, tropezar y golpear y bueno quería hacer primero todo eso y después centrarme en la pista, hacerla mas larga, ponerle los obstáculos y etc. Esto lo quería dejar para el final.
Ademas como habrás visto es solo una pista la que hay, y parece un juego en 2D, mi intención es hacerla con tres pistas, ósea que el personaje se mueva para la izquierda y derecha y junto con todo eso hacer la pista interminable pero esto lo estoy dejando para después.
Y bueno nada espero haberme explicado bien

juani
Mensajes: 158
Registrado: Mié Oct 28, 2015 1:34 am
Nombre: Juan Antonio Sanchez Flores

Re: Animar composicion

Mensaje por juani » Sab Abr 22, 2017 1:06 pm

No consigo que la animación de salto se pare cuando se ejecuta el juego.¿Podrias decirme donde has visto ese código? Le pasa algo pero no doy con la tecla.Creo que es el sensor ray pero no puedo desactivarlo, la forma en que está escrito el script, bueno es algo antigua, pero la consola no da errores y se ejecuta bien. En realidad el script hace todo lo que se le pide pero la animación del salto con el ray, no para nunca.Se puede hacer de otras maneras pero si lo has hecho por tutoriales igual no lo entiendes, si quieres lo hacemos de otra forma.

heromen
Mensajes: 18
Registrado: Jue Mar 16, 2017 2:01 pm
Nombre: Hiro

Re: Animar composicion

Mensaje por heromen » Dom Abr 23, 2017 7:17 am

mira si te soy sincero, el script lo vi en un foro de fisico molon, y la verdad esq no era un sensor ray, era un sensor de colisión, lo cambie por que entendía mejor como funcionaba el RAY pero ahora tmb entiendo los dos.
Soy nuevo en esto del Python, soy consciente q hay mejores maneras de hacerlo pero que yo no lo se, así que si tu conoces otra forma de hacerlo y mas practico ps mucho mejor. Por eso antes había puesto en el foro q si conocían otra forma mejor de hacer el salto me venia bien.
Y pueda que sea algo antiguo el script pero es culpa de mi ignorancia xD
Te agradezco todo tu tiempo que te estas tomando, gracias de verdad

Responder