Como muevo un objeto con codigo python
Como muevo un objeto con codigo python
Por favor si alguien sabe como puedo mover un objeto con codigo python..
el asunto es que debo mover un objeto(carro)de un punto x,y hasta uno nuevo x1,y1 pero con codigo python...(si es con animacion mejor, como si estubieran manejando), recien estoy aprendiendo blender y python.. y no se si se podra hacer eso....
gracias.
el asunto es que debo mover un objeto(carro)de un punto x,y hasta uno nuevo x1,y1 pero con codigo python...(si es con animacion mejor, como si estubieran manejando), recien estoy aprendiendo blender y python.. y no se si se podra hacer eso....
gracias.
:banghead:
Re: Como muevo un objeto con codigo python
Creo que los chicos de Canguro te pueden ayudar (ahí trabajan más con el Game Engine y con python)…
メ
ル
|
ク
リ
|
ル
|
ク
リ
|
Re: Como muevo un objeto con codigo python
El archivo adjunto tiene un ejemplo simple de cómo puede hacerse. Hay una forma más elegante, busca en wiki.blender.org, en la sección de \"Blender Summer of Documentation\".
jedihe
jedihe
- Adjuntos
-
[La extensión ha sido desactivada y no se mostrará en adelante]
Re: Como muevo un objeto con codigo python
Gracias por responder, recien he descargado el ejemplo... voy a estudiarlo... antes habia encontrado otro ejemplo(otro dia lo pongo para que lo vean), en el ejemplo importa GameLogic pero al compilarlo me dice que hay error en esa linea¿?¿?¿
Game logic se debe instalar o se debe modificar una archivo para que funcione
estoy utilizando Debian 4.0
2 import Gamelogic (linea 2 del archivo Python)
Game logic se debe instalar o se debe modificar una archivo para que funcione
estoy utilizando Debian 4.0
2 import Gamelogic (linea 2 del archivo Python)
:banghead:
Re: Como muevo un objeto con codigo python
Creo que no tienes instalado el intérprete de Python…
Pd:saludotes... :hammer:
Pd:saludotes... :hammer:
メ
ル
|
ク
リ
|
ル
|
ク
リ
|
Re: Como muevo un objeto con codigo python
Hola, gracias por responder.. voy a ver si lo tengo instalado pero aqui esta el codigo que les dije donde me dice que no tengo GameLogic:
# script1.py
# Para comentariar se usa el simbolo de número, si una línea que no es código no esta
#
comentariada, generará un error al momento de ejecutar el script.
import GameLogic
# Esta línea invoca el modulo de blender llamado GameLogic, aunque funciona si no
# se lo llama, es recomendabre escribirlo, porque si no se usa se esta llamando a todos los
modulos
# de blender asi no se estén usando.
cont = GameLogic.getCurrentController()
# Mediante esta función se esta indicando que el script es llamado a través de un controller y
# dentro de la variable cont se almancenan referencias a los sensors y actuators conectados con
# este controller. Controller, Sensor y Actuators conforman los Logic Bricks.
# Ahora se creará una copia de los sensores y se las guardará en variables asi:
sarriba = cont.cont.getSensor(\"arriba\")
sabajo = cont.cont.getSensor(\"abajo\")
sderecha = cont.cont.getSensor(\"derecha\")
sizquierda = cont.cont.getSensor(\"izquierda\")
# Observa que se escribe cont. el punto indica que se va a llamar a una variable interna o a una
# función dentro de cont que ya se definio mas arriba, en este caso la funcion llamada es
# getSensor(\"nombre actuator\") que sirve para traer un Sensor que exista a una variable
# en el script.
# Ahora se traerá a una variable el único Actuator definido para el objeto que llama este
# script (cubo).
aactor1 == cont.cont.getActuator(\"actor1\")
# Se crea una copia del actor llamado actor1 en la variable aactor1.
# Ahora como tenemos una copia del sensor llamado arriba se usará esa copia para la
# programación correspondiente, esta copia es identica al sensor arriba por tanto como esta
# tiene asignada la tecla flecha arriba para activarla, también la copia llamada sarriba
# funciona con esa tecla.
# Este es un condicional, miren que dice sarriba. y luego isPositive(), significa como es una
# copia del sensor arriba este tenia dentro una función llamada isPositive() que sirve para
# saber cuando la tecla asignada a este sensor fue presionada.
if sarriba.isPositive():
var1 =0.05
# Se define una variable llamada var1 que contiene el valor 0.05
aactor1.setDLoc(0.0,0.0,var1, 1)
# A la copia del actor actor1 llamado aactor1, se le va a cambiar su valor en el eje z
# mediante el uso de la función setDLoc(x,y,z,local), local es un valor que indica si se aplicará
# una transformación de movimiento usando las coordenadas del ambiente o locales del objeto,
# solo puede tomar el valor de 0 = ambiente, 1 = locales.
# Hasta el momento se aplico el cambio a la compia del actor, para aplicar el cambio al
# actor original, se debe llevar los valores de aactor1 a actor1 asi:
GameLogic.addActiveActuator(aactor1,1)
# si se deja hasta ahi cuando oprima la tecla arriba el objeto se movera hacia arriba
# indefinidamente, por tanto se colocará un else para indicar que cuando no se esté
# oprimiendo la tecla se desactive el efecto así:
else:
GameLogic.addActiveActuator(aactor1,0)
# script1.py
# Para comentariar se usa el simbolo de número, si una línea que no es código no esta
#
comentariada, generará un error al momento de ejecutar el script.
import GameLogic
# Esta línea invoca el modulo de blender llamado GameLogic, aunque funciona si no
# se lo llama, es recomendabre escribirlo, porque si no se usa se esta llamando a todos los
modulos
# de blender asi no se estén usando.
cont = GameLogic.getCurrentController()
# Mediante esta función se esta indicando que el script es llamado a través de un controller y
# dentro de la variable cont se almancenan referencias a los sensors y actuators conectados con
# este controller. Controller, Sensor y Actuators conforman los Logic Bricks.
# Ahora se creará una copia de los sensores y se las guardará en variables asi:
sarriba = cont.cont.getSensor(\"arriba\")
sabajo = cont.cont.getSensor(\"abajo\")
sderecha = cont.cont.getSensor(\"derecha\")
sizquierda = cont.cont.getSensor(\"izquierda\")
# Observa que se escribe cont. el punto indica que se va a llamar a una variable interna o a una
# función dentro de cont que ya se definio mas arriba, en este caso la funcion llamada es
# getSensor(\"nombre actuator\") que sirve para traer un Sensor que exista a una variable
# en el script.
# Ahora se traerá a una variable el único Actuator definido para el objeto que llama este
# script (cubo).
aactor1 == cont.cont.getActuator(\"actor1\")
# Se crea una copia del actor llamado actor1 en la variable aactor1.
# Ahora como tenemos una copia del sensor llamado arriba se usará esa copia para la
# programación correspondiente, esta copia es identica al sensor arriba por tanto como esta
# tiene asignada la tecla flecha arriba para activarla, también la copia llamada sarriba
# funciona con esa tecla.
# Este es un condicional, miren que dice sarriba. y luego isPositive(), significa como es una
# copia del sensor arriba este tenia dentro una función llamada isPositive() que sirve para
# saber cuando la tecla asignada a este sensor fue presionada.
if sarriba.isPositive():
var1 =0.05
# Se define una variable llamada var1 que contiene el valor 0.05
aactor1.setDLoc(0.0,0.0,var1, 1)
# A la copia del actor actor1 llamado aactor1, se le va a cambiar su valor en el eje z
# mediante el uso de la función setDLoc(x,y,z,local), local es un valor que indica si se aplicará
# una transformación de movimiento usando las coordenadas del ambiente o locales del objeto,
# solo puede tomar el valor de 0 = ambiente, 1 = locales.
# Hasta el momento se aplico el cambio a la compia del actor, para aplicar el cambio al
# actor original, se debe llevar los valores de aactor1 a actor1 asi:
GameLogic.addActiveActuator(aactor1,1)
# si se deja hasta ahi cuando oprima la tecla arriba el objeto se movera hacia arriba
# indefinidamente, por tanto se colocará un else para indicar que cuando no se esté
# oprimiendo la tecla se desactive el efecto así:
else:
GameLogic.addActiveActuator(aactor1,0)
:banghead:
Re: Como muevo un objeto con codigo python
a salido desconfigurado.... la proxima les pongo la pagina donde lo encontree no lo traje ahora
:banghead: