Pular para o conteúdo

Range.logic

Módulo com as funções de lógica do jogo, importado automaticamente no namespace dos controladores Python.

# Para pegar o controlador que está rodando este script Python:
cont = Range.logic.getCurrentController() # Range.logic é importado automaticamente
# Para pegar o objeto do jogo onde está este controlador:
obj = cont.owner

Os métodos de KX_GameObject, KX_Camera ou KX_LightObject ficam disponíveis conforme o tipo do objeto

# Para pegar um sensor ligado a este controlador.
# "sensorname" é o nome do sensor como foi definido na interface do Blender.
# +---------------------+ +--------+
# | Sensor "sensorname" +--+ Python +
# +---------------------+ +--------+
sens = cont.sensors["sensorname"]
# Para pegar a lista de todos os sensores:
sensors = co.sensors

Veja a referência de cada sensor para os métodos disponíveis:

  • KX_MouseFocusSensor
  • KX_NearSensor
  • KX_NetworkMessageSensor
  • KX_RadarSensor
  • KX_RaySensor
  • KX_CollisionSensor
  • SCA_DelaySensor
  • SCA_JoystickSensor
  • SCA_KeyboardSensor
  • SCA_MouseSensor
  • SCA_PropertySensor
  • SCA_RandomSensor Você também pode acessar os atuadores ligados ao controlador
# Para pegar um atuador ligado ao controlador:
# +--------+ +-------------------------+
# + Python +--+ Actuator "actuatorname" |
# +--------+ +-------------------------+
actuator = co.actuators["actuatorname"]
# Ativa um atuador
controller.activate(actuator)

Veja a referência de cada atuador para os métodos disponíveis

  • BL_ActionActuator
  • KX_CameraActuator
  • KX_ConstraintActuator
  • KX_GameActuator
  • KX_MouseActuator
  • KX_NetworkMessageActuator
  • KX_ObjectActuator
  • KX_ParentActuator
  • KX_SCA_AddObjectActuator
  • KX_SCA_DynamicActuator
  • KX_SCA_EndObjectActuator
  • KX_SCA_ReplaceMeshActuator
  • KX_SceneActuator
  • KX_SoundActuator
  • KX_StateActuator
  • KX_TrackToActuator
  • KX_VisibilityActuator
  • SCA_2DFilterActuator
  • SCA_PropertyActuator
  • SCA_RandomActuator A maioria dos métodos dos logic bricks dá acesso às propriedades que aparecem nos botões de lógica. Consulte a documentação dos logic bricks para saber como cada um funciona.

Também há métodos para acessar a Range.types.KX_Scene atual

# Pega a cena atual
scene = Range.logic.getCurrentScene()
# Pega a câmera atual
cam = scene.active_camera

As matrizes usadas pela engine são por linha (row major): matrix[row][col] = float

Range.types.KX_Camera tem alguns exemplos usando matrizes.

Um dicionário que é mantido quando outro arquivo blend é carregado; serve para guardar inventário e outras variáveis entre cenas e arquivos blend. Ele também pode ser gravado num arquivo e carregado depois com os atuadores de carregar/salvar jogo.

O teclado atual, dentro de um objeto SCA_PythonKeyboard.

O mouse atual, dentro de um objeto SCA_PythonMouse.

Os sensores de movimento do aparelho (giroscópio, acelerômetro, inclinação), dentro de um objeto KX_PythonMotion.

Lista dos SCA_PythonJoystick conectados. O tamanho da lista é o número máximo de joysticks suportados. Se não houver joystick numa posição, ela vale None.

Pega o controlador Python ligado a este script.

Tipo do retorno: Range.types.SCA_PythonController

Pega a cena atual.

Tipo do retorno: Range.types.KX_Scene

Pega a lista das cenas carregadas na engine agora.

Tipo do retorno: list of Range.types.KX_Scene

Pega a lista dos nomes das cenas que não estão carregadas na engine.

Tipo do retorno: list of string

Carrega Range.logic.globalDict de um arquivo.

Salva Range.logic.globalDict num arquivo.

Carrega o arquivo blend.

  • blend: O nome do arquivo blend
    • tipo: string

Encerra o jogo atual.

Reinicia o jogo atual recarregando o arquivo .blend (a última versão salva, não o que está rodando agora).

LibLoad(blend, type, data, load_actions=False, verbose=False, load_scripts=True, asynchronous=False, scene=None)

Seção intitulada “LibLoad(blend, type, data, load_actions=False, verbose=False, load_scripts=True, asynchronous=False, scene=None)”

Converte todos os datablocks do tipo indicado do arquivo blend indicado.

  • blend: O caminho do arquivo blend (ou o nome a usar para a biblioteca, se data for passado)
    • tipo: string
  • type: O tipo de datablock (por enquanto só “Action”, “Mesh” e “Scene” são suportados)
    • tipo: string
  • data: Dados binários de um arquivo blend (opcional)
    • tipo: bytes
  • load_actions: Procura e carrega todas as ações da cena, não só as ações “ativas” (só para o tipo Scene)
    • tipo: bool
  • verbose: Se mostra ou não informações de depuração (ex.: “SceneName: Scene”)
    • tipo: bool
  • load_scripts: Se carrega ou não também os datablocks de texto (pode ser desligado para mais segurança)
    • tipo: bool
  • asynchronous: Se carrega ou não de forma assíncrona (em outra thread). Por enquanto só o tipo “Scene” suporta isso.
    • tipo: bool
  • scene: Cena onde juntar os dados carregados; se for None, usa a cena atual.
    • tipo: Range.types.KX_Scene or string

Tipo do retorno: Range.types.KX_LibLoadStatus

Usa dados de um datablock que já existe e carrega como uma biblioteca nova.

  • name: Um nome único para a biblioteca, usado depois para removê-la
    • tipo: string
  • type: O tipo de datablock (por enquanto só “Mesh” é suportado)
    • tipo: string
  • data: Lista com os nomes dos datablocks a carregar
    • tipo: list of strings

Libera uma biblioteca, removendo todos os objetos e malhas dela das cenas ativas.

  • name: O nome da biblioteca a liberar (o nome usado em LibNew)
    • tipo: string

Devolve a lista das bibliotecas carregadas agora.

Tipo do retorno: list [str]

Tempo por frame, em milissegundos, que o LibLoad assíncrono pode gastar juntando as bibliotecas carregadas à cena (texturas, shaders, objetos). O padrão de 8 mantém o frame rate do jogo; uma tela de carregamento pode aumentar (ex.: 30) para terminar antes com frame rate menor, e depois voltar o valor.

  • ms: Novo limite; se omitido, só devolve o atual.
    • tipo: float

Retorna: O limite atual em milissegundos.

Tipo do retorno: float

Carrega uma cena na engine.

  • name: O nome da cena
    • tipo: string
  • overlay: Overlay ou underlay (opcional)
    • tipo: integer
  • asynchronous: Compila os shaders da cena aos poucos a cada frame (limite de setLibLoadFrameBudget) antes de a cena entrar em getSceneList, para a tela de carregamento continuar desenhando; a lógica da cena só começa depois disso.
    • tipo: boolean

sendMessage(subject, body=“”, to=“”, message_from=“”)

Seção intitulada “sendMessage(subject, body=“”, to=“”, message_from=“”)”

Envia uma mensagem para os sensores de qualquer cena ativa.

  • subject: O assunto da mensagem
    • tipo: string
  • body: O corpo da mensagem (opcional)
    • tipo: string
  • to: O nome do objeto que vai receber a mensagem (opcional)
    • tipo: string
  • message_from: O nome do objeto de onde a mensagem vem (opcional)
    • tipo: string

Define a gravidade do mundo.

  • gravity: O vetor de gravidade
    • tipo: Vector((fx, fy, fz))

Devolve uma lista de 512 pontos da placa de som. Só funciona com o driver de som fmod.

Tipo do retorno: list [float], len(getSpectrum()) == 512

Pega o número máximo de frames de lógica por frame de render.

Retorna: O número máximo de frames de lógica por frame de render

Tipo do retorno: integer

Define o número máximo de frames de lógica executados por frame de render. Não afeta a física, que continua rodando no frame rate completo.

  • maxlogic: O novo número máximo de frames de lógica por frame de render. Valores válidos: 1..5
    • tipo: integer

Pega o último valor passado para setMaxPhysicsFrame.

Retorna: O último valor definido (padrão: 5)

Tipo do retorno: integer

Guarda o valor para ler depois com getMaxPhysicsFrame. Era documentado como o número máximo de passos de física por frame de render, mas nenhum código da engine lê o valor para isso.

  • maxphysics: O novo número máximo de passos de física por frame de render. Valores válidos: 1..5.
    • tipo: integer

Pega a frequência de atualização da lógica.

Retorna: A frequência da lógica em Hz

Tipo do retorno: float

Define a frequência de atualização da lógica.

A frequência da lógica é quantas vezes por segundo os logic bricks são executados. O padrão é 60 Hz.

  • ticrate: A nova frequência da lógica (em Hz).
    • tipo: float

Pega a frequência de atualização da física

Retorna: A frequência da física em Hz

Tipo do retorno: float

Define a frequência de atualização da física

A frequência da física é quantas vezes por segundo a física é executada. O padrão é 60 Hz.

  • ticrate: A nova frequência (em Hz).
    • tipo: float

Pega a tecla usada para sair da engine

Retorna: A tecla (padrão: Range.events.ESCKEY)

Tipo do retorno: int

Define a tecla usada para sair da engine

  • key: Uma constante de tecla de Range.events
    • tipo: int

Renderiza o próximo frame (se o Python estiver no controle)

Define a opção global que controla o render da cena. Se for True, o render acontece depois do frame de lógica. Se for False, o render é pulado e outro frame de lógica começa na hora.

  • render: A opção de render
    • tipo: bool

Pega o valor atual da opção global de render

Retorna: O valor da opção

Tipo do retorno: bool

Pega o tempo de render atual da engine, em segundos. É o tempo de simulação correspondente à próxima cena que será renderizada.

Tipo do retorno: double

Pega o tempo de frame atual da engine, em segundos. É o tempo de simulação correspondente à chamada atual da lógica. Em geral, é este o tempo que interessa.

Tipo do retorno: double

Pega quantos segundos reais (do relógio do sistema) passaram desde o começo da simulação.

Tipo do retorno: double

Pega o multiplicador entre o tempo real e o tempo da simulação. O padrão é 1.0. Valores maiores que 1.0 deixam a simulação mais rápida que o tempo real; valores menores, mais lenta.

Tipo do retorno: double

Define o multiplicador entre o tempo real e o tempo da simulação. Valores maiores que 1.0 deixam a simulação mais rápida que o tempo real; valores menores, mais lenta. Valores muito altos podem deixar a física instável.

  • time_scale: O novo multiplicador de tempo.

Diz se a engine usa o relógio interno ou um relógio externo. O padrão é o relógio interno.

Tipo do retorno: bool

Define se a engine usa o relógio interno ou um relógio externo. Com o relógio externo, é preciso chamar setClockTime regularmente.

  • use_external_clock: A nova configuração

Define o próximo valor do relógio da simulação. É melhor usar este método numa função main própria em Python: chamá-lo num logic brick pode travar o sistema facilmente (se o tempo não avançar o bastante para rodar pelo menos o próximo passo de lógica).

  • new_time: O próximo valor do relógio da engine (em segundos).

Converte um caminho interno do Blender num caminho de verdade do sistema de arquivos.

Use / como separador de pastas no caminho. Use ‘//’ no começo para um caminho relativo; o Blender troca isso pela pasta do .blend ou do executável atual para formar o caminho completo. A função também converte o separador para o formato do sistema.

  • path: O caminho a converter/expandir.
    • tipo: string

Retorna: O caminho convertido

Tipo do retorno: string

Pega o frame rate médio estimado de todas as cenas ativas, não só da atual.

Retorna: O frame rate médio estimado, em frames por segundo

Tipo do retorno: float

Devolve a lista dos arquivos blend na mesma pasta do arquivo blend aberto, ou na pasta passada como argumento.

  • path: Pasta opcional, que é expandida (como em expandPath) para o caminho completo.
    • tipo: string

Retorna: Lista de nomes de arquivo, sem a pasta na frente

Tipo do retorno: list

Devolve um número decimal aleatório no intervalo [0 - 1)

Mostra no console as informações das extensões GL

Mostra no console as estatísticas da engine

Devolve um dicionário Python com as mesmas informações do profiler na tela. As chaves são as categorias do profiler, e os valores são tuplas com o tempo gasto (em ms) no primeiro elemento e a porcentagem do tempo total no segundo.

Devolve um dicionário Python com contadores inteiros do último frame completo, os mesmos números que as consultas de render do Debug Mode mostram. Diferente dos tempos de getProfileInfo, eles não dependem do hardware nem do relógio, por isso são o que testes A/B devem comparar.

Contadores do rasterizador, cobrindo todas as passadas do frame (câmera principal, sombras, filtros 2D):

  • drawCalls: draw calls feitas.
  • materialBinds: binds de material (programa de shader).
  • lightBinds: envios dos uniforms das luzes da cena e das lâmpadas com sombra. O conjunto de luzes é constante por camada de luz, então isto conta quantas vezes os mesmos valores foram reenviados.

Contadores da cena ativa:

  • cullingTotal, cullingTested, cullingVisible: objetos na lista de render, testados contra o frustum/DBVT e achados visíveis, na última passada de culling da câmera principal.
  • lightsTotal, lightsShadowUpdated, shadowPasses: luzes da cena, luzes cujo buffer de sombra foi atualizado e passadas de sombra renderizadas (cada divisão de cascata conta como uma).
  • sensors, controllersTriggered, actuatorsUpdated: sensores registrados e controladores/atuadores executados no frame de lógica. Atenção: estes dois são contados enquanto o frame roda, e um controlador Python que chama esta função faz parte desse frame; ele só vê o que rodou antes dele, então num controlador o valor costuma ser 0. A sobreposição do Debug Mode lê os valores depois do frame e mostra a contagem completa. Os contadores do rasterizador e do culling não têm esse problema: sempre vêm do último frame completo.

Valor verdadeiro usado por alguns módulos.

Valor falso usado por alguns módulos.

Estado do sensor: desligado.

Estado do sensor: acabou de ligar neste quadro.

Estado do sensor: continua ligado.

Veja Range.types.KX_ArmatureSensor.type

Detecta que a constraint mudou de estado (ativa/inativa)

Valor: 0

Detecta que o erro linear da constraint passou de um limite

Valor: 1

Detecta que o erro linear da constraint ficou abaixo de um limite

Valor: 2

Detecta que o erro de rotação da constraint passou de um limite

Valor: 3

Detecta que o erro de rotação da constraint ficou abaixo de um limite

Valor: 4

Ativa quando a propriedade é igual ao valor do sensor.

Valor: 1

Ativa quando a propriedade é diferente do valor do sensor.

Valor: 2

Ativa quando a propriedade está entre os limites indicados.

Valor: 3

Ativa quando a propriedade muda

Valor: 4

Ativa quando a expressão confere

Valor: 5

Ativa quando a propriedade é menor que o valor do sensor

Valor: 6

Ativa quando a propriedade é maior que o valor do sensor

Valor: 7

Veja Range.types.KX_RadarSensor

Sensor Radar: cone apontando para o eixo +X do objeto.

Sensor Radar: cone apontando para o eixo +Y do objeto.

Sensor Radar: cone apontando para o eixo +Z do objeto.

Sensor Radar: cone apontando para o eixo -X do objeto.

Sensor Radar: cone apontando para o eixo -Y do objeto.

Veja Range.types.KX_RaySensor

Sensor Ray: raio lançado no eixo +X do objeto.

Sensor Ray: raio lançado no eixo +Y do objeto.

Sensor Ray: raio lançado no eixo +Z do objeto.

Sensor Ray: raio lançado no eixo -X do objeto.

Sensor Ray: raio lançado no eixo -Y do objeto.

Veja Range.types.BL_ActionActuator

Atuador Action: toca a animação uma vez.

Atuador Action: toca para frente e, na próxima ativação, para trás.

Atuador Action: toca enquanto ativo e volta ao início quando desliga.

Atuador Action: repete enquanto o sensor estiver ativo.

Atuador Action: repete e, ao desligar, termina a volta atual.

Veja Range.types.BL_ArmatureActuator.type

Só garante que a armature será atualizada no próximo frame gráfico. É o único modo contínuo do atuador: roda sozinho uma vez por frame até um controlador pará-lo

Valor: 0

Liga a constraint.

Valor: 1

Desliga a constraint (os valores da constraint em tempo de jogo não são atualizados).

Valor: 2

Troca o alvo e o subalvo da constraint.

Valor: 3

Muda o peso da constraint (só IK).

Valor: 4

Muda a influência da constraint.

Valor: 5

Veja Range.types.KX_ConstraintActuator.option

  • Vale para a constraint de distância:

Ativa o alinhamento à superfície

Ativa o controle de distância

A direção do raio segue o eixo local

  • Vale para a constraint de campo de força:

O campo de força também age na rotação

  • Vale para as duas:

Detecta material em vez de propriedade

Não desativa se o raio não atingir o alvo

Veja Range.types.KX_ConstraintActuator.limit

Limita a coordenada X.

Limita a coordenada Y

Limita a coordenada Z

Limita a rotação X

Limita a rotação Y

Limita a rotação Z

Define a distância ao longo do eixo X negativo

Define a distância ao longo do eixo Y negativo

Define a distância ao longo do eixo Z negativo

Define a distância ao longo do eixo X positivo

Define a distância ao longo do eixo Y positivo

Define a distância ao longo do eixo Z positivo

Define a orientação do eixo X

Define a orientação do eixo Y

Define a orientação do eixo Z

Define o campo de força ao longo do eixo X negativo

Define o campo de força ao longo do eixo Y negativo

Define o campo de força ao longo do eixo Z negativo

Define o campo de força ao longo do eixo X positivo

Define o campo de força ao longo do eixo Y positivo

Define o campo de força ao longo do eixo Z positivo

Veja Range.types.KX_SCA_DynamicActuator

Atuador Dynamic: volta a ter física.

Atuador Dynamic: desliga a física do objeto.

Atuador Dynamic: liga o modo corpo rígido (rotação pela física).

Atuador Dynamic: desliga o modo corpo rígido.

Veja Range.types.KX_GameActuator

Atuador Game: carrega outro arquivo de jogo.

Atuador Game: inicia outro arquivo de jogo.

Atuador Game: reinicia o jogo.

Atuador Game: fecha o jogo.

Atuador Game: salva as propriedades globais em arquivo.

Atuador Mouse (look): gira em torno do eixo X do objeto.

Atuador Mouse (look): gira em torno do eixo Y do objeto.

Atuador Parent: tira o objeto do pai.

Veja Range.types.SCA_RandomActuator

Atuador Random: verdadeiro/falso fixo.

Atuador Random: verdadeiro ou falso com 50% de chance cada.

Atuador Random: verdadeiro com a chance que você definir.

Atuador Random: número inteiro fixo.

Atuador Random: inteiro sorteado entre um mínimo e um máximo.

Atuador Random: inteiro com distribuição de Poisson (média definida).

Atuador Random: número decimal fixo.

Atuador Random: decimal sorteado entre um mínimo e um máximo.

Atuador Random: decimal com distribuição normal (média e desvio).

Veja Range.types.KX_SceneActuator

Atuador Scene: reinicia a cena.

Atuador Scene: troca para outra cena.

Atuador Scene: troca a câmera ativa.

Atuador Scene: adiciona uma cena por cima (overlay, como HUD).

Atuador Scene: adiciona uma cena por baixo (fundo).

Atuador Scene: remove uma cena.

Atuador Scene: pausa uma cena.

Veja Range.types.KX_SoundActuator

Atuador Sound: toca enquanto o sensor estiver ativo e para quando desligar.

Valor: 1

Atuador Sound: toca o som inteiro uma vez.

Valor: 2

Atuador Sound: repete enquanto o sensor estiver ativo.

Valor: 3

Atuador Sound: repete e, ao desligar, termina a volta atual.

Valor: 4

Atuador Sound: toca para frente e para trás em repetição.

Valor: 5

Valor: 6

Veja Range.types.KX_SteeringActuator.behavior

Atuador Steering: vai até o alvo.

Valor: 1

Atuador Steering: foge do alvo.

Valor: 2

Valor: 3

Veja Range.types.KX_TrackToActuator

Atuador Track To: eixo +X do objeto fica para cima.

Atuador Track To: eixo +Y do objeto fica para cima.

Atuador Track To: eixo +Z do objeto fica para cima.

Atuador Track To: eixo +X do objeto aponta para o alvo.

Atuador Track To: eixo +Y do objeto aponta para o alvo.

Atuador Track To: eixo +Z do objeto aponta para o alvo.

Atuador Track To: eixo -X do objeto aponta para o alvo.

Atuador Track To: eixo -Y do objeto aponta para o alvo.

Atuador 2D Filter: desfoque.

Valor: 2

Filtro personalizado; o código é definido pela propriedade shaderText.

Valor: 12

Atuador 2D Filter: dilatação (clareia bordas).

Valor: 4

Desliga o filtro que está ativo agora

Valor: -1

Liga o filtro que foi desligado antes

Valor: -2

Atuador 2D Filter: erosão (escurece bordas).

Valor: 5

Atuador 2D Filter: tons de cinza.

Valor: 9

Atuador 2D Filter: cores invertidas.

Valor: 11

Atuador 2D Filter: detecção de bordas (Laplace).

Valor: 6

Cria e liga filtros prontos

Valor: 1

Desliga e destrói o filtro que está ativo agora

Valor: 0

Atuador 2D Filter: detecção de bordas (Prewitt).

Valor: 8

Atuador 2D Filter: sépia.

Valor: 10

Atuador 2D Filter: nitidez.

Valor: 3

Valor: 7

Valor: 14

Veja Range.types.BL_ArmatureChannel.rotation_mode

Observação: os modos euler têm os nomes da interface do Blender, mas a ordem real dos eixos é invertida

Usa o quaternion do atributo rotation para atualizar a rotação do osso.

Valor: 0

Usa euler_rotation e aplica os ângulos nos eixos Z, Y, X do osso, nessa ordem.

Valor: 1

Usa euler_rotation e aplica os ângulos nos eixos Y, Z, X do osso, nessa ordem.

Valor: 2

Usa euler_rotation e aplica os ângulos nos eixos Z, X, Y do osso, nessa ordem.

Valor: 3

Usa euler_rotation e aplica os ângulos nos eixos X, Z, Y do osso, nessa ordem.

Valor: 4

Usa euler_rotation e aplica os ângulos nos eixos Y, X, Z do osso, nessa ordem.

Valor: 5

Usa euler_rotation e aplica os ângulos nos eixos X, Y, Z do osso, nessa ordem.

Valor: 6

Veja Range.types.BL_ArmatureConstraint.type

Tipo de restrição de bone: Track To (aponta para um alvo).

Tipo de restrição de bone: IK (cinemática inversa).

Tipo de restrição de bone: Copy Rotation.

Tipo de restrição de bone: Copy Location.

Tipo de restrição de bone: Floor (limite mín./máx.).

Tipo de restrição de bone: Copy Scale.

Tipo de restrição de bone: Locked Track.

Tipo de restrição de bone: Stretch To.

Tipo de restrição de bone: Clamp To (prende a uma curva).

Tipo de restrição de bone: Transformation.

Veja Range.types.BL_ArmatureConstraint.ik_type

A constraint tenta igualar a posição e, se for o caso, a rotação do alvo.

Valor: 0

A constraint mantém uma certa distância do alvo, conforme ik_mode

Valor: 1

Veja Range.types.BL_ArmatureConstraint.ik_flag

Ligado quando a constraint age na cabeça do osso e não na ponta

Valor: 1

Ligado quando a constraint tenta igualar a orientação do alvo

Valor: 2

Ligado quando a armature pode esticar (só os ossos com fator de estiramento > 0.0)

Valor: 16

Ligado quando a constraint tenta igualar a posição do alvo.

Valor: 32

Veja Range.types.BL_ArmatureConstraint.ik_mode

A constraint tenta manter o osso a no máximo ik_dist do alvo

Valor: 0

A constraint tenta manter o osso a mais de ik_dist do alvo

Valor: 1

A constraint tenta manter o osso exatamente a ik_dist do alvo.

Valor: 2

Fator de mistura (blend) do material: alfa de destino. Usado em setBlending().

Fator de mistura (blend) do material: cor de destino. Usado em setBlending().

Fator de mistura (blend) do material: um (cor inteira). Usado em setBlending().

Fator de mistura (blend) do material: 1 menos o alfa de destino. Usado em setBlending().

Fator de mistura (blend) do material: 1 menos a cor de destino. Usado em setBlending().

Fator de mistura (blend) do material: 1 menos o alfa de origem. Usado em setBlending().

Fator de mistura (blend) do material: 1 menos a cor de origem. Usado em setBlending().

Fator de mistura (blend) do material: alfa de origem. Usado em setBlending().

Fator de mistura (blend) do material: alfa de origem saturado. Usado em setBlending().

Fator de mistura (blend) do material: cor de origem. Usado em setBlending().

Veja Range.types.SCA_PythonKeyboard, Range.types.SCA_PythonMouse, Range.types.SCA_MouseSensor, Range.types.SCA_KeyboardSensor

Estado de tecla/botão: solto.

Estado de tecla/botão: acabou de ser apertado.

Estado de tecla/botão: continua apertado.

Veja Range.types.KX_GameObject.playAction

Toca a ação uma vez.

Valor: 0

Repete a ação em loop.

Valor: 1

Toca a ação para a frente e, quando termina, volta para trás.

Valor: 2

Mistura as camadas por interpolação linear

Valor: 0

Soma as camadas

Valor: 1

Veja Range.types.SCA_MouseSensor

Botão esquerdo do mouse (para o sensor de mouse).

Botão do meio do mouse (para o sensor de mouse).

Desenha só as paredes.

Desenha só os polígonos.

Desenha a malha de triângulos.

Uniforme de shader com a matriz visão (mundo → câmera). Usado em setUniformDef().

Uniforme de shader com a matriz visão (mundo → câmera), inversa. Usado em setUniformDef().

Uniforme de shader com a matriz visão (mundo → câmera), inversa transposta. Usado em setUniformDef().

Uniforme de shader com a matriz visão (mundo → câmera), transposta. Usado em setUniformDef().

Uniforme de shader com a matriz modelo (objeto → mundo). Usado em setUniformDef().

Uniforme de shader com a matriz modelo (objeto → mundo), inversa. Usado em setUniformDef().

Uniforme de shader com a matriz modelo (objeto → mundo), inversa transposta. Usado em setUniformDef().

Uniforme de shader com a matriz modelo (objeto → mundo), transposta. Usado em setUniformDef().

Uniforme de shader com a matriz modelo × visão. Usado em setUniformDef().

Uniforme de shader com a matriz modelo × visão, inversa. Usado em setUniformDef().

Uniforme de shader com a matriz modelo × visão, inversa transposta. Usado em setUniformDef().

Uniforme de shader com a matriz modelo × visão, transposta. Usado em setUniformDef().

Posição da câmera atual

Uniforme de shader com o tempo do jogo, para animar efeitos.

Usa um timer como valor do uniform.

Veja Range.types.KX_StateActuator

Máscara do estado 1 dos logic bricks.

Máscara do estado 2 dos logic bricks.

Máscara do estado 3 dos logic bricks.

Máscara do estado 4 dos logic bricks.

Máscara do estado 5 dos logic bricks.

Máscara do estado 6 dos logic bricks.

Máscara do estado 7 dos logic bricks.

Máscara do estado 8 dos logic bricks.

Máscara do estado 9 dos logic bricks.

Máscara do estado 10 dos logic bricks.

Máscara do estado 11 dos logic bricks.

Máscara do estado 12 dos logic bricks.

Máscara do estado 13 dos logic bricks.

Máscara do estado 14 dos logic bricks.

Máscara do estado 15 dos logic bricks.

Máscara do estado 16 dos logic bricks.

Máscara do estado 17 dos logic bricks.

Máscara do estado 18 dos logic bricks.

Máscara do estado 19 dos logic bricks.

Máscara do estado 20 dos logic bricks.

Máscara do estado 21 dos logic bricks.

Máscara do estado 22 dos logic bricks.

Máscara do estado 23 dos logic bricks.

Máscara do estado 24 dos logic bricks.

Máscara do estado 25 dos logic bricks.

Máscara do estado 26 dos logic bricks.

Máscara do estado 27 dos logic bricks.

Máscara do estado 28 dos logic bricks.

Máscara do estado 29 dos logic bricks.

Veja Range.types.KX_StateActuator.operation

Subtrai bits da máscara de estados

Valor: 0

Copia a máscara de estados

Valor: 1

Inverte bits da máscara de estados

Valor: 2

Soma bits à máscara de estados

Valor: 3

Estes itens existem na engine mas não estavam na documentação da Range. Os marcados novo na Anastacio foram adicionados pela Anastacio Engine.

função

Tempo, em segundos, desde o frame anterior. Multiplique movimentos por ele para não depender do FPS.

Retorna: float

novo na Anastacio função

Só no jogo exportado: libera a geometria usada só por objetos da cena deixados de fora pela opção Convert. Eles não poderão mais ser convertidos. Retorna os bytes liberados.

Retorna: int

função

Taxa de atualização das animações (vezes por segundo).

Retorna: float

função

Nome da placa de vídeo.

Retorna: str

função

Fabricante da placa de vídeo.

Retorna: str

novo na Anastacio função

Relatório dos últimos carregamentos de cena: dicts com scene, stage, ms, detail e total. Com clear=True, limpa depois de ler.

Retorna: list

novo na Anastacio função

Mensagens (assunto, corpo) que um sensor Message do objeto to recebe neste frame.

Retorna: list

novo na Anastacio função

Valor da opção Convert do objeto na cena.

Retorna: bool

função

Nome do processador.

Retorna: str

função

Arquivos .range na pasta do jogo atual (ou em path).

Retorna: list

função

Arquivos .rasec na pasta do jogo atual (ou em path).

Retorna: list

função

Taxa de desenho (vezes por segundo).

Retorna: float

novo na Anastacio função

Converte uma cena com antecedência, no fim deste frame (shaders e texturas incluídos), sem adicioná-la. Depois, um addScene ou replaceScene dela só insere a cena pronta, sem travar. Chame enquanto uma tela de carregamento estiver aparecendo. Devolve False se a cena não existir.

Retorna: bool

função

Muda a taxa de atualização das animações.

função

Quantas vezes por frame a hierarquia de pais é atualizada (de 3 para 1 economiza CPU).

setObjectConvert(scene, object, convert, children=True)

Seção intitulada “setObjectConvert(scene, object, convert, children=True)”

novo na Anastacio função

Muda a opção Convert de um objeto numa cena que ainda não foi carregada. Retorna quantos objetos mudaram.

Retorna: int

função

Muda a taxa de desenho.

constante

Modo do atuador Game: tira um print da tela.

constante

Botão A do controle.

constante

Botão B do controle.

constante

Botão Back/Select do controle.

constante

Botão Guide (botão central) do controle.

constante

Botão ombro esquerdo (LB) do controle.

constante

Botão clique do analógico esquerdo do controle.

constante

Botão direcional para baixo do controle.

constante

Botão direcional para a esquerda do controle.

constante

Botão direcional para a direita do controle.

constante

Botão direcional para cima do controle.

constante

Botão ombro direito (RB) do controle.

constante

Botão clique do analógico direito do controle.

constante

Botão X do controle.

constante

Botão Y do controle.

constante

Botão 6 do mouse.

constante

Botão 7 do mouse.

constante

Botão lateral esquerdo do mouse (polegar).

constante

Botão lateral direito do mouse (polegar).

constante

Sensor Movement: vigia todos os eixos.

constante

Sensor Movement: eixo -X.

constante

Sensor Movement: eixo -Y.

constante

Sensor Movement: eixo -Z.

constante

Sensor Movement: eixo +X.

constante

Sensor Movement: eixo +Y.

constante

Sensor Movement: eixo +Z.

constante

Filtro 2D: Bloom.

constante

Filtro 2D: FXAA.

constante

Filtro 2D: raios de luz (light scattering).

constante

Filtro 2D: contorno (outline).

constante

Filtro 2D: oclusão de ambiente (SSAO).

constante

Filtro 2D: reflexos em tela (SSR).

constante

Filtro 2D: tonemap.