Resultados 1 al 12 de 12

Tema: Problema con script ge Blender

  1. #1
    Fecha de ingreso
    Jun 2006
    Mensajes
    95

    Blender Problema con script ge Blender

    Bueno, aquí estoy de nuevo dando la coña con el Python en Blender. Bueno, resulta que estoy haciendo un juego para que un muñeco se mueva según pulses en una pista en el suelo (el Blender lo detecta como un joystick) con 8 flechas.

    Aquí planteo la situación.

    Quiero hacer que el muñeco cuando estén pulsadas dos teclas de la pista (izquierda y derecha), el muñeco se agache, y en el momento que las sueltes el muñeco salte.

    Probé con unas cuantas maneras, pero ninguna me funcionó, la última es la que vi mejor, pero seguramente también sea una porquería, pero no se me ocurre otra manera.

    El problema es que en el scrypt metí un bucle while, y el Blender se me queda colgado cuando la pongo. Y no sé por qué, entonces no sé si es que el scrypt está fatal o si hay algún problema solo con ese bucle.

    Por favor, que alguien me ayude, llevo unos días y me empieza a sacar de quicio, tiene que ser simple, pero es lo primero que programo en mi vida, así que, todavía no le tengo cogido el truco. Un saludo a todos.
    Archivos adjuntados Archivos adjuntados
    Que es la vida, un frenesí*, que es la vida una ilusión,
    un sueño, una ficción. Que el mayor Bien es pequeño...
    Toda la realidad es sueño y los sueños, sueños son



    Mi pagina web!!! (temporal xd)

  2. #2
    Fecha de ingreso
    Dec 2004
    Mensajes
    14,031

    Problema con script ge Blender

    Yo hace tiempo que no hago nada con el ge, pero el bucle ese te sobra, porque, si no recuerdo mal el script se va a ejecutar siempre que los sensores cumplan las operación lógicas (en este caso and), o sea, que el script se ejecutara una vez en cada ciclo mientras los botones del joystick estén pulsados.

    De todas formas, me parece que te estás complicando mucho la vida haciendo un script solo para eso, cuando podrías simplemente usar los logic briks de forma muy sencilla.

  3. #3
    Fecha de ingreso
    Jun 2006
    Mensajes
    95

    Blender Problema con script ge Blender

    Buenas noches. Respecto a lo del bucle, lo puse por la siguiente razón. Cada vez que se ejecutaba el script los atributos de la clase estado (para saber que está haciendo el muñeco en cada momento), se restablecen, así que, nunca está haciendo nada, al menos de manera continua, por eso puse el while, para que el bucle no sea en el scrypt entero, sino solo en la parte que yo quiera.

    Respecto a lo de la facilidad y demás, supongo que, tienes razón, es más, hice unas pruebas sin programar, pero, estoy aprendiendo. Por eso estoy haciéndolo por Python.

    Se me ocurrió una idea, pero al intentarla se me chafó todo. Se me ocurrió, que para que los atributos que definí en la clase, no se vuelvan false cada vez que se ejecute el scrypt, en vez de hacer la clase, lo que cojo son unos property del ge de Blender, eso valdría, ¿no?
    Lo único es que no sé cómo coger un property, probé con getproperty, pero no me funcionó.
    ¿Alguien sabría decirme cómo se hace? Saludos.
    Que es la vida, un frenesí*, que es la vida una ilusión,
    un sueño, una ficción. Que el mayor Bien es pequeño...
    Toda la realidad es sueño y los sueños, sueños son



    Mi pagina web!!! (temporal xd)

  4. #4
    Fecha de ingreso
    Jun 2003
    Mensajes
    12,618

    Problema con script ge Blender

    Tengo el Game Engine bastante oxidado, pero el mejor consejo es que te descargues juegos hechos con Blender (de los que hay en la página oficial, por ejemplo) y estudies los distintos scripts que tiene, y que hace cada parte. Se aprende un montón sobre su filosofía de funcionamiento.

    Sobre lo del bucle, tú lo has dicho: no querías que el bucle fuera el script entero, sino sólo la parte que tú querías, así que, se queda para siempre en esa parte y no sale nunca.

    Tienes que entender el juego como un bucle principal global en el que no existirán subbucles a menos que sea para iterar por elementos de listas de tamaño conocido o, al menos, limitado.

    Tu segunda intuición va por mejor lado: usa las properties como lo que son, variables miembro para tu objeto que contienen valores sostenibles (y modificables) a lo largo del funcionamiento del programa.

  5. #5
    Fecha de ingreso
    Jun 2006
    Mensajes
    95

    Blender Problema con script ge Blender

    Gracias por los consejos. Me pondré a ver algún que otro juego a ver cómo van (al único que le eché un vistazo es al fps_template, y fue el que medió la idea del property).

    Aun así, sigo teniendo el problema de cómo hacer referencia a un property desde el script de Python). Pero ya estoy maquinando alguna forma de hacerlo (a través de un sensor de property y un actuador de property).

    Si tengo más problemas os avisaré.

    Espero que cuando vuelva a decir algo sea para enseñaros el programa. Saludos.
    Que es la vida, un frenesí*, que es la vida una ilusión,
    un sueño, una ficción. Que el mayor Bien es pequeño...
    Toda la realidad es sueño y los sueños, sueños son



    Mi pagina web!!! (temporal xd)

  6. #6
    Fecha de ingreso
    Jun 2003
    Mensajes
    12,618

    Problema con script ge Blender

    Desde Python puedes acceder a los objetos de la escena, y una vez accedes a los objetos puedes acceder a sus propiedades. No recuerdo exactamente cómo se hace, pero por poderse, se puede.

    Mira, mi trabajo de fin de Carrera de informática consistió en un pequeño paseo virtual interactivo de mi universidad. Puedes echarle un ojo al resultado (bastante precario visualmente, pero no dio tiempo para pulir el grafismo) en no me toques los webs que me la pones dura.

    Te lo descargas y le echas un vistazo a los scripts a los que se llaman y que objetos los llama. Creo que en alguno de ellos hacía lo de modificar propiedades de un objeto (probablemente un Empty o el suelo de la escena). Un saludo.

  7. #7
    Fecha de ingreso
    Jul 2005
    Mensajes
    7,953

    Problema con script ge Blender

    Bardo, el sensor property es uno de los pocos que necesita un script para ser usado al 100%. Puedes gestionar una propiedad con get/setproperty(), get/settype () y get/setvalue ().
    Código:
    import Gamelogic as g.
    
    C=g.getcurrentcontroller().
    
    S=c, getsensor(nombre_de_propiedad).
    
    Propiedad=s, getproperty().
    
    Contenido=s, getvalue ().
    Tienes la documentación oficial (para la 2.34) aquí, aunque hay páginas más completas.
    ...y estaba superbueno.
    Y miré su perfil. Y vi que era amigo de Daniela. Puaf.


    Dos niñas en el parque

    no se elevará, nunca más

  8. #8
    Fecha de ingreso
    Jun 2006
    Mensajes
    95

    Blender Problema con script ge Blender

    Deje el mensaje abandonado y no me di cuenta de las respuestas, gracias por la información. Supongo que no puedes llamar directamente a la propiedad, ¿no? Lo que se hace es llamarla a través de un property sensor, ¿no? Si me equivoco, por favor corríjanme. Saludos.
    Última edición por Bardo_Slaine; 26-06-2008 a las 10:05
    Que es la vida, un frenesí*, que es la vida una ilusión,
    un sueño, una ficción. Que el mayor Bien es pequeño...
    Toda la realidad es sueño y los sueños, sueños son



    Mi pagina web!!! (temporal xd)

  9. #9
    Fecha de ingreso
    Jul 2005
    Mensajes
    7,953

    Problema con script ge Blender

    Como dice Mars, cuando añades una propiedad a un objeto, esta se humilde internamente en un método de Python: puedes llamarlo con:
    P = objeto, nombre_de_propiedad.
    ...y estaba superbueno.
    Y miré su perfil. Y vi que era amigo de Daniela. Puaf.


    Dos niñas en el parque

    no se elevará, nunca más

  10. #10
    Fecha de ingreso
    Jun 2006
    Mensajes
    95

    Blender Problema con script ge Blender

    Código:
    import Gamelogic as g. C=g.getcurrentcontroller(). S=c, getsensor(nombre_de_propiedad). Propiedad=s, getproperty().
    
    Contenido=s, getvalue ()
    Con este script lo que haces es modificar al property sensor, no a la propiedad en sí, ¿no?
    Es que esas funciones (en la base de datos), están en la sección del property sensor: saludos.
    Última edición por Bardo_Slaine; 26-06-2008 a las 19:32
    Que es la vida, un frenesí*, que es la vida una ilusión,
    un sueño, una ficción. Que el mayor Bien es pequeño...
    Toda la realidad es sueño y los sueños, sueños son



    Mi pagina web!!! (temporal xd)

  11. #11
    Fecha de ingreso
    Jul 2005
    Mensajes
    7,953

    Problema con script ge Blender

    Código:
    import Gamelogic as g. C=g.getcurrentcontroller(). S=c, getsensor(nombre_de_propiedad). Propiedad=s, getproperty().
    
    Contenido=s, getvalue ()
    Con este script lo que haces es modificar al property sensor, no a la propiedad en sí, ¿no?
    Hombre, con ese script no estoy modificando nada: sólo asigno a unas variables el contenido de otras que me ofrece el sensor. Si usara set sí estaría cambiando valores del sensor. Pero no la propiedad, para eso se usa lo que he dicho en el anterior mensaje.
    ...y estaba superbueno.
    Y miré su perfil. Y vi que era amigo de Daniela. Puaf.


    Dos niñas en el parque

    no se elevará, nunca más

  12. #12
    Fecha de ingreso
    Jun 2006
    Mensajes
    95

    Problema con script ge Blender

    Ok ok, es que, al principio creía que modificab la propiedad, pero cuando estuve mirando en la referencia ya me di cuenta. Gracias.
    Que es la vida, un frenesí*, que es la vida una ilusión,
    un sueño, una ficción. Que el mayor Bien es pequeño...
    Toda la realidad es sueño y los sueños, sueños son



    Mi pagina web!!! (temporal xd)

Temas similares

  1. Blender Script Boujou a Blender
    Por eagleforo3d en el foro Programación y Scripts
    Respuestas: 4
    : 12-11-2009, 07:23
  2. Adaptar script Blender a 3ds Max
    Por jor1980 en el foro Programación y Scripts
    Respuestas: 2
    : 28-10-2009, 09:55
  3. Blender Blender library script
    Por 3dpoder en el foro Programas de Diseño 3D y CAD
    Respuestas: 0
    : 04-06-2009, 00:29
  4. Problema con script
    Por elclanrs en el foro Modelado
    Respuestas: 2
    : 07-08-2006, 00:48
  5. 3dsMax Problema con script
    Por JUANMAX en el foro Animación y Rigging
    Respuestas: 7
    : 10-04-2006, 01:34