Gracias Gracias:  0
Resultados 1 al 2 de 2

Tema: Movimiento del raton Blender GE

  1. #1
    Miembro Avatar de Beral
    Fecha de ingreso
    Nov 2011
    Ubicación
    Madrid, España.
    Mensajes
    84

    Blender Movimiento del raton Blender GE

    Muy buenas, llevo buscando algún tiempo el código o bueno los comando/métodos en python que te permitan saber si el ratón se esta moviendo en x o en y. He buscado por la api pero no me queda nada claro, también me he bajado algunos scripts, pero o están desactualizados con la 1.6 o son demasiado complejos para que pueda desgranarlos!! Si alguien me pudiese ayudar en esto, no busco un script, simplemente la forma de hacerlo en el game engine con python!!

    Un Saludo!!

  2. #2
    Miembro Avatar de Beral
    Fecha de ingreso
    Nov 2011
    Ubicación
    Madrid, España.
    Mensajes
    84

    Thumbs up Re: Movimiento del raton Blender GE

    Buenas, me acabo de acordar al responder un post de este hilo que abrí y se quedó sin respuesta, y como no me gusta eso y ya lo solucione pues os cuento:

    La solución era sencilla y el script esta en la API de blender, en la parte de Rasterizer, justo lo que andaba buscando:
    http://www.blender.org/documentation...ge.render.html

    Justo el código que sale en el enlace, se entiende en inglés, pero lo traduzco igual:
    Código:
     
    #Script de Mouse Look (algo así como mirar con el ratón). 
    
    import bge
    
    # Estos dos números que aparecen a continuación son la sensibilidad del ratón, el primero (1.0) en el eje X y el segundo (0.5) en el eje Y
    
    scale = 1.0, 0.5
    
    co = bge.logic.getCurrentController()
    obj = co.owner
    
    # Bien aquí están definidos los sensores y los actuadores, la parte entre corchetes ([" ... "]) hace referencia al nombre #del sensor "real" en blender es decir el nombre del logic al que corresponda.
    
    mouse = co.sensors["Mouse"]
    lmotion = co.actuators["LMove"]
    wmotion = co.actuators["WMove"]
    
    # Este método define la distancia que se desplaza el cursor cuando lo movemos por la pantalla del centro de la misma
    def mousePos():
     x = (bge.render.getWindowWidth() / 2 - mouse.position[0]) * scale[0]
     y = (bge.render.getWindowHeight() / 2 - mouse.position[1]) * scale[1]
     return (x, y) #un return es la salida del método, por decirlo así, lo que dará de resultado.
    
    # Aquí nos fijamos que se crea una nueva variable de nombre "pos" a la que se le asigna el valor de la salida del método anterior
    
    pos = mousePos()
    
    # Aquí le asigna el primer valor que se le ha dado a "pos" al asignarle el resultad del método anterior; pos [0] al primer #actuador de movimiento, al que se le ha dado el nombre interno de "wmotion". Aparte se le asigna un modo, torque, que #determina la forma de movimiento, es decir rotara con inercia.
    
    wmotion.useLocalTorque = False # esta expresión dice que el actuador no usara (False) las coordenadas locales
    wmotion.torque = ((0.0, 0.0, pos[0])) 
    
    # Aquí le asigna el segundo valor que se le ha dado a "pos" al asignarle el resultad del método anterior; pos [1] al #segundo actuador de movimiento, al que se le ha dado el nombre interno de "lmotion". Aparte se le asigna un modo, #torque, que determina la forma de movimiento, es decir rotara con inercia.
    
    lmotion.useLocalTorque = True # esta expresión dice que el actuador usara (True) las coordenadas locales
    lmotion.torque = ((-pos[1], 0.0, 0.0))
    
    # Estas expresiones dan la orden de activar los dos actuadores, una vez modificados a nuestra conveniencia
    co.activate(lmotion)
    co.activate(wmotion)
    
    # Por último se vuelve a centrar el cursor del ratón en el centro de la pantalla.
    bge.render.setMousePosition(int(bge.render.getWindowWidth() / 2), int(bge.render.getWindowHeight() / 2))
    Bien, traducido y explicado. Ahora solo queda hacer las conexiones, os pongo dos imágenes de como tienen que ser:

    Los Logics:
    Movimiento del raton Blender GE-logics.png

    Las Propiedades, tiene que ser un objeto dinamico, static no sirve con el script anterior:
    Movimiento del raton Blender GE-propiedades.png

    Adjunto el .blend
    Espero que le sirva a alguien, saludos!!
    Archivos adjuntados Archivos adjuntados
    Última edición por Beral; 02-12-2012 a las 20:48

Temas similares

  1. Control de movimiento en blender
    Por blenderadictozgz en el foro Postproducción
    Respuestas: 0
    Último mensaje: 28-12-2012, 15:58
  2. Problema con raton blender
    Por oiranac en el foro Hardware
    Respuestas: 0
    Último mensaje: 17-01-2010, 21:59
  3. Respuestas: 7
    Último mensaje: 07-10-2008, 19:56
  4. Blender Pelo en movimiento con Blender
    Por Bluder en el foro Partículas y Dinámicas
    Respuestas: 6
    Último mensaje: 02-09-2008, 01:10
  5. Blender movimiento estilo 3d Studio o otros
    Por Pinucset en el foro Modelado
    Respuestas: 2
    Último mensaje: 16-08-2005, 19:03

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •