Range.render
Introdução
Seção intitulada “Introdução”Exemplo usando um Range.types.SCA_MouseSensor e dois Range.types.KX_ObjectActuator para fazer o mouse look:
# Para usar um sensor de movimento do mouse "Mouse" e um# atuador de movimento para olhar com o mouse:import Range
# scale define a velocidade do movimentoscale = 1.0, 0.5
co = Range.logic.getCurrentController()obj = co.ownermouse = co.sensors["Mouse"]lmotion = co.actuators["LMove"]wmotion = co.actuators["WMove"]
# Converte as coordenadas do mouse para ver quanto o mouse andou.def mousePos(): x = (Range.render.getWindowWidth() / 2 - mouse.position[0]) * scale[0] y = (Range.render.getWindowHeight() / 2 - mouse.position[1]) * scale[1] return (x, y)
pos = mousePos()
# Define o quanto mover: X é aplicado em coordenadas do mundo...wmotion.useLocalTorque = Falsewmotion.torque = ((0.0, 0.0, pos[0]))
# ...Y é aplicado em coordenadas locaislmotion.useLocalTorque = Truelmotion.torque = ((-pos[1], 0.0, 0.0))
# Ativa os dois atuadoresco.activate(lmotion)co.activate(wmotion)
# Centraliza o mouseRange.render.setMousePosition(int(Range.render.getWindowWidth() / 2), int(Range.render.getWindowHeight() / 2))Constantes
Seção intitulada “Constantes”KX_TEXFACE_MATERIAL
Seção intitulada “KX_TEXFACE_MATERIAL”Obsoleto.
Materiais definidos pelas configurações de texture face.
KX_BLENDER_MULTITEX_MATERIAL
Seção intitulada “KX_BLENDER_MULTITEX_MATERIAL”Obsoleto.
Materiais que imitam os materiais do Blender com multitextura.
KX_BLENDER_GLSL_MATERIAL
Seção intitulada “KX_BLENDER_GLSL_MATERIAL”Obsoleto.
Materiais que imitam os materiais do Blender com GLSL.
Desliga o vsync; liga o vsync; liga o vsync adaptativo, se suportado. O vsync adaptativo liga o vsync quando o frame rate está acima da taxa de atualização do monitor e desliga quando o frame rate fica baixo demais.
LEFT_EYE
Seção intitulada “LEFT_EYE”Olho esquerdo em uso no render estereoscópico.
RIGHT_EYE
Seção intitulada “RIGHT_EYE”Olho direito em uso no render estereoscópico.
HDR_NONE
Seção intitulada “HDR_NONE”Usa formato de imagem com 8 bits por canal.
HDR_HALF_FLOAT
Seção intitulada “HDR_HALF_FLOAT”Usa formato de imagem com float de 16 bits por canal.
HDR_FULL_FLOAT
Seção intitulada “HDR_FULL_FLOAT”Usa formato de imagem com float de 32 bits por canal.
Funções
Seção intitulada “Funções”getWindowWidth()
Seção intitulada “getWindowWidth()”Pega a largura da janela (em pixels)
Tipo do retorno: integer
getWindowHeight()
Seção intitulada “getWindowHeight()”Pega a altura da janela (em pixels)
Tipo do retorno: integer
setWindowSize(width, height)
Seção intitulada “setWindowSize(width, height)”Define a largura e a altura da janela (em pixels). Também funciona em tela cheia.
width: Largura em pixels- tipo: integer
height: Altura em pixels- tipo: integer
setFullScreen(enable)
Seção intitulada “setFullScreen(enable)”Define se a janela fica em tela cheia ou não.
enable:Truepara tela cheia,Falsepara janela.- tipo: bool
getFullScreen()
Seção intitulada “getFullScreen()”Diz se a janela está em tela cheia.
Tipo do retorno: bool
getDisplayDimensions()
Seção intitulada “getDisplayDimensions()”Pega as dimensões da tela (por exemplo, do monitor) em pixels. Pode devolver o tamanho da área inteira, somando todos os monitores; por exemplo, (3840, 1080) para dois monitores 1080p lado a lado.
Tipo do retorno: tuple (width, height)
makeScreenshot(filename)
Seção intitulada “makeScreenshot(filename)”Grava um arquivo de imagem com o que está na tela no fim do frame.
A imagem é gravada em ‘filename’. O caminho pode ser absoluto (ex.: /home/foo/image) ou relativo, começando com // (ex.: //image). Caminhos absolutos não funcionam igual em todos os sistemas. Se o nome tiver um #, ele é trocado por um número que aumenta a cada vez, para tirar vários prints sem sobrescrever os anteriores (ex.: image-#).
As configurações da imagem vêm das configurações de render (formato do arquivo e seus ajustes, gamma, conversão de espaço de cor etc.). A resolução da imagem é a do framebuffer, ou seja, o tamanho e a proporção da janela. No player separado, em vez do embutido, só arquivos PNG são suportados, e as conversões de cor extras também não.
filename: Caminho e nome do arquivo a gravar- tipo: string
enableVisibility(visible)
Seção intitulada “enableVisibility(visible)”Obsoleto; não faz nada.
showMouse(visible)
Seção intitulada “showMouse(visible)”Mostra ou esconde o cursor do mouse do sistema.
visible:- tipo: boolean
setMousePosition(x, y)
Seção intitulada “setMousePosition(x, y)”Define a posição do cursor do mouse.
x: Coordenada X, em pixels da tela.- tipo: integer
y: Coordenada Y, em pixels da tela.- tipo: integer
setBackgroundColor(rgba)
Seção intitulada “setBackgroundColor(rgba)”Obsoleto e não funciona mais. Use Range.types.KX_WorldInfo.horizonColor ou Range.types.KX_WorldInfo.zenithColor.
setEyeSeparation(eyesep)
Seção intitulada “setEyeSeparation(eyesep)”Define a separação dos olhos no modo estéreo. Em geral, distância focal/30 dá um valor confortável.
eyesep: A distância entre o olho esquerdo e o direito.- tipo: float
getEyeSeparation()
Seção intitulada “getEyeSeparation()”Pega a separação dos olhos atual do modo estéreo.
Tipo do retorno: float
setFocalLength(focallength)
Seção intitulada “setFocalLength(focallength)”Define a distância focal do modo estéreo. O valor inicial é a distância focal da câmera atual.
focallength: A distância focal.- tipo: float
getFocalLength()
Seção intitulada “getFocalLength()”Pega a distância focal atual do modo estéreo.
Tipo do retorno: float
getStereoEye()
Seção intitulada “getStereoEye()”Pega qual olho estereoscópico está sendo renderizado agora. Serve principalmente num callback Range.types.KX_Scene.pre_draw, para ajustar as matrizes de projeção da câmera para cada olho.
Tipo do retorno: LEFT_EYE, RIGHT_EYE
setMaterialMode(mode)
Seção intitulada “setMaterialMode(mode)”Obsoleto e não funciona mais.
Define o modo de material usado no render OpenGL.
mode: Modo de material- tipo: KX_TEXFACE_MATERIAL, KX_BLENDER_MULTITEX_MATERIAL, KX_BLENDER_GLSL_MATERIAL
getMaterialMode(mode)
Seção intitulada “getMaterialMode(mode)”Obsoleto e não funciona mais.
Pega o modo de material usado no render OpenGL.
Tipo do retorno: KX_TEXFACE_MATERIAL, KX_BLENDER_MULTITEX_MATERIAL, KX_BLENDER_GLSL_MATERIAL
setGLSLMaterialSetting(setting, enable)
Seção intitulada “setGLSLMaterialSetting(setting, enable)”Liga ou desliga uma configuração de material GLSL.
setting:- tipo: string (lights, shaders, shadows, ramps, nodes, extra_textures)
enable:- tipo: boolean
getGLSLMaterialSetting(setting)
Seção intitulada “getGLSLMaterialSetting(setting)”Pega o estado de uma configuração de material GLSL.
setting:- tipo: string (lights, shaders, shadows, ramps, nodes, extra_textures)
Tipo do retorno: boolean
setAnisotropicFiltering(level)
Seção intitulada “setAnisotropicFiltering(level)”Define o nível de filtragem anisotrópica das texturas.
level: O novo nível de filtragem anisotrópica- tipo: integer (must be one of 1, 2, 4, 8, 16)
getAnisotropicFiltering()
Seção intitulada “getAnisotropicFiltering()”Pega o nível de filtragem anisotrópica das texturas.
Tipo do retorno: integer (one of 1, 2, 4, 8, 16)
setAntiAliasing(level)
Seção intitulada “setAntiAliasing(level)”Define o nível de anti-aliasing.
level: O novo nível de anti-aliasing- tipo: integer (must be one of 0, 2, 4, 8, 16)
getAntiAliasing()
Seção intitulada “getAntiAliasing()”Pega o nível de anti-aliasing configurado.
Tipo do retorno: integer (one of 0, 2, 4, 8, 16)
setMipmapping(value)
Seção intitulada “setMipmapping(value)”Muda como o mipmapping é usado.
- tipo: RAS_MIPMAP_NONE, RAS_MIPMAP_NEAREST, RAS_MIPMAP_LINEAR
getMipmapping()
Seção intitulada “getMipmapping()”Pega a configuração atual de mipmapping.
Tipo do retorno: RAS_MIPMAP_NONE, RAS_MIPMAP_NEAREST, RAS_MIPMAP_LINEAR
setTextureQuality(level)
Seção intitulada “setTextureQuality(level)”Qualidade de textura para um menu gráfico: mantenha apenas a textura de alta resolução no projeto e descarte seus maiores níveis de mipmap ao enviá-la para a placa de vídeo.
0: tamanho completo1: metade do tamanho (1/4 da memória de vídeo)2: um quarto do tamanho (1/16 da memória de vídeo)
As texturas nunca ficam menores que 256 pixels em seu maior lado, e texturas sem mipmaps (ou com mipmapping desligado) mantêm seu tamanho. Arquivos DDS pulam os níveis armazenados no arquivo.
level: 0, 1 or 2- tipo: integer
getTextureQuality()
Seção intitulada “getTextureQuality()”Retorna: a qualidade de textura atual (0 completa, 1 metade, 2 um quarto).
Tipo do retorno: integer
drawLine(fromVec,toVec,color)
Seção intitulada “drawLine(fromVec,toVec,color)”Desenha uma linha na cena 3D.
fromVec: O começo da linha- tipo: list [x, y, z]
toVec: O fim da linha- tipo: list [x, y, z]
color: A cor da linha- tipo: list [r, g, b, a]
enableMotionBlur(factor)
Seção intitulada “enableMotionBlur(factor)”Liga o efeito de motion blur.
factor: A intensidade do motion blur.- tipo: float [0.0 - 1.0]
disableMotionBlur()
Seção intitulada “disableMotionBlur()”Desliga o efeito de motion blur.
showFramerate(enable)
Seção intitulada “showFramerate(enable)”Mostra ou esconde o frame rate.
enable:- tipo: boolean
showProfile(enable)
Seção intitulada “showProfile(enable)”Mostra ou esconde o profiler.
enable:- tipo: boolean
showProperties(enable)
Seção intitulada “showProperties(enable)”Mostra ou esconde as propriedades de depuração.
enable:- tipo: boolean
autoDebugList(enable)
Seção intitulada “autoDebugList(enable)”Liga ou desliga a inclusão automática das propriedades de depuração na lista.
enable:- tipo: boolean
clearDebugList()
Seção intitulada “clearDebugList()”Limpa a lista de propriedades de depuração.
setVsync(value)
Seção intitulada “setVsync(value)”Define o vsync
value: Um destes: VSYNC_OFF, VSYNC_ON, VSYNC_ADAPTIVE- tipo: integer
getVsync()
Seção intitulada “getVsync()”Pega o valor atual do vsync
Tipo do retorno: One of VSYNC_OFF, VSYNC_ON, VSYNC_ADAPTIVE
setDynamicResolution(enabled, targetFPS=60, minScale=50, maxScale=100, step=5)
Seção intitulada “setDynamicResolution(enabled, targetFPS=60, minScale=50, maxScale=100, step=5)”Versão em tempo de jogo das configurações de Dynamic Resolution da cena. A cena 3D é renderizada numa escala do tamanho da janela e esticada para a tela; a janela em si não muda. Com a resolução dinâmica, a escala desce step quando o tempo de GPU do frame passa do alvo e sobe de novo quando sobra tempo. minScale == maxScale dá uma escala de render fixa. Fica pausada enquanto “Show Render Queries” estiver ligado (os dois usam uma consulta de tempo da GPU).
enabled: False renderiza a 100%.- tipo: boolean
targetFPS: O frame rate com que o tempo de GPU é comparado.- tipo: integer
minScale: Escala mínima, em porcentagem (25-100).- tipo: integer
maxScale: Escala máxima, em porcentagem (25-100).- tipo: integer
step: Quanto a escala muda a cada ajuste, em porcentagem (1-25).- tipo: integer
getRenderScale()
Seção intitulada “getRenderScale()”A escala de render atual; 1.0 = resolução completa.
Tipo do retorno: float
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.
getMasterVolume()
Seção intitulada “getMasterVolume()”função
Volume geral do som do jogo, de 0 a 1. Veja setMasterVolume().
Retorna: volume
getStereoMode()
Seção intitulada “getStereoMode()”novo na Anastacio função
pega o modo estéreo
getVRChromaticAberration()
Seção intitulada “getVRChromaticAberration()”novo na Anastacio função
pega a correção de aberração cromática da lente VR
getVRLensStrength()
Seção intitulada “getVRLensStrength()”novo na Anastacio função
pega a intensidade da distorção da lente VR
setCustomMouse(path)
Seção intitulada “setCustomMouse(path)”função
Usa a imagem em path como cursor do mouse.
setMasterVolume(volume)
Seção intitulada “setMasterVolume(volume)”função
– volume em [0, 1], aplicado ao dispositivo de áudio real da engine
setStereoMode()
Seção intitulada “setStereoMode()”novo na Anastacio função
define o modo estéreo (constantes STEREO_*)
setVRChromaticAberration()
Seção intitulada “setVRChromaticAberration()”novo na Anastacio função
define a correção de aberração cromática da lente VR (0..0.1, padrão 0.01)
setVRLensStrength()
Seção intitulada “setVRLensStrength()”novo na Anastacio função
define a intensidade da distorção da lente VR (0..1, padrão 0.3)
showDebugPhysics(enabled)
Seção intitulada “showDebugPhysics(enabled)”função
Mostra ou esconde as formas de colisão da física.
RAS_MIPMAP_LINEAR
Seção intitulada “RAS_MIPMAP_LINEAR”constante
Mipmap linear (mais suave).
RAS_MIPMAP_NEAREST
Seção intitulada “RAS_MIPMAP_NEAREST”constante
Mipmap pelo mais próximo.
RAS_MIPMAP_NONE
Seção intitulada “RAS_MIPMAP_NONE”constante
Sem mipmap.
STEREO_ABOVEBELOW
Seção intitulada “STEREO_ABOVEBELOW”constante
Estéreo: uma imagem em cima da outra.
STEREO_ANAGLYPH
Seção intitulada “STEREO_ANAGLYPH”constante
Estéreo: anaglifo (óculos vermelho/ciano).
STEREO_INTERLACED
Seção intitulada “STEREO_INTERLACED”constante
Estéreo: linhas intercaladas.
STEREO_NOSTEREO
Seção intitulada “STEREO_NOSTEREO”constante
Sem estéreo.
STEREO_SIDEBYSIDE
Seção intitulada “STEREO_SIDEBYSIDE”constante
Estéreo: lado a lado.
VSYNC_ADAPTIVE
Seção intitulada “VSYNC_ADAPTIVE”constante
VSync adaptativo: sincroniza, mas não trava quando o FPS cai.
VSYNC_OFF
Seção intitulada “VSYNC_OFF”constante
VSync desligado.
VSYNC_ON
Seção intitulada “VSYNC_ON”constante
VSync ligado.
