Câmera

classe pública Câmera

Representa uma câmera virtual, que determina a perspectiva com que a cena é visualizada.

Se a câmera fizer parte de um ArSceneView, ela vai rastrear automaticamente a posição da câmera no ARCore. Além disso, os métodos a seguir vão gerar UnsupportedOperationException quando forem chamados:

Todas as outras funcionalidades no Node são compatíveis. Você pode acessar a posição e a rotação da câmera, atribuir um formato de colisão à câmera ou adicionar filhos a ela. A desativação da câmera desativa a renderização.

Métodos públicos

float
float
float
getVerticalFovDegrees()
Recebe o campo de visão vertical da câmera.
Raio
screenPointToRay(float x, float y)
Calcula um raio no espaço mundial passando do plano próximo da câmera e passando por um ponto no espaço da tela.
void
setLocalPosition(posição Vector3)
Defina a posição da câmera.
void
setLocalRotation(rotação Quaternion)
Defina a rotação da câmera.
void
setParent(pai pai NodeParent)
Operação incompatível.
void
setVerticalFovDegrees(float verticalFov)
Define o campo de visão vertical da câmera externa em graus.
void
setWorldPosition(posição Vector3)
Defina a posição da câmera.
void
setWorldRotation(rotação Quaternion)
Defina a rotação da câmera.
Vector3 (link em inglês)
worldToScreenPoint(ponto Vector3)
Converta um ponto do espaço mundial em um espaço na tela.

Métodos herdados

Métodos públicos

flutuante público getFarClipPlane ()

flutuante público getNearClipPlane ()

ponto flutuante público getVerticalFovDegrees ()

Recebe o campo de visão vertical da câmera.

Se esta for uma câmera de RA, ela será calculada com base nas informações da câmera do ARCore e poderá variar de acordo com o dispositivo. Ele não pode ser calculado até que o primeiro frame após a retomada da sessão ARCore. Nesse caso, uma IllegalStateException é gerada.

Caso contrário, ele retornará o valor definido por setVerticalFovDegrees(float), com um padrão de 90 graus.

Gera
IllegalStateException se chamado antes do primeiro frame após a retomada do ARCore

público Ray screenPointToRay (float x, float y)

Calcula um raio no espaço mundial passando do plano próximo da câmera e passando por um ponto no espaço da tela. O espaço na tela está nas coordenadas da tela do dispositivo Android: TopLeft = (0, 0) BottomRight = (largura da tela, altura da tela). O espaço de coordenadas do dispositivo não é afetado pela orientação do dispositivo.

Parâmetros
x Posição X nas coordenadas da tela do dispositivo.
y Posição Y nas coordenadas da tela do dispositivo.

void public setLocalPosition (Vector3 posição)

Defina a posição da câmera. A câmera sempre isTopLevel(), portanto, se comporta da mesma forma que setWorldPosition(Vector3).

Se a câmera fizer parte de um ArSceneView, esta não é uma operação compatível. A posição da câmera não pode ser alterada. Ela é controlada pela posição da câmera do ARCore.

Parâmetros
position A posição a ser aplicada.

void public setLocalRotation (Alternância de rotação)

Defina a rotação da câmera. A câmera sempre isTopLevel(), portanto, se comporta da mesma forma que setWorldRotation(Quaternion).

Se a câmera fizer parte de um ArSceneView, esta não é uma operação compatível. A rotação da câmera não pode ser alterada. Ela é controlada pela posição da câmera do ARCore.

Parâmetros
rotação A rotação a ser aplicada.

void public setParent (NodeParent pai)

Operação incompatível. O pai da câmera não pode ser alterado, é sempre o cenário.

Parâmetros
primária O novo pai do qual este nó será filho. Se for nulo, esse nó será removido do pai.

public void setVerticalFovDegrees (float verticalFov)

Define o campo de visão vertical da câmera externa em graus. Se esta for uma câmera de RA, o fov vem do ARCore e não pode ser definido, então uma exceção é gerada. O padrão é 90 graus.

Parâmetros
VerticalFov
Gera
SupportedOperationException Se esta é uma câmera de RA

public void setWorldPosition (Vector3 posição)

Defina a posição da câmera. A câmera sempre isTopLevel(), portanto, se comporta da mesma forma que setLocalPosition(Vector3).

Se a câmera fizer parte de um ArSceneView, esta não é uma operação compatível. A posição da câmera não pode ser alterada. Ela é controlada pela posição da câmera do ARCore.

Parâmetros
position A posição a ser aplicada.

public void setWorldRotation (Alternância de rotação)

Defina a rotação da câmera. A câmera sempre isTopLevel(), portanto, se comporta da mesma forma que setLocalRotation(Quaternion).

Se a câmera fizer parte de um ArSceneView, esta não é uma operação compatível. A rotação da câmera não pode ser alterada. Ela é controlada pela posição da câmera do ARCore.

Parâmetros
rotação A rotação a ser aplicada.

público Vector3 worldToScreenPoint (Vector3 ponto)

Converta um ponto do espaço mundial em um espaço na tela.

O valor X é negativo quando o ponto é deixado da janela de visualização, entre 0 e a largura da SceneView quando o ponto está na janela de visualização e maior que a largura quando o ponto está à direita da janela de visualização.

O valor Y é negativo quando o ponto está abaixo da janela de visualização, entre 0 e a altura do SceneView quando o ponto está dentro da janela de visualização e maior do que a altura quando o ponto está acima da janela de visualização.

O valor Z é sempre 0, já que o valor de retorno é uma coordenada 2D.

Parâmetros
point o ponto no espaço mundial para converter
Retorna
  • um novo vetor que representa o ponto no espaço da tela.