KX_Camera
Classe base: KX_GameObject
Um objeto de câmera.
Veja sphereInsideFrustum e boxInsideFrustum
INTERSECT
Seção intitulada “INTERSECT”Veja sphereInsideFrustum e boxInsideFrustum
OUTSIDE
Seção intitulada “OUTSIDE”Veja sphereInsideFrustum e boxInsideFrustum
O valor da lente da câmera.
Tipo: float
lodDistanceFactor
Seção intitulada “lodDistanceFactor”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
ortho_scale
Seção intitulada “ortho_scale”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
shift_x
Seção intitulada “shift_x”O deslocamento horizontal da câmera.
Tipo: float
shift_y
Seção intitulada “shift_y”O deslocamento vertical da câmera.
Tipo: float
perspective
Seção intitulada “perspective”True se a câmera usa projeção em perspectiva; False para projeção ortográfica.
Tipo: boolean
frustum_culling
Seção intitulada “frustum_culling”True se a câmera faz frustum culling.
Tipo: boolean
activityCulling
Seção intitulada “activityCulling”True se esta câmera é usada para calcular a distância dos objetos no culling de atividade.
Tipo: boolean
projection_matrix
Seção intitulada “projection_matrix”A matriz de projeção 4x4 da câmera.
Tipo: 4x4 Matrix [[float]]
projectionMatrixLeft
Seção intitulada “projectionMatrixLeft”A matriz de projeção 4x4 do olho esquerdo.
Tipo: 4x4 Matrix [[float]]
projectionMatrixRight
Seção intitulada “projectionMatrixRight”A matriz de projeção 4x4 do olho direito.
Tipo: 4x4 Matrix [[float]]
modelview_matrix
Seção intitulada “modelview_matrix”A matriz model view 4x4 da câmera (somente leitura).
Tipo: 4x4 Matrix [[float]]
camera_to_world
Seção intitulada “camera_to_world”A transformação da câmera para o mundo (somente leitura).
Tipo: 4x4 Matrix [[float]]
world_to_camera
Seção intitulada “world_to_camera”A transformação do mundo para a câmera (somente leitura).
Tipo: 4x4 Matrix [[float]]
useViewport
Seção intitulada “useViewport”True quando a câmera é usada como viewport; defina True para ligar uma viewport para esta câmera.
Tipo: boolean
sphereInsideFrustum(centre, radius)
Seção intitulada “sphereInsideFrustum(centre, radius)”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 logiccont = 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 frustumboxInsideFrustum(box)
Seção intitulada “boxInsideFrustum(box)”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 logiccont = 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!pointInsideFrustum(point)
Seção intitulada “pointInsideFrustum(point)”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 logiccont = 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!getCameraToWorld()
Seção intitulada “getCameraToWorld()”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)
getWorldToCamera()
Seção intitulada “getWorldToCamera()”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)
setOnTop()
Seção intitulada “setOnTop()”Coloca a viewport desta câmera por cima de todas as outras.
setViewport(left, bottom, right, top)
Seção intitulada “setViewport(left, bottom, right, top)”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
getScreenPosition(object)
Seção intitulada “getScreenPosition(object)”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_GameObjector 3D Vector
- tipo:
Retorna: A posição do objeto em coordenadas de tela.
Tipo do retorno: list [x, y]
getScreenVect(x, y)
Seção intitulada “getScreenVect(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")Sem documentação da Range
Seção intitulada “Sem documentação da Range”Estes itens existem na engine mas não estavam na documentação da Range. Os marcados novo na Anastacio foram adicionados pela Anastacio Engine.
shake(trauma, duration=0.0)
Seção intitulada “shake(trauma, duration=0.0)”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.
cameraSpeed
Seção intitulada “cameraSpeed”novo na Anastacio atributo · só leitura
Velocidade atual da câmera (unidades por segundo), usada pelos efeitos ligados à velocidade.
catEyeStrength
Seção intitulada “catEyeStrength”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.
chromaticStrength
Seção intitulada “chromaticStrength”novo na Anastacio atributo
Força da aberração cromática, de 0.0 a 5.0.
directionalBlurMax
Seção intitulada “directionalBlurMax”novo na Anastacio atributo
Limite do desfoque direcional (rastro ao girar a câmera), de 0.0 a 0.2.
directionalBlurStrength
Seção intitulada “directionalBlurStrength”novo na Anastacio atributo
Força do desfoque direcional, de 0.0 a 2.0.
dofBlur
Seção intitulada “dofBlur”novo na Anastacio atributo
Tamanho máximo do desfoque de profundidade (DOF), de 0 a 32.
dofQuality
Seção intitulada “dofQuality”novo na Anastacio atributo
Qualidade do DOF: 0 baixa, 1 média, 2 alta.
droneAmplitude
Seção intitulada “droneAmplitude”novo na Anastacio atributo
Amplitude do balanço do modo de rastreio Drone (0 a 20).
droneFrequency
Seção intitulada “droneFrequency”novo na Anastacio atributo
Frequência do balanço do modo Drone (0 a 20).
fisheyeStrength
Seção intitulada “fisheyeStrength”novo na Anastacio atributo
Distorção olho de peixe, de -1.0 (almofada) a 1.0 (barril).
focusDistance
Seção intitulada “focusDistance”novo na Anastacio atributo · só leitura
Distância de foco usada neste frame, depois de suavizada.
focusManualDistance
Seção intitulada “focusManualDistance”novo na Anastacio atributo
Distância de foco quando focusMode é 0 (manual).
focusMode
Seção intitulada “focusMode”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).
focusObject
Seção intitulada “focusObject”novo na Anastacio atributo
Objeto em foco quando focusMode é 1. None para nenhum.
focusPosition
Seção intitulada “focusPosition”novo na Anastacio atributo · só leitura
Posição no mundo do ponto em foco, ou None.
focusProperty
Seção intitulada “focusProperty”novo na Anastacio atributo
Nome da propriedade de jogo usada quando focusMode é 2: foca o objeto mais próximo que a tiver verdadeira.
focusRange
Seção intitulada “focusRange”novo na Anastacio atributo
Faixa de distância, em volta do foco, que continua nítida.
focusScreenPosition
Seção intitulada “focusScreenPosition”novo na Anastacio atributo · só leitura
Posição na tela (0 a 1) do ponto em foco.
focusSmooth
Seção intitulada “focusSmooth”novo na Anastacio atributo
Suavização da troca de foco, de 0 (instantânea) a 10.
focusTarget
Seção intitulada “focusTarget”novo na Anastacio atributo · só leitura
Objeto que está em foco agora, ou None.
focusValid
Seção intitulada “focusValid”novo na Anastacio atributo · só leitura
True quando o foco achou um alvo neste frame.
gazeDirection
Seção intitulada “gazeDirection”novo na Anastacio atributo · só leitura
Direção para onde a câmera está olhando, no mundo.
shakeAmplitude
Seção intitulada “shakeAmplitude”novo na Anastacio atributo
Amplitude máxima do tremor (0 a 0.5).
shakeDecay
Seção intitulada “shakeDecay”novo na Anastacio atributo
Quanto o tremor diminui por segundo (0 a 20).
shakeFrequency
Seção intitulada “shakeFrequency”novo na Anastacio atributo
Frequência do tremor (0 a 60).
shakeTrauma
Seção intitulada “shakeTrauma”novo na Anastacio atributo · só leitura
Trauma atual do tremor (0 a 1).
speedBlurMaxSpeed
Seção intitulada “speedBlurMaxSpeed”novo na Anastacio atributo
Velocidade em que o desfoque de velocidade chega ao máximo.
speedBlurStrength
Seção intitulada “speedBlurStrength”novo na Anastacio atributo
Força do desfoque de velocidade, de 0.0 a 2.0.
speedOverride
Seção intitulada “speedOverride”novo na Anastacio atributo
Velocidade usada pelos efeitos no lugar da velocidade real. -1 desliga e volta a usar a real.
trackBank
Seção intitulada “trackBank”novo na Anastacio atributo
Inclinação lateral da câmera nas curvas do rastreio (0 a 5).
trackDeadzone
Seção intitulada “trackDeadzone”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).
trackLimit
Seção intitulada “trackLimit”novo na Anastacio atributo
Ângulo máximo, em radianos, que o rastreio pode girar a câmera.
trackMode
Seção intitulada “trackMode”novo na Anastacio atributo
Modo de rastreio: 0 desligado, 1 olhar para o alvo, 2 drone.
trackOrientation
Seção intitulada “trackOrientation”novo na Anastacio atributo · só leitura
Orientação calculada pelo rastreio neste frame.
trackScreenOffset
Seção intitulada “trackScreenOffset”novo na Anastacio atributo
Deslocamento [x, y] do alvo na tela, de -0.5 a 0.5.
trackSpeed
Seção intitulada “trackSpeed”novo na Anastacio atributo
Velocidade com que a câmera vira para o alvo (0 a 10).
useBlurProtect
Seção intitulada “useBlurProtect”novo na Anastacio atributo
Protege o centro da tela dos desfoques.
useCatEye
Seção intitulada “useCatEye”novo na Anastacio atributo
Liga o bokeh olho de gato no DOF.
useChromatic
Seção intitulada “useChromatic”novo na Anastacio atributo
Liga a aberração cromática.
useChromaticSpeed
Seção intitulada “useChromaticSpeed”novo na Anastacio atributo
Faz a aberração cromática aumentar com a velocidade.
useDirectionalBlur
Seção intitulada “useDirectionalBlur”novo na Anastacio atributo
Liga o desfoque direcional.
novo na Anastacio atributo
Liga a profundidade de campo (DOF).
useShakeRoll
Seção intitulada “useShakeRoll”novo na Anastacio atributo
O tremor também gira a câmera em volta do eixo de visão.
useSpeedBlur
Seção intitulada “useSpeedBlur”novo na Anastacio atributo
Liga o desfoque de velocidade.
useTrackUpLock
Seção intitulada “useTrackUpLock”novo na Anastacio atributo
Mantém o “para cima” da câmera fixo durante o rastreio.
useVignette
Seção intitulada “useVignette”novo na Anastacio atributo
Liga a vinheta (bordas escuras).
vignetteRadius
Seção intitulada “vignetteRadius”novo na Anastacio atributo
Raio da vinheta (0 a 2).
vignetteStrength
Seção intitulada “vignetteStrength”novo na Anastacio atributo
Força da vinheta (0 a 1).
