Você está na página 1de 5

Tutorial de Python Script na Game Engine do Blender Pr-Requisitos Conhecimento em: Game Engine do Blender, bem como o seu

Bloco de Lgica Noes basicas de Python Script Esse tutorial se destina para aqueles que desejam ir alm dos Blocos de Lgica da GE do Blender, para isso precisam entrar para o mundo da programao na linguagem Python. Para quem no sabe ainda, python o script usado no blender para tanto para o ambiente do blender como para GE, onde podemos expandir em muito as possibilidades utilizando essa linguagem. Em muitas vezes quando comeamos a desenvolver um jogo na GE utilizando o bloco de lgica as coisas no princpio parecem fceis, mas depois com o desenvolvimento do projeto comea a ficar muito confuso com a grande quantidade de bloco de logica interagindo entre si, sem falar nas limitaes que o prprio sistema tem. Por exemplo se criarmos um projeto utilizando scripts Python, podemos reduzir consideravelmente a quantidade de blocos de lgica e aumentando as possibilidades de desenvolvimento do projeto. Controle de rotao Como o ttulo acima sugere, vamos fazer um pequeno programa de controle de rotao que pode ser adaptado de vrias maneiras, rotao, deslocamento, animao e etc... Mais adiante vou demonstrar como proceder para utilizar das maneiras j descritas. Vamos botar a mo na massa. Antes de sair digitando o script vamos a alguns conceito importantes sobre como o blender usa python.

Com o blender aberto vamos dividir a tela para podermos visualizar o modo texto onde ser feito o script. Crie um novo arquivo de texto e salve-o com o nome de script por exemplo. Primeiramente precisamos ligar o script ao objeto, para que o mesmo possa ser controlado pelo mesmo. Para isso adicione um controlador do tipo python e nomeo com o mesmo nome que foi dado ao script. Depois ligar os sensores ao script, no nosso caso sensores de teclado.

E ligar os atuadores ao script, que iro fazer o objeto rotacionar.

Vamos ao script:

#Para obter um controlador import GameLogic cont = GameLogic.getCurrentController() #Para obter o objeto associado a este controlador own = cont.getOwner() #Para obter um sensor associado a este controlador up = cont.getSensor('up') down = cont.getSensor('down') #Para obter um atuador ligado ao controlador act = cont.getActuator("rot") #Definindo valores para o atuador act.setDRot(0,0,+0.1,1) #Ativando um atuador if up.isPositive():

GameLogic.addActiveActuator(act,1) elif down.isPositive(): GameLogic.addActiveActuator(act,0) A primeira parte do script se refere a inicializao do modulo da Game Logic, import GameLogic e a linha seguinte se refere aos controles ligados ao script, cont = GameLogic.getCurrentController() a variavel cont apenas um nome sugerido podendo ser trocado por qualquer outro nome. *Obs: O sinal de # serve para inserir comentrios no script. #Para obter o objeto associado a este controlador own = cont.getOwner() se refere ao objeto e suas propriedades, por exemplo suas variveis, own tambm uma varivel que pode ter seu nome alterado. *Obs: As variveis em python so atribuidas com o sinal de =, exemplo: raiz=5, a varivel raiz recebeu o valor de 5. #Para obter um sensor associado a este controlador up = cont.getSensor('up') down = cont.getSensor('down') Adicione um sensor do tipo teclado e set uma tecla por exemplo seta p/ cima. Para ligar um sensor ao script precisamos nomealo com o mesmo nome tanto no Bloco de Logica quanto no scritp, j o nome da varivel no afeta o funcionamento. Exemplo: up = cont.getSensor('up') ou setap/cima = cont.getSensor('up') #Para obter um atuador ligado ao controlador act = cont.getActuator("rot") Este responsvel por ligar o actuador motion ao script, lembre-se de colocar o mesmo nome no script e no atuador do bloco de lgica. #Definindo valores para o atuador act.setDRot(0,0,+0.1,1) Aqui esta uma parte muito importante, pois aqui que definimos o que vamos fazer com o actuador ligado ao script, neste casso escolhi o setDRot(0,0,0,0) para a varivel act, mas voc pode escolher setDLoc(0,0,0,0) que serve para incrementar o deslocamento do objeto. A lista de zeros indica o valor das variveis X,Y,Z e o ltimo se local on = 1 ou local off = 0. *Dica: Para que voc possa utilizar todas as possibilidades que o blender lhe da fundamental consultar a API do blender, onde se visualiza as opes em python para voc desenvolver seu projeto.

#Ativando um atuador if up.isPositive(): GameLogic.addActiveActuator(act,1) elif down.isPositive(): GameLogic.addActiveActuator(act,0) Aqui a parte lgica, basicamente o seguinte: se a tecla up for pressionada faa: act,1 ou seja, ativa o act e se a tecla down for pressionada faa: act,0 ou seja, desliga o act Pronto! Agora v para a janela do 3DView e tecle P, e teste as teclas para ver o funcionamento. Concluso; Este um ponto de partida para se compreender a forma de utilizao do python na GE do blender e desenvolver seus projetos de forma mais eficiente e profissional. Projetos feitos em python expandem em muito o poder do blender, trazendo toda uma nova game de possibilidades. Espero que este tutorial tenha lhe sido til. Meu email para contato e sugestes de melhoria e tutoriais. marcosamaralrg@hotmal.com www.realidadevirtual3d.blogspot.com

Você também pode gostar