Pular para o conteúdo

KX_Camera

Classe base: KX_GameObject

Um objeto de câmera.

Veja sphereInsideFrustum e boxInsideFrustum

Veja sphereInsideFrustum e boxInsideFrustum

Veja sphereInsideFrustum e boxInsideFrustum

O valor da lente da câmera.

Tipo: float

Fator que multiplica a distância até a câmera para ajustar os níveis de detalhe. Um valor < 1.0 faz a distância usada para calcular os níveis de detalhe diminuir.

Tipo: float

O campo de visão da câmera.

Tipo: float

A escala da visão da câmera no modo ortográfico.

Tipo: float

A distância de corte próxima (near clip) da câmera.

Tipo: float

A distância de corte distante (far clip) da câmera.

Tipo: float

O deslocamento horizontal da câmera.

Tipo: float

O deslocamento vertical da câmera.

Tipo: float

True se a câmera usa projeção em perspectiva; False para projeção ortográfica.

Tipo: boolean

True se a câmera faz frustum culling.

Tipo: boolean

True se esta câmera é usada para calcular a distância dos objetos no culling de atividade.

Tipo: boolean

A matriz de projeção 4x4 da câmera.

Tipo: 4x4 Matrix [[float]]

A matriz de projeção 4x4 do olho esquerdo.

Tipo: 4x4 Matrix [[float]]

A matriz de projeção 4x4 do olho direito.

Tipo: 4x4 Matrix [[float]]

A matriz model view 4x4 da câmera (somente leitura).

Tipo: 4x4 Matrix [[float]]

A transformação da câmera para o mundo (somente leitura).

Tipo: 4x4 Matrix [[float]]

A transformação do mundo para a câmera (somente leitura).

Tipo: 4x4 Matrix [[float]]

True quando a câmera é usada como viewport; defina True para ligar uma viewport para esta câmera.

Tipo: boolean

Testa a esfera dada contra o frustum da visão.

  • centre: O centro da esfera (em coordenadas do mundo).
    • tipo: list [x, y, z]
  • radius: O raio da esfera
    • tipo: float

Retorna: INSIDE, OUTSIDE ou INTERSECT

Tipo do retorno: integer

from Range import logic
cont = logic.getCurrentController()
cam = cont.owner
# Uma esfera de raio 4.0 em [x, y, z] = [1.0, 1.0, 1.0]
if (cam.sphereInsideFrustum([1.0, 1.0, 1.0], 4) != cam.OUTSIDE):
# A esfera está dentro do frustum!
# Faça algo útil!
else:
# A esfera está fora do frustum

Testa a caixa dada contra o frustum da visão.

  • box: Os oito (8) cantos da caixa (em coordenadas do mundo).
    • tipo: list of lists

Retorna: INSIDE, OUTSIDE ou INTERSECT

from Range import logic
cont = logic.getCurrentController()
cam = cont.owner
# Caixa a testar...
box = []
box.append([-1.0, -1.0, -1.0])
box.append([-1.0, -1.0, 1.0])
box.append([-1.0, 1.0, -1.0])
box.append([-1.0, 1.0, 1.0])
box.append([ 1.0, -1.0, -1.0])
box.append([ 1.0, -1.0, 1.0])
box.append([ 1.0, 1.0, -1.0])
box.append([ 1.0, 1.0, 1.0])
if (cam.boxInsideFrustum(box) != cam.OUTSIDE):
# A caixa está dentro ou cruza o frustum!
# Faça algo útil!
else:
# A caixa está fora do frustum!

Testa o ponto dado contra o frustum da visão.

  • point: O ponto a testar (em coordenadas do mundo).
    • tipo: 3D Vector

Retorna: True se o ponto está dentro do frustum de visão desta câmera.

Tipo do retorno: boolean

from Range import logic
cont = logic.getCurrentController()
cam = cont.owner
# Testa o ponto [0.0, 0.0, 0.0]
if (cam.pointInsideFrustum([0.0, 0.0, 0.0])):
# O ponto está dentro do frustum!
# Faça algo útil!
else:
# A caixa está fora do frustum!

Devolve a transformação da câmera para o mundo.

Retorna: A matriz de transformação da câmera para o mundo.

Tipo do retorno: matrix (4x4 list)

Devolve a transformação do mundo para a câmera.

Devolve a inversa de getCameraToWorld().

Retorna: A matriz de transformação do mundo para a câmera.

Tipo do retorno: matrix (4x4 list)

Coloca a viewport desta câmera por cima de todas as outras.

Define a região desta viewport na tela, em pixels.

Use Range.render.getWindowHeight e Range.render.getWindowWidth para calcular valores relativos à tela inteira.

  • left: Coordenada da esquerda desta viewport, em pixels
    • tipo: integer
  • bottom: Coordenada de baixo desta viewport, em pixels
    • tipo: integer
  • right: Coordenada da direita desta viewport, em pixels
    • tipo: integer
  • top: Coordenada de cima desta viewport, em pixels
    • tipo: integer

Pega a posição de um objeto projetada na tela.

# Para um objeto no meio da tela, coord = [0.5, 0.5]
coord = camera.getScreenPosition(object)
  • object: Nome do objeto ou lista [x, y, z]
    • tipo: KX_GameObject or 3D Vector

Retorna: A posição do objeto em coordenadas de tela.

Tipo do retorno: list [x, y]

Pega o vetor que sai da posição da câmera na direção da coordenada de tela.

  • x: Eixo X
    • tipo: float
  • y: Eixo Y
    • tipo: float

Tipo do retorno: 3D Vector

Retorna: O vetor a partir da coordenada de tela.

# Pega o vetor da direção da frente da câmera:
m_vect = camera.getScreenVect(0.5, 0.5)

getScreenRay(x, y, dist, property=“”, xray=False, mask=0xFFFF)

Seção intitulada “getScreenRay(x, y, dist, property=“”, xray=False, mask=0xFFFF)”

Olha na direção de uma coordenada de tela (x, y) e acha o primeiro objeto atingido dentro de dist que tenha a propriedade prop. O raio funciona como KX_GameObject->rayCastTo.

  • x: Eixo X
    • tipo: float
  • y: Eixo Y
    • tipo: float
  • dist: Distância máxima (pode ser negativa, para olhar para trás); 0 ou omitido detecta até o alvo
    • tipo: float
  • property: Nome da propriedade que o objeto precisa ter; se omitido, detecta qualquer objeto
    • tipo: string
  • xray: O raio atravessa os objetos que não têm a propriedade, como a opção X-Ray do sensor Mouse
    • tipo: boolean
  • mask: Máscara de colisão; o raio só atinge objetos destes grupos de colisão
    • tipo: bitfield

Tipo do retorno: KX_GameObject

Retorna: O primeiro objeto atingido, ou None se não atingir nada ou se o objeto não tiver a propriedade

# Pega um objeto com a propriedade "wall" na frente da câmera, a até 100 de distância:
target = camera.getScreenRay(0.5, 0.5, 100, "wall")

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

método

Treme a câmera. trauma vai de 0 a 1 e soma com o terremoto do World. Com duration, o tremor some nesse tempo; sem, diminui no ritmo de shakeDecay por segundo.

novo na Anastacio atributo · só leitura

Velocidade atual da câmera (unidades por segundo), usada pelos efeitos ligados à velocidade.

novo na Anastacio atributo

Força do bokeh “olho de gato” do desfoque (DOF), de 0.0 a 1.0: os círculos ficam achatados perto das bordas.

novo na Anastacio atributo

Força da aberração cromática, de 0.0 a 5.0.

novo na Anastacio atributo

Limite do desfoque direcional (rastro ao girar a câmera), de 0.0 a 0.2.

novo na Anastacio atributo

Força do desfoque direcional, de 0.0 a 2.0.

novo na Anastacio atributo

Tamanho máximo do desfoque de profundidade (DOF), de 0 a 32.

novo na Anastacio atributo

Qualidade do DOF: 0 baixa, 1 média, 2 alta.

novo na Anastacio atributo

Amplitude do balanço do modo de rastreio Drone (0 a 20).

novo na Anastacio atributo

Frequência do balanço do modo Drone (0 a 20).

novo na Anastacio atributo

Distorção olho de peixe, de -1.0 (almofada) a 1.0 (barril).

novo na Anastacio atributo · só leitura

Distância de foco usada neste frame, depois de suavizada.

novo na Anastacio atributo

Distância de foco quando focusMode é 0 (manual).

novo na Anastacio atributo

Como o foco é escolhido: 0 manual (focusManualDistance), 1 objeto (focusObject), 2 propriedade (focusProperty), 3 automático (raio no ponto da tela).

novo na Anastacio atributo

Objeto em foco quando focusMode é 1. None para nenhum.

novo na Anastacio atributo · só leitura

Posição no mundo do ponto em foco, ou None.

novo na Anastacio atributo

Nome da propriedade de jogo usada quando focusMode é 2: foca o objeto mais próximo que a tiver verdadeira.

novo na Anastacio atributo

Faixa de distância, em volta do foco, que continua nítida.

novo na Anastacio atributo · só leitura

Posição na tela (0 a 1) do ponto em foco.

novo na Anastacio atributo

Suavização da troca de foco, de 0 (instantânea) a 10.

novo na Anastacio atributo · só leitura

Objeto que está em foco agora, ou None.

novo na Anastacio atributo · só leitura

True quando o foco achou um alvo neste frame.

novo na Anastacio atributo · só leitura

Direção para onde a câmera está olhando, no mundo.

novo na Anastacio atributo

Amplitude máxima do tremor (0 a 0.5).

novo na Anastacio atributo

Quanto o tremor diminui por segundo (0 a 20).

novo na Anastacio atributo

Frequência do tremor (0 a 60).

novo na Anastacio atributo · só leitura

Trauma atual do tremor (0 a 1).

novo na Anastacio atributo

Velocidade em que o desfoque de velocidade chega ao máximo.

novo na Anastacio atributo

Força do desfoque de velocidade, de 0.0 a 2.0.

novo na Anastacio atributo

Velocidade usada pelos efeitos no lugar da velocidade real. -1 desliga e volta a usar a real.

novo na Anastacio atributo

Inclinação lateral da câmera nas curvas do rastreio (0 a 5).

novo na Anastacio atributo

Zona morta do rastreio: o alvo pode se mover nessa margem da tela sem a câmera virar (0 a 0.5).

novo na Anastacio atributo

Ângulo máximo, em radianos, que o rastreio pode girar a câmera.

novo na Anastacio atributo

Modo de rastreio: 0 desligado, 1 olhar para o alvo, 2 drone.

novo na Anastacio atributo · só leitura

Orientação calculada pelo rastreio neste frame.

novo na Anastacio atributo

Deslocamento [x, y] do alvo na tela, de -0.5 a 0.5.

novo na Anastacio atributo

Velocidade com que a câmera vira para o alvo (0 a 10).

novo na Anastacio atributo

Protege o centro da tela dos desfoques.

novo na Anastacio atributo

Liga o bokeh olho de gato no DOF.

novo na Anastacio atributo

Liga a aberração cromática.

novo na Anastacio atributo

Faz a aberração cromática aumentar com a velocidade.

novo na Anastacio atributo

Liga o desfoque direcional.

novo na Anastacio atributo

Liga a profundidade de campo (DOF).

novo na Anastacio atributo

O tremor também gira a câmera em volta do eixo de visão.

novo na Anastacio atributo

Liga o desfoque de velocidade.

novo na Anastacio atributo

Mantém o “para cima” da câmera fixo durante o rastreio.

novo na Anastacio atributo

Liga a vinheta (bordas escuras).

novo na Anastacio atributo

Raio da vinheta (0 a 2).

novo na Anastacio atributo

Força da vinheta (0 a 1).